pro100coder
Пользователь
- Регистрация
- 8 Янв 2018
- Сообщения
- 3
- Симпатии
- 0
Написал плагин который делает игрокам бесшумные шаги, как сделать чтобы при нажатии включалась,и выключалась эта функция без выхода в начальное меню? И писало возле ника ВКЛ И ВЫКЛ (помогите пж)
Вот мой код,знаю не идеален
Вот мой код,знаю не идеален
C++:
#include <amxmodx>//
#include <fun>//
#include <cstrike>//
#include <engine>//
#include <fakemeta>//
#include <hamsandwich>//
#define PLUGIN"XDXD"
#define AUTHOR"PRO100S"
#define VERSION"2.0"
#define ACCESSFLAG ADMIN_BAN
new typeImg[33]
new footsteps[33]
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /lolmenu", "dysplay_menu")
register_clcmd("dysplay_menu000", "dysplay_menu2")
}
public cmdMotd1(id)
{
return PLUGIN_HANDLED
}
public dysplay_menu(id)
{
if(!(get_user_flags(id) & ACCESSFLAG))
return PLUGIN_CONTINUE
new Menu = menu_create("\yLoL Menu \r:D", "menu_handler2")
menu_additem(Menu, "Бесшумные шаги", "1", 0)
menu_display(id, Menu, 0)
return PLUGIN_HANDLED
}
public menu_handler2(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(footsteps[id])
{
set_user_footsteps(id,0)
client_cmd(id,"Nekitzor");
footsteps[id]=0
}
else
{
set_user_footsteps(id,1)
client_cmd(id,"NekitZor");
footsteps[id]=1
}
}
}
client_cmd ( id,"dysplay_menu000")
new oldmenu, newmenu, menupage
player_menu_info(id, oldmenu, newmenu, menupage)
return PLUGIN_CONTINUE
}
public dysplay_menu2(id)
{
if(!(get_user_flags(id) & ACCESSFLAG))
return PLUGIN_CONTINUE
new Menu = menu_create("\yLoL Menu \r:D", "menu_handler")
new Player
new sPlayerName[128]
new sPlayerId[11]
new playersList[32]
new playersnum
get_players(playersList, playersnum, "c")
for(new i; i<playersnum; i++)
{
Player = playersList
get_user_name(Player, sPlayerName, charsmax(sPlayerName))
num_to_str(Player, sPlayerId, charsmax(sPlayerId))
menu_additem(Menu, sPlayerName, sPlayerId, 0)
}
menu_display(id, Menu, 0)
return PLUGIN_HANDLED
}
public menu_handler(id, menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new s_Data[6], s_Name[64], i_Access, i_Callback
menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)
new Player = str_to_num(s_Data)
if(!is_user_connected(Player))
{
print_col_chat(id, "!g[%s] !yНе удалось найти игрока. Возможно он уже вышел", PLUGIN)
dysplay_menu(id)
return PLUGIN_HANDLED
}
dysplay_menu(id)
switch(typeImg[id])
{
case 1: set_task(0.5, "cmdMotd1", Player)
}
return PLUGIN_CONTINUE
}
stock print_col_chat(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, "!t", "^3") // Team Color
if (id)
players[0] = id
else
get_players(players, count, "ch")
{
for ( new i = 0; i < count; i++ )
{
if (is_user_connected(players))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players)
write_byte(players)
write_string(msg)
message_end()
}
}
}
}