• Страница 1 из 1
  • 1
Подскажите пожалуйста как установить флаг на пункт из меню.
Дата: Вторник, 02.04.2019, 14:12 | Сообщение # 1
Дух ( Новичок )
Offline
  • Dead_D
  • Репутация: 0
  • Сообщений:17
  • Пользователь
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "GMenu"
#define VERSION "1.0"
#define AUTHOR "-"

new keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0

public plugin_init()

{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_menu("Menu 1", keys, "func_menu")
register_concmd("say /menu", "Server_Menu")
register_concmd("chooseteam", "Server_Menu")
}

public client_authorized(id)
{
client_cmd(id, "bind ^"m^" ^"say /servermenu^"")
}

public Server_Menu(id)

{
new name[32]
get_user_name(id, name, 31)
static menu[700], iLen
iLen = 0
iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\r[Knife] \yМеню сервера^n^n")

iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[\r1\y] Обнулить счёт^n")
keys |= MENU_KEY_1

iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[\r2\y] Магазин^n")
keys |= MENU_KEY_2

iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[\r3\y] Выбрать trail^n")
keys |= MENU_KEY_3

iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[\r4\y] Эмоции^n")
keys |= MENU_KEY_4
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[\r5\y] Надеть шапку^n")
keys |= MENU_KEY_5

iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[\r6\y] Сменить команду^n")
keys |= MENU_KEY_6

iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[\r7\y] Узнать свой ранг^n")
keys |= MENU_KEY_7

iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[\r8\y] Заткнуть игрока^n^n")
keys |= MENU_KEY_8

iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[\r9\y] Меню привилегий^n")
keys |= MENU_KEY_9


iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[\r0\y] \rВыйти^n")
keys |= MENU_KEY_0

show_menu(id, keys, menu, -1, "Menu 1")
return PLUGIN_HANDLED
}

public func_menu(id, key)

{
switch(key)
{
case 0: client_cmd(id, "say /rs")
case 1: client_cmd(id, "say /shop")
case 2: client_cmd(id, "menu")
case 3: client_cmd(id, "say /emotion")
case 4: client_cmd(id, "say /hats")
case 5: client_cmd(id, "jointeam")
case 6: client_cmd(id, "say /rank")
case 7: client_cmd(id, "say /mute")
case 8: client_cmd(id, "pmenu")

}
return PLUGIN_HANDLED
}
Дата: Вторник, 02.04.2019, 17:24 | Сообщение # 2
Legend User
VIP
Offline
  • Maxee
  • Репутация:
  • Сообщений:895
  • Модератор
  • Статус пользователя В конце, концов и наконец, найдешь ты конец наконец...
Попробуй:

Код
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "GMenu"
#define VERSION "1.0"
#define AUTHOR "-"

new keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0

public plugin_init()

{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_menu("Menu 1", keys, "func_menu") 
register_concmd("say /menu", "Server_Menu")
register_concmd("chooseteam", "Server_Menu")
}

public client_authorized(id)
{
client_cmd(id, "bind ^"m^" ^"say /servermenu^"")
}

public Server_Menu(id)

{
new name[32]
get_user_name(id, name, 31)
static menu[700], iLen
iLen = 0
iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\r [Knife]\yМеню сервера^n^n")

iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[\r1\y] Обнулить счёт^n")
keys |= MENU_KEY_1

iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[\r2\y] Магазин^n")
keys |= MENU_KEY_2

iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[\r3\y] Выбрать trail^n")
keys |= MENU_KEY_3

iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[\r4\y] Эмоции^n")
keys |= MENU_KEY_4
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[\r5\y] Надеть шапку^n")
keys |= MENU_KEY_5

iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[\r6\y] Сменить команду^n")
keys |= MENU_KEY_6

iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[\r7\y] Узнать свой ранг^n")
keys |= MENU_KEY_7

iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[\r8\y] Заткнуть игрока^n^n")
keys |= MENU_KEY_8

if((get_user_flags(id) & ADMIN_MENU)){
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[\r9\y] Меню привилегий^n")
keys |= MENU_KEY_9
}else{
   ChatColor ( id, "^1[^4 SERVER: ^1] ^1Текст ^4текст ^3текст")
   }

iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[\r0\y] \rВыйти^n")
keys |= MENU_KEY_0

show_menu(id, keys, menu, -1, "Menu 1")
return PLUGIN_HANDLED
}

public func_menu(id, key)

{
switch(key)
{
case 0: client_cmd(id, "say /rs")
case 1: client_cmd(id, "say /shop")
case 2: client_cmd(id, "menu")
case 3: client_cmd(id, "say /emotion")
case 4: client_cmd(id, "say /hats")
case 5: client_cmd(id, "jointeam")
case 6: client_cmd(id, "say /rank") 
case 7: client_cmd(id, "say /mute")
case 8: client_cmd(id, "pmenu") 

}
return PLUGIN_HANDLED
}

stock ChatColor(const id, const input[], any:...)

   new count = 1, players[32]
   static msg[191]
   vformat(msg, 190, input, 3)
   
   replace_all(msg, 190, "!g", "^4")
   replace_all(msg, 190, "!y", "^1")
   replace_all(msg, 190, "!t", "^3")
   
   if(id) players[0] = id; else get_players(players, count, "ch")
   {
      for(new i = 0; i < count; i++)
      {
         if(is_user_connected(players[i]))
         {
            message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players);
            write_byte(players);
            write_string(msg);
            message_end();
         }
      }
   }
}[/i]
Дата: Вторник, 02.04.2019, 17:35 | Сообщение # 3
Дух ( Новичок )
Offline
  • Dead_D
  • Репутация: 0
  • Сообщений:17
  • Пользователь
Спасибо!!!
Но при компиляции выдаёт 3 ошибки
//AMXXPC compile.exe
// by the AMX Mod X Dev Team

//// GMenu.sma
// D:\рЁЄ╕ь\compiler\GMenu.sma(105) : error 035: argument type mismatch (argument 4)
// D:\рЁЄ╕ь\compiler\GMenu.sma(106) : error 035: argument type mismatch (argument 1)
// D:\рЁЄ╕ь\compiler\GMenu.sma(112) : error 010: invalid function or declaration
//

// 3 Errors.
// Could not locate output file compiled\GMenu.amx (compile failed).
//
// Compilation Time: 0,45 sec
// ----------------------------------------

Press enter to exit ...

error 035: argument type mismatch (argument %d)
- несоответствие типа аргумента. (аргумент %d)

error 010: invalid function or declaration
- неизвестная функция или декларация.
Сообщение отредактировал Dead_D - Вторник, 02.04.2019, 17:51
Дата: Вторник, 02.04.2019, 18:41 | Сообщение # 4
Legend User
VIP
Offline
  • Maxee
  • Репутация:
  • Сообщений:895
  • Модератор
  • Статус пользователя В конце, концов и наконец, найдешь ты конец наконец...
В конце BB-код , он не в тему)

Вот исходник , попробуй:
Прикрепления: gmenu.sma (3.0 Kb)
Дата: Четверг, 04.04.2019, 06:43 | Сообщение # 5
Дух ( Новичок )
Offline
  • Dead_D
  • Репутация: 0
  • Сообщений:17
  • Пользователь
Спасибо!!
Получилось даже лучше чем я хотел)
Дата: Четверг, 04.04.2019, 06:55 | Сообщение # 6
Местный
Offline
  • sllool
  • Репутация: 7
  • Сообщений:78
  • Изгнанный
а зачем этот код он там не где не используется...
new name[32]
get_user_name(id, name, 31)
???
Дата: Четверг, 04.04.2019, 17:31 | Сообщение # 7
Legend User
VIP
Offline
  • Maxee
  • Репутация:
  • Сообщений:895
  • Модератор
  • Статус пользователя В конце, концов и наконец, найдешь ты конец наконец...
Цитата sllool ()
а зачем этот код он там не где не используется...new name[32]
get_user_name(id, name, 31)
???


Согласен, парочка не нужных строк есть, но это же обычная менюшка)
Дата: Четверг, 04.04.2019, 17:32 | Сообщение # 8
Legend User
VIP
Offline
  • Maxee
  • Репутация:
  • Сообщений:895
  • Модератор
  • Статус пользователя В конце, концов и наконец, найдешь ты конец наконец...
Вопрос решён. Тему закрываю.
  • Страница 1 из 1
  • 1
Поиск:
(threadpage)