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


Dodatki SourceMod












