|
Форум » Counter-Strike 1.6 » Сервер Counter-Strike 1.6 » Помощь по скриптингу » Поправка кода плагина (Сбрасывается скорость при смене оружия) |
Поправка кода плагина |
Дата: Воскресенье, 12.08.2018, 22:00 | Сообщение # 1
Всем привет, помогите пожалуйста поправить код плагина.
Проблема следующая: При взятии из меню скорости, она берется, и работает, но работает до того времени пока не сменится оружие. В общем скорость из меню сбрасывается при смене оружия. Код оставляю под спойлером ниже. За ранее большое спасибо! #include <amxmodx> #include <amxmisc> #include <fun> #include <cstrike> #include <hamsandwich> #include <dhudmessage> #define PLUGIN "valuta admin+magaz+zbs informer" #define VERSION "1.0" #define AUTHOR "z!odey4ik^^ + Remake ZhuBa.Kz" #pragma tabsize 0 new keysmenu = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9) new cvar_showhudmsg new adminmoney[32] new g_Block[33][8] public plugin_init() { register_plugin("putinserver message", "0.1", "z!odey4ik^^") register_concmd("say /coin", "a_shop") register_menu("Menu 1", keysmenu, "SHop") RegisterHam(Ham_Killed, "player", "killed") cvar_showhudmsg = register_cvar("show_hudmsg", "1"); //1 - on 0 - off register_menu("Menu 2", keysmenu, "func_menu") register_clcmd("coinsmenu", "server_menu" ) } public killed(victim, attacker, corpse) //смерть { if(get_user_flags(attacker) & ADMIN_LEVEL_H) { adminmoney[attacker]++ } } public client_putinserver(id) { if(get_pcvar_num(cvar_showhudmsg)) set_task(1.0, "task_hudmsg", id, _, _, "b") } public task_hudmsg(id) { set_dhudmessage(255, 255, 0, -1.0, 0.9, 0, 6.0, 0.1) show_dhudmessage(id, "Монетки [ %d ]^nМагазин [ say /coin ]",adminmoney[id]) } public a_shop(id) { static menu[500], len len = 0 new name[32] get_user_name(id, name, 31) if (cs_get_user_team(id) == CS_TEAM_T || cs_get_user_team(id) == CS_TEAM_CT) { len += formatex(menu[len], charsmax(menu) - len, "\r[\y!\r] \wМагазин монеток^n\r[\y!\r] \wПривет \r%s^n\r[\y!\r] \wВаши монетки \r%d^n^n",name,adminmoney[id]) if(adminmoney [id]< 7) len += formatex(menu[len], charsmax(menu) - len, "\d[1]. Гравитация - (7)^n") else len += formatex(menu[len], charsmax(menu) - len, "\r[\y1\r]. \wГравитация - \r(\y7\r)^n") if(adminmoney [id]< 7) len += formatex(menu[len], charsmax(menu) - len, "\d[2]. Скорость - (7)^n") else len += formatex(menu[len], charsmax(menu) - len, "\r[\y2\r]. \wСкорость - \r(\y7\r)^n") if(adminmoney [id]< 3) len += formatex(menu[len], charsmax(menu) - len, "\d[3]. Гранаты - (3)^n") else len += formatex(menu[len], charsmax(menu) - len, "\r[\y3\r]. \wГранаты - \r(\y3\r)^n") if(adminmoney [id]< 6) len += formatex(menu[len], charsmax(menu) - len, "\d[4]. ХП и Броня(200) - (6)^n") else len += formatex(menu[len], charsmax(menu) - len, "\r[\y4\r]. \wХП и Броня(200) - \r(\y6\r)^n") if(adminmoney [id]< 2) len += formatex(menu[len], charsmax(menu) - len, "\d[5]. Обменять на 1000$ - (5)^n^n") else len += formatex(menu[len], charsmax(menu) - len, "\r[\y5\r]. \wОбменять на \d1000$ - \r(\y5\r)^n^n") len += formatex(menu[len], charsmax(menu) - len, "\r[\y0\r]. \wВыход^n") show_menu(id, keysmenu, menu, -1, "Menu 1") } return PLUGIN_HANDLED } public SHop(id, key) { switch(key) { case 0: {if(adminmoney [id]>= 7) { set_user_gravity(id, 0.5) ColorChat(id, "!y[!gSHOP!y] !yВы купили !gгравитацию") adminmoney [id]= adminmoney [id]- 7 } else { ColorChat(id, "!y[!gSHOP!y] !yУвы, Но у вас не !tхватает !gмонеток") } } case 1: { if(adminmoney [id]>= 7) { set_user_maxspeed(id, 450.0) ColorChat(id, "!y[!gSHOP!y] !yВы купили !gскорость") adminmoney [id]= adminmoney [id]- 7 } else { ColorChat(id, "!y[!gSHOP!y] !yУвы, Но у вас не !tхватает !gмонеток") } } case 2: { if(adminmoney [id]>= 3) { give_item(id, "weapon_hegrenade") give_item(id, "weapon_smokegrenade") ColorChat(id, "!y[!gSHOP!y] !yВы купили !gгранаты") adminmoney [id]= adminmoney [id]- 3 } else { ColorChat(id, "!y[!gSHOP!y] !yУвы, Но у вас не !tхватает !gмонеток") } } case 3: { if(adminmoney [id]>= 5) { set_user_health(id,200) set_user_armor(id,200) ColorChat(id, "!y[!gSHOP!y] !yВы купили !gHP и ARMOR") adminmoney [id]= adminmoney [id]- 6 } else { ColorChat(id, "!y[!gSHOP!y] !yУвы, Но у вас не !tхватает !gмонеток") } } case 4: { if(adminmoney [id]>= 2) { new MyMoney[32] MyMoney [id]= cs_get_user_money(id) cs_set_user_money(id,MyMoney [id]+ 1000) ColorChat(id, "!y[!gSHOP!y] !yВы успешно обменили !gмонетки") adminmoney [id]= adminmoney [id]- 5 } else { ColorChat(id, "!y[!gSHOP!y] !yУвы, Но у вас не !tхватает !gмонеток") } } } } public server_menu(id) { new name[32] get_user_name(id, name, 31) static menu[650], len len = 0 len += formatex(menu[len], charsmax(menu) - len, "\r[\y!\r] \wРедактор монет^n\r[\y!\r] \wПривет \r%s^n^n", name) len += formatex(menu[len], charsmax(menu) - len, "\r[\y1\r]. \wВыдать \d[ \y10 \d] монеток^n") len += formatex(menu[len], charsmax(menu) - len, "\r[\y2\r]. \wВыдать \d[ \y20 \d] монеток^n") len += formatex(menu[len], charsmax(menu) - len, "\r[\y3\r]. \wВыдать \d[ \y30 \d] монеток^n") len += formatex(menu[len], charsmax(menu) - len, "\r[\y4\r]. \wВыдать \d[ \y40 \d] монеток^n^n") len += formatex(menu[len], charsmax(menu) - len, "\r[\y0\r]. \wВыход") show_menu(id, keysmenu, menu, -1, "Menu 2") return PLUGIN_HANDLED } public func_menu(id, key) { switch(key) { case 0: { g_Block[id][0] = true MenuPlayer(id) } case 1: { g_Block[id][1] = true MenuPlayer(id) } case 2: { g_Block[id][2] = true MenuPlayer(id) } case 3: { g_Block[id][3] = true MenuPlayer(id) } } return PLUGIN_HANDLED } public MenuPlayer(id) { new i_Menu = menu_create("\r[\y!\r] \wВыберите игрока^n^n", "menu_handle") new s_Players[32], i_Num, i_Player new s_Name[32], s_Player[10], text[128] get_players(s_Players, i_Num) for (new i; i < i_Num; i++) { i_Player = s_Players get_user_name(i_Player, s_Name, charsmax(s_Name)) num_to_str(i_Player, s_Player, charsmax(s_Player)) formatex(text, charsmax(text), "%s", s_Name) menu_additem(i_Menu, text, s_Player, 0) } menu_setprop(i_Menu, MPROP_EXITNAME, "Выход") menu_setprop(i_Menu, MPROP_NEXTNAME, "Далее") menu_setprop(i_Menu, MPROP_BACKNAME, "Назад") menu_display(id, i_Menu, 0) } public menu_handle(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 i_Player = str_to_num(s_Data) new name[32], name2[32] get_user_name(id, name, 31) get_user_name(i_Player, name2, 31) if(g_Block[id][0]) { adminmoney [id]= adminmoney [id]+ 10 ColorChat(id, "!y[!gSHOP!y] !yАдмин !g%s !yвыдал !g%s !t10 монет", name, name2) } if(g_Block[id][1]) { adminmoney [id]= adminmoney [id]+ 20 ColorChat(id, "!y[!gSHOP!y] !yАдмин !g%s !yвыдал !g%s !t20 монет", name, name2) } if(g_Block[id][2]) { adminmoney [id]= adminmoney [id]+ 30 ColorChat(id, "!y[!gSHOP!y] !yАдмин !g%s !yвыдал !g%s !t30 монет", name, name2) } if(g_Block[id][3]) { adminmoney [id]= adminmoney [id]+ 40 ColorChat(id, "!y[!gSHOP!y] !yАдмин !g%s !yвыдал !g%s !t40 монет", name, name2) } menu_destroy(menu) return PLUGIN_HANDLED } stock ColorChat(const id, const input[], any:...) { new count = 1, players[32] static msg[191] vformat(msg, 190, input, 3) format(msg, sizeof(msg), "%s", msg) 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(); } } } } |
| |||
| |||