Witam posiadam problem ze sklepem zombie w biohazardzie wygląda on tak że kiedy jestesmy czlowiekiem sklep dziala prawidlowo dostajemy kazdy itemek ale kiedy wejdziemy w sklep jako zombie to wyswietlaja sie itemy do kupienia ale klikaja menu sklep znika i nic sie nie dzieje dziwne jest tez to ze jezeli mamy otwarty sklep jako czlowiek i zostaniemy zarażeni klikajac na jakis item ten normalnie działa macie jakies sugestie?
#include <amxmodx> #include <amxmisc> #include <fun> #include <cstrike> #include <fakemeta_util> #include <biohazard> #include <colorchat> #include <hamsandwich> #include <StripWeapons> #define PLUGIN "bio_shop" #define VERSION "1.0" #define AUTHOR "" new gravity_time[33]; new godmode_time[33]; new name[33]; new gSyncMessage; new SpeedsCvars; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /buy", "menu_shop") register_clcmd("amx_bio_shop", "menu_shop") RegisterHam(Ham_TraceAttack, "player", "event_dmg"); gSyncMessage = CreateHudSyncObj(); set_task(60.0,"info",_,_,_,"b"); SpeedsCvars = register_cvar ( "biohazard_speed", "400.0"); } public info(id) { ColorChat(0,GREEN,"^x01[^x03 BioHazard ^x01] Wpisz^x04 /buy ^x01, aby skorzystac ze^x03 sklepu") ColorChat(0,GREEN,"^x01[^x03 BioHazard ^x01] Zbinduj^x04 amx_bio_shop ^x01, aby skorzystac ze^x03 sklepu") } public menu_shop(id) { if(!game_started()) { ColorChat(id, GREEN, "^x01[^x04 BioHazard ^x01] Poczekaj na rozpoczecie gry") return PLUGIN_CONTINUE; } { if(!is_user_zombie(id)) { new title[32] format(title, 31, "^x01[^x04 BioShop ^x01]%d Twoje AP ", cs_get_user_money(id)) new menu = menu_create(title, "wybieranie") menu_additem(menu, "HE -\y 5000 $", "1", 0) menu_additem(menu, "Flara -\y 1000 $", "2", 0) menu_additem(menu, "Mniejsza Grawitacja -\y 12000 $", "3", 0) menu_additem(menu, "Frost Nade -\y 5000$", "4", 0) menu_additem(menu, "M249 -\y 2500$", "5", 0) menu_additem(menu, "AutoKampa -\y 3500$", "6", 0) menu_setprop(menu, MPROP_EXIT, MEXIT_ALL) menu_display(id, menu) // pierwszy parametr "id" odpowiada za wyswietlenie menu graczowi, ktory wpisal komende na menu // drugi parametr pokazuje menu // trzeci parametr - kto może otworzyć menu, jeżeli 0 to wszyscy. } else { new title[32] format(title, 31, "^x01[^x04 BioShop ^x01]%d Twoje AP ", cs_get_user_money(id)) new menu = menu_create(title, "wybieranie") menu_additem(menu, "Szalenstwo -\y 1500$", "7", 0) menu_additem(menu, "Extra HP -\y 2500$", "8", 0) menu_setprop(menu, MPROP_EXIT, MEXIT_ALL) menu_display(id, menu) // pierwszy parametr "id" odpowiada za wyswietlenie menu graczowi, ktory wpisal komende na menu // drugi parametr pokazuje menu // trzeci parametr - kto może otworzyć menu, jeżeli 0 to wszyscy. } } return PLUGIN_HANDLED; } public wybieranie(id, menu, item) { if (item == MENU_EXIT) { menu_destroy(menu) // destroy "rozwala menu" czyli wylacza return PLUGIN_HANDLED } new data[6], iName[64] new acces, callback menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback) // dodaje wybor pod klawisze new key = str_to_num(data) switch(key) { case 1:{ if(!is_user_zombie(id)) { new kasa_gracza = cs_get_user_money(id); new koszt = 5000; if (kasa_gracza<koszt) { client_print(id, print_chat, "[BioHazard] Nie masz wystarczajacej ilosci pieniedzy."); return PLUGIN_CONTINUE; } client_print(id, print_chat, "[BioHazard] Kupiles pomyslnie HE") give_item(id, "weapon_hegrenade"); cs_set_user_money(id, kasa_gracza-koszt); menu_destroy(menu) return PLUGIN_HANDLED } else { new kasa_gracza = cs_get_user_money(id); new koszt = 1500; if (kasa_gracza<koszt) { client_print(id, print_chat, "[BioHazard] Nie masz wystarczajacej ilosci pieniedzy."); return PLUGIN_CONTINUE; } client_print(id, print_chat, "[BioHazard] Kupiles Szalone Zombie"); fm_set_user_godmode(id,1) godmode_time[id] = 15; set_task(1.0, "disable_godmode", 56465+id, "", 0, "b"); menu_destroy(menu); cs_set_user_money(id, kasa_gracza-koszt); return PLUGIN_HANDLED; } } case 2:{ if(!is_user_zombie(id)) { new kasa_gracza = cs_get_user_money(id); new koszt = 5000; if (kasa_gracza<koszt) { client_print(id, print_chat, "[BioHazard] Nie masz wystarczajacej ilosci pieniedzy."); return PLUGIN_CONTINUE; } client_print(id, print_chat, "[BioHazard] Kupiles pomslnie FrostNades") give_item(id, "weapon_flashbang"); cs_set_user_money(id, kasa_gracza-koszt); // teraz menu nie zamykamy return PLUGIN_CONTINUE } else { new kasa_gracza = cs_get_user_money(id); new koszt = 2500; if (kasa_gracza<koszt) { client_print(id, print_chat, "[BioHazard] Nie masz wystarczajacej ilosci pieniedzy."); return PLUGIN_CONTINUE; } client_print(id, print_chat, "[BioHazard] Kupiles pomyslnie Extra HP"); new zycie = get_user_health(id) set_user_health(id, zycie +1000) menu_destroy(menu); cs_set_user_money(id, kasa_gracza-koszt); return PLUGIN_HANDLED; } } case 3:{ if(!is_user_zombie(id)) { new kasa_gracza = cs_get_user_money(id); new koszt = 3000; if (kasa_gracza<koszt) { client_print(id, print_chat, "[BioHazard] Nie masz wystarczajacej ilosci pieniedzy."); return PLUGIN_CONTINUE; } client_print(id, print_chat, "[BioHazard] Kupiles pomyslnie Grawitacje"); set_user_gravity(id, 0.25); gravity_time[id] = 15; set_task(1.0, "disable_gravity", 56465+id, "", 0, "b"); menu_destroy(menu); cs_set_user_money(id, kasa_gracza-koszt); return PLUGIN_HANDLED; } } case 4:{ new kasa_gracza = cs_get_user_money(id); new koszt = 1000; if (kasa_gracza<koszt) { client_print(id, print_chat, "[BioHazard] Nie masz wystarczajacej ilosci pieniedzy."); return PLUGIN_CONTINUE; } client_print(id, print_chat, "[BioHazard] Kupiles pomyslnie Flare"); give_item(id, "weapon_smokegrenade"); menu_destroy(menu); cs_set_user_money(id, kasa_gracza-koszt); return PLUGIN_HANDLED; } case 5:{ new kasa_gracza = cs_get_user_money(id); new koszt = 2500; if (kasa_gracza<koszt) { client_print(id, print_chat, "[BioHazard] Nie masz wystarczajacej ilosci pieniedzy."); return PLUGIN_CONTINUE; } client_print(id, print_chat, "[BioHazard] Kupiles pomyslnie M249"); StripWeapons(id,1) give_item(id, "weapon_m249"); menu_destroy(menu); cs_set_user_money(id, kasa_gracza-koszt); return PLUGIN_HANDLED; } case 6:{ new kasa_gracza = cs_get_user_money(id); new koszt = 3500; if (kasa_gracza<koszt) { client_print(id, print_chat, "[BioHazard] Nie masz wystarczajacej ilosci pieniedzy."); return PLUGIN_CONTINUE; } client_print(id, print_chat, "[BioHazard] Kupiles pomyslnie AutoKampe"); StripWeapons(id,1) give_item(id, "weapon_g3sg1") menu_destroy(menu); cs_set_user_money(id, kasa_gracza-koszt); return PLUGIN_HANDLED; } } menu_destroy(menu) return PLUGIN_HANDLED; } public disable_gravity(taskid) { new id = taskid-56465; if(gravity_time[id] > 0) { set_hudmessage(0, 170, 255, 0.44, 0.75, 0, 6.0, 1.0); ShowSyncHudMsg(id, gSyncMessage,"[BioHazard]Pozostalo Ci %d Grawitacji", gravity_time[id]); gravity_time[id]--; } else { get_user_name(id, name, 32) set_hudmessage(0, 255, 0, 0.05, 0.63, 2, 6.0, 10.0) show_hudmessage(id,"[BioHazard]Straciles Grawitacje..",name); fm_set_user_gravity(id, 1.0); remove_task(taskid); } } public disable_godmode(taskid) { new id = taskid-56465; if(godmode_time[id] > 0) { set_hudmessage(0, 170, 255, 0.44, 0.75, 0, 6.0, 1.0); ShowSyncHudMsg(id, gSyncMessage,"[BioHazard]Pozostalo Ci %d godmode", godmode_time[id]); godmode_time[id]--; } else { fm_set_user_godmode(id); remove_task(taskid); } } public event_dmg(kto, kogo, Float:dmg) { if(is_user_connected(kto) && is_user_connected(kogo) && is_user_zombie(kogo)) { } } public event_infect(kto, kogo) { if(is_user_connected(kto) && is_user_connected(kogo) && !is_user_zombie(kogo)) { } }
a to sma sklepu