Raised This Month: $ Target: $400
 0% 

Having Problem Withh AMXX-Studio


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
FloorenTIbraimi
Member
Join Date: Jul 2014
Location: Macedonia
Old 11-29-2014 , 17:47   Having Problem Withh AMXX-Studio
Reply With Quote #1

PHP Code:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <zombieplague>


#define PLUGIN "CS-like Buymenu for ZP"
#define VERSION "1.7"
#define AUTHOR "Sonic Son'edit"

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 
AMMOCOST[] = { 1,     30,         -1,     -1,         -1,         65,         -1,         25,             60,         -1,         50,         20,             25,         85,             60,
         
60,         25,         20,            125,         20,         95,         65,         60,         20,             80,         -1,             40,         60,             80,     -1,     50 }
        
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

new Lang_Roundend_msg[3][] = {"ROUNDEND_SURVIVED","ROUNDEND_WIN_ZOMBIE","ROUNDEND_WIN_HUMAN"};

const 
TASK_BUYTIME_END 100;
const 
TASK_RESTORE_MONEY 200;
const 
TASK_KILL_ASSIST 300;

new 
cvar_zp_cs_h_income_cash_rate;
new 
cvar_zp_cs_z_income_cash_rate;
new 
cvar_zp_cs_n_income_cash_rate
new cvar_zp_cs_s_income_cash_rate
new cvar_zp_cs_buytime;
new 
cvar_zp_cs_startmoney;
new 
cvar_zp_cs_restartround;
new 
cvar_zp_cs_moneymax;
new 
cvar_zp_cs_money_killbonus
new cvar_zp_cs_infectmoneybonus
new cvar_zp_cs_deathmoneybonus
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_money_human_win
new cvar_zp_cs_money_human_lose
new cvar_zp_cs_money_human_draw
new cvar_zp_cs_money_zombie_win
new cvar_zp_cs_money_zombie_lose
new cvar_zp_cs_money_zombie_draw
new cvar_zp_cs_drawround_frag_h
new cvar_zp_cs_drawround_frag_z
new cvar_zp_cs_drawround_death_h
new cvar_zp_cs_drawround_death_z
new cvar_zp_cs_zombie_nodeathscore
new cvar_zp_cs_killassist_enabled
new cvar_zp_cs_killassist_mindmg_h
new cvar_zp_cs_killassist_mindmg_z
new cvar_zp_human_frags_for_kill
new cvar_zp_zombie_frags_for_infect
new cvar_zp_zombie_infect_health

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_biggun_mult;
new 
cvar_zp_cs_buytime_gren_mult;
new 
cvar_zp_cs_buytime_ammo_mult;

new 
Floatzp_cs_h_income_cash_rate;
new 
Floatzp_cs_z_income_cash_rate;
new 
Floatzp_cs_n_income_cash_rate
new Floatzp_cs_s_income_cash_rate
new zp_cs_moneymax;
new 
zp_cs_player_money[33]
new 
zp_cs_player_moneybonus[33]
new 
zp_cs_buytime_passed;
new 
Floatzp_cs_damage[33][33//[attacker][victim]
new Floatzp_cs_killassist_mindamage_h
new Floatzp_cs_killassist_mindamage_z
new zp_human_frags_for_kill
new zp_zombie_frags_for_infect
new Floatzp_zombie_infect_health

new g_MsgMoneyg_msgMoneyBlinkg_msgIconStatusg_msgScoreInfog_msgSayTextg_msgDeathMsgg_MsgSyncObj1g_MsgSyncObj2;
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_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_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_MsgMoney get_user_msgid("Money")
    
g_msgMoneyBlink get_user_msgid("BlinkAcct")
    
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()
    
g_MsgSyncObj2 CreateHudSyncObj()
    
    
register_event("HLTV""event_round_start""a""1=0""2=0")
    
    
register_message(g_msgDeathMsg"message_DeathMsg")
    
    
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_h_income_cash_rate register_cvar("zp_cs_human_income_cash_rate""2.0")
    
cvar_zp_cs_z_income_cash_rate register_cvar("zp_cs_zombie_income_cash_rate""5.0")
    
cvar_zp_cs_n_income_cash_rate register_cvar("zp_cs_nemesis_income_cash_rate""0.5")
    
cvar_zp_cs_s_income_cash_rate register_cvar("zp_cs_survivor_income_cash_rate""0.2")
    
cvar_zp_cs_moneymax register_cvar("zp_cs_moneymax""150000")
    
cvar_zp_cs_infectmoneybonus register_cvar("zp_cs_infectmoneybonus""1500")
    
cvar_zp_cs_deathmoneybonus register_cvar("zp_cs_deathmoneybonus""300")
    
cvar_zp_cs_money_killbonus register_cvar("zp_cs_money_killbonus""500")
    
cvar_zp_cs_buytime get_cvar_pointer("mp_buytime")
    
cvar_zp_cs_startmoney get_cvar_pointer("mp_startmoney")
    
cvar_zp_cs_restartround get_cvar_pointer("sv_restartround")
    
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_pistol_mult register_cvar("zp_cs_buytime_pistol_mult""3")
    
cvar_zp_cs_buytime_shotgun_mult register_cvar("zp_cs_buytime_shotgun_mult""3")
    
cvar_zp_cs_buytime_smgun_mult register_cvar("zp_cs_buytime_smgun_mult""3")
    
cvar_zp_cs_buytime_rifle_mult register_cvar("zp_cs_buytime_rifle_mult""3")
    
cvar_zp_cs_buytime_biggun_mult register_cvar("zp_cs_buytime_biggun_mult""3")
    
cvar_zp_cs_buytime_gren_mult register_cvar("zp_cs_buytime_gren_mult""10")
    
cvar_zp_cs_buytime_ammo_mult register_cvar("zp_cs_buytime_ammo_mult""10");
    
    
cvar_zp_cs_money_human_win register_cvar("zp_cs_money_human_win""10000");
    
cvar_zp_cs_money_human_lose register_cvar("zp_cs_money_human_lose""1500");
    
cvar_zp_cs_money_human_draw register_cvar("zp_cs_money_human_draw""7000");
    
cvar_zp_cs_money_zombie_win register_cvar("zp_cs_money_zombie_win""5000");
    
cvar_zp_cs_money_zombie_lose register_cvar("zp_cs_money_zombie_lose""1500");
    
cvar_zp_cs_money_zombie_draw register_cvar("zp_cs_money_zombie_draw""-1500");
    
cvar_zp_cs_drawround_frag_h register_cvar("zp_cs_drawround_frag_h""2");
    
cvar_zp_cs_drawround_frag_z register_cvar("zp_cs_drawround_frag_z""-2");
    
cvar_zp_cs_drawround_death_h register_cvar("zp_cs_drawround_death_h""0");
    
cvar_zp_cs_drawround_death_z register_cvar("zp_cs_drawround_death_z""2");
    
cvar_zp_cs_zombie_nodeathscore register_cvar("zp_cs_zombie_nodeathscore""1");
    
cvar_zp_cs_killassist_enabled register_cvar("zp_cs_killassist_enabled""1")
    
cvar_zp_cs_killassist_mindmg_h register_cvar("zp_cs_killassist_mindamage_h","250.0")
    
cvar_zp_cs_killassist_mindmg_z register_cvar("zp_cs_killassist_mindamage_z","45.0")
    
cvar_zp_human_frags_for_kill get_cvar_pointer("zp_human_frags_for_kill")
    
cvar_zp_zombie_frags_for_infect get_cvar_pointer("zp_zombie_frags_for_infect")
    
cvar_zp_zombie_infect_health get_cvar_pointer("zp_zombie_infect_health")
    
cvar_amx_mode get_cvar_pointer("amx_mode")

    
    
g_maxplayers get_maxplayers()    
    
    for (new 
id=1;id<=g_maxplayers;id++)
    {
        
zp_cs_player_moneybonus[id]=0;
        
zp_cs_player_money[id]=get_pcvar_num(cvar_zp_cs_startmoney)
    }
    
    
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_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)
    
console_cmd(id,"bind b zp_cs_buymenu");
    if (
zp_cs_player_moneybonus[id])
    {
        
zp_cs_player_money[id]+=zp_cs_player_moneybonus[id]
        
zp_cs_player_moneybonus[id]=0
    
}
    if (
zp_cs_player_money[id]<get_pcvar_num(cvar_zp_cs_startmoney)) zp_cs_player_money[id]=get_pcvar_num(cvar_zp_cs_startmoney)
    return 
FMRES_IGNORED;
}

public 
event_round_start()
{
    
set_hudmessage(02550, -1.00.921.04.5,0.1,0.1,-1)
    
ShowSyncHudMsg(0g_MsgSyncObj2"%L"LANG_PLAYER"BUYMENU_INFO1")
    
    
zp_cs_buymenu_ready false;
    
antidoteused 0
    madnessused 
0
    infbombused 
0
    
    zp_cs_moneymax 
get_pcvar_num(cvar_zp_cs_moneymax);
    
zp_cs_h_income_cash_rate get_pcvar_float(cvar_zp_cs_h_income_cash_rate)
    
zp_cs_z_income_cash_rate get_pcvar_float(cvar_zp_cs_z_income_cash_rate)
    
zp_cs_n_income_cash_rate get_pcvar_float(cvar_zp_cs_n_income_cash_rate)
    
zp_cs_s_income_cash_rate get_pcvar_float(cvar_zp_cs_s_income_cash_rate)
    
zp_cs_killassist_mindamage_h get_pcvar_float(cvar_zp_cs_killassist_mindmg_h)
    
zp_cs_killassist_mindamage_z get_pcvar_float(cvar_zp_cs_killassist_mindmg_z)
    
zp_human_frags_for_kill get_pcvar_num(cvar_zp_human_frags_for_kill)
    
zp_zombie_frags_for_infect get_pcvar_num(cvar_zp_zombie_frags_for_infect)
    
zp_zombie_infect_health get_pcvar_float(cvar_zp_zombie_infect_health)
    
    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 
zp_round_ended(winteam)
{        
    if (
get_pcvar_num(cvar_zp_cs_restartround))
        for (new 
id=1;id<=g_maxplayers;id++)
        {
            
zp_cs_player_moneybonus[id]=0;
            
zp_cs_player_money[id]=get_pcvar_num(cvar_zp_cs_startmoney)
            
set_task(0.1"zp_cs_hevsuitstatusiconhide"id)
            
            return 
PLUGIN_CONTINUE
        
}
    
    new 
color[3]    
    for (new 
i=0;i<3;i++)
        
color[i]=255*(winteam==i);
    
set_hudmessage(color[1], color[2], color[0], 0.050.6014.05.0,0.1,0.2,-1)
    
ShowSyncHudMsg(0,g_MsgSyncObj1"%L"LANG_PLAYER,Lang_Roundend_msg[winteam])
    
set_task(1.0,"round_results",winteam);
    
    return 
PLUGIN_CONTINUE
}

public 
round_results(winteam)
{        
    new 
strtemp1[16]
    new 
color[3]
    
    for (new 
id=1;id<=g_maxplayers;id++)
    {
        if ((!
is_user_connected(id))||(zp_get_user_survivor(id))||(zp_get_user_nemesis(id))) continue;
        
        new 
MoneyBonusFragBonusDeathPenalty;
        if (
zp_get_user_zombie(id)||(zp_get_user_nemesis(id)))
        {
            if (
winteam==0)
            {
                
color[0]=255;
                
strtemp1="ROUNDEND_FAIL"
                
MoneyBonus=get_pcvar_num(cvar_zp_cs_money_zombie_draw)
                
FragBonus=get_pcvar_num(cvar_zp_cs_drawround_frag_z)
                
DeathPenalty=get_pcvar_num(cvar_zp_cs_drawround_death_z)
            }
            
            if (
winteam==1)
            {
                
color[1]=255;
                
strtemp1="ROUNDEND_WIN"
                
MoneyBonus=get_pcvar_num(cvar_zp_cs_money_zombie_win)
            }
            
            if (
winteam==2)
            {
                
color[0]=255;
                
strtemp1="ROUNDEND_FAIL"
                
MoneyBonus=get_pcvar_num(cvar_zp_cs_money_zombie_lose)
            }
        }
        else
        {
            if (
winteam==0)
            {
                
color[1]=255;
                
strtemp1="ROUNDEND_WIN"
                
MoneyBonus=get_pcvar_num(cvar_zp_cs_money_human_draw)
                
FragBonus=get_pcvar_num(cvar_zp_cs_drawround_frag_h
                
DeathPenalty=get_pcvar_num(cvar_zp_cs_drawround_death_h)
            }
            if (
winteam==1)
            {
                
color[0]=255;
                
strtemp1="ROUNDEND_FAIL"        
                
MoneyBonus=get_pcvar_num(cvar_zp_cs_money_human_lose)
            }
            if (
winteam==2)
            {
                
color[1]=255;
                
strtemp1="ROUNDEND_WIN"
                
MoneyBonus=get_pcvar_num(cvar_zp_cs_money_human_win)
            }
        }
        
zp_cs_player_moneybonus[id]+=MoneyBonus
        set_pev
(idpev_fragsfloat(pev(idpev_frags)+FragBonus))
        
set_pdata_int(idOFFSET_DEATHSget_pdata_int(idOFFSET_DEATHSOFFSET_LINUX)+DeathPenaltyOFFSET_LINUX)
        
set_hudmessage(color[0], color[1], color[2], 0.050.6321.03.5,0.05,0.05,-1)
        
set_task(0.1,"update_scoreboard",id)
        if (
winteamShowSyncHudMsg(idg_MsgSyncObj2"%L^n%L: %d"LANG_PLAYERstrtemp1LANG_PLAYER"ROUNDEND_MONEY"MoneyBonus)
        else 
ShowSyncHudMsg(idg_MsgSyncObj2"%L^n%L: %d^n%L: %d^n%L: %d"LANG_PLAYERstrtemp1LANG_PLAYER"ROUNDEND_MONEY"MoneyBonusLANG_PLAYER"ROUNDEND_FRAGS",FragBonusLANG_PLAYER"ROUNDEND_DEATHS",DeathPenalty)
    }
}

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_MsgSyncObj2"%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 Item","zp_cs_buymenu_handle")    
    
zp_cs_buymenu_pistol menu_create("Buy Handgun\R$  Cost^n(Secondary weapon)","zp_cs_subbuymenu_handle")    
    
zp_cs_buymenu_shotgun menu_create("Buy Shotgun\R$  Cost^n(Primary weapon)","zp_cs_subbuymenu_handle")    
    
zp_cs_buymenu_smgun menu_create("Buy Sub-Machnie gun\R$  Cost^n(Primary weapon)","zp_cs_subbuymenu_handle")    
    
zp_cs_buymenu_rifle menu_create("Buy Rifle\R$  Cost^n(Primary weapon)","zp_cs_subbuymenu_handle")    
    
zp_cs_buymenu_biggun menu_create("Buy Heavy Weapons\R$  Cost^n(Primary weapon)","zp_cs_subbuymenu_handle")    
    
zp_cs_buymenu_equiph menu_create("Buy Equipemnt\R$  Cost","zp_cs_subbuymenu_handle")    
    
zp_cs_buymenu_equipz menu_create("Buy Equipemnt\R$  Cost","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_pcvar_string(cvar_zp_cs_buymenu_pistol_name[i], strtemp 32)
        if (
strtemp[0] != '-')
        {
            
get_pcvar_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_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_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] == 6)||(zp_cs_submenuid[id] == 7)) 
    {
        static 
weapons[32], numicurrentammoweaponidcurrentammocostrefreshHUD
        num 
0
        refreshHUD 
false;
        
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
                
currentammocost AMMOCOST[weaponid]; 
                if (
zp_cs_buytime_passedcurrentammocost currentammocost get_pcvar_num(cvar_zp_cs_buytime_ammo_mult); 
                
                while((
currentammo MAXBPAMMO[weaponid])&&(zp_cs_player_money[id]>=currentammocost))
                {
                    
currentammo += BUYAMMO[weaponid
                    
ExecuteHamB(Ham_GiveAmmoidBUYAMMO[weaponid], AMMOTYPE[weaponid], MAXBPAMMO[weaponid])
                    
zp_cs_player_money[id] -= currentammocost
                    
refreshHUD true;
                }
                if ((
currentammo MAXBPAMMO[weaponid])&&(zp_cs_player_money[id]<currentammocost)) 
                {
                    
message_begin(MSG_ONE_UNRELIABLEg_msgMoneyBlink_id)
                    
write_byte(5);
                    
message_end();
                    
client_print(id,print_center,"%L"LANG_PLAYER"BUYMENU_NO_MONEY"); 
                }
                if (
refreshHUD
                {
                    
message_begin(MSG_ONE_UNRELIABLEg_MsgMoney_id)
                    
write_long(zp_cs_player_money[id]);
                    
write_byte(1); 
                    
message_end();
                    
                    
engfunc(EngFunc_EmitSoundidCHAN_ITEMsound_buyammo1.0ATTN_NORM0PITCH_NORM)
                }
            }
        }    
    }    
    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_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_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_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 (
zp_cs_player_money[id]  < itemcost//check if player has enough money
            
{
                
message_begin(MSG_ONE_UNRELIABLEg_msgMoneyBlink_id//HUD
                
write_byte(5);
                
message_end();
                
client_print(id,print_center,"%L"LANG_PLAYER"BUYMENU_NO_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."
    
    
zp_cs_player_money[id] -= itemcost;
    
message_begin(MSG_ONE_UNRELIABLEg_MsgMoney_id)
    
write_long(zp_cs_player_money[id]);
    
write_byte(1);
    
message_end();
        
    return 
PLUGIN_HANDLED;
}

public 
ham_PlayerSpawn_Post(id)
{
    if (!
task_exists(id+TASK_RESTORE_MONEY)) set_task(0.5,"restore_player_money",id+TASK_RESTORE_MONEY)
}

public 
ham_TakeDamage(victiminflictorattackerFloat:damagedamage_type)
{
    if ((
attacker<1)||(attacker>g_maxplayers)||(victim == attacker)||(!is_user_connected(attacker)))
        return 
HAM_IGNORED;
        
    
zp_cs_damage[attacker][victim]+=damage
    
    
if (zp_get_user_survivor(attacker))
    {
        
zp_cs_player_money[attacker] += floatround(damage*zp_cs_s_income_cash_rate);
        if (
zp_cs_player_money[attacker] > zp_cs_moneymax
            
zp_cs_player_money[attacker]=zp_cs_moneymax
            
        
message_begin(MSG_ONE_UNRELIABLEg_MsgMoney_attacker); 
        
write_long(zp_cs_player_money[attacker]);
        
write_byte(1);
        
message_end();
        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);
        if (!
zp_get_user_nemesis(attacker)||zp_get_user_survivor(victim))
        {
            if (!
zp_get_user_nemesis(attacker))
                
zp_cs_player_money[attacker] +=floatround(damage*zp_cs_z_income_cash_rate);
            else
                
zp_cs_player_money[attacker] +=floatround(damage*zp_cs_n_income_cash_rate);
                
                
            if (
zp_cs_player_money[attacker] > zp_cs_moneymax
                
zp_cs_player_money[attacker]=zp_cs_moneymax
                
            
message_begin(MSG_ONE_UNRELIABLEg_MsgMoney_attacker); 
            
write_long(zp_cs_player_money[attacker]);
            
write_byte(1);
            
message_end();
        }
        return 
HAM_IGNORED;
        
    }
    else
    {        
        
zp_cs_player_money[attacker] += floatround(damage*zp_cs_h_income_cash_rate);
        if (
zp_cs_player_money[attacker] > zp_cs_moneymax
            
zp_cs_player_money[attacker]=zp_cs_moneymax
            
        
message_begin(MSG_ONE_UNRELIABLEg_MsgMoney_attacker); 
        
write_long(zp_cs_player_money[attacker]);
        
write_byte(1);
        
message_end();
        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);
        
zp_cs_player_moneybonus[attacker]+=get_pcvar_num(cvar_zp_cs_infectmoneybonus)
    }
    else if (
zp_get_user_nemesis(attacker))
    {
        
menu_cancel(victim);
        
set_task(0.1"zp_cs_hevsuitstatusiconhide"victim);
        
zp_cs_player_moneybonus[attacker]+=floatround(float(get_pcvar_num(cvar_zp_cs_infectmoneybonus))*zp_cs_n_income_cash_rate); 
    }    
    else if (
zp_get_user_survivor(attacker)) 
        
zp_cs_player_moneybonus[attacker]+=floatround(float(get_pcvar_num(cvar_zp_cs_money_killbonus))*zp_cs_s_income_cash_rate);
    else 
        
zp_cs_player_moneybonus[attacker]+=get_pcvar_num(cvar_zp_cs_money_killbonus);
    
    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)
        
zp_cs_player_moneybonus[victim]+=get_pcvar_num(cvar_zp_cs_deathmoneybonus)
    }

    if (!
task_exists(attacker+TASK_RESTORE_MONEY)) 
        
set_task(0.1,"restore_player_money",attacker+TASK_RESTORE_MONEY)
    
    return 
HAM_IGNORED;
}

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

public 
message_DeathMsg()
{    
    if (!
get_pcvar_num(cvar_zp_cs_killassist_enabled))
        return 
PLUGIN_CONTINUE;
        
    new 
attacker read_data(1)
    new 
victim read_data(2)
    new 
headshot read_data(3)
    new 
assistant_id=0
    
new Floatassistant_damage
    
new FragBonus
    
new MoneyBonus
    
static weapon_name[32], weapon_name_full[32]
    
    if (
zp_get_user_zombie(attacker))
    {
        
assistant_damage=zp_cs_killassist_mindamage_z
        FragBonus
=zp_zombie_frags_for_infect
        MoneyBonus
=get_pcvar_num(cvar_zp_cs_infectmoneybonus)
    }
    else
    {
        
assistant_damage=zp_cs_killassist_mindamage_h
        FragBonus
=zp_human_frags_for_kill
        MoneyBonus
=get_pcvar_num(cvar_zp_cs_money_killbonus)
    }
        
    for (new 
id=1;id<=g_maxplayers;id++)
    {
        if ((
is_user_connected(id))&&(id!=attacker)&&(zp_cs_damage[id][victim]>=assistant_damage)&&(zp_get_user_zombie(id)==zp_get_user_zombie(attacker)))
        {
            
assistant_damage=zp_cs_damage[id][victim]
            
assistant_id=id
        
}
        
zp_cs_damage[id][victim]=0.0
    
}
    
    if (!
assistant_id)
        return 
PLUGIN_CONTINUE
        
    
static attacker_name[32], attacker_name_lenassistant_id_name[32], assistant_id_name_len
            
    set_pev
(assistant_idpev_fragsfloat(pev(assistant_idpev_frags)+FragBonus))
    
zp_cs_player_moneybonus[assistant_id]+=MoneyBonus
        
    attacker_name_len 
get_user_name(attackerattacker_namecharsmax(attacker_name))
    
assistant_id_name_len get_user_name(assistant_idassistant_id_namecharsmax(assistant_id_name))
    
attacker_name=PlayerOldName[attacker]
    if(
attacker_name_len 14)
    {
        
formatex(attacker_nameattacker_name_len"%s"attacker_name)
        
formatex(assistant_id_name28-attacker_name_len"%s"assistant_id_name)
    }    
    else if(
assistant_id_name_len 14)
    {
        
formatex(attacker_name28-assistant_id_name_len"%s"attacker_name)
        
formatex(assistant_id_nameassistant_id_name_len"%s"assistant_id_name)
    }
    else
    {
        
formatex(attacker_name13"%s"attacker_name)
        
formatex(assistant_id_name13"%s"assistant_id_name)
    }
    
formatex(attacker_namecharsmax(attacker_name), "%s + %s"attacker_nameassistant_id_name)
    
set_msg_block(g_msgSayTextBLOCK_ONCE)
    new 
temp1 get_pcvar_num(cvar_amx_mode)
    
set_pcvar_num(cvar_amx_mode,0)
    
set_user_info(attacker"name"attacker_name)
    
set_pcvar_num(cvar_amx_mode,temp1)
    
    if (
zp_get_user_zombie(assistant_id))
    {
        new 
FloatcurrentHP pev(assistant_id,pev_health)
        if ((
currentHP+zp_zombie_infect_health)<float(zp_get_zombie_maxhealth(assistant_id)))
            
set_pev(assistant_id,pev_health,currentHP+zp_zombie_infect_health)
        else
            
set_pev(assistant_id,pev_health,float(zp_get_zombie_maxhealth(assistant_id)))
    }
        
    
set_task(0.1,"update_scoreboard",assistant_id)
    
    if (!
task_exists(assistant_id+TASK_RESTORE_MONEY)) 
        
set_task(0.1,"restore_player_money",assistant_id+TASK_RESTORE_MONEY)
    
    
read_data(4weapon_namecharsmax(weapon_name))
    if (
equal(weapon_name,"grenade"))
        
weapon_name="hegrenade"
    
formatex(weapon_name_fullcharsmax(weapon_name_full), "weapon_%s"weapon_name)
    
    new 
arg[4]
    
arg[0] = attacker
    arg
[1] = victim
    arg
[2] = headshot
    arg
[3] = get_weaponid(weapon_name_full)

    
set_task(0.1"zp_cs_kill_assist"0arg4)
        
    return 
PLUGIN_HANDLED    
}

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 (
get_pcvar_num(cvar_zp_cs_killassist_enabled))
    {
        new 
assistant_id=0
        
new Floatassistant_damage zp_cs_killassist_mindamage_z
        
        
for (new i=1;i<=g_maxplayers;i++)
        {
            if ((
is_user_connected(i))&&(i!=infector)&&(zp_cs_damage[i][id]>=assistant_damage)&&(zp_get_user_zombie(i)))
            {
                
assistant_damage=zp_cs_damage[i][id]
                
assistant_id=i
            
}
            
zp_cs_damage[i][id]=0.0
        
}
    
        if (!
assistant_id)
            return 
PLUGIN_CONTINUE
        
        
static infector_name[32], infector_name_lenassistant_id_name[32], assistant_id_name_len
            
        set_pev
(assistant_idpev_fragsfloat(pev(assistant_idpev_frags)+zp_zombie_frags_for_infect))
        
zp_cs_player_moneybonus[assistant_id]+=get_pcvar_num(cvar_zp_cs_infectmoneybonus)
        
        
infector_name_len get_user_name(infectorinfector_namecharsmax(infector_name))
        
assistant_id_name_len get_user_name(assistant_idassistant_id_namecharsmax(assistant_id_name))
        
infector_name=PlayerOldName[infector]
        if(
infector_name_len 14)
        {
            
formatex(infector_nameinfector_name_len"%s"infector_name)
            
formatex(assistant_id_name28-infector_name_len"%s"assistant_id_name)
        }    
        else if(
assistant_id_name_len 14)
        {
            
formatex(infector_name28-assistant_id_name_len"%s"infector_name)
            
formatex(assistant_id_nameassistant_id_name_len"%s"assistant_id_name)
        }
        else
        {
            
formatex(infector_name13"%s"infector_name)
            
formatex(assistant_id_name13"%s"assistant_id_name)
        }
        
formatex(infector_namecharsmax(infector_name), "%s + %s"infector_nameassistant_id_name)
        
set_msg_block(g_msgSayTextBLOCK_ONCE)
        new 
temp1 get_pcvar_num(cvar_amx_mode)
        
set_pcvar_num(cvar_amx_mode,0)
        
set_user_info(infector"name"infector_name)
        
set_pcvar_num(cvar_amx_mode,temp1)
    
        new 
FloatcurrentHP pev(assistant_id,pev_health)
        if ((
currentHP+zp_zombie_infect_health)<float(zp_get_zombie_maxhealth(assistant_id)))
            
set_pev(assistant_id,pev_health,currentHP+zp_zombie_infect_health)
        else
            
set_pev(assistant_id,pev_health,float(zp_get_zombie_maxhealth(assistant_id)))
        
        
set_task(0.1,"update_scoreboard",assistant_id)
    
        if (!
task_exists(assistant_id+TASK_RESTORE_MONEY)) 
            
set_task(0.1,"restore_player_money",assistant_id+TASK_RESTORE_MONEY)
    }
    
    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)) zp_cs_player_moneybonus[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)) zp_cs_player_moneybonus[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)) zp_cs_player_moneybonus[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)) zp_cs_player_moneybonus[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_biggun_todo[i], strtemp2 charsmax(strtemp2))
            if (
equal(strtemp1,strtemp2)) zp_cs_player_moneybonus[id]+=get_pcvar_num(cvar_zp_cs_buymenu_biggun_cost[i])
        }
    }
    
    if (!
task_exists(id+TASK_RESTORE_MONEY)) 
        
set_task(0.1,"restore_player_money",id+TASK_RESTORE_MONEY)
        
    
client_print(id,print_chat,"%L"LANG_PLAYER"BUYMENU_MONEYBACK")
    
    return 
PLUGIN_CONTINUE;
}

public 
zp_user_infected_post(idinfector)
{            
    if ((
infector<=g_maxplayers)&&(infector>0)&&(id!=infector))
    {
        if (!
zp_get_user_nemesis(infector))
            
zp_cs_player_moneybonus[infector]+=get_pcvar_num(cvar_zp_cs_infectmoneybonus)
        else
            
zp_cs_player_moneybonus[infector]+=floatround(float(get_pcvar_num(cvar_zp_cs_infectmoneybonus))*zp_cs_n_income_cash_rate); 
    
        if (!
task_exists(infector+TASK_RESTORE_MONEY)) 
            
set_task(0.1,"restore_player_money",infector+TASK_RESTORE_MONEY)
            
        
        if (
get_pcvar_num(cvar_zp_cs_killassist_enabled))
        {    
            new 
temp1 get_pcvar_num(cvar_amx_mode)
            
set_pcvar_num(cvar_amx_mode,0)
            
set_msg_block(g_msgSayTextBLOCK_ONCE)
            
set_user_info(infector,"name",PlayerOldName[infector])
            
set_pcvar_num(cvar_amx_mode,temp1)
        }
    }
        
    if ((
id<1)||(id>g_maxplayers))
        return 
PLUGIN_CONTINUE;
        
    
menu_cancel(id)
    
set_task(0.1"zp_cs_hevsuitstatusiconhide"id)
    
    return 
PLUGIN_CONTINUE;
}

public 
restore_player_money(id)
{
    
id-=TASK_RESTORE_MONEY;
    
    if (
is_user_bot(id))
        
set_pdata_int(id,OFFSET_MONEY,16000,OFFSET_LINUX)
    else 
        
set_pdata_int(id,OFFSET_MONEY,0,OFFSET_LINUX)
        
    
message_begin(MSG_ONE_UNRELIABLEg_MsgMoney_id);
    
write_long(zp_cs_player_money[id]);
    
write_byte(1);
    
message_end();
    
zp_cs_player_money[id]+=zp_cs_player_moneybonus[id];
    if (
zp_cs_player_money[id] > zp_cs_moneymaxzp_cs_player_money[id]=zp_cs_moneymax
    if (
zp_cs_player_money[id] < 0zp_cs_player_money[id]=0
    
message_begin(MSG_ONE_UNRELIABLEg_MsgMoney_id);
    
write_long(zp_cs_player_money[id]);
    
write_byte(1);
    
message_end();
    
    
zp_cs_player_moneybonus[id]=0;
}

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();

I Have Troble When i compiled :/
http://s29.************/jo8f6uoef/Screenshot_1.png
FloorenTIbraimi is offline
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 11-29-2014 , 19:12   Re: Having Problem Withh AMXX-Studio
Reply With Quote #2

1. Don't use AMXX Stuido
2. Since you are having errors with hamsandwich.inc, you should redownload AMX MOd X 1.8.2 and replace all your existing files with ones that are not corrupted.
__________________
fysiks is offline
zmd94
Veteran Member
Join Date: Nov 2013
Location: Malaysia (9w2zow).
Old 11-29-2014 , 21:18   Re: Having Problem Withh AMXX-Studio
Reply With Quote #3

I can compile the code. Yet, it have tag mismatch problem in line 627:
Code:
public zp_round_ended(winteam)
{        
    if (get_pcvar_num(cvar_zp_cs_restartround))
        for (new id=1;id<=g_maxplayers;id++)
        {
            zp_cs_player_moneybonus[id]=0;
            zp_cs_player_money[id]=get_pcvar_num(cvar_zp_cs_startmoney)
            set_task(0.1, "zp_cs_hevsuitstatusiconhide", id)
            
            return PLUGIN_CONTINUE
        }
    
    new color[3]    
    for (new i=0;i<3;i++)
        color[i]=255*(winteam==i);
    set_hudmessage(color[1], color[2], color[0], 0.05, 0.60, 1, 4.0, 5.0,0.1,0.2,-1)
    ShowSyncHudMsg(0,g_MsgSyncObj1, "%L", LANG_PLAYER,Lang_Roundend_msg[winteam])
    set_task(1.0,"round_results",winteam);
    
    return PLUGIN_CONTINUE
}
The red line is the problem line. ;)
zmd94 is offline
Reply



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 17:38.


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