Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

Меню сервера

Статус пользователя Stark
сообщение 2.4.2014, 21:11
Сообщение #1
Стаж: 12 лет

Сообщений: 29
Благодарностей: 5
Полезность: 80

Сделал меню для сервера, все работает, но не знаю, как добавить команду, чтобы меню открывалось чат командой /menu. Подскажите пожалуйста

Скрытый текст

Код:

#include <amxmodx>

new cvar_showhudmsg

public plugin_init()
{
register_plugin("putinserver menu", "0.1", "X-factor")
register_clcmd("amx_menu", "function_menu", ADMIN_ALL,"")
register_clcmd("say /menu", "function_menu")
register_clcmd("say_team /menu", "function_menu")
register_clcmd("menu", "function_menu")
register_dictionary("servermenu.txt")
cvar_showhudmsg = register_cvar("show_hudmsg", "1"); //1 - on 0 - off
}

public client_putinserver(id)
{
if(get_pcvar_num(cvar_showhudmsg))
set_task(1.0, "task_hudmsg", id, _, _, "b")
}

public task_hudmsg(id)
{
set_hudmessage(255, 255, 255, 0.75, 0.0, 0, 6.0, 12.0)
show_hudmessage(id, "Меню Сервера - нажми на F3")
}
//Функция цвета в чате
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") // Green Color
replace_all(msg, 190, "!y", "^1") // Default Color
replace_all(msg, 190, "!team", "^3") // Team Color
replace_all(msg, 190, "!team2", "^0") // Team2 Color

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[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
public function_menu(id)
{
new menu = menu_create("\wКиевский knife [UA]", "menu_handler")

if(is_user_alive(id))
{
menu_additem(menu, "\wОбнулить Счет","1")
menu_additem(menu, "\rВыбрать нож","2")
}
else
{
menu_additem(menu, "\wОбнулить Счет","1")
menu_additem(menu, "\rВыбрать нож","2")
}
menu_additem(menu, "\wАдмины онлайн","3")
menu_additem(menu, "\rКупить админку/VIP","4")
menu_additem(menu, "\wНаш форум","5")
menu_additem(menu, "\wPublic 176.37.55.102:27017","6")
menu_additem(menu, "\wDeaturun 176.37.55.102:27015","7")
menu_setprop(menu, MPROP_EXITNAME, "Выход")
menu_setprop(menu, MPROP_EXIT,MEXIT_ALL)

menu_display(id,menu,0)
return PLUGIN_HANDLED
register_clcmd("menu","go_menu");
}
public client_authorized(id)
{
client_cmd(id, "bind ^"F3^" ^"menu^"")
}


public menu_handler(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}

new data[6], iName[64], access, callback
menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback)

new key = str_to_num(data)

switch(key)
{
case 1:{
if(is_user_alive(id))
client_cmd(id, "say /rs")
ChatColor(id, "%L",0,"RS")
}
case 2:{
if(is_user_alive(id))
client_cmd(id, "say /knife")
ChatColor(id, "%L",0,"KNIFE")
}
case 3:{
client_cmd(id, "say /admin")
ChatColor(id, "%L",0,"ADMINS")
}
case 4:{
client_cmd(id, "/adminka")
ChatColor(id, "%L",0,"ADMINKA")
}
case 5:{
client_cmd(id, "say Форум проекта - talk.cs-gamer.net.ua")
}
case 6:{
client_cmd(id, "connect 176.37.55.102:27017")
}
case 7:{
client_cmd(id, "connect 176.37.55.102:27015")
}
}
return PLUGIN_HANDLED
}



Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя stefkone
сообщение 2.4.2014, 21:18
Сообщение #2


Иконка группы

Стаж: 19 лет

Сообщений: 1711
Благодарностей: 1130
Полезность: 1068

Код:
register_clcmd("/menu", "function_menu")
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 2.4.2014, 21:18
Сообщение #3


Иконка группы

Стаж: 14 лет

Сообщений: 2294
Благодарностей: 1187
Полезность: 890

