Senior Member
|
09-25-2020
, 07:11
i need help-_-
|
#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(id, amount)
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[] = { -1, OFFSET_P228_AMMO, -1, OFFSET_SCOUT_AMMO, OFFSET_HE_AMMO, OFFSET_M3_AMMO, OFFSET_C4_AMMO, OFFSET_USP_AMMO, OFFSET_FAMAS_AMMO, OFFSET_SMOKE_AMMO, OFFSET_GLOCK_AMMO, OFFSET_FIVESEVEN_AMMO, OFFSET_USP_AMMO, OFFSET_FAMAS_AMMO, OFFSET_FAMAS_AMMO, OFFSET_FAMAS_AMMO, OFFSET_USP_AMMO, OFFSET_GLOCK_AMMO, OFFSET_AWM_AMMO, OFFSET_GLOCK_AMMO, OFFSET_PARA_AMMO, OFFSET_M3_AMMO, OFFSET_FAMAS_AMMO, OFFSET_GLOCK_AMMO, OFFSET_SCOUT_AMMO, OFFSET_FLASH_AMMO, OFFSET_DEAGLE_AMMO, OFFSET_FAMAS_AMMO, OFFSET_SCOUT_AMMO, -1, OFFSET_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 = 5 const OFFSET_LINUX_WEAPONS = 4
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_antidotelimit, cvar_madnesslimit, cvar_infbomblimit, antidoteused, madnessused, infbombused 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_msgIconStatus, g_msgScoreInfo, g_msgSayText, g_msgDeathMsg, g_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+1, strtemp, 2) 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+1, strtemp, 2) 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+1, strtemp, 2) 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+1, strtemp, 2) 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+1, strtemp, 2) 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+1, strtemp, 2) 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+1, strtemp, 2) 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+1, strtemp, 2) 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+1, strtemp, 2) 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+1, strtemp, 2) 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+1, strtemp, 2) 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+1, strtemp, 2) 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+1, strtemp, 2) 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+1, strtemp, 2) 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+1, strtemp, 2) 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+1, strtemp, 2) 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+1, strtemp, 2) 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+1, strtemp, 2) 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+1, strtemp, 2) 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+1, strtemp, 2) 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+1, strtemp, 2) 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+1, strtemp, 2) 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+1, strtemp, 2) 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+1, strtemp, 2) 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(0, 255, 0, -1.0, 0.9, 2, 1.0, 4.5,0.1,0.1,-1) ShowSyncHudMsg(0, g_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(id, pev_armorvalue, armor) 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_BROADCAST, g_msgScoreInfo) write_byte(id) write_short(pev(id, pev_frags)) write_short(get_pdata_int(id, OFFSET_DEATHS, OFFSET_LINUX)) write_short(0) write_short(get_pdata_int(id, OFFSET_TEAM, OFFSET_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(0, 255, 0, -1.0, 0.9, 2, 1.0, 4.5,0.1,0.1,-1) ShowSyncHudMsg(0, g_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(strtemp0, charsmax(strtemp0), "%L", LANG_PLAYER, "BUYMENU_MENU1") menu_additem(zp_cs_buymenu, strtemp0, "1"); formatex(strtemp0, charsmax(strtemp0), "%L", LANG_PLAYER, "BUYMENU_MENU2") menu_additem(zp_cs_buymenu, strtemp0, "2"); formatex(strtemp0, charsmax(strtemp0), "%L", LANG_PLAYER, "BUYMENU_MENU3") menu_additem(zp_cs_buymenu, strtemp0, "3"); formatex(strtemp0, charsmax(strtemp0), "%L", LANG_PLAYER, "BUYMENU_MENU4") menu_additem(zp_cs_buymenu, strtemp0, "4"); formatex(strtemp0, charsmax(strtemp0), "%L^n", LANG_PLAYER, "BUYMENU_MENU5") menu_additem(zp_cs_buymenu, strtemp0, "5"); formatex(strtemp0, charsmax(strtemp0), "%L", LANG_PLAYER, "BUYMENU_MENU6") menu_additem(zp_cs_buymenu, strtemp0, "6"); formatex(strtemp0, charsmax(strtemp0), "%L^n", LANG_PLAYER, "BUYMENU_MENU7") menu_additem(zp_cs_buymenu, strtemp0, "7"); formatex(strtemp0, charsmax(strtemp0), "%L^n", LANG_PLAYER, "BUYMENU_MENU8") menu_additem(zp_cs_buymenu, strtemp0, "8"); formatex(strtemp0, charsmax(strtemp0), "%L", LANG_PLAYER, "BUYMENU_MENU9") menu_additem(zp_cs_buymenu, strtemp0, "9"); formatex(strtemp0, charsmax(strtemp0), "%L", LANG_PLAYER, "BUYMENU_MENU0") menu_additem(zp_cs_buymenu, strtemp0, "0"); menu_setprop(zp_cs_buymenu, MPROP_PERPAGE, 0); menu_setprop(zp_cs_buymenu, MPROP_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]), strtemp2, 32) else num_to_str((get_pcvar_num(cvar_zp_cs_buymenu_pistol_cost[i])*get_pcvar_num(cvar_zp_cs_buytime_pistol_mult)), strtemp2, 32) add(strtemp,sizeof strtemp, "\R \y",4) add(strtemp,sizeof strtemp, strtemp2, sizeof strtemp2) menu_additem(zp_cs_buymenu_pistol, strtemp, strtemp3) } } menu_setprop(zp_cs_buymenu_pistol, MPROP_NUMBER_COLOR, "\w"); formatex(strtemp0, charsmax(strtemp0), "%L", LANG_PLAYER, "BUYMENU_BACK") menu_setprop(zp_cs_buymenu_pistol, MPROP_BACKNAME, strtemp0) formatex(strtemp0, charsmax(strtemp0), "%L", LANG_PLAYER, "BUYMENU_NEXT") menu_setprop(zp_cs_buymenu_pistol, MPROP_NEXTNAME, strtemp0) formatex(strtemp0, charsmax(strtemp0), "%L", LANG_PLAYER, "BUYMENU_EXIT") menu_setprop(zp_cs_buymenu_pistol, MPROP_EXITNAME, strtemp0) 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]), strtemp2, 32) else num_to_str((get_pcvar_num(cvar_zp_cs_buymenu_shotgun_cost[i])*get_pcvar_num(cvar_zp_cs_buytime_shotgun_mult)), strtemp2, 32) add(strtemp,sizeof strtemp, "\R \y",4) add(strtemp,sizeof strtemp, strtemp2, sizeof strtemp2) menu_additem(zp_cs_buymenu_shotgun, strtemp, strtemp3) } } menu_setprop(zp_cs_buymenu_shotgun, MPROP_NUMBER_COLOR, "\w"); formatex(strtemp0, charsmax(strtemp0), "%L", LANG_PLAYER, "BUYMENU_BACK") menu_setprop(zp_cs_buymenu_shotgun, MPROP_BACKNAME, strtemp0) formatex(strtemp0, charsmax(strtemp0), "%L", LANG_PLAYER, "BUYMENU_NEXT") menu_setprop(zp_cs_buymenu_shotgun, MPROP_NEXTNAME, strtemp0) formatex(strtemp0, charsmax(strtemp0), "%L", LANG_PLAYER, "BUYMENU_EXIT") menu_setprop(zp_cs_buymenu_shotgun, MPROP_EXITNAME, strtemp0) 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]), strtemp2, 32) else num_to_str((get_pcvar_num(cvar_zp_cs_buymenu_smgun_cost[i])*get_pcvar_num(cvar_zp_cs_buytime_smgun_mult)), strtemp2, 32) add(strtemp,sizeof strtemp, "\R \y",4) add(strtemp,sizeof strtemp, strtemp2, sizeof strtemp2) menu_additem(zp_cs_buymenu_smgun, strtemp, strtemp3) } } menu_setprop(zp_cs_buymenu_smgun, MPROP_NUMBER_COLOR, "\w"); formatex(strtemp0, charsmax(strtemp0), "%L", LANG_PLAYER, "BUYMENU_BACK") menu_setprop(zp_cs_buymenu_smgun, MPROP_BACKNAME, strtemp0) formatex(strtemp0, charsmax(strtemp0), "%L", LANG_PLAYER, "BUYMENU_NEXT") menu_setprop(zp_cs_buymenu_smgun, MPROP_NEXTNAME, strtemp0) formatex(strtemp0, charsmax(strtemp0), "%L", LANG_PLAYER, "BUYMENU_EXIT") menu_setprop(zp_cs_buymenu_smgun, MPROP_EXITNAME, strtemp0) 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]), strtemp2, 32) else num_to_str((get_pcvar_num(cvar_zp_cs_buymenu_rifle_cost[i])*get_pcvar_num(cvar_zp_cs_buytime_rifle_mult)), strtemp2, 32) add(strtemp,sizeof strtemp, "\R \y",4) add(strtemp,sizeof strtemp, strtemp2, sizeof strtemp2) menu_additem(zp_cs_buymenu_rifle, strtemp, strtemp3) } } menu_setprop(zp_cs_buymenu_rifle, MPROP_NUMBER_COLOR, "\w"); formatex(strtemp0, charsmax(strtemp0), "%L", LANG_PLAYER, "BUYMENU_BACK") menu_setprop(zp_cs_buymenu_rifle, MPROP_BACKNAME, strtemp0) formatex(strtemp0, charsmax(strtemp0), "%L", LANG_PLAYER, "BUYMENU_NEXT") menu_setprop(zp_cs_buymenu_rifle, MPROP_NEXTNAME, strtemp0) formatex(strtemp0, charsmax(strtemp0), "%L", LANG_PLAYER, "BUYMENU_EXIT") menu_setprop(zp_cs_buymenu_rifle, MPROP_EXITNAME, strtemp0) 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]), strtemp2, 32) else num_to_str((get_pcvar_num(cvar_zp_cs_buymenu_sniper_cost[i])*get_pcvar_num(cvar_zp_cs_buytime_sniper_mult)), strtemp2, 32) add(strtemp,sizeof strtemp, "\R \y",4) add(strtemp,sizeof strtemp, strtemp2, sizeof strtemp2) menu_additem(zp_cs_buymenu_sniper, strtemp, strtemp3) } } menu_setprop(zp_cs_buymenu_sniper, MPROP_NUMBER_COLOR, "\w"); formatex(strtemp0, charsmax(strtemp0), "%L", LANG_PLAYER, "BUYMENU_BACK") menu_setprop(zp_cs_buymenu_sniper, MPROP_BACKNAME, strtemp0) formatex(strtemp0, charsmax(strtemp0), "%L", LANG_PLAYER, "BUYMENU_NEXT") menu_setprop(zp_cs_buymenu_sniper, MPROP_NEXTNAME, strtemp0) formatex(strtemp0, charsmax(strtemp0), "%L", LANG_PLAYER, "BUYMENU_EXIT") menu_setprop(zp_cs_buymenu_sniper, MPROP_EXITNAME, strtemp0) 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]), strtemp2, 32) else num_to_str((get_pcvar_num(cvar_zp_cs_buymenu_biggun_cost[i])*get_pcvar_num(cvar_zp_cs_buytime_biggun_mult)), strtemp2, 32) add(strtemp,sizeof strtemp, "\R \y",4) add(strtemp,sizeof strtemp, strtemp2, sizeof strtemp2) menu_additem(zp_cs_buymenu_biggun, strtemp, strtemp3) } } menu_setprop(zp_cs_buymenu_biggun, MPROP_NUMBER_COLOR, "\w"); formatex(strtemp0, charsmax(strtemp0), "%L", LANG_PLAYER, "BUYMENU_BACK") menu_setprop(zp_cs_buymenu_biggun, MPROP_BACKNAME, strtemp0) formatex(strtemp0, charsmax(strtemp0), "%L", LANG_PLAYER, "BUYMENU_NEXT") menu_setprop(zp_cs_buymenu_biggun, MPROP_NEXTNAME, strtemp0) formatex(strtemp0, charsmax(strtemp0), "%L", LANG_PLAYER, "BUYMENU_EXIT") menu_setprop(zp_cs_buymenu_biggun, MPROP_EXITNAME, strtemp0) 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]), strtemp2, 32) 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)), strtemp2, 32) add(strtemp,sizeof strtemp, "\R \y",4) add(strtemp,sizeof strtemp, strtemp2, sizeof strtemp2) menu_additem(zp_cs_buymenu_equiph, strtemp, strtemp3) } } menu_setprop(zp_cs_buymenu_equiph, MPROP_NUMBER_COLOR, "\w"); formatex(strtemp0, charsmax(strtemp0), "%L", LANG_PLAYER, "BUYMENU_BACK") menu_setprop(zp_cs_buymenu_equiph, MPROP_BACKNAME, strtemp0) formatex(strtemp0, charsmax(strtemp0), "%L", LANG_PLAYER, "BUYMENU_NEXT") menu_setprop(zp_cs_buymenu_equiph, MPROP_NEXTNAME, strtemp0) formatex(strtemp0, charsmax(strtemp0), "%L", LANG_PLAYER, "BUYMENU_EXIT") menu_setprop(zp_cs_buymenu_equiph, MPROP_EXITNAME, strtemp0) 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]), strtemp2, 32) add(strtemp,sizeof strtemp, "\R \y",4) add(strtemp,sizeof strtemp, strtemp2, sizeof strtemp2) menu_additem(zp_cs_buymenu_equipz, strtemp, strtemp3) } } menu_setprop(zp_cs_buymenu_equipz, MPROP_NUMBER_COLOR, "\w"); formatex(strtemp0, charsmax(strtemp0), "%L", LANG_PLAYER, "BUYMENU_BACK") menu_setprop(zp_cs_buymenu_equipz, MPROP_BACKNAME, strtemp0) formatex(strtemp0, charsmax(strtemp0), "%L", LANG_PLAYER, "BUYMENU_NEXT") menu_setprop(zp_cs_buymenu_equipz, MPROP_NEXTNAME, strtemp0) formatex(strtemp0, charsmax(strtemp0), "%L", LANG_PLAYER, "BUYMENU_EXIT") menu_setprop(zp_cs_buymenu_equipz, MPROP_EXITNAME, strtemp0) zp_cs_buymenu_ready=true; }
stock fm_give_item(id, const item[]) { static ent ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, item)) if (!pev_valid(ent)) return; static Float:originF[3] pev(id, pev_origin, originF) set_pev(ent, pev_origin, originF) set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN) dllfunc(DLLFunc_Spawn, ent) static save save = pev(ent, pev_solid) dllfunc(DLLFunc_Touch, ent, id) if (pev(ent, pev_solid) != save) return; engfunc(EngFunc_RemoveEntity, ent) }
stock drop_weapons(id, dropwhat) { static weapons[32], num, i, weaponid num = 0 get_user_weapons(id, weapons, num)
for (i = 0; i < num; i++) { weaponid = weapons[i] if ((dropwhat == 1 && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM)) || (dropwhat == 2 && ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM))) { static wname[32], weapon_ent get_weaponname(weaponid, wname, sizeof wname - 1) weapon_ent = fm_find_ent_by_owner(-1, wname, id); set_pev(weapon_ent, PEV_ADDITIONAL_AMMO, fm_get_user_bpammo(id, weaponid)) engclient_cmd(id, "drop", wname) fm_set_user_bpammo(id, weaponid, 0) } } }
stock fm_find_ent_by_owner(entity, const classname[], owner) { while ((entity = engfunc(EngFunc_FindEntityByString, entity, "classname", classname)) && pev(entity, pev_owner) != owner) {} return entity; }
stock fm_get_user_bpammo(id, weapon) { return get_pdata_int(id, AMMOOFFSET[weapon], OFFSET_LINUX); }
stock fm_set_user_bpammo(id, weapon, amount) { set_pdata_int(id, AMMOOFFSET[weapon], amount, OFFSET_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(id, zp_cs_buymenu) return PLUGIN_HANDLED; }
public zp_cs_buymenu_handle(id, menu, item) { new cmd[32]; new access, callback; menu_item_getinfo(menu, item, access, cmd,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(id, zp_cs_buymenu_pistol, 0); if (zp_cs_submenuid[id] == 2) menu_display(id, zp_cs_buymenu_shotgun, 0); if (zp_cs_submenuid[id] == 3) menu_display(id, zp_cs_buymenu_smgun, 0); if (zp_cs_submenuid[id] == 4) menu_display(id, zp_cs_buymenu_rifle, 0); if (zp_cs_submenuid[id] == 5) menu_display(id, zp_cs_buymenu_sniper,0); if (zp_cs_submenuid[id] == 6) menu_display(id, zp_cs_buymenu_biggun, 0); if (zp_cs_submenuid[id] == 8) if (zp_get_user_zombie(id)) { zp_cs_submenuid[id] = 82 menu_display(id, zp_cs_buymenu_equipz, 0); } else { zp_cs_submenuid[id] = 81 menu_display(id, zp_cs_buymenu_equiph, 0); } if (zp_cs_submenuid[id] == 9) { client_cmd(id, "knife_menu") } return PLUGIN_HANDLED; }
public zp_cs_subbuymenu_handle(id, menu, item) { new cmd[32]; cmd [0] = '-'; new access, callback; menu_item_getinfo(menu, item, access, cmd, charsmax(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(cmd, strtemp) == 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(id, CSW_HEGRENADE))&&(strfind(cmd, "zp_cs_buy_hegrenade") == 0)) if (fm_get_user_bpammo(id, CSW_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(id, CSW_FLASHBANG))&&(strfind(cmd, "zp_cs_buy_flashbang") == 0)) if (fm_get_user_bpammo(id, CSW_FLASHBANG)>=MAXBPAMMO[CSW_FLASHBANG]) { client_print(id,print_center,"%L", LANG_PLAYER, "BUYMENU_ALREADYHAVE_FREEZE") return PLUGIN_HANDLED; } if ((user_has_weapon(id, CSW_SMOKEGRENADE))&&(strfind(cmd, "zp_cs_buy_smokegrenade") == 0)) if (fm_get_user_bpammo(id, CSW_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(id, 2); else drop_weapons(id, 1); fm_give_item(id, cmd); replace(cmd,charsmax(cmd),"weapon_","zp_cs_buy_") } if (strfind(cmd, "zp_cs_HEVsuit") == 0) { static Float:armor pev(id, pev_armorvalue, armor) if (armor >= 100.0) { client_print(id, print_center, "%L", LANG_PLAYER, "BUYMENU_ALREADYHAVE_ARMOR") return PLUGIN_HANDLED; } set_pev(id, pev_armorvalue, 100.0) set_task(0.1, "zp_cs_hevsuitstatusiconblink", id) set_task(1.0, "zp_cs_hevsuitstatusiconshow", id) engfunc(EngFunc_EmitSound, id, CHAN_ITEM, sound_buysuit, 1.0, ATTN_NORM, 0, PITCH_NORM) }
if (strfind(cmd, "zp_cs_moarHEVsuit") == 0) { static Float:armor pev(id, pev_armorvalue, armor) armor+=100.0; set_pev(id, pev_armorvalue, armor) set_task(0.1, "zp_cs_hevsuitstatusiconblink", id) set_task(1.0, "zp_cs_hevsuitstatusiconshow", id) engfunc(EngFunc_EmitSound, id, CHAN_ITEM, sound_buysuit, 1.0, ATTN_NORM, 0, PITCH_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(id, print_chat, "[zp_cs_buymenu]: ERROR! ITEM %s NOT FOUND!",cmd) } } if (strfind(cmd, "do_nothing") == 0) client_print(id, print_chat, "[zp_cs_buymenu]: This item does nothing.") SetUserMoney(id, GetUserMoney(id) - itemcost) return PLUGIN_HANDLED; }
public ham_TakeDamage(victim, inflictor, attacker, Float:damage, damage_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(victim, pev_armorvalue, armor) if (armor < 36.0) set_task(0.1, "zp_cs_hevsuitstatusiconblink", victim); if (armor < 1.0) set_task(0.1, "zp_cs_hevsuitstatusiconhide", victim);
return HAM_IGNORED; } return HAM_IGNORED; }
public ham_PlayerKilled(victim, attacker, shouldgib) { 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(victim, OFFSET_DEATHS, get_pdata_int(victim, OFFSET_DEATHS, OFFSET_LINUX)-1, OFFSET_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_name, charsmax(weapon_name)) replace(weapon_name, charsmax(weapon_name), "weapon_", "") message_begin(MSG_ALL, g_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_msgSayText, BLOCK_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], num, i num = 0 get_user_weapons(id, weapons, num) for (i = 0; i < num; i++) { 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(id, GetUserMoney(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(id, GetUserMoney(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(id, GetUserMoney(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(id, GetUserMoney(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(id, GetUserMoney(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(id, GetUserMoney(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(id, infector) { 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_CreateNamedEntity, engfunc(EngFunc_AllocString, "player_weaponstrip")) if (!pev_valid(ent)) return; dllfunc(DLLFunc_Spawn, ent) dllfunc(DLLFunc_Use, ent, id) engfunc(EngFunc_RemoveEntity, ent) }
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.
|
|