Raised This Month: $32 Target: $400
 8% 

What's Wrong with my code??


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
AnimalMonster
Senior Member
Join Date: May 2020
Old 09-24-2020 , 11:12   What's Wrong with my code??
Reply With Quote #1

I edited this code of sonic but the buymenu doesn t open...... Yeah i'd change the author in me bcs i edited it a lot for another money system but doesn t seem to work...

PHP Code:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <zombieplague>

#define PLUGIN "[CSO] Buymenu By DeclineD"
#define VERSION "1.0"
#define AUTHOR "DeclineD"

native GetUserMoney(id)
native SetUserMoney(idamount)

const 
PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
const 
SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)
const 
ZOMBIE_ALLOWED_WEAPONS_BITSUM = (1<<CSW_KNIFE)|(1<<CSW_HEGRENADE)|(1<<CSW_FLASHBANG)|(1<<CSW_SMOKEGRENADE)|(1<<CSW_C4)

const 
PEV_ADDITIONAL_AMMO pev_iuser1

const OFFSET_AWM_AMMO  377 
const OFFSET_SCOUT_AMMO 378
const OFFSET_PARA_AMMO 379
const OFFSET_FAMAS_AMMO 380
const OFFSET_M3_AMMO 381
const OFFSET_USP_AMMO 382
const OFFSET_FIVESEVEN_AMMO 383
const OFFSET_DEAGLE_AMMO 384
const OFFSET_P228_AMMO 385
const OFFSET_GLOCK_AMMO 386
const OFFSET_FLASH_AMMO 387
const OFFSET_HE_AMMO 388
const OFFSET_SMOKE_AMMO 389
const OFFSET_C4_AMMO 390
const OFFSET_CLIPAMMO 51
const OFFSET_TEAM 114
const OFFSET_DEATHS 444
const OFFSET_MONEY 115

//wtf is unknown item ???    P228            unknown        he gren        xm1014        bomb        mac10        aug        smogegren        elites        fivesveen        ump45        krieg500            galil        famas        usp        glock            awp        mp5        m249        m3        m4a1        tmp        g3sg1        flashgren        deagle        krieg552    ak47        ?    p90
new const AMMOOFFSET[] = { -1OFFSET_P228_AMMO, -1OFFSET_SCOUT_AMMOOFFSET_HE_AMMOOFFSET_M3_AMMOOFFSET_C4_AMMOOFFSET_USP_AMMOOFFSET_FAMAS_AMMOOFFSET_SMOKE_AMMOOFFSET_GLOCK_AMMOOFFSET_FIVESEVEN_AMMOOFFSET_USP_AMMOOFFSET_FAMAS_AMMOOFFSET_FAMAS_AMMOOFFSET_FAMAS_AMMO,
 
OFFSET_USP_AMMOOFFSET_GLOCK_AMMOOFFSET_AWM_AMMOOFFSET_GLOCK_AMMOOFFSET_PARA_AMMOOFFSET_M3_AMMOOFFSET_FAMAS_AMMOOFFSET_GLOCK_AMMOOFFSET_SCOUT_AMMOOFFSET_FLASH_AMMOOFFSET_DEAGLE_AMMOOFFSET_FAMAS_AMMO,  OFFSET_SCOUT_AMMO, -1OFFSET_FIVESEVEN_AMMO }
            
new const 
BUYAMMO[] = { -1,     13,        -1,     30,         -1,         7,         -1,         12,             30,         -1,         30,         20,             12,         20,             30,         30,
         
12,         30,            10,         30,         50,         8,         30,         30,             20,         -1,             7,         30,             30,     -1,     50 }

new const 
MAXBPAMMO[] = { -1,    52,         -1,     90,         1,         32,         1,         100,             90,         1,         120,         100,             100,         90,             90,         90,
         
100,         120,            30,         120,         200,         32,         90,        120,             90,         2,             35,         90,             90,     -1,     100 }
        