Цитата(Stark @ 2.4.2014, 21:11) *
Сделал меню для сервера, все работает, но не знаю, как добавить команду, чтобы меню открывалось чат командой /menu. Подскажите пожалуйста

Скрытый текст

Код:

#include <amxmodx>

new cvar_showhudmsg

public plugin_init()
{
register_plugin("putinserver menu", "0.1", "X-factor")
register_clcmd("amx_menu", "function_menu", ADMIN_ALL,"")
register_clcmd("say /menu", "function_menu")
register_clcmd("say_team /menu", "function_menu")
register_clcmd("menu", "function_menu")
register_dictionary("servermenu.txt")
cvar_showhudmsg = register_cvar("show_hudmsg", "1"); //1 - on 0 - off
}

public client_putinserver(id)
{
if(get_pcvar_num(cvar_showhudmsg))
set_task(1.0, "task_hudmsg", id, _, _, "b")
}

public task_hudmsg(id)
{
set_hudmessage(255, 255, 255, 0.75, 0.0, 0, 6.0, 12.0)
show_hudmessage(id, "Меню Сервера - нажми на F3")
}
//Функция цвета в чате
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") // Green Color
replace_all(msg, 190, "!y", "^1") // Default Color
replace_all(msg, 190, "!team", "^3") // Team Color
replace_all(msg, 190, "!team2", "^0") // Team2 Color

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[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
public function_menu(id)
{
new menu = menu_create("\wКиевский knife [UA]", "menu_handler")

if(is_user_alive(id))
{
menu_additem(menu, "\wОбнулить Счет","1")
menu_additem(menu, "\rВыбрать нож","2")
}
else
{
menu_additem(menu, "\wОбнулить Счет","1")
menu_additem(menu, "\rВыбрать нож","2")
}
menu_additem(menu, "\wАдмины онлайн","3")
menu_additem(menu, "\rКупить админку/VIP","4")
menu_additem(menu, "\wНаш форум","5")
menu_additem(menu, "\wPublic 176.37.55.102:27017","6")
menu_additem(menu, "\wDeaturun 176.37.55.102:27015","7")
menu_setprop(menu, MPROP_EXITNAME, "Выход")
menu_setprop(menu, MPROP_EXIT,MEXIT_ALL)

menu_display(id,menu,0)
return PLUGIN_HANDLED
register_clcmd("menu","go_menu");
}
public client_authorized(id)
{
client_cmd(id, "bind ^"F3^" ^"menu^"")
}


public menu_handler(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}

new data[6], iName[64], access, callback
menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback)

new key = str_to_num(data)

switch(key)
{
case 1:{
if(is_user_alive(id))
client_cmd(id, "say /rs")
ChatColor(id, "%L",0,"RS")
}
case 2:{
if(is_user_alive(id))
client_cmd(id, "say /knife")
ChatColor(id, "%L",0,"KNIFE")
}
case 3:{
client_cmd(id, "say /admin")
ChatColor(id, "%L",0,"ADMINS")
}
case 4:{
client_cmd(id, "/adminka")
ChatColor(id, "%L",0,"ADMINKA")
}
case 5:{
client_cmd(id, "say Форум проекта - talk.cs-gamer.net.ua")
}
case 6:{
client_cmd(id, "connect 176.37.55.102:27017")
}
case 7:{
client_cmd(id, "connect 176.37.55.102:27015")
}
}
return PLUGIN_HANDLED
}






Код:
register_clcmd("say /menu", "function_menu")

оно итак открывается чат командой
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Stark
сообщение 2.4.2014, 21:22
Сообщение #4
Стаж: 12 лет

Сообщений: 29
Благодарностей: 5
Полезность: 80

Цитата(stefkone @ 2.4.2014, 23:18) *
Код:
register_clcmd("/menu", "function_menu")


Не помогло.

Цитата(GOOD FELLOW @ 2.4.2014, 23:18) *
Код:
register_clcmd("say /menu", "function_menu")

оно итак открывается чат командой


Не открывается, проверял же. Чат команды работают нормально, ничего не блочит.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 2.4.2014, 21:33
Сообщение #5


Иконка группы

Стаж: 14 лет

Сообщений: 2294
Благодарностей: 1187
Полезность: 890

а оно вообще открывается?

и зачем так, если, как я вижу, ничего не меняется?

Код:
if(is_user_alive(id))
{
menu_additem(menu, "\wОбнулить Счет","1")
menu_additem(menu, "\rВыбрать нож","2")
}
else
{
menu_additem(menu, "\wОбнулить Счет","1")
menu_additem(menu, "\rВыбрать нож","2")
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Stark
сообщение 2.4.2014, 21:35
Сообщение #6
Стаж: 12 лет

Сообщений: 29
Благодарностей: 5
Полезность: 80

Цитата(GOOD FELLOW @ 2.4.2014, 23:33) *
а оно вообще открывается?

и зачем так, если, как я вижу, ничего не меняется?

Код:
if(is_user_alive(id))
{
menu_additem(menu, "\wОбнулить Счет","1")
menu_additem(menu, "\rВыбрать нож","2")
}
else
{
menu_additem(menu, "\wОбнулить Счет","1")
menu_additem(menu, "\rВыбрать нож","2")
}


Все открывается и отлично работает, но только через menu в консоле. А через чат (/menu) не открывается.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 2.4.2014, 21:38
Сообщение #7


Иконка группы

Стаж: 14 лет

Сообщений: 2294
Благодарностей: 1187
Полезность: 890

Код:
register_clcmd("menu","go_menu");


удалить
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя admin4ik
сообщение 2.4.2014, 21:40
Сообщение #8
Стаж: 12 лет

Сообщений: 68
Благодарностей: 13
Полезность: 119

Цитата(Stark @ 2.4.2014, 22:35) *
Все открывается и отлично работает, но только через menu в консоле. А через чат (/menu) не открывается.

Руки у тебя растут откуда надо?
Тебе stefkone подсказал правильно..
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 2.4.2014, 21:42
Сообщение #9


Иконка группы

Стаж: 14 лет

Сообщений: 2294
Благодарностей: 1187
Полезность: 890

Цитата(admin4ik @ 2.4.2014, 21:40) *
Руки у тебя растут откуда надо?
Тебе stefkone подсказал правильно..


Код:
register_clcmd("/menu", "function_menu")


и

Код:
register_clcmd("say /menu", "function_menu")


разные вещи
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Stark
сообщение 2.4.2014, 21:44
Сообщение #10
Стаж: 12 лет

Сообщений: 29
Благодарностей: 5
Полезность: 80

Цитата(GOOD FELLOW @ 2.4.2014, 23:38) *
Код:
register_clcmd("menu","go_menu");


удалить


Попробовал. Так же не работает.

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 2.4.2014, 21:47
Сообщение #11


Иконка группы

Стаж: 14 лет

Сообщений: 2294
Благодарностей: 1187
Полезность: 890

При каких условиях меню открываешь?
Спектры, мертвец и тд?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Stark
сообщение 2.4.2014, 21:48
Сообщение #12
Стаж: 12 лет

Сообщений: 29
Благодарностей: 5
Полезность: 80

Открывал живым и в спектрах. Через консоль везде работает.

Может посоветуете прогу или еще чтото, чтобы не напрягаться с этим?

Отредактировал: Stark, - 2.4.2014, 21:50
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 2.4.2014, 21:54
Сообщение #13


Иконка группы

Стаж: 14 лет

Сообщений: 2294
Благодарностей: 1187
Полезность: 890

А в консоли по какой команде открываешь?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Stark
сообщение 2.4.2014, 21:55
Сообщение #14
Стаж: 12 лет

Сообщений: 29
Благодарностей: 5
Полезность: 80

Консольная команда "menu"
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 2.4.2014, 22:03
Сообщение #15


Иконка группы

Стаж: 14 лет

Сообщений: 2294
Благодарностей: 1187
Полезность: 890

Сижу с тела, не могу протестить.
кр4, сделай так, как написано Тут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: