Menu with multiple Display and Hanlders
Can you tell me what's wrong in this code? After writing /funshop nothing happens
PHP Code:
#include <amxmodx> #include <amxmisc> #include <cstrike> #include <fun> #include <colorchat> #include <fakemeta> #include <engine> #define PLUGIN "Funshop" #define VERSION "1.0" #define AUTHOR "Gasior"
#define DISABLE_CS 0 #define ADMIN_FLAG_X (1<<23)
// team ids #define UNASSIGNED 0 #define TS 1 #define CTS 2 #define AUTO_TEAM 5
new bool:g_PistolsDisabled = false public plugin_init() { register_clcmd("say /funshop", "HookSay") register_clcmd("say_team /funshop", "HookSay") register_clcmd("say /fun", "HookSay") register_clcmd("say_team /fun", "HookSay") register_clcmd("say /shop", "HookSay") register_clcmd("say_team /shop", "HookSay") register_cvar("sv_respawn", "1") }
public Hook_Say(id) { new map[32]; get_mapname(map, charsmax(map)); if(contain(map, "1hp_") || contain(map, "ka_")) DisplayMenu1(id); else if(contain(map, "awp_") || contain(map, "awesome_")) DisplayMenu2(id); else if(contain(map, "knives")) DisplayMenu3(id); else DisplayMenu(id); return PLUGIN_HANDLED_MAIN } public DisplayMenu(id){ new Menu = menu_create("Fun Shop", "Menu_Handler")
menu_additem(Menu, "Gravity = 2000$ (VIP 1400$)", "1", 0) menu_additem(Menu, "Zestaw Granatow = 1500$ (VIP 1050$) ", "2", 0) menu_additem(Menu, "M4A1/AK = 5000$ (VIP 3500$)", "3", 0) menu_additem(Menu, "Lecznie = 7000$ (VIP 4900$)", "4", 0) menu_additem(Menu, "Random glow = 10000$ (VIP 7000$)", "5", 0) menu_additem(Menu, "Respawn = 20000$ (VIP 14000$)", "6", 0) menu_additem(Menu, "Ruletka = 3000$ (VIP 2000)", "7", 0) menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL) menu_display(id, Menu, 0) } public DisplayMenu1(id){ new Menu1 = menu_create("Fun Shop", "Menu_Handler1")
menu_additem(Menu1, "Random glow = 10000$ (VIP 7000$)", "1", 0) menu_additem(Menu1, "Respawn = 20000$ (VIP 14000$)", "2", 0) menu_additem(Menu1, "Ruletka = 3000$ (VIP 2000)", "3", 0) menu_setprop(Menu1, MPROP_EXIT, MEXIT_ALL) menu_display(id, Menu1, 0) } public DisplayMenu2(id){ new Menu2 = menu_create("Fun Shop", "Menu_Handler2")
menu_additem(Menu2, "Gravity = 2000$ (VIP 1400$)", "1", 0) menu_additem(Menu2, "Zestaw Granatow = 1500$ (VIP 1050$) ", "2", 0) menu_additem(Menu2, "Lecznie = 7000$ (VIP 4900$)", "4", 0) menu_additem(Menu2, "Random glow = 10000$ (VIP 7000$)", "5", 0) menu_additem(Menu2, "Respawn = 20000$ (VIP 14000$)", "6", 0) menu_additem(Menu2, "Ruletka = 3000$ (VIP 2000)", "7", 0) menu_setprop(Menu2, MPROP_EXIT, MEXIT_ALL) menu_display(id, Menu2, 0) } public DisplayMenu3(id){ new Menu3 = menu_create("Fun Shop", "Menu_Handler3")
menu_additem(Menu3, "Zestaw Granatow = 1500$ (VIP 1050$) ", "2", 0) menu_additem(Menu3, "Lecznie = 7000$ (VIP 4900$)", "4", 0) menu_additem(Menu3, "Random glow = 10000$ (VIP 7000$)", "5", 0) menu_additem(Menu3, "Respawn = 20000$ (VIP 14000$)", "6", 0) menu_additem(Menu3, "Ruletka = 3000$ (VIP 2000)", "7", 0) menu_setprop(Menu3, MPROP_EXIT, MEXIT_ALL) menu_display(id, Menu3, 0) } public Menu_Handler(id, Menu, item) { new Plugin_Tag[] = "SHOP"; if (item == MENU_EXIT){ client_print(id, print_chat, "[%s] zamykam Menu", Plugin_Tag) menu_destroy(Menu) return PLUGIN_HANDLED } new Data[6] new Access new Name[64] new Callback menu_item_getinfo(Menu, item, Access, Data, 5, Name, 63, Callback) new Key = str_to_num(Data) switch (Key) { case 1: { new usermoney = cs_get_user_money(id) new price = access(id,ADMIN_FLAG_X) ? 1400 : 2000 if(usermoney < price) { ColorChat(id,RED,"^3 [FUNSHOP] ^4 Nie stac Cie na to.", 0) return PLUGIN_HANDLED } else { cs_set_user_money(id, cs_get_user_money(id) - price) set_user_gravity(id,0.6) ColorChat(id,RED,"^3 [FUNSHOP] ^4 Zakupiles ^3 GRAWITACJE ^4!", 0) return PLUGIN_HANDLED } } case 2: { new usermoney = cs_get_user_money(id) new price = access(id,ADMIN_FLAG_X) ? 1050 : 1500
if(usermoney < price ) { ColorChat(id,RED,"^3 [FUNSHOP] ^4 Nie stac Cie na to.", 0) return PLUGIN_HANDLED } else { give_item(id, "weapon_flashbang") give_item(id, "weapon_flashbang") give_item(id, "weapon_hegrenade") give_item(id, "weapon_smokegrenade") cs_set_user_money(id, cs_get_user_money(id) - price) ColorChat(id,RED,"^3 [FUNSHOP] ^4 Zakupiles ^3 ZESTAW GRANATÓW ^4 !", 0) return PLUGIN_HANDLED } } case 3: { new usermoney = cs_get_user_money(id) new CsTeams:userTeam = cs_get_user_team(id) new price = access(id,ADMIN_FLAG_X) ? 5000 : 3500 if(usermoney < price ) { ColorChat(id,RED,"^3 [SHOP] ^4 Nie stac Cie na to.", 0) return PLUGIN_HANDLED } else { if (userTeam == CS_TEAM_T) { give_item(id, "weapon_m4a1") ColorChat(id,RED,"^3 [FUNSHOP] ^4 Zakupiles ^3 M4A1 ^4 kosztowalo Cie to ^3 5000$", 0) } else if(userTeam == CS_TEAM_CT) { give_item(id, "weapon_ak47") ColorChat(id,RED,"^3 [FUNSHOP] ^4 Zakupiles ^3 AK-47 ^4 kosztowalo Cie to ^3 5000$", 0) }
cs_set_user_money(id, cs_get_user_money(id) - price) return PLUGIN_HANDLED } } case 4: { new usermoney = cs_get_user_money(id) new price = access(id,ADMIN_FLAG_X) ? 4900 : 7000 if(usermoney < price ){ ColorChat(id,RED,"^3 [FNUSHOP] ^4 Nie stac Cie na to.", 0) return PLUGIN_HANDLED } else { if(get_user_health(id) > 100){ ColorChat(id,RED,"^3 [FUNSHOP] ^4 Juz zakupiles ta usluge. ", 0) return PLUGIN_HANDLED } else{ set_user_health(id, 100) cs_set_user_money(id, cs_get_user_money(id) - price) ColorChat(id,RED,"^3 [FUNSHOP] ^4 Wyleczyles sie!", 0) return PLUGIN_HANDLED } } } case 5: { new usermoney = cs_get_user_money(id) new price = access(id,ADMIN_FLAG_X) ? 7000 : 10000 if(usermoney < price ){ ColorChat(id,RED,"^3 [FUNSHOP] ^4 Nie stac Cie na to.", 0) return PLUGIN_HANDLED } else { cs_set_user_money(id, cs_get_user_money(id) - price) set_user_rendering( id, kRenderFxGlowShell, random( 256 ), random( 256 ), random( 256 ), kRenderNormal, random( 256 ) ) ColorChat(id,RED,"^3 [FUNSHOP] ^4 Zakupiles ^3 Losowy Render ^4!", 0) return PLUGIN_HANDLED } } case 6: { new usermoney = cs_get_user_money(id) new price = access(id,ADMIN_FLAG_X) ? 7000 : 10000 if(usermoney < price ){ ColorChat(id,RED,"^3 [FUNSHOP] ^4 Nie stac Cie na to.", 0) return PLUGIN_HANDLED } else { cs_set_user_money(id, cs_get_user_money(id) - price) set_task(1.0, "spawn_func", id) return PLUGIN_HANDLED } } case 7: { new usermoney = cs_get_user_money(id) new price = access(id,ADMIN_FLAG_X) ? 2000: 3000 if(usermoney < price ){ ColorChat(id,RED,"^3 [FUNSHOP] ^4 Nie stac Cie na to.", 0) return PLUGIN_HANDLED } else { cs_set_user_money(id, cs_get_user_money(id) - price) set_task(1.0, "ruletka", id) return PLUGIN_HANDLED } } } ColorChat(id,RED,"^3 [%s] ^4 Zamykam Menu", 0) menu_destroy(Menu) return PLUGIN_HANDLED }
public Menu_Handler1(id, Menu1, item) { new Plugin_Tag[] = "SHOP"; if (item == MENU_EXIT){ client_print(id, print_chat, "[%s] zamykam Menu", Plugin_Tag) menu_destroy(Menu1) return PLUGIN_HANDLED } new Data[6] new Access new Name[64] new Callback menu_item_getinfo(Menu1, item, Access, Data, 5, Name, 63, Callback) new Key = str_to_num(Data) switch (Key) { case 1: { new usermoney = cs_get_user_money(id) new price = access(id,ADMIN_FLAG_X) ? 7000 : 10000 if(usermoney < price ){ ColorChat(id,RED,"^3 [FUNSHOP] ^4 Nie stac Cie na to.", 0) return PLUGIN_HANDLED } else { cs_set_user_money(id, cs_get_user_money(id) - price) set_user_rendering( id, kRenderFxGlowShell, random( 256 ), random( 256 ), random( 256 ), kRenderNormal, random( 256 ) ) ColorChat(id,RED,"^3 [FUNSHOP] ^4 Zakupiles ^3 Losowy Render ^4!", 0) return PLUGIN_HANDLED } } case 2: { new usermoney = cs_get_user_money(id) new price = access(id,ADMIN_FLAG_X) ? 7000 : 10000 if(usermoney < price ){ ColorChat(id,RED,"^3 [FUNSHOP] ^4 Nie stac Cie na to.", 0) return PLUGIN_HANDLED } else { cs_set_user_money(id, cs_get_user_money(id) - price) set_task(1.0, "spawn_func", id) return PLUGIN_HANDLED } } case 3: { new usermoney = cs_get_user_money(id) new price = access(id,ADMIN_FLAG_X) ? 2000 : 3000 if(usermoney < price ){ ColorChat(id,RED,"^3 [FUNSHOP] ^4 Nie stac Cie na to.", 0) return PLUGIN_HANDLED } else { cs_set_user_money(id, cs_get_user_money(id) - price) set_task(1.0, "ruletka", id) return PLUGIN_HANDLED } } } ColorChat(id,RED,"^3 [%s] ^4 Zamykam Menu", 0) menu_destroy(Menu1) return PLUGIN_HANDLED } public Menu_Handler2(id, Menu2, item) { new Plugin_Tag[] = "SHOP"; if (item == MENU_EXIT){ client_print(id, print_chat, "[%s] zamykam Menu", Plugin_Tag) menu_destroy(Menu2) return PLUGIN_HANDLED } new Data[6] new Access new Name[64] new Callback menu_item_getinfo(Menu2, item, Access, Data, 5, Name, 63, Callback) new Key = str_to_num(Data) switch (Key) { case 1: { new usermoney = cs_get_user_money(id) new price = access(id,ADMIN_FLAG_X) ? 1400 : 2000 if(usermoney < price) { ColorChat(id,RED,"^3 [FUNSHOP] ^4 Nie stac Cie na to.", 0) return PLUGIN_HANDLED } else { cs_set_user_money(id, cs_get_user_money(id) - price) set_user_gravity(id,0.6) ColorChat(id,RED,"^3 [FUNSHOP] ^4 Zakupiles ^3 GRAWITACJE ^4!", 0) return PLUGIN_HANDLED } } case 2: { new usermoney = cs_get_user_money(id) new price = access(id,ADMIN_FLAG_X) ? 1050 : 1500
if(usermoney < price ) { ColorChat(id,RED,"^3 [FUNSHOP] ^4 Nie stac Cie na to.", 0) return PLUGIN_HANDLED } else { give_item(id, "weapon_flashbang") give_item(id, "weapon_flashbang") give_item(id, "weapon_hegrenade") give_item(id, "weapon_smokegrenade") cs_set_user_money(id, cs_get_user_money(id) - price) ColorChat(id,RED,"^3 [FUNSHOP] ^4 Zakupiles ^3 ZESTAW GRANATÓW ^4 !", 0) return PLUGIN_HANDLED } }
case 3: { new usermoney = cs_get_user_money(id) new price = access(id,ADMIN_FLAG_X) ? 4900 : 7000 if(usermoney < price ){ ColorChat(id,RED,"^3 [FNUSHOP] ^4 Nie stac Cie na to.", 0) return PLUGIN_HANDLED } else { if(get_user_health(id) > 100){ ColorChat(id,RED,"^3 [FUNSHOP] ^4 Juz zakupiles ta usluge. ", 0) return PLUGIN_HANDLED } else{ set_user_health(id, 100) cs_set_user_money(id, cs_get_user_money(id) - price) ColorChat(id,RED,"^3 [FUNSHOP] ^4 Wyleczyles sie!", 0) return PLUGIN_HANDLED } } } case 4: { new usermoney = cs_get_user_money(id) new price = access(id,ADMIN_FLAG_X) ? 7000 : 10000 if(usermoney < price ){ ColorChat(id,RED,"^3 [FUNSHOP] ^4 Nie stac Cie na to.", 0) return PLUGIN_HANDLED } else { cs_set_user_money(id, cs_get_user_money(id) - price) set_user_rendering( id, kRenderFxGlowShell, random( 256 ), random( 256 ), random( 256 ), kRenderNormal, random( 256 ) ) ColorChat(id,RED,"^3 [FUNSHOP] ^4 Zakupiles ^3 Losowy Render ^4!", 0) return PLUGIN_HANDLED } } case 5: { new usermoney = cs_get_user_money(id) new price = access(id,ADMIN_FLAG_X) ? 7000 : 10000 if(usermoney < price ){ ColorChat(id,RED,"^3 [FUNSHOP] ^4 Nie stac Cie na to.", 0) return PLUGIN_HANDLED } else { cs_set_user_money(id, cs_get_user_money(id) - price) set_task(1.0, "spawn_func", id) return PLUGIN_HANDLED } } case 6: { new usermoney = cs_get_user_money(id) new price = access(id,ADMIN_FLAG_X) ? 2000 : 3000 if(usermoney < price ){ ColorChat(id,RED,"^3 [FUNSHOP] ^4 Nie stac Cie na to.", 0) return PLUGIN_HANDLED } else { cs_set_user_money(id, cs_get_user_money(id) - price) set_task(1.0, "ruletka", id) return PLUGIN_HANDLED } } } ColorChat(id,RED,"^3 [%s] ^4 Zamykam Menu", 0) menu_destroy(Menu2) return PLUGIN_HANDLED }
public Menu_Handler3(id, Menu3, item) { new Plugin_Tag[] = "SHOP"; if (item == MENU_EXIT){ client_print(id, print_chat, "[%s] zamykam Menu", Plugin_Tag) menu_destroy(Menu3) return PLUGIN_HANDLED } new Data[6] new Access new Name[64] new Callback menu_item_getinfo(Menu3, item, Access, Data, 5, Name, 63, Callback) new Key = str_to_num(Data) switch (Key) { case 1: { new usermoney = cs_get_user_money(id) new price = access(id,ADMIN_FLAG_X) ? 1400 : 2000 if(usermoney < price) { ColorChat(id,RED,"^3 [FUNSHOP] ^4 Nie stac Cie na to.", 0) return PLUGIN_HANDLED } else { cs_set_user_money(id, cs_get_user_money(id) - price) set_user_gravity(id,0.6) ColorChat(id,RED,"^3 [FUNSHOP] ^4 Zakupiles ^3 GRAWITACJE ^4!", 0) return PLUGIN_HANDLED } } case 2: { new usermoney = cs_get_user_money(id) new price = access(id,ADMIN_FLAG_X) ? 1050 : 1500
if(usermoney < price ) { ColorChat(id,RED,"^3 [FUNSHOP] ^4 Nie stac Cie na to.", 0) return PLUGIN_HANDLED } else { give_item(id, "weapon_flashbang") give_item(id, "weapon_flashbang") give_item(id, "weapon_hegrenade") give_item(id, "weapon_smokegrenade") cs_set_user_money(id, cs_get_user_money(id) - price) ColorChat(id,RED,"^3 [FUNSHOP] ^4 Zakupiles ^3 ZESTAW GRANATÓW ^4 !", 0) return PLUGIN_HANDLED } } case 3: { new usermoney = cs_get_user_money(id) new CsTeams:userTeam = cs_get_user_team(id) new price = access(id,ADMIN_FLAG_X) ? 5000 : 3500 if(usermoney < price ) { ColorChat(id,RED,"^3 [SHOP] ^4 Nie stac Cie na to.", 0) return PLUGIN_HANDLED } else { if (userTeam == CS_TEAM_T) { give_item(id, "weapon_m4a1") ColorChat(id,RED,"^3 [FUNSHOP] ^4 Zakupiles ^3 M4A1 ^4 kosztowalo Cie to ^3 5000$", 0) } else if(userTeam == CS_TEAM_CT) { give_item(id, "weapon_ak47") ColorChat(id,RED,"^3 [FUNSHOP] ^4 Zakupiles ^3 AK-47 ^4 kosztowalo Cie to ^3 5000$", 0) }
cs_set_user_money(id, cs_get_user_money(id) - price) return PLUGIN_HANDLED } } case 4: { new usermoney = cs_get_user_money(id) new price = access(id,ADMIN_FLAG_X) ? 4900 : 7000 if(usermoney < price ){ ColorChat(id,RED,"^3 [FNUSHOP] ^4 Nie stac Cie na to.", 0) return PLUGIN_HANDLED } else { if(get_user_health(id) > 100){ ColorChat(id,RED,"^3 [FUNSHOP] ^4 Juz zakupiles ta usluge. ", 0) return PLUGIN_HANDLED } else{ set_user_health(id, 100) cs_set_user_money(id, cs_get_user_money(id) - price) ColorChat(id,RED,"^3 [FUNSHOP] ^4 Wyleczyles sie!", 0) return PLUGIN_HANDLED } } } case 5: { new usermoney = cs_get_user_money(id) new price = access(id,ADMIN_FLAG_X) ? 7000 : 10000 if(usermoney < price ){ ColorChat(id,RED,"^3 [FUNSHOP] ^4 Nie stac Cie na to.", 0) return PLUGIN_HANDLED } else { cs_set_user_money(id, cs_get_user_money(id) - price) set_user_rendering( id, kRenderFxGlowShell, random( 256 ), random( 256 ), random( 256 ), kRenderNormal, random( 256 ) ) ColorChat(id,RED,"^3 [FUNSHOP] ^4 Zakupiles ^3 Losowy Render ^4!", 0) return PLUGIN_HANDLED } } case 6: { new usermoney = cs_get_user_money(id) new price = access(id,ADMIN_FLAG_X) ? 7000 : 10000 if(usermoney < price ){ ColorChat(id,RED,"^3 [FUNSHOP] ^4 Nie stac Cie na to.", 0) return PLUGIN_HANDLED } else { cs_set_user_money(id, cs_get_user_money(id) - price) set_task(1.0, "spawn_func", id) return PLUGIN_HANDLED } } case 7: { new usermoney = cs_get_user_money(id) new price = access(id,ADMIN_FLAG_X) ? 2000 : 3000 if(usermoney < price ){ ColorChat(id,RED,"^3 [FUNSHOP] ^4 Nie stac Cie na to.", 0) return PLUGIN_HANDLED } else { cs_set_user_money(id, cs_get_user_money(id) - price) set_task(1.0, "ruletka", id) return PLUGIN_HANDLED } } } ColorChat(id,RED,"^3 [%s] ^4 Zamykam Menu", 0) menu_destroy(Menu3) return PLUGIN_HANDLED } public spawn_func(id) { new parm[1] parm[0]=id /* Spawn the player twice to avoid the HL engine bug */ set_task(0.5,"player_spawn",72,parm,1) set_task(0.7,"player_spawn",72,parm,1)
/* Then give them a suit and a knife */ set_task(0.9,"player_giveitems",72,parm,1) }
public player_giveitems(parm[1]) { new id = parm[0]
give_item(id, "item_suit") give_item(id, "weapon_knife")
/* Determines if a players should be given a pistol */ if ( !g_PistolsDisabled ) { new wpnList[32] = 0, number = 0, bool:foundGlock = false, bool:foundUSP = false get_user_weapons(id,wpnList,number) /* Determine if the player already has a pistol */ for (new i = 0;i < number;i++) { if (wpnList[i] == CSW_GLOCK18) foundGlock = true if (wpnList[i] == CSW_USP) foundUSP = true } /* Give a T his/her pistol */ if ( get_user_team(id)==TS && !foundGlock ) { give_item(id,"weapon_glock18") give_item(id,"ammo_9mm") give_item(id,"ammo_9mm") } /* Give a CT his/her pistol */ else if ( get_user_team(id)==CTS && !foundUSP ) { give_item(id,"weapon_usp") give_item(id,"ammo_45acp") give_item(id,"ammo_45acp") } }
return PLUGIN_CONTINUE }
public player_spawn(parm[1]) { spawn(parm[0]) }
public ruletka(id) { switch(random_num(1,5)) { case 1:{ server_cmd("amx_slap(id)") set_user_health(id, 1) ColorChat(id,RED,"^3 [FUNSHOP] ^4 Wylowoasles ^3slap do 1HP^4!", 0) } case 2:{ cs_set_user_money(id, cs_get_user_money(id) + 5000) ColorChat(id,RED,"^3 [FUNSHOP] ^4 Wylosowales^3 +5000$^4!", 0) } case 3:{ cs_set_user_money(id, cs_get_user_money(id) - 5000) ColorChat(id,RED,"^3 [FUNSHOP] ^4 Wylosowales ^3 -5000$^4!", 0) } case 4:{ ColorChat(id,RED,"^3 [FUNSHOP] ^4 Wylosowales ^3 NIC^4 gratluje!", 0) } case 5:{ ColorChat(id,RED,"^3 [FUNSHOP] ^4 Wylosowales ^3 NIC^4 gratluje!", 0) } } }
|