new const 
AMMOTYPE[][] = { """357sig""""762nato""""buckshot""""45acp""556nato""""9mm""57mm""45acp",
            
"556nato""556nato""556nato""45acp""9mm""338magnum""9mm""556natobox""buckshot",
            
"556nato""9mm""762nato""""50ae""556nato""762nato""""57mm" }
        
const 
OFFSET_LINUX 
const OFFSET_LINUX_WEAPONS 

new const sound_buyammo[] = "items/9mmclip1.wav"

new g_maxplayers

const TASK_BUYTIME_END 100;
const 
TASK_KILL_ASSIST 300;

new 
cvar_zp_cs_buytime;
new 
cvar_zp_cs_nemesis_canbuy
new cvar_zp_cs_survivor_canbuy
new cvar_antidotelimitcvar_madnesslimitcvar_infbomblimitantidoteusedmadnessusedinfbombused
new cvar_amx_mode

new cvar_zp_cs_zombie_nodeathscore

new cvar_zp_cs_buytime_pistol_mult
new 
cvar_zp_cs_buytime_shotgun_mult;
new 
cvar_zp_cs_buytime_smgun_mult;
new 
cvar_zp_cs_buytime_rifle_mult;
new 
cvar_zp_cs_buytime_sniper_mult;
new 
cvar_zp_cs_buytime_biggun_mult;
new 
cvar_zp_cs_buytime_gren_mult;

new 
zp_cs_buytime_passed;

new 
g_msgIconStatusg_msgScoreInfog_msgSayTextg_msgDeathMsgg_MsgSyncObj1;
new 
PlayerOldName[33][32]

new const 
sound_buysuit[] = "items/tr_kevlar.wav" 

new zp_cs_buymenu;    
new 
zp_cs_submenuid[33];
new 
zp_cs_buymenu_pistol;
new 
zp_cs_buymenu_shotgun;
new 
zp_cs_buymenu_smgun;
new 
zp_cs_buymenu_rifle;
new 
zp_cs_buymenu_sniper;
new 
zp_cs_buymenu_biggun;
new 
zp_cs_buymenu_equiph;
new 
zp_cs_buymenu_equipz;

new 
zp_cs_buymenu_ready;

new 
cvar_zp_cs_buymenu_pistol_name[99]; 
new 
cvar_zp_cs_buymenu_pistol_cost[99]; 
new 
cvar_zp_cs_buymenu_pistol_todo[99]; 
new 
cvar_zp_cs_buymenu_shotgun_name[99];
new 
cvar_zp_cs_buymenu_shotgun_cost[99]; 
new 
cvar_zp_cs_buymenu_shotgun_todo[99];
new 
cvar_zp_cs_buymenu_smgun_name[99]; 
new 
cvar_zp_cs_buymenu_smgun_cost[99];
new 
cvar_zp_cs_buymenu_smgun_todo[99];
new 
cvar_zp_cs_buymenu_rifle_name[99]; 
new 
cvar_zp_cs_buymenu_rifle_cost[99];
new 
cvar_zp_cs_buymenu_rifle_todo[99];
new 
cvar_zp_cs_buymenu_sniper_name[99]; 
new 
cvar_zp_cs_buymenu_sniper_cost[99];
new 
cvar_zp_cs_buymenu_sniper_todo[99];
new 
cvar_zp_cs_buymenu_biggun_name[99]; 
new 
cvar_zp_cs_buymenu_biggun_cost[99];
new 
cvar_zp_cs_buymenu_biggun_todo[99];
new 
cvar_zp_cs_buymenu_equiph_name[99]; 
new 
cvar_zp_cs_buymenu_equiph_cost[99];
new 
cvar_zp_cs_buymenu_equiph_todo[99];
new 
cvar_zp_cs_buymenu_equipz_name[99]; 
new 
cvar_zp_cs_buymenu_equipz_cost[99];
new 
cvar_zp_cs_buymenu_equipz_todo[99];
 
public 
plugin_precache()
{
    
precache_sound(sound_buyammo)
    
precache_sound(sound_buysuit)
}
 
public 
plugin_init()
{
    
register_plugin(PLUGIN,VERSION,AUTHOR)
    
    
register_dictionary("zp_cs_buymenu.txt")
    
    
g_msgIconStatus get_user_msgid("StatusIcon"
    
g_msgScoreInfo get_user_msgid("ScoreInfo")
    
g_msgSayText get_user_msgid("SayText")
    
g_msgDeathMsg get_user_msgid("DeathMsg")
    
g_MsgSyncObj1 CreateHudSyncObj()
    
    
register_event("HLTV""event_round_start""a""1=0""2=0")
    
    
RegisterHam(Ham_Spawn"player""ham_PlayerSpawn_Post"1)
    
RegisterHam(Ham_TakeDamage"player""ham_TakeDamage")
    
RegisterHam(Ham_Killed"player""ham_PlayerKilled")
    
    
register_forward(FM_ClientConnect"fw_ClientConnect_Post",1)
    
register_forward(FM_ClientDisconnect"fw_ClientDisconnect")
    
    
register_clcmd("buy""clcmd_zp_cs_buymenu"
    
register_clcmd("zp_cs_buymenu""clcmd_zp_cs_buymenu"

    
cvar_zp_cs_nemesis_canbuy register_cvar("zp_cs_nemesis_canbuy""0")
    
cvar_zp_cs_survivor_canbuy register_cvar("zp_cs_survivor_canbuy""0")
    
cvar_antidotelimit get_cvar_pointer("zp_extra_antidote_limit")
    
cvar_madnesslimit get_cvar_pointer("zp_extra_madness_limit")
    
cvar_infbomblimit get_cvar_pointer("zp_extra_infbomb_limit")
    
cvar_zp_cs_buytime get_cvar_pointer("mp_buytime")
    
cvar_zp_cs_buytime_pistol_mult register_cvar("zp_cs_buytime_pistol_mult""1")
    
cvar_zp_cs_buytime_shotgun_mult register_cvar("zp_cs_buytime_shotgun_mult""1")
    
cvar_zp_cs_buytime_smgun_mult register_cvar("zp_cs_buytime_smgun_mult""1")
    
cvar_zp_cs_buytime_rifle_mult register_cvar("zp_cs_buytime_rifle_mult""1")
    
cvar_zp_cs_buytime_biggun_mult register_cvar("zp_cs_buytime_biggun_mult""1")
    
cvar_zp_cs_buytime_gren_mult register_cvar("zp_cs_buytime_gren_mult""1")

    
cvar_zp_cs_zombie_nodeathscore register_cvar("zp_cs_zombie_nodeathscore""1");
    
cvar_amx_mode get_cvar_pointer("amx_mode")

    
    
g_maxplayers get_maxplayers()    
    
    
zp_cs_buymenu_ready false;
    
    new 
strtemp[2]; 
    new 
strtemp2[32];
    for(new 
i=0;i<99;i++)
    {
        
num_to_str(i+1strtemp2)
        
strtemp2 "zp_cs_buymenu_pistol___name";
        if (
i>8
        {
            
strtemp2[20]=strtemp[0];
            
strtemp2[21]=strtemp[1];
        }
        else
        {
            
strtemp2[20]='0';
            
strtemp2[21]=strtemp[0];
        }
        
cvar_zp_cs_buymenu_pistol_name[i] = register_cvar(strtemp2"-");
        
num_to_str(i+1strtemp2)
        
strtemp2 "zp_cs_buymenu_pistol___cost";
        if (
i>8
        {
            
strtemp2[20]=strtemp[0];
            
strtemp2[21]=strtemp[1];
        }
        else
        {
            
strtemp2[20]='0';
            
strtemp2[21]=strtemp[0];
        }
        
cvar_zp_cs_buymenu_pistol_cost[i] = register_cvar(strtemp2"0");
        
num_to_str(i+1strtemp2)
        
strtemp2 "zp_cs_buymenu_pistol___todo";
        if (
i>8
        {
            
strtemp2[20]=strtemp[0];
            
strtemp2[21]=strtemp[1];
        }
        else
        {
            
strtemp2[20]='0';
            
strtemp2[21]=strtemp[0];
        }
        
cvar_zp_cs_buymenu_pistol_todo[i] = register_cvar(strtemp2"do_nothing");
    }
    for(new 
i=0;i<99;i++)
    {
        
num_to_str(i+1strtemp2)
        
strtemp2 "zp_cs_buymenu_shotgun___name";
        if (
i>8
        {
            
strtemp2[21]=strtemp[0];
            
strtemp2[22]=strtemp[1];
        }
        else
        {
            
strtemp2[21]='0';
            
strtemp2[22]=strtemp[0];
        }
        
cvar_zp_cs_buymenu_shotgun_name[i] = register_cvar(strtemp2"-");
        
num_to_str(i+1strtemp2)
        
strtemp2 "zp_cs_buymenu_shotgun___cost";
        if (
i>8
        {
            
strtemp2[21]=strtemp[0];
            
strtemp2[22]=strtemp[1];
        }
        else
        {
            
strtemp2[21]='0';
            
strtemp2[22]=strtemp[0];
        }
        
cvar_zp_cs_buymenu_shotgun_cost[i] = register_cvar(strtemp2"0");
        
num_to_str(i+1strtemp2)
        
strtemp2 "zp_cs_buymenu_shotgun___todo";
        if (
i>8
        {
            
strtemp2[21]=strtemp[0];
            
strtemp2[22]=strtemp[1];
        }
        else
        {
            
strtemp2[21]='0';
            
strtemp2[22]=strtemp[0];
        }
        
cvar_zp_cs_buymenu_shotgun_todo[i] = register_cvar(strtemp2"do_nothing");
    }
    for(new 
i=0;i<99;i++)
    {
        
num_to_str(i+1strtemp2)
        
strtemp2 "zp_cs_buymenu_smgun___name";
        if (
i>8
        {
            
strtemp2[19]=strtemp[0];
            
strtemp2[20]=strtemp[1];
        }
        else
        {
            
strtemp2[19]='0';
            
strtemp2[20]=strtemp[0];
        }
        
cvar_zp_cs_buymenu_smgun_name[i] = register_cvar(strtemp2"-");
        
num_to_str(i+1strtemp2)
        
strtemp2 "zp_cs_buymenu_smgun___cost";
        if (
i>8
        {
            
strtemp2[19]=strtemp[0];
            
strtemp2[20]=strtemp[1];
        }
        else
        {
            
strtemp2[19]='0';
            
strtemp2[20]=strtemp[0];
        }
        
cvar_zp_cs_buymenu_smgun_cost[i] = register_cvar(strtemp2"0");
        
num_to_str(i+1strtemp2)
        
strtemp2 "zp_cs_buymenu_smgun___todo";
        if (
i>8
        {
            
strtemp2[19]=strtemp[0];
            
strtemp2[20]=strtemp[1];
        }
        else
        {
            
strtemp2[19]='0';
            
strtemp2[20]=strtemp[0];
        }
        
cvar_zp_cs_buymenu_smgun_todo[i] = register_cvar(strtemp2"do_nothing");
    }
    for(new 
i=0;i<99;i++)
    {
        
num_to_str(i+1strtemp2)
        
strtemp2 "zp_cs_buymenu_rifle___name";
        if (
i>8
        {
            
strtemp2[19]=strtemp[0];
            
strtemp2[20]=strtemp[1];
        }
        else
        {
            
strtemp2[19]='0';
            
strtemp2[20]=strtemp[0];
        }
        
cvar_zp_cs_buymenu_rifle_name[i] = register_cvar(strtemp2"-");
        
num_to_str(i+1strtemp2)
        
strtemp2 "zp_cs_buymenu_rifle___cost";
        if (
i>8
        {
            
strtemp2[19]=strtemp[0];
            
strtemp2[20]=strtemp[1];
        }
        else
        {
            
strtemp2[19]='0';
            
strtemp2[20]=strtemp[0];
        }
        
cvar_zp_cs_buymenu_rifle_cost[i] = register_cvar(strtemp2"0");
        
num_to_str(i+1strtemp2)
        
strtemp2 "zp_cs_buymenu_rifle___todo";
        if (
i>8
        {
            
strtemp2[19]=strtemp[0];
            
strtemp2[20]=strtemp[1];
        }
        else
        {
            
strtemp2[19]='0';
            
strtemp2[20]=strtemp[0];
        }
        
cvar_zp_cs_buymenu_rifle_todo[i] = register_cvar(strtemp2"do_nothing");
    }
    for(new 
i=0;i<99;i++)
    {
        
num_to_str(i+1strtemp2)
        
strtemp2 "zp_cs_buymenu_sniper___name";
        if (
i>8
        {
            
strtemp2[19]=strtemp[0];
            
strtemp2[20]=strtemp[1];
        }
        else
        {
            
strtemp2[19]='0';
            
strtemp2[20]=strtemp[0];
        }
        
cvar_zp_cs_buymenu_sniper_name[i] = register_cvar(strtemp2"-");
        
num_to_str(i+1strtemp2)
        
strtemp2 "zp_cs_buymenu_sniper___cost";
        if (
i>8
        {
            
strtemp2[19]=strtemp[0];
            
strtemp2[20]=strtemp[1];
        }
        else
        {
            
strtemp2[19]='0';
            
strtemp2[20]=strtemp[0];
        }
        
cvar_zp_cs_buymenu_sniper_cost[i] = register_cvar(strtemp2"0");
        
num_to_str(i+1strtemp2)
        
strtemp2 "zp_cs_buymenu_sniper___todo";
        if (
i>8
        {
            
strtemp2[19]=strtemp[0];
            
strtemp2[20]=strtemp[1];
        }
        else
        {
            
strtemp2[19]='0';
            
strtemp2[20]=strtemp[0];
        }
        
cvar_zp_cs_buymenu_sniper_todo[i] = register_cvar(strtemp2"do_nothing");
    }
    for(new 
i=0;i<99;i++)
    {
        
num_to_str(i+1strtemp2)
        
strtemp2 "zp_cs_buymenu_biggun___name";
        if (
i>8
        {
            
strtemp2[20]=strtemp[0];
            
strtemp2[21]=strtemp[1];
        }
        else
        {
            
strtemp2[20]='0';
            
strtemp2[21]=strtemp[0];
        }
        
cvar_zp_cs_buymenu_biggun_name[i] = register_cvar(strtemp2"-");
        
num_to_str(i+1strtemp2)
        
strtemp2 "zp_cs_buymenu_biggun___cost";
        if (
i>8
        {
            
strtemp2[20]=strtemp[0];
            
strtemp2[21]=strtemp[1];
        }
        else
        {
            
strtemp2[20]='0';
            
strtemp2[21]=strtemp[0];
        }
        
cvar_zp_cs_buymenu_biggun_cost[i] = register_cvar(strtemp2"0");
        
num_to_str(i+1strtemp2)
        
strtemp2 "zp_cs_buymenu_biggun___todo";
        if (
i>8
        {
            
strtemp2[20]=strtemp[0];
            
strtemp2[21]=strtemp[1];
        }
        else
        {
            
strtemp2[20]='0';
            
strtemp2[21]=strtemp[0];
        }
        
cvar_zp_cs_buymenu_biggun_todo[i] = register_cvar(strtemp2"do_nothing");
    }
    for(new 
i=0;i<99;i++)
    {
        
num_to_str(i+1strtemp2)
        
strtemp2 "zp_cs_buymenu_equiph___name";
        if (
i>8
        {
            
strtemp2[20]=strtemp[0];
            
strtemp2[21]=strtemp[1];
        }
        else
        {
            
strtemp2[20]='0';
            
strtemp2[21]=strtemp[0];
        }
        
cvar_zp_cs_buymenu_equiph_name[i] = register_cvar(strtemp2"-");
        
num_to_str(i+1strtemp2)
        
strtemp2 "zp_cs_buymenu_equiph___cost";
        if (
i>8
        {
            
strtemp2[20]=strtemp[0];
            
strtemp2[21]=strtemp[1];
        }
        else
        {
            
strtemp2[20]='0';
            
strtemp2[21]=strtemp[0];
        }
        
cvar_zp_cs_buymenu_equiph_cost[i] = register_cvar(strtemp2"0");
        
num_to_str(i+1strtemp2)
        
strtemp2 "zp_cs_buymenu_equiph___todo";
        if (
i>8
        {
            
strtemp2[20]=strtemp[0];
            
strtemp2[21]=strtemp[1];
        }
        else
        {
            
strtemp2[20]='0';
            
strtemp2[21]=strtemp[0];
        }
        
cvar_zp_cs_buymenu_equiph_todo[i] = register_cvar(strtemp2"do_nothing");
    }
    for(new 
i=0;i<99;i++)
    {
        
num_to_str(i+1strtemp2)
        
strtemp2 "zp_cs_buymenu_equipz___name";
        if (
i>8
        {
            
strtemp2[20]=strtemp[0];
            
strtemp2[21]=strtemp[1];
        }
        else
        {
            
strtemp2[20]='0';
            
strtemp2[21]=strtemp[0];
        }
        
cvar_zp_cs_buymenu_equipz_name[i] = register_cvar(strtemp2"-");
        
num_to_str(i+1strtemp2)
        
strtemp2 "zp_cs_buymenu_equipz___cost";
        if (
i>8
        {
            
strtemp2[20]=strtemp[0];
            
strtemp2[21]=strtemp[1];
        }
        else
        {
            
strtemp2[20]='0';
            
strtemp2[21]=strtemp[0];
        }
        
cvar_zp_cs_buymenu_equipz_cost[i] = register_cvar(strtemp2"0");
        
num_to_str(i+1strtemp2)
        
strtemp2 "zp_cs_buymenu_equipz___todo";
        if (
i>8
        {
            
strtemp2[20]=strtemp[0];
            
strtemp2[21]=strtemp[1];
        }
        else
        {
            
strtemp2[20]='0';    
            
strtemp2[21]=strtemp[0];
        }
        
cvar_zp_cs_buymenu_equipz_todo[i] = register_cvar(strtemp2"do_nothing");
    }
}


public 
plugin_cfg()
{
    new 
cfgdir[32]
    
get_localinfo("amxx_configsdir",cfgdir,sizeof cfgdir)
    
server_cmd("exec %s/zp_cs_buymenu.cfg"cfgdir)
    
build_menu();
}

public 
fw_ClientConnect_Post(id)
{
     
get_user_name(id,PlayerOldName[id],31)

    
client_cmd(id,"bind b zp_cs_buymenu");

    return 
FMRES_IGNORED;
}

public 
event_round_start()
{
    
set_hudmessage(02550, -1.00.921.04.5,0.1,0.1,-1)
    
ShowSyncHudMsg(0g_MsgSyncObj1"%L"LANG_PLAYER"BUYMENU_INFO1")
    
    
zp_cs_buymenu_ready false;
    
antidoteused 0
    madnessused 
0
    infbombused 
0
    
    
static Float:armor
    
for (new id=1;id<=g_maxplayers;id++)
    {
        if (!
is_user_connected(id)) continue;
        
        
menu_cancel(id);
        
        
pev(idpev_armorvaluearmor
        if (
armor 0.0
            if (
armor 36.0)
                
set_task(0.1"zp_cs_hevsuitstatusiconblink"id
            else
                
set_task(0.1"zp_cs_hevsuitstatusiconshow"id)
    }
    
    
zp_cs_buytime_passed=false;
    
set_task(0.1"build_menu");
    if (
task_exists(TASK_BUYTIME_END)) remove_task(TASK_BUYTIME_END);
    
set_task(60.0 get_pcvar_float(cvar_zp_cs_buytime),"rebuild_menu",TASK_BUYTIME_END);
}

public 
update_scoreboard(id)
{        
        
message_begin(MSG_BROADCASTg_msgScoreInfo)
        
write_byte(id)
        
write_short(pev(idpev_frags))
        
write_short(get_pdata_int(idOFFSET_DEATHSOFFSET_LINUX))
        
write_short(0)
        
write_short(get_pdata_int(idOFFSET_TEAMOFFSET_LINUX))
        
message_end()
}

public 
rebuild_menu()
{
    for (new 
id=1;id<=g_maxplayers;id++)
        if (!
is_user_connected(id))    
            continue;        
        else
            
menu_cancel(id);
        
    
zp_cs_buytime_passed=true;
    
build_menu;
    
set_hudmessage(02550, -1.00.921.04.5,0.1,0.1,-1)
    
ShowSyncHudMsg(0g_MsgSyncObj1"%L"LANG_PLAYER"BUYMENU_INFO2")
}


public 
build_menu()
{
    if (
zp_cs_buymenu_ready)
    {
    
menu_destroy(zp_cs_buymenu)
    
menu_destroy(zp_cs_buymenu_pistol)
    
menu_destroy(zp_cs_buymenu_shotgun)
    
menu_destroy(zp_cs_buymenu_smgun)
    
menu_destroy(zp_cs_buymenu_rifle)
    
menu_destroy(zp_cs_buymenu_biggun)
    
menu_destroy(zp_cs_buymenu_equiph)
    
menu_destroy(zp_cs_buymenu_equipz)
    }
        
    
//register menus
    
zp_cs_buymenu menu_create("Buy-Menu By DeclineD","zp_cs_buymenu_handle")    
    
zp_cs_buymenu_pistol menu_create("Pistol","zp_cs_subbuymenu_handle")    
    
zp_cs_buymenu_shotgun menu_create("Shotgun","zp_cs_subbuymenu_handle")    
    
zp_cs_buymenu_smgun menu_create("Sub-Machinegun","zp_cs_subbuymenu_handle")    
    
zp_cs_buymenu_rifle menu_create("Assault Rifle","zp_cs_subbuymenu_handle")
    
zp_cs_buymenu_sniper menu_create("Sniper Rifle""zp_cs_subbuymenu_handle")
    
zp_cs_buymenu_biggun menu_create("Machinegun","zp_cs_subbuymenu_handle")    
    
zp_cs_buymenu_equiph menu_create("Equipment","zp_cs_subbuymenu_handle")    
    
zp_cs_buymenu_equipz menu_create("Equipemnt","zp_cs_subbuymenu_handle")    
    
    new 
strtemp0[100];
    
formatex(strtemp0charsmax(strtemp0), "%L"LANG_PLAYER"BUYMENU_MENU1")
    
menu_additem(zp_cs_buymenustrtemp0"1");
    
formatex(strtemp0charsmax(strtemp0), "%L"LANG_PLAYER"BUYMENU_MENU2")
    
menu_additem(zp_cs_buymenustrtemp0"2");
    
formatex(strtemp0charsmax(strtemp0), "%L"LANG_PLAYER"BUYMENU_MENU3")
    
menu_additem(zp_cs_buymenustrtemp0"3");
    
formatex(strtemp0charsmax(strtemp0), "%L"LANG_PLAYER"BUYMENU_MENU4")
    
menu_additem(zp_cs_buymenustrtemp0"4");
    
formatex(strtemp0charsmax(strtemp0), "%L^n"LANG_PLAYER"BUYMENU_MENU5")
    
menu_additem(zp_cs_buymenustrtemp0"5");
    
formatex(strtemp0charsmax(strtemp0), "%L"LANG_PLAYER"BUYMENU_MENU6")
    
menu_additem(zp_cs_buymenustrtemp0"6");
    
formatex(strtemp0charsmax(strtemp0), "%L^n"LANG_PLAYER"BUYMENU_MENU7")
    
menu_additem(zp_cs_buymenustrtemp0"7");
    
formatex(strtemp0charsmax(strtemp0), "%L^n"LANG_PLAYER"BUYMENU_MENU8")
    
menu_additem(zp_cs_buymenustrtemp0"8");
    
formatex(strtemp0charsmax(strtemp0), "%L"LANG_PLAYER"BUYMENU_MENU9")
    
menu_additem(zp_cs_buymenustrtemp0"9");
    
formatex(strtemp0charsmax(strtemp0), "%L"LANG_PLAYER"BUYMENU_MENU0")
    
menu_additem(zp_cs_buymenustrtemp0"0");
    
menu_setprop(zp_cs_buymenuMPROP_PERPAGE0);
    
menu_setprop(zp_cs_buymenuMPROP_NUMBER_COLOR"\w");

    
    new 
strtemp[100]; 
    new 
strtemp2[100];
    new 
strtemp3[100];
    for(new 
i=0;i<99;i++)
    {
        
get_cvar_string(cvar_zp_cs_buymenu_pistol_name[i], strtemp 32)
        if (
strtemp[0] != '-')
        {
            
get_cvar_string(cvar_zp_cs_buymenu_pistol_todo[i], strtemp3 32)
            
            if (!
zp_cs_buytime_passed)
                
num_to_str(get_pcvar_num(cvar_zp_cs_buymenu_pistol_cost[i]), strtemp232
            else
                
num_to_str((get_pcvar_num(cvar_zp_cs_buymenu_pistol_cost[i])*get_pcvar_num(cvar_zp_cs_buytime_pistol_mult)), strtemp232
        
            
add(strtemp,sizeof strtemp"\R \y",4)
            
add(strtemp,sizeof strtempstrtemp2sizeof strtemp2)
            
menu_additem(zp_cs_buymenu_pistolstrtempstrtemp3)
        }
    }    
    
menu_setprop(zp_cs_buymenu_pistolMPROP_NUMBER_COLOR"\w");
    
formatex(strtemp0charsmax(strtemp0), "%L"LANG_PLAYER"BUYMENU_BACK")
    
menu_setprop(zp_cs_buymenu_pistolMPROP_BACKNAMEstrtemp0)
    
formatex(strtemp0charsmax(strtemp0), "%L"LANG_PLAYER"BUYMENU_NEXT")
    
menu_setprop(zp_cs_buymenu_pistolMPROP_NEXTNAMEstrtemp0)
    
formatex(strtemp0charsmax(strtemp0), "%L"LANG_PLAYER"BUYMENU_EXIT")
    
menu_setprop(zp_cs_buymenu_pistolMPROP_EXITNAMEstrtemp0)
    for(new 
i=0;i<99;i++)
    {
        
get_pcvar_string(cvar_zp_cs_buymenu_shotgun_name[i], strtemp 32)
        if (
strtemp[0] != '-')
        {
            
get_pcvar_string(cvar_zp_cs_buymenu_shotgun_todo[i], strtemp3 32)
            
            if (!
zp_cs_buytime_passed)
                
num_to_str(get_pcvar_num(cvar_zp_cs_buymenu_shotgun_cost[i]), strtemp232)
            else
                
num_to_str((get_pcvar_num(cvar_zp_cs_buymenu_shotgun_cost[i])*get_pcvar_num(cvar_zp_cs_buytime_shotgun_mult)), strtemp232)
            
            
add(strtemp,sizeof strtemp"\R \y",4)
            
add(strtemp,sizeof strtempstrtemp2sizeof strtemp2)
            
menu_additem(zp_cs_buymenu_shotgunstrtempstrtemp3)
        }
    }    
    
menu_setprop(zp_cs_buymenu_shotgunMPROP_NUMBER_COLOR"\w");
    
formatex(strtemp0charsmax(strtemp0), "%L"LANG_PLAYER"BUYMENU_BACK")
    
menu_setprop(zp_cs_buymenu_shotgunMPROP_BACKNAMEstrtemp0)
    
formatex(strtemp0charsmax(strtemp0), "%L"LANG_PLAYER"BUYMENU_NEXT")
    
menu_setprop(zp_cs_buymenu_shotgunMPROP_NEXTNAMEstrtemp0)
    
formatex(strtemp0charsmax(strtemp0), "%L"LANG_PLAYER"BUYMENU_EXIT")
    
menu_setprop(zp_cs_buymenu_shotgunMPROP_EXITNAMEstrtemp0)
    for(new 
i=0;i<99;i++)
    {
        
get_pcvar_string(cvar_zp_cs_buymenu_smgun_name[i], strtemp 32)
        if (
strtemp[0] != '-')
        {
            
get_pcvar_string(cvar_zp_cs_buymenu_smgun_todo[i], strtemp3 32)
            
            if (!
zp_cs_buytime_passed)
                
num_to_str(get_pcvar_num(cvar_zp_cs_buymenu_smgun_cost[i]), strtemp232)
            else
                
num_to_str((get_pcvar_num(cvar_zp_cs_buymenu_smgun_cost[i])*get_pcvar_num(cvar_zp_cs_buytime_smgun_mult)), strtemp232)
            
            
add(strtemp,sizeof strtemp"\R \y",4)
            
add(strtemp,sizeof strtempstrtemp2sizeof strtemp2)
            
menu_additem(zp_cs_buymenu_smgunstrtempstrtemp3)
        }
    }    
    
menu_setprop(zp_cs_buymenu_smgunMPROP_NUMBER_COLOR"\w");
    
formatex(strtemp0charsmax(strtemp0), "%L"LANG_PLAYER"BUYMENU_BACK")
    
menu_setprop(zp_cs_buymenu_smgunMPROP_BACKNAMEstrtemp0)
    
formatex(strtemp0charsmax(strtemp0), "%L"LANG_PLAYER"BUYMENU_NEXT")
    
menu_setprop(zp_cs_buymenu_smgunMPROP_NEXTNAMEstrtemp0)
    
formatex(strtemp0charsmax(strtemp0), "%L"LANG_PLAYER"BUYMENU_EXIT")
    
menu_setprop(zp_cs_buymenu_smgunMPROP_EXITNAMEstrtemp0)
    for(new 
i=0;i<99;i++)
    {
        
get_pcvar_string(cvar_zp_cs_buymenu_rifle_name[i], strtemp 32)
        if (
strtemp[0] != '-')
        {
            
get_pcvar_string(cvar_zp_cs_buymenu_rifle_todo[i], strtemp3 32)
            
            if (!
zp_cs_buytime_passed)
                
num_to_str(get_pcvar_num(cvar_zp_cs_buymenu_rifle_cost[i]), strtemp232)
            else
                
num_to_str((get_pcvar_num(cvar_zp_cs_buymenu_rifle_cost[i])*get_pcvar_num(cvar_zp_cs_buytime_rifle_mult)), strtemp232)
            
            
add(strtemp,sizeof strtemp"\R \y",4)
            
add(strtemp,sizeof strtempstrtemp2sizeof strtemp2)
            
menu_additem(zp_cs_buymenu_riflestrtempstrtemp3)
        }
    }    
    
menu_setprop(zp_cs_buymenu_rifleMPROP_NUMBER_COLOR"\w");
    
formatex(strtemp0charsmax(strtemp0), "%L"LANG_PLAYER"BUYMENU_BACK")
    
menu_setprop(zp_cs_buymenu_rifleMPROP_BACKNAMEstrtemp0)
    
formatex(strtemp0charsmax(strtemp0), "%L"LANG_PLAYER"BUYMENU_NEXT")
    
menu_setprop(zp_cs_buymenu_rifleMPROP_NEXTNAMEstrtemp0)
    
formatex(strtemp0charsmax(strtemp0), "%L"LANG_PLAYER"BUYMENU_EXIT")
    
menu_setprop(zp_cs_buymenu_rifleMPROP_EXITNAMEstrtemp0)
    for(new 
i=0;i<99;i++)
    {
        
get_pcvar_string(cvar_zp_cs_buymenu_sniper_name[i], strtemp 32)
        if (
strtemp[0] != '-')
        {
            
get_pcvar_string(cvar_zp_cs_buymenu_sniper_todo[i], strtemp3 32)
            
            if (!
zp_cs_buytime_passed)
                
num_to_str(get_pcvar_num(cvar_zp_cs_buymenu_sniper_cost[i]), strtemp232)
            else
                
num_to_str((get_pcvar_num(cvar_zp_cs_buymenu_sniper_cost[i])*get_pcvar_num(cvar_zp_cs_buytime_sniper_mult)), strtemp232)
            
            
add(strtemp,sizeof strtemp"\R \y",4)
            
add(strtemp,sizeof strtempstrtemp2sizeof strtemp2)
            
menu_additem(zp_cs_buymenu_sniperstrtempstrtemp3)
        }
    }    
    
menu_setprop(zp_cs_buymenu_sniperMPROP_NUMBER_COLOR"\w");
    
formatex(strtemp0charsmax(strtemp0), "%L"LANG_PLAYER"BUYMENU_BACK")
    
menu_setprop(zp_cs_buymenu_sniperMPROP_BACKNAMEstrtemp0)
    
formatex(strtemp0charsmax(strtemp0), "%L"LANG_PLAYER"BUYMENU_NEXT")
    
menu_setprop(zp_cs_buymenu_sniperMPROP_NEXTNAMEstrtemp0)
    
formatex(strtemp0charsmax(strtemp0), "%L"LANG_PLAYER"BUYMENU_EXIT")
    
menu_setprop(zp_cs_buymenu_sniperMPROP_EXITNAMEstrtemp0)
    for(new 
i=0;i<99;i++)
    {
        
get_pcvar_string(cvar_zp_cs_buymenu_biggun_name[i], strtemp 32)
        if (
strtemp[0] != '-')
        {
            
get_pcvar_string(cvar_zp_cs_buymenu_biggun_todo[i], strtemp3 32)
            
            if (!
zp_cs_buytime_passed)
                
num_to_str(get_pcvar_num(cvar_zp_cs_buymenu_biggun_cost[i]), strtemp232)
            else
                
num_to_str((get_pcvar_num(cvar_zp_cs_buymenu_biggun_cost[i])*get_pcvar_num(cvar_zp_cs_buytime_biggun_mult)), strtemp232)
            
            
add(strtemp,sizeof strtemp"\R \y",4)
            
add(strtemp,sizeof strtempstrtemp2sizeof strtemp2)
            
menu_additem(zp_cs_buymenu_biggunstrtempstrtemp3)
        }
    }    
    
menu_setprop(zp_cs_buymenu_biggunMPROP_NUMBER_COLOR"\w");
    
formatex(strtemp0charsmax(strtemp0), "%L"LANG_PLAYER"BUYMENU_BACK")
    
menu_setprop(zp_cs_buymenu_biggunMPROP_BACKNAMEstrtemp0)
    
formatex(strtemp0charsmax(strtemp0), "%L"LANG_PLAYER"BUYMENU_NEXT")
    
menu_setprop(zp_cs_buymenu_biggunMPROP_NEXTNAMEstrtemp0)
    
formatex(strtemp0charsmax(strtemp0), "%L"LANG_PLAYER"BUYMENU_EXIT")
    
menu_setprop(zp_cs_buymenu_biggunMPROP_EXITNAMEstrtemp0)
    for(new 
i=0;i<99;i++)
    {
        
get_pcvar_string(cvar_zp_cs_buymenu_equiph_name[i], strtemp 32)
        if (
strtemp[0] != '-')
        {
            
get_pcvar_string(cvar_zp_cs_buymenu_equiph_todo[i], strtemp3 32)
            
num_to_str(get_pcvar_num(cvar_zp_cs_buymenu_equiph_cost[i]), strtemp232)
                        
            if (((
strfind(strtemp3"zp_cs_buy_flashbang") == 0)||(strfind(strtemp3"zp_cs_buy_hegrenade") == 0)||(strfind(strtemp3"zp_cs_buy_smokegrenade") == 0))&&(zp_cs_buytime_passed))
                
num_to_str((get_pcvar_num(cvar_zp_cs_buymenu_equiph_cost[i])*get_pcvar_num(cvar_zp_cs_buytime_gren_mult)), strtemp232)
            
            
add(strtemp,sizeof strtemp"\R \y",4)
            
add(strtemp,sizeof strtempstrtemp2sizeof strtemp2)
            
menu_additem(zp_cs_buymenu_equiphstrtempstrtemp3)
        }
    }    
    
menu_setprop(zp_cs_buymenu_equiphMPROP_NUMBER_COLOR"\w");
    
formatex(strtemp0charsmax(strtemp0), "%L"LANG_PLAYER"BUYMENU_BACK")
    
menu_setprop(zp_cs_buymenu_equiphMPROP_BACKNAMEstrtemp0)
    
formatex(strtemp0charsmax(strtemp0), "%L"LANG_PLAYER"BUYMENU_NEXT")
    
menu_setprop(zp_cs_buymenu_equiphMPROP_NEXTNAMEstrtemp0)
    
formatex(strtemp0charsmax(strtemp0), "%L"LANG_PLAYER"BUYMENU_EXIT")
    
menu_setprop(zp_cs_buymenu_equiphMPROP_EXITNAMEstrtemp0)
    for(new 
i=0;i<99;i++)
    {
        
get_pcvar_string(cvar_zp_cs_buymenu_equipz_name[i], strtemp 32)
        if (
strtemp[0] != '-')
        {
            
get_pcvar_string(cvar_zp_cs_buymenu_equipz_todo[i], strtemp3 32)
            
num_to_str(get_pcvar_num(cvar_zp_cs_buymenu_equipz_cost[i]), strtemp232)
            
add(strtemp,sizeof strtemp"\R \y",4)
            
add(strtemp,sizeof strtempstrtemp2sizeof strtemp2)
            
menu_additem(zp_cs_buymenu_equipzstrtempstrtemp3)
        }
    }    
    
menu_setprop(zp_cs_buymenu_equipzMPROP_NUMBER_COLOR"\w");
    
formatex(strtemp0charsmax(strtemp0), "%L"LANG_PLAYER"BUYMENU_BACK")
    
menu_setprop(zp_cs_buymenu_equipzMPROP_BACKNAMEstrtemp0)
    
formatex(strtemp0charsmax(strtemp0), "%L"LANG_PLAYER"BUYMENU_NEXT")
    
menu_setprop(zp_cs_buymenu_equipzMPROP_NEXTNAMEstrtemp0)
    
formatex(strtemp0charsmax(strtemp0), "%L"LANG_PLAYER"BUYMENU_EXIT")
    
menu_setprop(zp_cs_buymenu_equipzMPROP_EXITNAMEstrtemp0)
        
    
zp_cs_buymenu_ready=true;
}

stock fm_give_item(id, const item[]) 
{    
    static 
ent
    ent 
engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocStringitem))
    if (!
pev_valid(ent))
        return;
    
    static 
Float:originF[3]
    
pev(idpev_originoriginF)
    
set_pev(entpev_originoriginF)
    
set_pev(entpev_spawnflagspev(entpev_spawnflags) | SF_NORESPAWN)
    
dllfunc(DLLFunc_Spawnent)
    
    static 
save
    save 
pev(entpev_solid)
    
dllfunc(DLLFunc_Touchentid)
    if (
pev(entpev_solid) != save)
        return;
    
    
engfunc(EngFunc_RemoveEntityent)
}

stock drop_weapons(iddropwhat)
{
    static 
weapons[32], numiweaponid
    num 
0
    get_user_weapons
(idweaponsnum)

    for (
0numi++)
    {
        
weaponid weapons[i]
        
        if ((
dropwhat == && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM)) || (dropwhat == && ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM)))
        {
            static 
wname[32], weapon_ent
            get_weaponname
(weaponidwnamesizeof wname 1)
            
weapon_ent fm_find_ent_by_owner(-1wnameid);
            
            
set_pev(weapon_entPEV_ADDITIONAL_AMMOfm_get_user_bpammo(idweaponid))
            
            
engclient_cmd(id"drop"wname)
            
fm_set_user_bpammo(idweaponid0)
        }
    }
}

stock fm_find_ent_by_owner(entity, const classname[], owner
{
    while ((
entity engfunc(EngFunc_FindEntityByStringentity"classname"classname)) && pev(entitypev_owner) != owner) {}
    
    return 
entity;
}

stock fm_get_user_bpammo(idweapon)
{
    return 
get_pdata_int(idAMMOOFFSET[weapon], OFFSET_LINUX);
}

stock fm_set_user_bpammo(idweaponamount)
{
    
set_pdata_int(idAMMOOFFSET[weapon], amountOFFSET_LINUX)
}
 
public 
clcmd_zp_cs_buymenu(id)
{
    if (!
is_user_alive(id)) 
        return 
PLUGIN_HANDLED;
        
    if ((
zp_get_user_nemesis(id))&&(!get_pcvar_num(cvar_zp_cs_nemesis_canbuy)))
    {
        
client_print(id,print_center,"%L"LANG_PLAYER"BUYMENU_CANTBUY_NEMESIS")
        return 
PLUGIN_HANDLED;
    }
    if ((
zp_get_user_survivor(id))&&(!get_pcvar_num(cvar_zp_cs_survivor_canbuy)))
    {
        
client_print(id,print_center,"%L"LANG_PLAYER"BUYMENU_CANTBUY_SURVIVOR")
        return 
PLUGIN_HANDLED;
    }
    if (
zp_cs_buymenu_ready
        
menu_display(idzp_cs_buymenu)
    
    return 
PLUGIN_HANDLED;
}

public  
zp_cs_buymenu_handle(idmenuitem)
{
    new 
cmd[32];
    new 
accesscallback;
    
menu_item_getinfo(menuitemaccesscmd,2,_,_callback);
    
zp_cs_submenuid[id] = str_to_num(cmd);
    
    if (
zp_cs_submenuid[id] == 0
        return 
PLUGIN_HANDLED;
    
    if ((
zp_get_user_zombie(id))&&(zp_cs_submenuid[id] != 8))
    {
        
client_print(id,print_center,"%L"LANG_PLAYER"BUYMENU_ONLY_HUMAH");
        return 
PLUGIN_HANDLED;
    }
    
    if (
zp_cs_submenuid[id] == 1
        
menu_display(idzp_cs_buymenu_pistol0); 
    if (
zp_cs_submenuid[id] == 2
        
menu_display(idzp_cs_buymenu_shotgun0); 
    if (
zp_cs_submenuid[id] == 3
        
menu_display(idzp_cs_buymenu_smgun0); 
    if (
zp_cs_submenuid[id] == 4
        
menu_display(idzp_cs_buymenu_rifle0);
    if (
zp_cs_submenuid[id] == 5)
        
menu_display(idzp_cs_buymenu_sniper,0);
    if (
zp_cs_submenuid[id] == 6
        
menu_display(idzp_cs_buymenu_biggun0); 
    if (
zp_cs_submenuid[id] == 8)
        if (
zp_get_user_zombie(id))
        {
            
zp_cs_submenuid[id] = 82 
            menu_display
(idzp_cs_buymenu_equipz0); 
        }
        else
        {
            
zp_cs_submenuid[id] = 81 
            menu_display
(idzp_cs_buymenu_equiph0);
        }
    if (
zp_cs_submenuid[id] == 9)
    {
        
client_cmd(id"knife_menu")
    }

    if (
zp_cs_submenuid[id] == 7
    {
        static 
weapons[32], numicurrentammoweaponid
        num 
0
        get_user_weapons
(idweaponsnum)
        
        for (
0numi++)
        {
            
weaponid weapons[i]
            if ((((
weaponid != 17)&&(weaponid != 16)&&(weaponid != 1)&&(weaponid != 26)&&(weaponid != 0)&&(weaponid != 11)&&(weaponid != 10)&&(zp_cs_submenuid[id] == 6))||(((weaponid == 17)||(weaponid == 16)||(weaponid == 1)||(weaponid == 26)||(weaponid == 0)||(weaponid == 11)||(weaponid == 10))&&(zp_cs_submenuid[id] == 7)))&&(MAXBPAMMO[weaponid] > 2))
            {    
                
currentammo fm_get_user_bpammo(idweaponid)
                
                while((
currentammo MAXBPAMMO[weaponid]))
                {
                    
currentammo += BUYAMMO[weaponid
                    
ExecuteHamB(Ham_GiveAmmoidBUYAMMO[weaponid], AMMOTYPE[weaponid], MAXBPAMMO[weaponid])
                }
            }
        }    
    }    
    return 
PLUGIN_HANDLED;
}


public  
zp_cs_subbuymenu_handle(idmenuitem)
{
    new 
cmd[32]; 
    
cmd [0] = '-';
    new 
accesscallback;
 
    
menu_item_getinfo(menuitemaccesscmdcharsmax(cmd),_,_callback); 
    
    if (
cmd[0]=='-') return PLUGIN_HANDLED;
 
    new 
strtemp[100]; 
    new 
itemcost;
    
    if (
strfind(cmd"do_nothing") != 0
    for (new 
i=0;i<99;i++) 
    {    
        if (
zp_cs_submenuid[id] == 1)
            
get_pcvar_string(cvar_zp_cs_buymenu_pistol_todo[i], strtemp 32)
         if (
zp_cs_submenuid[id] == 2)
            
get_pcvar_string(cvar_zp_cs_buymenu_shotgun_todo[i], strtemp 32)
         if (
zp_cs_submenuid[id] == 3)
            
get_pcvar_string(cvar_zp_cs_buymenu_smgun_todo[i], strtemp 32)
         if (
zp_cs_submenuid[id] == 4)
            
get_pcvar_string(cvar_zp_cs_buymenu_rifle_todo[i], strtemp 32)
        if (
zp_cs_submenuid[id] == 5)
            
get_pcvar_string(cvar_zp_cs_buymenu_sniper_todo[i], strtemp 32)
         if (
zp_cs_submenuid[id] == 6)
            
get_pcvar_string(cvar_zp_cs_buymenu_biggun_todo[i], strtemp 32)
         if (
zp_cs_submenuid[id] == 81)
            
get_pcvar_string(cvar_zp_cs_buymenu_equiph_todo[i], strtemp 32)
         if (
zp_cs_submenuid[id] == 82)
            
get_pcvar_string(cvar_zp_cs_buymenu_equipz_todo[i], strtemp 32)
            
        if (
strfind(cmdstrtemp) == 0)
        {                    
            if (
zp_cs_submenuid[id] == 1)
                
itemcost get_pcvar_num(cvar_zp_cs_buymenu_pistol_cost[i])
            if (
zp_cs_submenuid[id] == 2)
                
itemcost get_pcvar_num(cvar_zp_cs_buymenu_shotgun_cost[i])
            if (
zp_cs_submenuid[id] == 3)
                
itemcost get_pcvar_num(cvar_zp_cs_buymenu_smgun_cost[i])
            if (
zp_cs_submenuid[id] == 4)
                
itemcost get_pcvar_num(cvar_zp_cs_buymenu_rifle_cost[i])
            if (
zp_cs_submenuid[id] == 5)
                
itemcost get_pcvar_num(cvar_zp_cs_buymenu_sniper_cost[i])
            if (
zp_cs_submenuid[id] == 6)
                
itemcost get_pcvar_num(cvar_zp_cs_buymenu_biggun_cost[i])
            if (
zp_cs_submenuid[id] == 81)
                
itemcost get_pcvar_num(cvar_zp_cs_buymenu_equiph_cost[i])
            if (
zp_cs_submenuid[id] == 82)
                
itemcost get_pcvar_num(cvar_zp_cs_buymenu_equipz_cost[i])
                
            if (
zp_cs_buytime_passed
            {
                if (
zp_cs_submenuid[id] == 1)
                    
itemcost itemcost get_pcvar_num(cvar_zp_cs_buytime_pistol_mult)
                if (
zp_cs_submenuid[id] == 2)
                    
itemcost itemcost get_pcvar_num(cvar_zp_cs_buytime_shotgun_mult)
                if (
zp_cs_submenuid[id] == 3)
                    
itemcost itemcost get_pcvar_num(cvar_zp_cs_buytime_smgun_mult)
                if (
zp_cs_submenuid[id] == 4)
                    
itemcost itemcost get_pcvar_num(cvar_zp_cs_buytime_rifle_mult)
                if (
zp_cs_submenuid[id] == 5)
                    
itemcost itemcost get_pcvar_num(cvar_zp_cs_buytime_sniper_mult)
                if (
zp_cs_submenuid[id] == 6)
                    
itemcost itemcost get_pcvar_num(cvar_zp_cs_buytime_biggun_mult)
                if (((
strfind(cmd"zp_cs_buy_flashbang") == 0)||(strfind(cmd"zp_cs_buy_hegrenade") == 0)||(strfind(cmd"zp_cs_buy_smokegrenade") == 0))&&(zp_cs_submenuid[id] == 81))
                    
itemcost itemcost get_pcvar_num(cvar_zp_cs_buytime_gren_mult)
            }
                    
                
            if (
GetUserMoney(id) < itemcost//check if player has enough money
            
{
                return 
PLUGIN_HANDLED;                
            }
            else break; 
        }
    }
            
    if (
strfind(cmd"zp_cs_buy") == 0
    {
        if ((
user_has_weapon(idCSW_HEGRENADE))&&(strfind(cmd"zp_cs_buy_hegrenade") == 0))
            if (
fm_get_user_bpammo(idCSW_HEGRENADE)>=MAXBPAMMO[CSW_HEGRENADE]) 
            {
                if ((
zp_get_user_zombie(id))||(zp_get_user_nemesis(id))) client_print(id,print_center,"%L"LANG_PLAYER"BUYMENU_NOMORE_INFECTGREN")
                    else 
client_print(id,print_center,"%L"LANG_PLAYER"BUYMENU_ALREADYHAVE_NAPALM")
                
                return 
PLUGIN_HANDLED;
            }
            else if (
zp_get_user_zombie(id))
                if (
infbombused>=get_pcvar_num(cvar_infbomblimit))
                {
                    
client_print(id,print_center,"%L"LANG_PLAYER"BUYMENU_RANOUTOF_INFECTGREN")
                    return 
PLUGIN_HANDLED;
                }
                else 
infbombused++;
            
        if ((
user_has_weapon(idCSW_FLASHBANG))&&(strfind(cmd"zp_cs_buy_flashbang") == 0))
            if (
fm_get_user_bpammo(idCSW_FLASHBANG)>=MAXBPAMMO[CSW_FLASHBANG]) 
            {
                
client_print(id,print_center,"%L"LANG_PLAYER"BUYMENU_ALREADYHAVE_FREEZE")
            
                return 
PLUGIN_HANDLED;
            }
        if ((
user_has_weapon(idCSW_SMOKEGRENADE))&&(strfind(cmd"zp_cs_buy_smokegrenade") == 0))
            if (
fm_get_user_bpammo(idCSW_SMOKEGRENADE)>=MAXBPAMMO[CSW_SMOKEGRENADE]) 
            {
                
client_print(id,print_center,"%L"LANG_PLAYER"BUYMENU_ALREADYHAVE_FLARES")
                
                return 
PLUGIN_HANDLED;
            }
        
replace(cmd,charsmax(cmd),"zp_cs_buy_","weapon_")
        if ((
strfind(cmd"flashbang") == -1)&&(strfind(cmd"hegrenade") == -1)&&(strfind(cmd"smokegrenade") == -1)) 
            if  ((
strfind(cmd"glock18") > -1)||(strfind(cmd"usp") > -1)||(strfind(cmd"p228") > -1)||(strfind(cmd"deagle") > -1)||(strfind(cmd"elite") > -1)||(strfind(cmd"fiveseven") > -1)) 
                
drop_weapons(id2);
            else
                
drop_weapons(id1);
            
        
fm_give_item(idcmd);
        
replace(cmd,charsmax(cmd),"weapon_","zp_cs_buy_")
    }
    
    
    if (
strfind(cmd"zp_cs_HEVsuit") == 0)
    {    static 
Float:armor
        pev
(idpev_armorvaluearmor)
        if (
armor >= 100.0
        {
            
client_print(idprint_center"%L"LANG_PLAYER"BUYMENU_ALREADYHAVE_ARMOR")
            return 
PLUGIN_HANDLED;
        }
        
set_pev(idpev_armorvalue100.0)
        
set_task(0.1"zp_cs_hevsuitstatusiconblink"id)
        
set_task(1.0"zp_cs_hevsuitstatusiconshow"id)
        
engfunc(EngFunc_EmitSoundidCHAN_ITEMsound_buysuit1.0ATTN_NORM0PITCH_NORM)
    }

    if (
strfind(cmd"zp_cs_moarHEVsuit") == 0)
    {    
        static 
Float:armor
        pev
(idpev_armorvaluearmor
        
armor+=100.0
        
set_pev(idpev_armorvaluearmor
        
set_task(0.1"zp_cs_hevsuitstatusiconblink"id
        
set_task(1.0"zp_cs_hevsuitstatusiconshow"id
        
engfunc(EngFunc_EmitSoundidCHAN_ITEMsound_buysuit1.0ATTN_NORM0PITCH_NORM)
    }
    
    if (
strfind(cmd"zp_cs_nightvision") == 0
        if (!
zp_get_user_nightvision(id))
            
zp_force_buy_extra_item(id,0,1);
        else
        {
            
client_print(id,print_center,"%L"LANG_PLAYER"BUYMENU_ALREADYHAVE_NIGHTVISION");
            return  
PLUGIN_HANDLED;
        }
        
    if (
strfind(cmd"zp_cs_antidote") == 0
        if (
antidoteused<get_pcvar_num(cvar_antidotelimit))
            if (!
zp_disinfect_user(id)) 
            {
                
client_print(id,print_center,"%L"LANG_PLAYER"BUYMENU_CANTBUY_ANTIDOTE");
                return  
PLUGIN_HANDLED;
            }
            else 
antidoteused++;
        else
        {
            
client_print(id,print_center,"%L"LANG_PLAYER"BUYMENU_RANOUTOF_ANTIDOTE");
            return  
PLUGIN_HANDLED;
        }
        
        
    if (
strfind(cmd"zp_cs_zombie_madness") == 0
        if (
madnessused<get_pcvar_num(cvar_madnesslimit))
            
zp_force_buy_extra_item(id,2,1);
        else
        {
            
client_print(id,print_center,"%L"LANG_PLAYER"BUYMENU_RANOUTOF_MADNESS");
            return  
PLUGIN_HANDLED;
        }
    
    if (
strfind(cmd"zp_cs_") != 0
    {
        new 
temp_itemid=zp_get_extra_item_id(cmd);
        if (
temp_itemid>-1)
            (
zp_force_buy_extra_item(id,temp_itemid,1))
        else
        {
            
client_print(idprint_chat"[zp_cs_buymenu]: ERROR! ITEM %s NOT FOUND!",cmd)
        }
    }
        
    if (
strfind(cmd"do_nothing") == 0client_print(idprint_chat"[zp_cs_buymenu]: This item does nothing."
    
    
SetUserMoney(idGetUserMoney(id) - itemcost)
        
    return 
PLUGIN_HANDLED;
}

public 
ham_TakeDamage(victiminflictorattackerFloat:damagedamage_type)
{
    if ((
attacker<1)||(attacker>g_maxplayers)||(victim == attacker)||(!is_user_connected(attacker)))
        return 
HAM_IGNORED;
    
    if (
zp_get_user_zombie(attacker)||zp_get_user_nemesis(attacker))
    {
        static 
Float:armor
        pev
(victimpev_armorvaluearmor)
        if (
armor 36.0set_task(0.1"zp_cs_hevsuitstatusiconblink"victim);
        if (
armor 1.0set_task(0.1"zp_cs_hevsuitstatusiconhide"victim);

        return 
HAM_IGNORED;
        
    }
    
    return 
HAM_IGNORED;
}

public 
ham_PlayerKilled(victimattackershouldgib)
{
    if ((
attacker<1)||(attacker>g_maxplayers)||(attacker==victim)) return HAM_IGNORED;
    
    if (
zp_get_user_zombie(attacker)&&!zp_get_user_nemesis(attacker))
    {
        
menu_cancel(victim);
        
set_task(0.1"zp_cs_hevsuitstatusiconhide"victim);
    }
    else if (
zp_get_user_nemesis(attacker))
    {
        
menu_cancel(victim);
        
set_task(0.1"zp_cs_hevsuitstatusiconhide"victim);
    }    

    if (
zp_get_user_zombie(attacker)&&!zp_get_user_nemesis(attacker))
    {
        if (
get_pcvar_num(cvar_zp_cs_zombie_nodeathscore)) set_pdata_int(victimOFFSET_DEATHSget_pdata_int(victimOFFSET_DEATHSOFFSET_LINUX)-1OFFSET_LINUX)
    }
    
    return 
PLUGIN_HANDLED;
}

public 
zp_user_humanized_pre(id,survivor)
{
    if (
survivor)
        
menu_cancel(id);
        
    return 
PLUGIN_CONTINUE;
}

public 
zp_cs_kill_assist(arg[])
{
    static 
weapon_name[32]
    
get_weaponname(arg[3], weapon_namecharsmax(weapon_name))
    
replace(weapon_namecharsmax(weapon_name), "weapon_""")
    
    
message_begin(MSG_ALLg_msgDeathMsg)
    
