Pe server zombie imi da foarte des in consola aceasta eroare SV_StartSound: not precached (0), chiar si 15 linii la rand pe tot timpul unei runde ....
In logs imi da aceasta eroare
L 11/30/2015 - 09:06:12: [AMXX] Displaying debug trace (plugin "zp_cs_buymenu.amxx")
L 11/30/2015 - 09:06:12: [AMXX] Run time error 10: native error (native "set_user_info")
L 11/30/2015 - 09:06:12: [AMXX] [0] zp_cs_buymenu.sma::zp_user_infected_pre (line 1560)
L 11/30/2015 - 09:06:12: Invalid player id 0
Ma puteti ajuta cumva sa scap de aceasta problema va rog
SV_StartSound: not precached (0)
Discutii legate de instalarea, configurarea si modificarea unui server de Counter-Strike.
Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com
- Emil B.
- Membru, skill +3
- Posts: 1168
- Joined: 05 Oct 2008, 11:33
- Detinator Steam: Da
- CS Status: ...
- Reputatie: Fost moderator ajutator
0.5/3
Fost Membru Club eXtreamCS (doua luni) - Location: Atena, Grecia
- Has thanked: 3 times
- Been thanked: 6 times
Se pare ca nu stii ce pluginuri ai pe server, iti apare acea "eroare" pentru ca ai un plugin/modul pentru precache, doar ignora mesajele de genul.
Pentru a doua problema, lasa sursa pluginului.
Pentru a doua problema, lasa sursa pluginului.
Knowledge is power.
- CryWolf
- Administrator
- Posts: 6505
- Joined: 07 Aug 2008, 16:33
- Detinator Steam: Da
- Reputatie: Administrator
Fost Scripter
Manager CS2.eXtream.Ro
Fost Detinator ZM.eXtream.Ro
Fost manager CS.eXtream.Ro
Fost manager CSGO.eXtream.Ro
Fost manager global - Location: Botosani
- Discord: crywolf1989
- Has thanked: 202 times
- Been thanked: 850 times
- Contact:
https://forums.alliedmods.net/showthread.php?t=87776
Vezi daca mai face
- .SMA | Afiseaza codul
[code=php] /* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <fakemeta> #include <hamsandwich> #include <zombieplague> #define PLUGIN "CS-like Buymenu for ZP" #define VERSION "1.7" #define AUTHOR "Sonic Son'edit" const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90) const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE) const ZOMBIE_ALLOWED_WEAPONS_BITSUM = (1<<CSW_KNIFE)|(1<<CSW_HEGRENADE)|(1<<CSW_FLASHBANG)|(1<<CSW_SMOKEGRENADE)|(1<<CSW_C4) const PEV_ADDITIONAL_AMMO = pev_iuser1 const OFFSET_AWM_AMMO = 377 const OFFSET_SCOUT_AMMO = 378 const OFFSET_PARA_AMMO = 379 const OFFSET_FAMAS_AMMO = 380 const OFFSET_M3_AMMO = 381 const OFFSET_USP_AMMO = 382 const OFFSET_FIVESEVEN_AMMO = 383 const OFFSET_DEAGLE_AMMO = 384 const OFFSET_P228_AMMO = 385 const OFFSET_GLOCK_AMMO = 386 const OFFSET_FLASH_AMMO = 387 const OFFSET_HE_AMMO = 388 const OFFSET_SMOKE_AMMO = 389 const OFFSET_C4_AMMO = 390 const OFFSET_CLIPAMMO = 51 const OFFSET_TEAM = 114 const OFFSET_DEATHS = 444 const OFFSET_MONEY = 115 //wtf is unknown item ??? P228 unknown he gren xm1014 bomb mac10 aug smogegren elites fivesveen ump45 krieg500 galil famas usp glock awp mp5 m249 m3 m4a1 tmp g3sg1 flashgren deagle krieg552 ak47 ? p90 new const AMMOOFFSET[] = { -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 BUYAMMO[] = { -1, 13, -1, 30, -1, 7, -1, 12, 30, -1, 30, 20, 12, 20, 30, 30, 12, 30, 10, 30, 50, 8, 30, 30, 20, -1, 7, 30, 30, -1, 50 } new const MAXBPAMMO[] = { -1, 52, -1, 90, 1, 32, 1, 100, 90, 1, 120, 100, 100, 90, 90, 90, 100, 120, 30, 120, 200, 32, 90, 120, 90, 2, 35, 90, 90, -1, 100 } new const AMMOCOST[] = { 1, 30, -1, -1, -1, 65, -1, 25, 60, -1, 50, 20, 25, 85, 60, 60, 25, 20, 125, 20, 95, 65, 60, 20, 80, -1, 40, 60, 80, -1, 50 } new const AMMOTYPE[][] = { "", "357sig", "", "762nato", "", "buckshot", "", "45acp", "556nato", "", "9mm", "57mm", "45acp", "556nato", "556nato", "556nato", "45acp", "9mm", "338magnum", "9mm", "556natobox", "buckshot", "556nato", "9mm", "762nato", "", "50ae", "556nato", "762nato", "", "57mm" } const OFFSET_LINUX = 5 const OFFSET_LINUX_WEAPONS = 4 new const sound_buyammo[] = "items/9mmclip1.wav" new g_maxplayers new Lang_Roundend_msg[3][] = {"ROUNDEND_SURVIVED","ROUNDEND_WIN_ZOMBIE","ROUNDEND_WIN_HUMAN"}; const TASK_BUYTIME_END = 100; const TASK_RESTORE_MONEY = 200; const TASK_KILL_ASSIST = 300; new cvar_zp_cs_h_income_cash_rate; new cvar_zp_cs_z_income_cash_rate; new cvar_zp_cs_n_income_cash_rate new cvar_zp_cs_s_income_cash_rate new cvar_zp_cs_buytime; new cvar_zp_cs_startmoney; new cvar_zp_cs_restartround; new cvar_zp_cs_moneymax; new cvar_zp_cs_money_killbonus new cvar_zp_cs_infectmoneybonus new cvar_zp_cs_deathmoneybonus new cvar_zp_cs_nemesis_canbuy new cvar_zp_cs_survivor_canbuy new cvar_antidotelimit, cvar_madnesslimit, cvar_infbomblimit, antidoteused, madnessused, infbombused new cvar_amx_mode new cvar_zp_cs_money_human_win new cvar_zp_cs_money_human_lose new cvar_zp_cs_money_human_draw new cvar_zp_cs_money_zombie_win new cvar_zp_cs_money_zombie_lose new cvar_zp_cs_money_zombie_draw new cvar_zp_cs_drawround_frag_h new cvar_zp_cs_drawround_frag_z new cvar_zp_cs_drawround_death_h new cvar_zp_cs_drawround_death_z new cvar_zp_cs_zombie_nodeathscore new cvar_zp_cs_killassist_enabled new cvar_zp_cs_killassist_mindmg_h new cvar_zp_cs_killassist_mindmg_z new cvar_zp_human_frags_for_kill new cvar_zp_zombie_frags_for_infect new cvar_zp_zombie_infect_health new cvar_zp_cs_buytime_pistol_mult; new cvar_zp_cs_buytime_shotgun_mult; new cvar_zp_cs_buytime_smgun_mult; new cvar_zp_cs_buytime_rifle_mult; new cvar_zp_cs_buytime_biggun_mult; new cvar_zp_cs_buytime_gren_mult; new cvar_zp_cs_buytime_ammo_mult; new Float: zp_cs_h_income_cash_rate; new Float: zp_cs_z_income_cash_rate; new Float: zp_cs_n_income_cash_rate new Float: zp_cs_s_income_cash_rate new zp_cs_moneymax; new zp_cs_player_money[33] new zp_cs_player_moneybonus[33] new zp_cs_buytime_passed; new Float: zp_cs_damage[33][33] //[attacker][victim] new Float: zp_cs_killassist_mindamage_h new Float: zp_cs_killassist_mindamage_z new zp_human_frags_for_kill new zp_zombie_frags_for_infect new Float: zp_zombie_infect_health new g_MsgMoney, g_msgMoneyBlink, g_msgIconStatus, g_msgScoreInfo, g_msgSayText, g_msgDeathMsg, g_MsgSyncObj1, g_MsgSyncObj2; new PlayerOldName[33][32] new const sound_buysuit[] = "items/tr_kevlar.wav" new zp_cs_buymenu; new zp_cs_submenuid[33]; new zp_cs_buymenu_pistol; new zp_cs_buymenu_shotgun; new zp_cs_buymenu_smgun; new zp_cs_buymenu_rifle; new zp_cs_buymenu_biggun; new zp_cs_buymenu_equiph; new zp_cs_buymenu_equipz; new zp_cs_buymenu_ready; new cvar_zp_cs_buymenu_pistol_name[99]; new cvar_zp_cs_buymenu_pistol_cost[99]; new cvar_zp_cs_buymenu_pistol_todo[99]; new cvar_zp_cs_buymenu_shotgun_name[99]; new cvar_zp_cs_buymenu_shotgun_cost[99]; new cvar_zp_cs_buymenu_shotgun_todo[99]; new cvar_zp_cs_buymenu_smgun_name[99]; new cvar_zp_cs_buymenu_smgun_cost[99]; new cvar_zp_cs_buymenu_smgun_todo[99]; new cvar_zp_cs_buymenu_rifle_name[99]; new cvar_zp_cs_buymenu_rifle_cost[99]; new cvar_zp_cs_buymenu_rifle_todo[99]; new cvar_zp_cs_buymenu_biggun_name[99]; new cvar_zp_cs_buymenu_biggun_cost[99]; new cvar_zp_cs_buymenu_biggun_todo[99]; new cvar_zp_cs_buymenu_equiph_name[99]; new cvar_zp_cs_buymenu_equiph_cost[99]; new cvar_zp_cs_buymenu_equiph_todo[99]; new cvar_zp_cs_buymenu_equipz_name[99]; new cvar_zp_cs_buymenu_equipz_cost[99]; new cvar_zp_cs_buymenu_equipz_todo[99]; public plugin_precache() { precache_sound(sound_buyammo) precache_sound(sound_buysuit) } public plugin_init() { register_plugin(PLUGIN,VERSION,AUTHOR) register_dictionary("zp_cs_buymenu.txt") g_MsgMoney = get_user_msgid("Money") g_msgMoneyBlink = get_user_msgid("BlinkAcct") g_msgIconStatus = get_user_msgid("StatusIcon") g_msgScoreInfo = get_user_msgid("ScoreInfo") g_msgSayText = get_user_msgid("SayText") g_msgDeathMsg = get_user_msgid("DeathMsg") g_MsgSyncObj1 = CreateHudSyncObj() g_MsgSyncObj2 = CreateHudSyncObj() register_event("HLTV", "event_round_start", "a", "1=0", "2=0") register_message(g_msgDeathMsg, "message_DeathMsg") RegisterHam(Ham_Spawn, "player", "ham_PlayerSpawn_Post", 1) RegisterHam(Ham_TakeDamage, "player", "ham_TakeDamage") RegisterHam(Ham_Killed, "player", "ham_PlayerKilled") register_forward(FM_ClientConnect, "fw_ClientConnect_Post",1) register_forward(FM_ClientDisconnect, "fw_ClientDisconnect") register_clcmd("buy", "clcmd_zp_cs_buymenu") register_clcmd("zp_cs_buymenu", "clcmd_zp_cs_buymenu") cvar_zp_cs_h_income_cash_rate = register_cvar("zp_cs_human_income_cash_rate", "2.0") cvar_zp_cs_z_income_cash_rate = register_cvar("zp_cs_zombie_income_cash_rate", "5.0") cvar_zp_cs_n_income_cash_rate = register_cvar("zp_cs_nemesis_income_cash_rate", "0.5") cvar_zp_cs_s_income_cash_rate = register_cvar("zp_cs_survivor_income_cash_rate", "0.2") cvar_zp_cs_moneymax = register_cvar("zp_cs_moneymax", "150000") cvar_zp_cs_infectmoneybonus = register_cvar("zp_cs_infectmoneybonus", "1500") cvar_zp_cs_deathmoneybonus = register_cvar("zp_cs_deathmoneybonus", "300") cvar_zp_cs_money_killbonus = register_cvar("zp_cs_money_killbonus", "500") cvar_zp_cs_buytime = get_cvar_pointer("mp_buytime") cvar_zp_cs_startmoney = get_cvar_pointer("mp_startmoney") cvar_zp_cs_restartround = get_cvar_pointer("sv_restartround") cvar_zp_cs_nemesis_canbuy = register_cvar("zp_cs_nemesis_canbuy", "0") cvar_zp_cs_survivor_canbuy = register_cvar("zp_cs_survivor_canbuy", "0") cvar_antidotelimit = get_cvar_pointer("zp_extra_antidote_limit") cvar_madnesslimit = get_cvar_pointer("zp_extra_madness_limit") cvar_infbomblimit = get_cvar_pointer("zp_extra_infbomb_limit") cvar_zp_cs_buytime_pistol_mult = register_cvar("zp_cs_buytime_pistol_mult", "3") cvar_zp_cs_buytime_shotgun_mult = register_cvar("zp_cs_buytime_shotgun_mult", "3") cvar_zp_cs_buytime_smgun_mult = register_cvar("zp_cs_buytime_smgun_mult", "3") cvar_zp_cs_buytime_rifle_mult = register_cvar("zp_cs_buytime_rifle_mult", "3") cvar_zp_cs_buytime_biggun_mult = register_cvar("zp_cs_buytime_biggun_mult", "3") cvar_zp_cs_buytime_gren_mult = register_cvar("zp_cs_buytime_gren_mult", "10") cvar_zp_cs_buytime_ammo_mult = register_cvar("zp_cs_buytime_ammo_mult", "10"); cvar_zp_cs_money_human_win = register_cvar("zp_cs_money_human_win", "10000"); cvar_zp_cs_money_human_lose = register_cvar("zp_cs_money_human_lose", "1500"); cvar_zp_cs_money_human_draw = register_cvar("zp_cs_money_human_draw", "7000"); cvar_zp_cs_money_zombie_win = register_cvar("zp_cs_money_zombie_win", "5000"); cvar_zp_cs_money_zombie_lose = register_cvar("zp_cs_money_zombie_lose", "1500"); cvar_zp_cs_money_zombie_draw = register_cvar("zp_cs_money_zombie_draw", "-1500"); cvar_zp_cs_drawround_frag_h = register_cvar("zp_cs_drawround_frag_h", "2"); cvar_zp_cs_drawround_frag_z = register_cvar("zp_cs_drawround_frag_z", "-2"); cvar_zp_cs_drawround_death_h = register_cvar("zp_cs_drawround_death_h", "0"); cvar_zp_cs_drawround_death_z = register_cvar("zp_cs_drawround_death_z", "2"); cvar_zp_cs_zombie_nodeathscore = register_cvar("zp_cs_zombie_nodeathscore", "1"); cvar_zp_cs_killassist_enabled = register_cvar("zp_cs_killassist_enabled", "1") cvar_zp_cs_killassist_mindmg_h = register_cvar("zp_cs_killassist_mindamage_h","250.0") cvar_zp_cs_killassist_mindmg_z = register_cvar("zp_cs_killassist_mindamage_z","45.0") cvar_zp_human_frags_for_kill = get_cvar_pointer("zp_human_frags_for_kill") cvar_zp_zombie_frags_for_infect = get_cvar_pointer("zp_zombie_frags_for_infect") cvar_zp_zombie_infect_health = get_cvar_pointer("zp_zombie_infect_health") cvar_amx_mode = get_cvar_pointer("amx_mode") g_maxplayers = get_maxplayers() for (new id=1;id<=g_maxplayers;id++) { zp_cs_player_moneybonus[id]=0; zp_cs_player_money[id]=get_pcvar_num(cvar_zp_cs_startmoney) } zp_cs_buymenu_ready = false; new strtemp[2]; new strtemp2[32]; for(new i=0;i<99;i++) { num_to_str(i+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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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_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) console_cmd(id,"bind b zp_cs_buymenu"); if (zp_cs_player_moneybonus[id]) { zp_cs_player_money[id]+=zp_cs_player_moneybonus[id] zp_cs_player_moneybonus[id]=0 } if (zp_cs_player_money[id]<get_pcvar_num(cvar_zp_cs_startmoney)) zp_cs_player_money[id]=get_pcvar_num(cvar_zp_cs_startmoney) return FMRES_IGNORED; } public event_round_start() { set_hudmessage(0, 255, 0, -1.0, 0.9, 2, 1.0, 4.5,0.1,0.1,-1) ShowSyncHudMsg(0, g_MsgSyncObj2, "%L", LANG_PLAYER, "BUYMENU_INFO1") zp_cs_buymenu_ready = false; antidoteused = 0 madnessused = 0 infbombused = 0 zp_cs_moneymax = get_pcvar_num(cvar_zp_cs_moneymax); zp_cs_h_income_cash_rate = get_pcvar_float(cvar_zp_cs_h_income_cash_rate) zp_cs_z_income_cash_rate = get_pcvar_float(cvar_zp_cs_z_income_cash_rate) zp_cs_n_income_cash_rate = get_pcvar_float(cvar_zp_cs_n_income_cash_rate) zp_cs_s_income_cash_rate = get_pcvar_float(cvar_zp_cs_s_income_cash_rate) zp_cs_killassist_mindamage_h = get_pcvar_float(cvar_zp_cs_killassist_mindmg_h) zp_cs_killassist_mindamage_z = get_pcvar_float(cvar_zp_cs_killassist_mindmg_z) zp_human_frags_for_kill = get_pcvar_num(cvar_zp_human_frags_for_kill) zp_zombie_frags_for_infect = get_pcvar_num(cvar_zp_zombie_frags_for_infect) zp_zombie_infect_health = get_pcvar_float(cvar_zp_zombie_infect_health) static Float:armor for (new id=1;id<=g_maxplayers;id++) { if (!is_user_connected(id)) continue; menu_cancel(id); pev(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 zp_round_ended(winteam) { if (get_pcvar_num(cvar_zp_cs_restartround)) for (new id=1;id<=g_maxplayers;id++) { zp_cs_player_moneybonus[id]=0; zp_cs_player_money[id]=get_pcvar_num(cvar_zp_cs_startmoney) set_task(0.1, "zp_cs_hevsuitstatusiconhide", id) return PLUGIN_CONTINUE } new color[3] for (new i=0;i<3;i++) color[i]=255*(winteam==i); set_hudmessage(color[1], color[2], color[0], 0.05, 0.60, 1, 4.0, 5.0,0.1,0.2,-1) ShowSyncHudMsg(0,g_MsgSyncObj1, "%L", LANG_PLAYER,Lang_Roundend_msg[winteam]) set_task(1.0,"round_results",winteam); return PLUGIN_CONTINUE } public round_results(winteam) { new strtemp1[16] new color[3] for (new id=1;id<=g_maxplayers;id++) { if ((!is_user_connected(id))||(zp_get_user_survivor(id))||(zp_get_user_nemesis(id))) continue; new MoneyBonus, FragBonus, DeathPenalty; if (zp_get_user_zombie(id)||(zp_get_user_nemesis(id))) { if (winteam==0) { color[0]=255; strtemp1="ROUNDEND_FAIL" MoneyBonus=get_pcvar_num(cvar_zp_cs_money_zombie_draw) FragBonus=get_pcvar_num(cvar_zp_cs_drawround_frag_z) DeathPenalty=get_pcvar_num(cvar_zp_cs_drawround_death_z) } if (winteam==1) { color[1]=255; strtemp1="ROUNDEND_WIN" MoneyBonus=get_pcvar_num(cvar_zp_cs_money_zombie_win) } if (winteam==2) { color[0]=255; strtemp1="ROUNDEND_FAIL" MoneyBonus=get_pcvar_num(cvar_zp_cs_money_zombie_lose) } } else { if (winteam==0) { color[1]=255; strtemp1="ROUNDEND_WIN" MoneyBonus=get_pcvar_num(cvar_zp_cs_money_human_draw) FragBonus=get_pcvar_num(cvar_zp_cs_drawround_frag_h) DeathPenalty=get_pcvar_num(cvar_zp_cs_drawround_death_h) } if (winteam==1) { color[0]=255; strtemp1="ROUNDEND_FAIL" MoneyBonus=get_pcvar_num(cvar_zp_cs_money_human_lose) } if (winteam==2) { color[1]=255; strtemp1="ROUNDEND_WIN" MoneyBonus=get_pcvar_num(cvar_zp_cs_money_human_win) } } zp_cs_player_moneybonus[id]+=MoneyBonus set_pev(id, pev_frags, float(pev(id, pev_frags)+FragBonus)) set_pdata_int(id, OFFSET_DEATHS, get_pdata_int(id, OFFSET_DEATHS, OFFSET_LINUX)+DeathPenalty, OFFSET_LINUX) set_hudmessage(color[0], color[1], color[2], 0.05, 0.63, 2, 1.0, 3.5,0.05,0.05,-1) set_task(0.1,"update_scoreboard",id) if (winteam) ShowSyncHudMsg(id, g_MsgSyncObj2, "%L^n%L: %d", LANG_PLAYER, strtemp1, LANG_PLAYER, "ROUNDEND_MONEY", MoneyBonus) else ShowSyncHudMsg(id, g_MsgSyncObj2, "%L^n%L: %d^n%L: %d^n%L: %d", LANG_PLAYER, strtemp1, LANG_PLAYER, "ROUNDEND_MONEY", MoneyBonus, LANG_PLAYER, "ROUNDEND_FRAGS",FragBonus, LANG_PLAYER, "ROUNDEND_DEATHS",DeathPenalty) } } 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_MsgSyncObj2, "%L", LANG_PLAYER, "BUYMENU_INFO2") } public build_menu() { if (zp_cs_buymenu_ready) { menu_destroy(zp_cs_buymenu) menu_destroy(zp_cs_buymenu_pistol) menu_destroy(zp_cs_buymenu_shotgun) menu_destroy(zp_cs_buymenu_smgun) menu_destroy(zp_cs_buymenu_rifle) menu_destroy(zp_cs_buymenu_biggun) menu_destroy(zp_cs_buymenu_equiph) menu_destroy(zp_cs_buymenu_equipz) } //register menus zp_cs_buymenu = menu_create("Buy Item","zp_cs_buymenu_handle") zp_cs_buymenu_pistol = menu_create("Buy Handgun\R$ Cost^n(Secondary weapon)","zp_cs_subbuymenu_handle") zp_cs_buymenu_shotgun = menu_create("Buy Shotgun\R$ Cost^n(Primary weapon)","zp_cs_subbuymenu_handle") zp_cs_buymenu_smgun = menu_create("Buy Sub-Machnie gun\R$ Cost^n(Primary weapon)","zp_cs_subbuymenu_handle") zp_cs_buymenu_rifle = menu_create("Buy Rifle\R$ Cost^n(Primary weapon)","zp_cs_subbuymenu_handle") zp_cs_buymenu_biggun = menu_create("Buy Heavy Weapons\R$ Cost^n(Primary weapon)","zp_cs_subbuymenu_handle") zp_cs_buymenu_equiph = menu_create("Buy Equipemnt\R$ Cost","zp_cs_subbuymenu_handle") zp_cs_buymenu_equipz = menu_create("Buy Equipemnt\R$ Cost","zp_cs_subbuymenu_handle") new strtemp0[100]; formatex(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_pcvar_string(cvar_zp_cs_buymenu_pistol_name[i], strtemp , 32) if (strtemp[0] != '-') { get_pcvar_string(cvar_zp_cs_buymenu_pistol_todo[i], strtemp3 , 32) if (!zp_cs_buytime_passed) num_to_str(get_pcvar_num(cvar_zp_cs_buymenu_pistol_cost[i]), 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_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_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] == 6)||(zp_cs_submenuid[id] == 7)) { static weapons[32], num, i, currentammo, weaponid, currentammocost, refreshHUD num = 0 refreshHUD = false; get_user_weapons(id, weapons, num) for (i = 0; i < num; i++) { weaponid = weapons[i] if ((((weaponid != 17)&&(weaponid != 16)&&(weaponid != 1)&&(weaponid != 26)&&(weaponid != 0)&&(weaponid != 11)&&(weaponid != 10)&&(zp_cs_submenuid[id] == 6))||(((weaponid == 17)||(weaponid == 16)||(weaponid == 1)||(weaponid == 26)||(weaponid == 0)||(weaponid == 11)||(weaponid == 10))&&(zp_cs_submenuid[id] == 7)))&&(MAXBPAMMO[weaponid] > 2)) { currentammo = fm_get_user_bpammo(id, weaponid) currentammocost = AMMOCOST[weaponid]; if (zp_cs_buytime_passed) currentammocost = currentammocost * get_pcvar_num(cvar_zp_cs_buytime_ammo_mult); while((currentammo < MAXBPAMMO[weaponid])&&(zp_cs_player_money[id]>=currentammocost)) { currentammo += BUYAMMO[weaponid] ExecuteHamB(Ham_GiveAmmo, id, BUYAMMO[weaponid], AMMOTYPE[weaponid], MAXBPAMMO[weaponid]) zp_cs_player_money[id] -= currentammocost; refreshHUD = true; } if ((currentammo < MAXBPAMMO[weaponid])&&(zp_cs_player_money[id]<currentammocost)) { message_begin(MSG_ONE_UNRELIABLE, g_msgMoneyBlink, _, id) write_byte(5); message_end(); client_print(id,print_center,"%L", LANG_PLAYER, "BUYMENU_NO_MONEY"); } if (refreshHUD) { message_begin(MSG_ONE_UNRELIABLE, g_MsgMoney, _, id) write_long(zp_cs_player_money[id]); write_byte(1); message_end(); engfunc(EngFunc_EmitSound, id, CHAN_ITEM, sound_buyammo, 1.0, ATTN_NORM, 0, PITCH_NORM) } } } } 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_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_biggun_cost[i]) if (zp_cs_submenuid[id] == 81) itemcost = get_pcvar_num(cvar_zp_cs_buymenu_equiph_cost[i]) if (zp_cs_submenuid[id] == 82) itemcost = get_pcvar_num(cvar_zp_cs_buymenu_equipz_cost[i]) if (zp_cs_buytime_passed) { if (zp_cs_submenuid[id] == 1) itemcost = itemcost * get_pcvar_num(cvar_zp_cs_buytime_pistol_mult) if (zp_cs_submenuid[id] == 2) itemcost = itemcost * get_pcvar_num(cvar_zp_cs_buytime_shotgun_mult) if (zp_cs_submenuid[id] == 3) itemcost = itemcost * get_pcvar_num(cvar_zp_cs_buytime_smgun_mult) if (zp_cs_submenuid[id] == 4) itemcost = itemcost * get_pcvar_num(cvar_zp_cs_buytime_rifle_mult) if (zp_cs_submenuid[id] == 5) itemcost = itemcost * get_pcvar_num(cvar_zp_cs_buytime_biggun_mult) if (((strfind(cmd, "zp_cs_buy_flashbang") == 0)||(strfind(cmd, "zp_cs_buy_hegrenade") == 0)||(strfind(cmd, "zp_cs_buy_smokegrenade") == 0))&&(zp_cs_submenuid[id] == 81)) itemcost = itemcost * get_pcvar_num(cvar_zp_cs_buytime_gren_mult) } if (zp_cs_player_money[id] < itemcost) //check if player has enough money { message_begin(MSG_ONE_UNRELIABLE, g_msgMoneyBlink, _, id) //HUD write_byte(5); message_end(); client_print(id,print_center,"%L", LANG_PLAYER, "BUYMENU_NO_MONEY") return PLUGIN_HANDLED; } else break; } } if (strfind(cmd, "zp_cs_buy") == 0) { if ((user_has_weapon(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.") zp_cs_player_money[id] -= itemcost; message_begin(MSG_ONE_UNRELIABLE, g_MsgMoney, _, id) write_long(zp_cs_player_money[id]); write_byte(1); message_end(); return PLUGIN_HANDLED; } public ham_PlayerSpawn_Post(id) { if (!task_exists(id+TASK_RESTORE_MONEY)) set_task(0.5,"restore_player_money",id+TASK_RESTORE_MONEY) } public ham_TakeDamage(victim, inflictor, attacker, Float:damage, damage_type) { if ((attacker<1)||(attacker>g_maxplayers)||(victim == attacker)||(!is_user_connected(attacker))) return HAM_IGNORED; zp_cs_damage[attacker][victim]+=damage if (zp_get_user_survivor(attacker)) { zp_cs_player_money[attacker] += floatround(damage*zp_cs_s_income_cash_rate); if (zp_cs_player_money[attacker] > zp_cs_moneymax) zp_cs_player_money[attacker]=zp_cs_moneymax; message_begin(MSG_ONE_UNRELIABLE, g_MsgMoney, _, attacker); write_long(zp_cs_player_money[attacker]); write_byte(1); message_end(); return HAM_IGNORED; } if (zp_get_user_zombie(attacker)||zp_get_user_nemesis(attacker)) { static Float:armor pev(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); if (!zp_get_user_nemesis(attacker)||zp_get_user_survivor(victim)) { if (!zp_get_user_nemesis(attacker)) zp_cs_player_money[attacker] +=floatround(damage*zp_cs_z_income_cash_rate); else zp_cs_player_money[attacker] +=floatround(damage*zp_cs_n_income_cash_rate); if (zp_cs_player_money[attacker] > zp_cs_moneymax) zp_cs_player_money[attacker]=zp_cs_moneymax; message_begin(MSG_ONE_UNRELIABLE, g_MsgMoney, _, attacker); write_long(zp_cs_player_money[attacker]); write_byte(1); message_end(); } return HAM_IGNORED; } else { zp_cs_player_money[attacker] += floatround(damage*zp_cs_h_income_cash_rate); if (zp_cs_player_money[attacker] > zp_cs_moneymax) zp_cs_player_money[attacker]=zp_cs_moneymax; message_begin(MSG_ONE_UNRELIABLE, g_MsgMoney, _, attacker); write_long(zp_cs_player_money[attacker]); write_byte(1); message_end(); 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); zp_cs_player_moneybonus[attacker]+=get_pcvar_num(cvar_zp_cs_infectmoneybonus) } else if (zp_get_user_nemesis(attacker)) { menu_cancel(victim); set_task(0.1, "zp_cs_hevsuitstatusiconhide", victim); zp_cs_player_moneybonus[attacker]+=floatround(float(get_pcvar_num(cvar_zp_cs_infectmoneybonus))*zp_cs_n_income_cash_rate); } else if (zp_get_user_survivor(attacker)) zp_cs_player_moneybonus[attacker]+=floatround(float(get_pcvar_num(cvar_zp_cs_money_killbonus))*zp_cs_s_income_cash_rate); else zp_cs_player_moneybonus[attacker]+=get_pcvar_num(cvar_zp_cs_money_killbonus); if (zp_get_user_zombie(attacker)&&!zp_get_user_nemesis(attacker)) { if (get_pcvar_num(cvar_zp_cs_zombie_nodeathscore)) set_pdata_int(victim, OFFSET_DEATHS, get_pdata_int(victim, OFFSET_DEATHS, OFFSET_LINUX)-1, OFFSET_LINUX) zp_cs_player_moneybonus[victim]+=get_pcvar_num(cvar_zp_cs_deathmoneybonus) } if (!task_exists(attacker+TASK_RESTORE_MONEY)) set_task(0.1,"restore_player_money",attacker+TASK_RESTORE_MONEY) return HAM_IGNORED; } public zp_user_humanized_pre(id,survivor) { if (survivor) menu_cancel(id); return PLUGIN_CONTINUE; } public message_DeathMsg() { if (!get_pcvar_num(cvar_zp_cs_killassist_enabled)) return PLUGIN_CONTINUE; new attacker = read_data(1) new victim = read_data(2) new headshot = read_data(3) new assistant_id=0 new Float: assistant_damage new FragBonus new MoneyBonus static weapon_name[32], weapon_name_full[32] if (zp_get_user_zombie(attacker)) { assistant_damage=zp_cs_killassist_mindamage_z FragBonus=zp_zombie_frags_for_infect MoneyBonus=get_pcvar_num(cvar_zp_cs_infectmoneybonus) } else { assistant_damage=zp_cs_killassist_mindamage_h FragBonus=zp_human_frags_for_kill MoneyBonus=get_pcvar_num(cvar_zp_cs_money_killbonus) } for (new id=1;id<=g_maxplayers;id++) { if ((is_user_connected(id))&&(id!=attacker)&&(zp_cs_damage[id][victim]>=assistant_damage)&&(zp_get_user_zombie(id)==zp_get_user_zombie(attacker))) { assistant_damage=zp_cs_damage[id][victim] assistant_id=id } zp_cs_damage[id][victim]=0.0 } if (!assistant_id) return PLUGIN_CONTINUE static attacker_name[32], attacker_name_len, assistant_id_name[32], assistant_id_name_len set_pev(assistant_id, pev_frags, float(pev(assistant_id, pev_frags)+FragBonus)) zp_cs_player_moneybonus[assistant_id]+=MoneyBonus attacker_name_len = get_user_name(attacker, attacker_name, charsmax(attacker_name)) assistant_id_name_len = get_user_name(assistant_id, assistant_id_name, charsmax(assistant_id_name)) attacker_name=PlayerOldName[attacker] if(attacker_name_len < 14) { formatex(attacker_name, attacker_name_len, "%s", attacker_name) formatex(assistant_id_name, 28-attacker_name_len, "%s", assistant_id_name) } else if(assistant_id_name_len < 14) { formatex(attacker_name, 28-assistant_id_name_len, "%s", attacker_name) formatex(assistant_id_name, assistant_id_name_len, "%s", assistant_id_name) } else { formatex(attacker_name, 13, "%s", attacker_name) formatex(assistant_id_name, 13, "%s", assistant_id_name) } formatex(attacker_name, charsmax(attacker_name), "%s + %s", attacker_name, assistant_id_name) set_msg_block(g_msgSayText, BLOCK_ONCE) new temp1 = get_pcvar_num(cvar_amx_mode) set_pcvar_num(cvar_amx_mode,0) set_user_info(attacker, "name", attacker_name) set_pcvar_num(cvar_amx_mode,temp1) if (zp_get_user_zombie(assistant_id)) { new Float: currentHP = pev(assistant_id,pev_health) if ((currentHP+zp_zombie_infect_health)<float(zp_get_zombie_maxhealth(assistant_id))) set_pev(assistant_id,pev_health,currentHP+zp_zombie_infect_health) else set_pev(assistant_id,pev_health,float(zp_get_zombie_maxhealth(assistant_id))) } set_task(0.1,"update_scoreboard",assistant_id) if (!task_exists(assistant_id+TASK_RESTORE_MONEY)) set_task(0.1,"restore_player_money",assistant_id+TASK_RESTORE_MONEY) read_data(4, weapon_name, charsmax(weapon_name)) if (equal(weapon_name,"grenade")) weapon_name="hegrenade" formatex(weapon_name_full, charsmax(weapon_name_full), "weapon_%s", weapon_name) new arg[4] arg[0] = attacker arg[1] = victim arg[2] = headshot arg[3] = get_weaponid(weapon_name_full) set_task(0.1, "zp_cs_kill_assist", 0, arg, 4) return PLUGIN_HANDLED } 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 (get_pcvar_num(cvar_zp_cs_killassist_enabled)) { new assistant_id=0 new Float: assistant_damage = zp_cs_killassist_mindamage_z for (new i=1;i<=g_maxplayers;i++) { if ((is_user_connected(i))&&(i!=infector)&&(zp_cs_damage[i][id]>=assistant_damage)&&(zp_get_user_zombie(i))) { assistant_damage=zp_cs_damage[i][id] assistant_id=i } zp_cs_damage[i][id]=0.0 } if (!assistant_id) return PLUGIN_CONTINUE static infector_name[32], infector_name_len, assistant_id_name[32], assistant_id_name_len set_pev(assistant_id, pev_frags, float(pev(assistant_id, pev_frags)+zp_zombie_frags_for_infect)) zp_cs_player_moneybonus[assistant_id]+=get_pcvar_num(cvar_zp_cs_infectmoneybonus) infector_name_len = get_user_name(infector, infector_name, charsmax(infector_name)) assistant_id_name_len = get_user_name(assistant_id, assistant_id_name, charsmax(assistant_id_name)) infector_name=PlayerOldName[infector] if(infector_name_len < 14) { formatex(infector_name, infector_name_len, "%s", infector_name) formatex(assistant_id_name, 28-infector_name_len, "%s", assistant_id_name) } else if(assistant_id_name_len < 14) { formatex(infector_name, 28-assistant_id_name_len, "%s", infector_name) formatex(assistant_id_name, assistant_id_name_len, "%s", assistant_id_name) } else { formatex(infector_name, 13, "%s", infector_name) formatex(assistant_id_name, 13, "%s", assistant_id_name) } formatex(infector_name, charsmax(infector_name), "%s + %s", infector_name, assistant_id_name) set_msg_block(g_msgSayText, BLOCK_ONCE) new temp1 = get_pcvar_num(cvar_amx_mode) set_pcvar_num(cvar_amx_mode,0) if ( is_user_connected ( id ) ) { set_user_info(infector, "name", infector_name) } set_pcvar_num(cvar_amx_mode,temp1) new Float: currentHP = pev(assistant_id,pev_health) if ((currentHP+zp_zombie_infect_health)<float(zp_get_zombie_maxhealth(assistant_id))) set_pev(assistant_id,pev_health,currentHP+zp_zombie_infect_health) else set_pev(assistant_id,pev_health,float(zp_get_zombie_maxhealth(assistant_id))) set_task(0.1,"update_scoreboard",assistant_id) if (!task_exists(assistant_id+TASK_RESTORE_MONEY)) set_task(0.1,"restore_player_money",assistant_id+TASK_RESTORE_MONEY) } if (zp_get_user_nemesis(id)||(infector!=0)) return PLUGIN_CONTINUE; static strtemp1[100],strtemp2[100], weapons[32], 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)) zp_cs_player_moneybonus[id]+=get_pcvar_num(cvar_zp_cs_buymenu_pistol_cost[i]) } for(new i=0;i<99;i++) { strtemp2 = "" get_pcvar_string(cvar_zp_cs_buymenu_shotgun_todo[i], strtemp2 , charsmax(strtemp2)) if (equal(strtemp1,strtemp2)) zp_cs_player_moneybonus[id]+=get_pcvar_num(cvar_zp_cs_buymenu_shotgun_cost[i]) } for(new i=0;i<99;i++) { strtemp2 = "" get_pcvar_string(cvar_zp_cs_buymenu_smgun_todo[i], strtemp2 , charsmax(strtemp2)) if (equal(strtemp1,strtemp2)) zp_cs_player_moneybonus[id]+=get_pcvar_num(cvar_zp_cs_buymenu_smgun_cost[i]) } for(new i=0;i<99;i++) { strtemp2 = "" get_pcvar_string(cvar_zp_cs_buymenu_rifle_todo[i], strtemp2 , charsmax(strtemp2)) if (equal(strtemp1,strtemp2)) zp_cs_player_moneybonus[id]+=get_pcvar_num(cvar_zp_cs_buymenu_rifle_cost[i]) } for(new i=0;i<99;i++) { strtemp2 = "" get_pcvar_string(cvar_zp_cs_buymenu_biggun_todo[i], strtemp2 , charsmax(strtemp2)) if (equal(strtemp1,strtemp2)) zp_cs_player_moneybonus[id]+=get_pcvar_num(cvar_zp_cs_buymenu_biggun_cost[i]) } } if (!task_exists(id+TASK_RESTORE_MONEY)) set_task(0.1,"restore_player_money",id+TASK_RESTORE_MONEY) client_print(id,print_chat,"%L", LANG_PLAYER, "BUYMENU_MONEYBACK") return PLUGIN_CONTINUE; } public zp_user_infected_post(id, infector) { if ((infector<=g_maxplayers)&&(infector>0)&&(id!=infector)) { if (!zp_get_user_nemesis(infector)) zp_cs_player_moneybonus[infector]+=get_pcvar_num(cvar_zp_cs_infectmoneybonus) else zp_cs_player_moneybonus[infector]+=floatround(float(get_pcvar_num(cvar_zp_cs_infectmoneybonus))*zp_cs_n_income_cash_rate); if (!task_exists(infector+TASK_RESTORE_MONEY)) set_task(0.1,"restore_player_money",infector+TASK_RESTORE_MONEY) if (get_pcvar_num(cvar_zp_cs_killassist_enabled)) { new temp1 = get_pcvar_num(cvar_amx_mode) set_pcvar_num(cvar_amx_mode,0) set_msg_block(g_msgSayText, BLOCK_ONCE) set_user_info(infector,"name",PlayerOldName[infector]) set_pcvar_num(cvar_amx_mode,temp1) } } if ((id<1)||(id>g_maxplayers)) return PLUGIN_CONTINUE; menu_cancel(id) set_task(0.1, "zp_cs_hevsuitstatusiconhide", id) return PLUGIN_CONTINUE; } public restore_player_money(id) { id-=TASK_RESTORE_MONEY; if (is_user_bot(id)) set_pdata_int(id,OFFSET_MONEY,16000,OFFSET_LINUX) else set_pdata_int(id,OFFSET_MONEY,0,OFFSET_LINUX) message_begin(MSG_ONE_UNRELIABLE, g_MsgMoney, _, id); write_long(zp_cs_player_money[id]); write_byte(1); message_end(); zp_cs_player_money[id]+=zp_cs_player_moneybonus[id]; if (zp_cs_player_money[id] > zp_cs_moneymax) zp_cs_player_money[id]=zp_cs_moneymax; if (zp_cs_player_money[id] < 0) zp_cs_player_money[id]=0; message_begin(MSG_ONE_UNRELIABLE, g_MsgMoney, _, id); write_long(zp_cs_player_money[id]); write_byte(1); message_end(); zp_cs_player_moneybonus[id]=0; } public fm_strip_user_weapons(id) { static ent ent = engfunc(EngFunc_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(); } [/code]
Vezi daca mai face
NU IMI MAI DA-TI PM CU CERERE AJUTOR/SAMD, FOLOSITI FORUMUL, CITESC MAJORITATEA TOPICURILOR.
www.dark-arena.com , SERVERE CS / CS2 / L4D AU REVENIT ONLINE.
www.diasporaiptv.ro - SERVICII PREMIUM IPTV
www.dark-arena.com , SERVERE CS / CS2 / L4D AU REVENIT ONLINE.
www.diasporaiptv.ro - SERVICII PREMIUM IPTV
Return to “Probleme la servere dedicate de Counter-Strike”
Jump to
- eXtream - Forum
- ↳ Steam
- ↳ Forum
- ↳ WebDesign
- ↳ Incepatori
- ↳ Cos de reciclare
- ↳ Discutii generale
- ↳ Anunturi
- ↳ Security zone
- ↳ Filme si seriale
- ↳ Reclamatii
- ↳ Entertainment
- ↳ Distractie
- ↳ Clubul eXtreamCS - Intra si tu ! [noi oportunitati]
- eXtream - Echipa
- ↳ Productia eXtream
- ↳ Harti eXtream
- ↳ CS.eXtreamCS.com - Server oficial eXtreamCS
- ↳ Zona administrativă
- ↳ Cereri acces
- ↳ Cereri unban
- ↳ Reclamații
- ↳ Admin zone
- ↳ CS2.eXtreamCS.com - Server official eXtreamCS
- ↳ XMAS.eXtreamCS.com
- ↳ Cereri admin
- ↳ Cereri unban
- ↳ Reclamatii / Sugestii
- ↳ eXtreamCS #PubMasters
- eXtream - Counter-Strike 2
- ↳ Counter-Strike 2
- eXtream - Counter-Strike 1.6
- ↳ Diverse
- ↳ Filme gaming
- ↳ Meciuri
- ↳ Tutoriale
- ↳ Tutoriale
- ↳ Cereri
- ↳ Discutii generale
- ↳ Probleme la servere dedicate de Counter-Strike
- ↳ Cereri admin / slot
- ↳ Probleme in jocul Counter-Strike
- ↳ Pluginuri
- ↳ Pluginuri eXtream
- ↳ Cereri
- ↳ AdminMod
- ↳ AmxModX
- ↳ Resurse
- ↳ Moduri
- ↳ Addon-uri
- ↳ Kit-uri
- ↳ Harti
- ↳ Diverse
- ↳ Cereri
- ↳ Servere
- ↳ Programarea CS-ului
- ↳ Scripting
- ↳ Modificari pluginuri
- ↳ CStrike
- ↳ Cereri
- eXtream - Counter Strike Global Offensive
- ↳ Diverse
- ↳ Meciuri
- ↳ Tutoriale
- ↳ Probleme la servere dedicate de Counter-Strike: Global Offensive
- ↳ Probleme in jocul Counter-Strike: Global Offensive
- ↳ Pluginuri
- ↳ Cereri
- ↳ Resurse
- ↳ Addons-uri
- ↳ Hărți
- ↳ Diverse
- ↳ Servere
- eXtream - Counter-Strike Source
- ↳ Tutoriale
- ↳ Pluginuri
- ↳ Servere
- ↳ Resurse
- ↳ Harti
- ↳ Moduri
- ↳ Diverse
- ↳ Classic » CS
- ↳ Anunțuri administrative
- ↳ Cereri admin/slot
- ↳ Cereri unban
- ↳ Reclamații
- ↳ Banlist
- ↳ Admins Only
- ↳ Discord