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

i need help-_-


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
AnimalMonster
Senior Member
Join Date: May 2020
Old 09-25-2020 , 07:11   i need help-_-
Reply With Quote #1

Hey, like earlier with the same code i succefully could fix it, but the pistol category is shown but cannot buy anything and cannot find the pistols and for the other categories i can see the name of guns but cost it's bugged and idk if the money is why i don t get the guns. for pistols , just aren't found.

Here's the cfg of the plugin:
Code:
////////////////////////////////////////////////////////////////////
//   todo commands for standart CS weapon can be found here       //
//   http://wiki.amxmodx.org/CS_Weapons_Information               //
//   but instead "weapon_" use "zp_cs_buy_"                       //
//   for example: weapon_g3sg1 -> zp_cs_g3sg1, so, to buy g3sg1:  //
//   zp_cs_buymenu_biggun03_todo zp_cs_g3sg1                      //
////////////////////////////////////////////////////////////////////
//   Items added in order.                          //
//   for example:                                   //
//   zp_cs_buymenu_pistol07_name "Solar Scorcher"   //
//   zp_cs_buymenu_pistol48_name "Revolver"         //
//   zp_cs_buymenu_pistol31_name "Antidote gun"     //
//   Y'll see:                                      //
//   1. Glock                                       //
//   2. USP                                         //
//   <...>                                          //
//   6. Dual Elites                                 //
//   7. Solar Scorcher                              //
//   8. Antidote gun                                //
//   9. Revolver                                    //
////////////////////////////////////////////////////////////////////
//   if you have error with MSG_ONE =>                            //
//   => one of your menu items Name length + cost length +        //
//   + todo length is too looooong.  (max 100 chars total)        //
////////////////////////////////////////////////////////////////////


//General
//-------
zp_cs_survivor_canbuy 0
zp_cs_nemesis_canbuy 0

//End round bonuses/penalties
//---------------------------
zp_cs_zombie_nodeathscore 1
zp_cs_drawround_frag_h 2
zp_cs_drawround_frag_z -2
zp_cs_drawround_death_h 0
zp_cs_drawround_death_z 2
	
//Mutliples for item prices afrer buytime is over
//-----------------------------------------------
zp_cs_buytime_pistol_mult 3
zp_cs_buytime_shotgun_mult 3
zp_cs_buytime_smgun_mult 3
zp_cs_buytime_rifle_mult 3
zp_cs_buytime_biggun_mult 3
zp_cs_buytime_gren_mult 10

//Pistols
---------
zp_cs_buymenu_pistol01_name "9X19mm Sidearm"
zp_cs_buymenu_pistol01_cost 400
zp_cs_buymenu_pistol01_todo zp_cs_buy_glock18
zp_cs_buymenu_pistol02_name "K&M .45 Tactical"
zp_cs_buymenu_pistol02_cost 500
zp_cs_buymenu_pistol02_todo zp_cs_buy_usp
zp_cs_buymenu_pistol03_name "228 Compact"
zp_cs_buymenu_pistol03_cost 600
zp_cs_buymenu_pistol03_todo zp_cs_buy_p228
zp_cs_buymenu_pistol04_name "Night Hawk .50C"
zp_cs_buymenu_pistol04_cost 650
zp_cs_buymenu_pistol04_todo zp_cs_buy_deagle
zp_cs_buymenu_pistol05_name ".40 Dual Elites"
zp_cs_buymenu_pistol05_cost 800
zp_cs_buymenu_pistol05_todo zp_cs_buy_elite
zp_cs_buymenu_pistol06_name "ES Five-Seven"
zp_cs_buymenu_pistol06_cost 750
zp_cs_buymenu_pistol06_todo zp_cs_buy_fiveseven

//Shotguns
//--------
zp_cs_buymenu_shotgun01_name "Leone 12 Gauge Super"
zp_cs_buymenu_shotgun01_cost 1700
zp_cs_buymenu_shotgun01_todo zp_cs_buy_m3
zp_cs_buymenu_shotgun02_name "Leone YG1265 Auto Shotgun"
zp_cs_buymenu_shotgun02_cost 3000
zp_cs_buymenu_shotgun02_todo zp_cs_buy_xm1014

//Light guns
//----------
zp_cs_buymenu_smgun01_name "Ingram MAC-10"
zp_cs_buymenu_smgun01_cost 1400
zp_cs_buymenu_smgun01_todo zp_cs_buy_mac10
zp_cs_buymenu_smgun02_name "H&K Sub-Machine Gun"
zp_cs_buymenu_smgun02_cost 1500
zp_cs_buymenu_smgun02_todo zp_cs_buy_mp5navy
zp_cs_buymenu_smgun03_name "H&K UMP45"
zp_cs_buymenu_smgun03_cost 1700
zp_cs_buymenu_smgun03_todo zp_cs_buy_ump45
zp_cs_buymenu_smgun04_name "ES C90"
zp_cs_buymenu_smgun04_cost 2350
zp_cs_buymenu_smgun04_todo zp_cs_buy_p90
zp_cs_buymenu_smgun05_name "Schmidt Machine Pistol"
zp_cs_buymenu_smgun05_cost 1250
zp_cs_buymenu_smgun05_todo zp_cs_buy_tmp
zp_cs_buymenu_smgun06_name "Schmidt Scout"
zp_cs_buymenu_smgun06_cost 2750
zp_cs_buymenu_smgun06_todo zp_cs_buy_scout

//Rifles
//------
zp_cs_buymenu_rifle01_name "IDF Defender"
zp_cs_buymenu_rifle01_cost 2000
zp_cs_buymenu_rifle01_todo zp_cs_buy_galil
zp_cs_buymenu_rifle02_name "Clarion 5.56"
zp_cs_buymenu_rifle02_cost 2250
zp_cs_buymenu_rifle02_todo zp_cs_buy_famas
zp_cs_buymenu_rifle03_name "AK-47"
zp_cs_buymenu_rifle03_cost 2500
zp_cs_buymenu_rifle03_todo zp_cs_buy_ak47
zp_cs_buymenu_rifle04_name "Maverick M4A1 Carbine"
zp_cs_buymenu_rifle04_cost 3100
zp_cs_buymenu_rifle04_todo zp_cs_buy_m4a1
zp_cs_buymenu_rifle05_name "Krieg 552 Commando"
zp_cs_buymenu_rifle05_cost 3500
zp_cs_buymenu_rifle05_todo zp_cs_buy_sg552
zp_cs_buymenu_rifle06_name "Bullpup"
zp_cs_buymenu_rifle06_cost 3500
zp_cs_buymenu_rifle06_todo zp_cs_buy_aug

//Big guns
//--------
zp_cs_buymenu_biggun01_name "Magnum Sniper Rifle"
zp_cs_buymenu_biggun01_cost 9000
zp_cs_buymenu_biggun01_todo zp_cs_buy_awp
zp_cs_buymenu_biggun02_name "ES M249 Para"
zp_cs_buymenu_biggun02_cost 15000
zp_cs_buymenu_biggun02_todo zp_cs_buy_m249
zp_cs_buymenu_biggun03_name "Krieg 550 Commando  Semi-Auto Sniper Rifle"
zp_cs_buymenu_biggun03_cost 12000
zp_cs_buymenu_biggun03_todo zp_cs_buy_sg550
zp_cs_buymenu_biggun04_name "D3/AU-1 Semi-Auto Sniper Rifle"
zp_cs_buymenu_biggun04_cost 12000
zp_cs_buymenu_biggun04_todo zp_cs_buy_g3sg1
zp_cs_buymenu_biggun05_name "\yBazooka"
zp_cs_buymenu_biggun05_cost 20000
zp_cs_buymenu_biggun05_todo "Bazooka"
zp_cs_buymenu_biggun06_name "\yM134-A2 Vulcan minigun"
zp_cs_buymenu_biggun06_cost 50000
zp_cs_buymenu_biggun06_todo "Minigun"

//Human equipment
//---------------
zp_cs_buymenu_equiph01_name "Biohazard Suit"      //maybe "H.E.V. Suit" is better?
zp_cs_buymenu_equiph01_cost 8000
zp_cs_buymenu_equiph01_todo zp_cs_HEVsuit
zp_cs_buymenu_equiph02_name "Biohazard Suit Implants"
zp_cs_buymenu_equiph02_cost 11000
zp_cs_buymenu_equiph02_todo zp_cs_moarHEVsuit
zp_cs_buymenu_equiph03_name "Frost Nade"
zp_cs_buymenu_equiph03_cost 300
zp_cs_buymenu_equiph03_todo zp_cs_buy_flashbang
zp_cs_buymenu_equiph04_name "Napalm Nade"
zp_cs_buymenu_equiph04_cost 500
zp_cs_buymenu_equiph04_todo zp_cs_buy_hegrenade
zp_cs_buymenu_equiph05_name "Flare Nade"
zp_cs_buymenu_equiph05_cost 400
zp_cs_buymenu_equiph05_todo zp_cs_buy_smokegrenade
zp_cs_buymenu_equiph06_name "NightVision Goggles"
zp_cs_buymenu_equiph06_cost 10000
zp_cs_buymenu_equiph06_todo zp_cs_nightvision
zp_cs_buymenu_equiph07_name "/yRadar Scanner"
zp_cs_buymenu_equiph07_cost 10000
zp_cs_buymenu_equiph07_todo "Radar Scanner"

//Zombie equipment
//----------------
zp_cs_buymenu_equipz01_name "Zombie Madness"
zp_cs_buymenu_equipz01_cost 12000
zp_cs_buymenu_equipz01_todo zp_cs_zombie_madness
zp_cs_buymenu_equipz02_name "T-virus Antidote"
zp_cs_buymenu_equipz02_cost 7500
zp_cs_buymenu_equipz02_todo zp_cs_antidote
zp_cs_buymenu_equipz03_name "Infection bomb"
zp_cs_buymenu_equipz03_cost 35000
zp_cs_buymenu_equipz03_todo zp_cs_buy_hegrenade
and here is the plugin i "fixed" for me:
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 
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 }

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_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")
    }
    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)
{
    
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();

Edit: i think that only at the pistol category is the problem looking i the cfg.
Edit2: Tested on server side and Black Rose if you're gonna try help me test it too and maybe debug it if you want to see the problem bcs im bad at explaining ).

Last edited by AnimalMonster; 09-25-2020 at 07:17.
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 04:50.


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