write_byte(arg[0])
    
write_byte(arg[1])
    
write_byte(arg[2])
    
write_string(weapon_name)
    
message_end()
    
    new 
temp1 get_pcvar_num(cvar_amx_mode)
    
set_pcvar_num(cvar_amx_mode,0)
    
set_msg_block(g_msgSayTextBLOCK_ONCE)
    
set_user_info(arg[0],"name",PlayerOldName[arg[0]])
    
set_pcvar_num(cvar_amx_mode,temp1)
}

public 
zp_user_infected_pre(id,infector,nemesis)
{
    if (
zp_get_user_nemesis(id)||(infector!=0)) 
        return 
PLUGIN_CONTINUE;
    
    static 
strtemp1[100],strtemp2[100], weapons[32], numi
    num 
0
    get_user_weapons
(idweaponsnum)
        
    for (
0numi++)
    {
        
strtemp1 ""
        
get_weaponname(weapons[i],strtemp1,charsmax(strtemp1));
        
replace(strtemp1,charsmax(strtemp1),"weapon_","zp_cs_buy_")
        for(new 
i=0;i<99;i++)
        {
            
strtemp2 ""
            
get_pcvar_string(cvar_zp_cs_buymenu_pistol_todo[i], strtemp2 charsmax(strtemp2))
            if (
equal(strtemp1,strtemp2)) SetUserMoney(idGetUserMoney(id) + get_pcvar_num(cvar_zp_cs_buymenu_pistol_cost[i]))
        }
        for(new 
i=0;i<99;i++)
        {
            
strtemp2 ""
            
get_pcvar_string(cvar_zp_cs_buymenu_shotgun_todo[i], strtemp2 charsmax(strtemp2))
            if (
equal(strtemp1,strtemp2)) SetUserMoney(idGetUserMoney(id) + get_pcvar_num(cvar_zp_cs_buymenu_shotgun_cost[i]))
        }
        for(new 
i=0;i<99;i++)
        {
            
strtemp2 ""
            
get_pcvar_string(cvar_zp_cs_buymenu_smgun_todo[i], strtemp2 charsmax(strtemp2))
            if (
equal(strtemp1,strtemp2)) SetUserMoney(idGetUserMoney(id) + get_pcvar_num(cvar_zp_cs_buymenu_smgun_cost[i]))
        }
        for(new 
i=0;i<99;i++)
        {
            
strtemp2 ""
            
get_pcvar_string(cvar_zp_cs_buymenu_rifle_todo[i], strtemp2 charsmax(strtemp2))
            if (
equal(strtemp1,strtemp2)) SetUserMoney(idGetUserMoney(id) + get_pcvar_num(cvar_zp_cs_buymenu_rifle_cost[i]))
        }
        for(new 
i=0;i<99;i++)
        {
            
strtemp2 ""
            
get_pcvar_string(cvar_zp_cs_buymenu_sniper_todo[i], strtemp2 charsmax(strtemp2))
            if (
equal(strtemp1,strtemp2)) SetUserMoney(idGetUserMoney(id) + get_pcvar_num(cvar_zp_cs_buymenu_sniper_cost[i]))
        }
        for(new 
i=0;i<99;i++)
        {
            
strtemp2 ""
            
get_pcvar_string(cvar_zp_cs_buymenu_biggun_todo[i], strtemp2 charsmax(strtemp2))
            if (
equal(strtemp1,strtemp2)) SetUserMoney(idGetUserMoney(id) + get_pcvar_num(cvar_zp_cs_buymenu_biggun_cost[i]))
        }
    }
        
    
client_print(id,print_chat,"%L"LANG_PLAYER"BUYMENU_MONEYBACK")
    
    return 
PLUGIN_CONTINUE;
}

public 
zp_user_infected_post(idinfector)
{    
    if ((
id<1)||(id>g_maxplayers))
        return 
PLUGIN_CONTINUE;
        
    
menu_cancel(id)
    
set_task(0.1"zp_cs_hevsuitstatusiconhide"id)
    
    return 
PLUGIN_CONTINUE;
}

public 
fm_strip_user_weapons(id)
{
    static 
ent
    ent 
engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"player_weaponstrip"))
    if (!
pev_valid(ent)) return;
    
    
dllfunc(DLLFunc_Spawnent)
    
dllfunc(DLLFunc_Useentid)
    
engfunc(EngFunc_RemoveEntityent)
}

public 
zp_cs_hevsuitstatusiconshow(id)
{    
    
message_begin(MSG_ONE,g_msgIconStatus,{0,0,0},id
    
write_byte(1)  
    
write_string("item_battery"
    
write_byte(150)
    
write_byte(150)
    
write_byte(100
    
message_end();

}

public 
zp_cs_hevsuitstatusiconhide(id)
{
    
message_begin(MSG_ONE,g_msgIconStatus,{0,0,0},id
    
write_byte(0)  
    
write_string("item_battery"
    
write_byte(150)
    
write_byte(150)
    
write_byte(100
    
message_end();
}

public 
zp_cs_hevsuitstatusiconblink(id)
{
    
message_begin(MSG_ONE,g_msgIconStatus,{0,0,0},id
    
write_byte(2)  
    
write_string("item_battery"
    
write_byte(150)
    
write_byte(150)
    
write_byte(100
    
message_end();

AnimalMonster is offline
Black Rose
Veteran Member
Join Date: Feb 2011
Location: Stockholm, Sweden
Old 09-24-2020 , 11:49   Re: What's Wrong with my code??
Reply With Quote #2

If only there were some type of console or error log to find out that your plugin prints an error message during plugin_init() regarding you not having a function called "ham_PlayerSpawn_Post".
Oh well... Throw a dart I guess.
__________________
Black Rose is offline
AnimalMonster
Senior Member
Join Date: May 2020
Old 09-24-2020 , 13:06   Re: What's Wrong with my code??
Reply With Quote #3

Quote:
Originally Posted by Black Rose View Post
If only there were some type of console or error log to find out that your plugin prints an error message during plugin_init() regarding you not having a function called "ham_PlayerSpawn_Post".
Oh well... Throw a dart I guess.
i get only runtime errors but none about displaying the menu + when i type the command it doesn t work and says that it's unknown
AnimalMonster is offline
AnimalMonster
Senior Member
Join Date: May 2020
Old 09-24-2020 , 13:38   Re: What's Wrong with my code??
Reply With Quote #4

I deleted some piece of code and some thing then removed that what you told me about Black Rose then compiled and tried with bots, i go try on my server that is both cs versions
AnimalMonster is offline
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 01:38.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode