brakuje :
zombie_plague40.amxx zp_zclasses40.amxx
Są te pluginy.
-------------------------------------------
Goldenaka i human armon nie bierzmy już pod uwagę bo skasowałem.
-------------------------------------------
Spoiler
L 01/24/2013 - 16:06:49: Start of error session. L 01/24/2013 - 16:06:49: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20130124.log") L 01/24/2013 - 16:06:49: [AMXX] Plugin file open error (plugin "zombie_plague40.amxx") L 01/24/2013 - 16:06:49: [AMXX] Plugin file open error (plugin "zp_zclasses40.amxx") L 01/24/2013 - 16:07:25: Start of error session. L 01/24/2013 - 16:07:25: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20130124.log") L 01/24/2013 - 16:07:25: [AMXX] Plugin file open error (plugin "zombie_plague40.amxx") L 01/24/2013 - 16:07:25: [AMXX] Plugin file open error (plugin "zp_zclasses40.amxx") L 01/24/2013 - 16:51:42: Start of error session. L 01/24/2013 - 16:51:42: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20130124.log") L 01/24/2013 - 16:51:42: [AMXX] Invalid Plugin (plugin "zp_antiblock.amxx") L 01/24/2013 - 17:10:01: Start of error session. L 01/24/2013 - 17:10:01: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20130124.log") L 01/24/2013 - 17:10:01: [AMXX] Invalid Plugin (plugin "zp_antiblock.amxx") L 01/24/2013 - 17:10:01: [AMXX] Invalid Plugin (plugin "zp_buy_health_points.amxx") L 01/24/2013 - 17:10:01: [AMXX] Invalid Plugin (plugin "zp_extra_bazooka.amxx") L 01/24/2013 - 17:14:08: Start of error session. L 01/24/2013 - 17:14:08: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20130124.log") L 01/24/2013 - 17:14:08: [AMXX] Invalid Plugin (plugin "zp_antiblock.amxx") L 01/24/2013 - 17:14:08: [AMXX] Invalid Plugin (plugin "zp_buy_health_points.amxx") L 01/24/2013 - 17:14:08: [AMXX] Invalid Plugin (plugin "zp_extra_bazooka.amxx") L 01/24/2013 - 17:16:29: Start of error session. L 01/24/2013 - 17:16:29: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20130124.log") L 01/24/2013 - 17:16:29: [AMXX] Invalid Plugin (plugin "zp_antiblock.amxx") L 01/24/2013 - 17:16:29: [AMXX] Invalid Plugin (plugin "zp_buy_health_points.amxx") L 01/24/2013 - 17:16:29: [AMXX] Invalid Plugin (plugin "zp_extra_bazooka.amxx") L 01/24/2013 - 17:16:29: [AMXX] Plugin file open error (plugin "zp_extra_human_armor.amxx") L 01/24/2013 - 17:21:44: Start of error session. L 01/24/2013 - 17:21:44: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20130124.log") L 01/24/2013 - 17:21:44: [AMXX] Invalid Plugin (plugin "zp_antiblock.amxx") L 01/24/2013 - 17:21:44: [AMXX] Invalid Plugin (plugin "zp_buy_health_points.amxx") L 01/24/2013 - 17:21:44: [AMXX] Invalid Plugin (plugin "zp_extra_bazooka.amxx") L 01/24/2013 - 17:21:44: [AMXX] Plugin file open error (plugin "zp_extra_human_armor.amxx") L 01/24/2013 - 17:24:19: Start of error session. L 01/24/2013 - 17:24:19: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20130124.log") L 01/24/2013 - 17:24:19: [AMXX] Invalid Plugin (plugin "zp_antiblock.amxx") L 01/24/2013 - 17:24:19: [AMXX] Invalid Plugin (plugin "zp_extra_bazooka.amxx") L 01/24/2013 - 17:25:13: Start of error session. L 01/24/2013 - 17:25:13: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20130124.log") L 01/24/2013 - 17:25:13: [AMXX] Invalid Plugin (plugin "zp_antiblock.amxx") L 01/24/2013 - 17:25:13: [AMXX] Invalid Plugin (plugin "zp_extra_bazooka.amxx") L 01/24/2013 - 17:25:13: [AMXX] Plugin file open error (plugin "zp_extra_goldenak.amxx") L 01/24/2013 - 17:27:19: Start of error session. L 01/24/2013 - 17:27:19: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20130124.log") L 01/24/2013 - 17:27:19: [AMXX] Invalid Plugin (plugin "zp_antiblock.amxx") L 01/24/2013 - 17:27:19: [AMXX] Invalid Plugin (plugin "zp_extra_bazooka.amxx") L 01/24/2013 - 17:29:06: Start of error session. L 01/24/2013 - 17:29:06: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20130124.log") L 01/24/2013 - 17:29:06: [AMXX] Invalid Plugin (plugin "zp_antiblock.amxx") L 01/24/2013 - 17:29:06: [AMXX] Invalid Plugin (plugin "zp_extra_bazooka.amxx") L 01/24/2013 - 17:29:45: Start of error session. L 01/24/2013 - 17:29:45: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20130124.log") L 01/24/2013 - 17:29:45: [AMXX] Invalid Plugin (plugin "zp_antiblock.amxx") L 01/24/2013 - 17:29:45: [AMXX] Invalid Plugin (plugin "zp_extra_bazooka.amxx") L 01/24/2013 - 17:29:45: [AMXX] Plugin file open error (plugin "zp_extra_goldenak.amxx") L 01/24/2013 - 17:32:38: Start of error session. L 01/24/2013 - 17:32:38: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20130124.log") L 01/24/2013 - 17:32:38: [AMXX] Invalid Plugin (plugin "zp_antiblock.amxx") L 01/24/2013 - 17:32:38: [AMXX] Invalid Plugin (plugin "zp_extra_bazooka.amxx") L 01/24/2013 - 17:32:38: [AMXX] Plugin file open error (plugin "zp_extra_goldenak.amxx") L 01/24/2013 - 17:32:38: [AMXX] Invalid Plugin (plugin "zp_buy_health_points.amxx") L 01/24/2013 - 17:41:45: Start of error session. L 01/24/2013 - 17:41:45: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20130124.log") L 01/24/2013 - 17:41:45: [AMXX] Invalid Plugin (plugin "zp_antiblock.amxx") L 01/24/2013 - 17:41:45: [AMXX] Invalid Plugin (plugin "zp_extra_bazooka.amxx") L 01/24/2013 - 17:41:45: [AMXX] Plugin file open error (plugin "zp_extra_goldenak.amxx") L 01/24/2013 - 17:41:45: [AMXX] Invalid Plugin (plugin "zp_buy_health_points.amxx") L 01/24/2013 - 17:41:45: [AMXX] Failed to allocate memory (plugin "zp_auto_gravity1.7.amxx") L 01/24/2013 - 17:41:45: [AMXX] Failed to allocate memory (plugin "zp_extra_radar_zombie.amxx") L 01/24/2013 - 17:45:04: Start of error session. L 01/24/2013 - 17:45:04: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20130124.log") L 01/24/2013 - 17:45:04: [AMXX] Invalid Plugin (plugin "zp_antiblock.amxx") L 01/24/2013 - 17:45:04: [AMXX] Invalid Plugin (plugin "zp_extra_bazooka.amxx") L 01/24/2013 - 17:45:04: [AMXX] Plugin file open error (plugin "zp_extra_goldenak.amxx") L 01/24/2013 - 17:45:04: [AMXX] Failed to allocate memory (plugin "zp_extra_radar_zombie.amxx") L 01/24/2013 - 17:45:04: [AMXX] Invalid Plugin (plugin "zp_buy_health_points.amxx") L 01/24/2013 - 17:45:04: [AMXX] Failed to allocate memory (plugin "zp_auto_gravity1.7.amxx") L 01/24/2013 - 17:51:50: Start of error session. L 01/24/2013 - 17:51:50: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20130124.log") L 01/24/2013 - 17:51:50: [AMXX] Invalid Plugin (plugin "zp_antiblock.amxx") L 01/24/2013 - 17:51:50: [AMXX] Invalid Plugin (plugin "zp_extra_bazooka.amxx") L 01/24/2013 - 17:51:50: [AMXX] Plugin file open error (plugin "zp_extra_goldenak.amxx") L 01/24/2013 - 17:51:50: [AMXX] Failed to allocate memory (plugin "zp_extra_radar_zombie.amxx") L 01/24/2013 - 18:00:19: Start of error session. L 01/24/2013 - 18:00:19: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20130124.log") L 01/24/2013 - 18:00:19: [AMXX] Invalid Plugin (plugin "zp_antiblock.amxx") L 01/24/2013 - 18:00:19: [AMXX] Invalid Plugin (plugin "zp_extra_bazooka.amxx") L 01/24/2013 - 18:00:19: [AMXX] Plugin file open error (plugin "zp_extra_goldenak.amxx") L 01/24/2013 - 18:00:19: [AMXX] Failed to allocate memory (plugin "zp_extra_radar_zombie.amxx") L 01/24/2013 - 18:02:23: Start of error session. L 01/24/2013 - 18:02:23: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20130124.log") L 01/24/2013 - 18:02:23: [AMXX] Invalid Plugin (plugin "zp_antiblock.amxx") L 01/24/2013 - 18:02:23: [AMXX] Invalid Plugin (plugin "zp_extra_bazooka.amxx") L 01/24/2013 - 18:02:23: [AMXX] Plugin file open error (plugin "zp_extra_goldenak.amxx") L 01/24/2013 - 18:02:23: [AMXX] Failed to allocate memory (plugin "zp_extra_radar_zombie.amxx") L 01/24/2013 - 18:27:34: Start of error session. L 01/24/2013 - 18:27:34: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20130124.log") L 01/24/2013 - 18:27:34: [AMXX] Invalid Plugin (plugin "zp_antiblock.amxx") L 01/24/2013 - 18:27:34: [AMXX] Invalid Plugin (plugin "zp_extra_bazooka.amxx") L 01/24/2013 - 18:27:34: [AMXX] Plugin file open error (plugin "zp_extra_goldenak.amxx") L 01/24/2013 - 18:27:34: [AMXX] Failed to allocate memory (plugin "zp_extra_radar_zombie.amxx") L 01/24/2013 - 18:52:41: Start of error session. L 01/24/2013 - 18:52:41: Info (map "de_aztec") (file "addons/amxmodx/logs/error_20130124.log") L 01/24/2013 - 18:52:41: [AMXX] Invalid Plugin (plugin "zp_antiblock.amxx") L 01/24/2013 - 18:52:41: [AMXX] Invalid Plugin (plugin "zp_extra_bazooka.amxx") L 01/24/2013 - 18:52:41: [AMXX] Plugin file open error (plugin "zp_extra_goldenak.amxx") L 01/24/2013 - 18:52:41: [AMXX] Failed to allocate memory (plugin "zp_extra_radar_zombie.amxx") L 01/24/2013 - 19:17:47: Start of error session. L 01/24/2013 - 19:17:47: Info (map "de_cbble") (file "addons/amxmodx/logs/error_20130124.log") L 01/24/2013 - 19:17:47: [AMXX] Invalid Plugin (plugin "zp_antiblock.amxx") L 01/24/2013 - 19:17:47: [AMXX] Invalid Plugin (plugin "zp_extra_bazooka.amxx") L 01/24/2013 - 19:17:47: [AMXX] Plugin file open error (plugin "zp_extra_goldenak.amxx") L 01/24/2013 - 19:17:47: [AMXX] Failed to allocate memory (plugin "zp_extra_radar_zombie.amxx") L 01/24/2013 - 19:42:54: Start of error session. L 01/24/2013 - 19:42:54: Info (map "de_dust") (file "addons/amxmodx/logs/error_20130124.log") L 01/24/2013 - 19:42:54: [AMXX] Invalid Plugin (plugin "zp_antiblock.amxx") L 01/24/2013 - 19:42:54: [AMXX] Invalid Plugin (plugin "zp_extra_bazooka.amxx") L 01/24/2013 - 19:42:54: [AMXX] Plugin file open error (plugin "zp_extra_goldenak.amxx") L 01/24/2013 - 19:42:54: [AMXX] Failed to allocate memory (plugin "zp_extra_radar_zombie.amxx") L 01/24/2013 - 20:08:01: Start of error session. L 01/24/2013 - 20:08:01: Info (map "de_prodigy") (file "addons/amxmodx/logs/error_20130124.log") L 01/24/2013 - 20:08:01: [AMXX] Invalid Plugin (plugin "zp_antiblock.amxx") L 01/24/2013 - 20:08:01: [AMXX] Invalid Plugin (plugin "zp_extra_bazooka.amxx") L 01/24/2013 - 20:08:01: [AMXX] Plugin file open error (plugin "zp_extra_goldenak.amxx") L 01/24/2013 - 20:08:01: [AMXX] Failed to allocate memory (plugin "zp_extra_radar_zombie.amxx") L 01/24/2013 - 20:30:08: Start of error session. L 01/24/2013 - 20:30:08: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20130124.log") L 01/24/2013 - 20:30:08: [AMXX] Invalid Plugin (plugin "zp_antiblock.amxx") L 01/24/2013 - 20:30:08: [AMXX] Invalid Plugin (plugin "zp_extra_bazooka.amxx") L 01/24/2013 - 20:30:08: [AMXX] Failed to allocate memory (plugin "zp_extra_radar_zombie.amxx") L 01/24/2013 - 20:30:08: [AMXX] Invalid Plugin (plugin "zp_buy_health_points.amxx") L 01/24/2013 - 20:30:08: [AMXX] Failed to allocate memory (plugin "zp_auto_gravity1.7.amxx") L 01/24/2013 - 20:33:47: Start of error session. L 01/24/2013 - 20:33:47: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20130124.log") L 01/24/2013 - 20:33:47: [AMXX] Invalid Plugin (plugin "zp_antiblock.amxx") L 01/24/2013 - 20:33:47: [AMXX] Invalid Plugin (plugin "zp_extra_bazooka.amxx") L 01/24/2013 - 20:33:47: [AMXX] Failed to allocate memory (plugin "zp_extra_radar_zombie.amxx") L 01/24/2013 - 20:33:47: [AMXX] Invalid Plugin (plugin "zp_buy_health_points.amxx") L 01/24/2013 - 20:33:47: [AMXX] Failed to allocate memory (plugin "zp_auto_gravity1.7.amxx") L 01/24/2013 - 20:59:04: Start of error session. L 01/24/2013 - 20:59:04: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20130124.log") L 01/24/2013 - 20:59:04: [AMXX] Invalid Plugin (plugin "zp_antiblock.amxx") L 01/24/2013 - 20:59:04: [AMXX] Invalid Plugin (plugin "zp_extra_bazooka.amxx") L 01/24/2013 - 20:59:04: [AMXX] Failed to allocate memory (plugin "zp_extra_radar_zombie.amxx") L 01/24/2013 - 20:59:04: [AMXX] Failed to allocate memory (plugin "zp_buy_health_points.amxx") L 01/24/2013 - 20:59:04: [AMXX] Failed to allocate memory (plugin "zp_auto_gravity1.7.amxx")
Spoiler
#include <amxmodx> #include <fakemeta> #include <zombieplague> #include <xs> enum CsTeams { CS_TEAM_UNASSIGNED = 0, CS_TEAM_T = 1, CS_TEAM_CT = 2, CS_TEAM_SPECTATOR = 3 } #define OFFSET_TEAM 114 #define cs_get_user_team(%1) CsTeams:get_pdata_int(%1, OFFSET_TEAM) new cvar_antiblock, Float:g_lasttimetouched[33] // lol public plugin_init() { register_plugin("anti block", "0.1", "cheap_suit") register_forward(FM_Touch, "fwd_touch") register_forward(FM_PlayerPreThink, "fwd_playerprethink") cvar_antiblock = register_cvar("zp_antiblock", "1") } public fwd_playerprethink(id) { if(!is_user_alive(id)) return FMRES_IGNORED static solid; solid = pev(id, pev_solid) if(solid == SOLID_NOT && (get_gametime() - g_lasttimetouched[id]) > 0.34) set_pev(id, pev_solid, SOLID_BBOX) return FMRES_IGNORED } public fwd_touch(blocker, id) { if(!is_user_alive(blocker) || !is_user_alive(id) || !get_pcvar_num(cvar_antiblock)) return FMRES_IGNORED static button[2] button[0] = pev(id, pev_button), button[1] = pev(blocker, pev_button) if(button[0] & IN_USE || button[1] & IN_USE) { static CsTeams:team[2] team[0] = cs_get_user_team(id), team[1] = cs_get_user_team(blocker) if(team[0] != team[1]) return FMRES_IGNORED set_pev(blocker, pev_solid, SOLID_NOT), set_pev(id, pev_solid, SOLID_NOT) static Float:gametime; gametime = get_gametime() g_lasttimetouched[id] = gametime, g_lasttimetouched[blocker] = gametime } return FMRES_IGNORED }
Spoiler
#include <amxmodx> #include <zombieplague> #define PLUGIN "Start Whit Gravity" #define VERSION "0.1" #define AUTHOR "AlejandroSk" new cvar_time, cvar_toggle, cvar_message, cvar_totalgrav, cvar_zombieon, cvar_nemon, cvar_survon new cvar_nemround, cvar_plagueround, cvar_swarmround new g_grav[33] public plugin_init(){ register_plugin(PLUGIN, VERSION, AUTHOR) cvar_time = register_cvar("zp_grav_delay", "15") // Time for gravity cvar_toggle = register_cvar("zp_grav_toggle", "1") // Is gravity on? cvar_message = register_cvar("zp_grav_msg", "1") // Is messages on? cvar_totalgrav = register_cvar("zp_grav_total", "300") // Total gravity cvar_zombieon = register_cvar("zp_grav_zombie", "0") // If player become zombie, have gravity? cvar_nemon = register_cvar("zp_grav_nemesis", "0") // If player become nemesis , Have gravity? cvar_survon = register_cvar("zp_grav_survivor", "0") // If Player become surv , have grav? cvar_nemround = register_cvar("zp_grav_in_nemround", "1") // If nemesis round , is grav on? cvar_plagueround = register_cvar("zp_grav_in_plagueround", "1") // If plague round , is grav on? cvar_swarmround = register_cvar("zp_grav_in_swarmround", "1") // If swarm round , is grav on? register_logevent("EventRoundStart", 2, "1=Round_Start"); } public EventRoundStart(id) { if (get_pcvar_num(cvar_toggle)) { if (g_grav[id]) { server_cmd("sv_gravity %i", (get_pcvar_num(cvar_totalgrav))) set_task(get_pcvar_float(cvar_time),"sacargrav",id) g_grav[id] = true } // Get zombie if (zp_get_user_zombie(id)) { if (get_pcvar_num(cvar_zombieon)) { g_grav[id] = true } } // Get nemesis if (zp_get_user_nemesis(id)) { if (get_pcvar_num(cvar_nemon)) { g_grav[id] = true } } // Get survivor if (zp_get_user_survivor(id)) { if (get_pcvar_num(cvar_survon)) { g_grav[id] = true } } // Nemesis Round if (zp_is_nemesis_round()) { if (get_pcvar_num(cvar_nemround)) { g_grav[id] = true } } // Plague Round if (zp_is_plague_round()) { if (get_pcvar_num(cvar_plagueround)) { g_grav[id] = true } } // Swarm Round if (zp_is_swarm_round()) { if (get_pcvar_num(cvar_swarmround)) { g_grav[id] = true } } } if (get_pcvar_num(cvar_message)) { set_hudmessage(255, 0, 0, -1.0, 0.01) show_hudmessage(id, "God gives you some seconds of gravity!") } } public sacargrav(id) { server_cmd("sv_gravity 800") if (get_pcvar_num(cvar_message)) { set_hudmessage(255, 0, 0, -1.0, 0.01) show_hudmessage(id, "Your gravity has ended.") } }
Spoiler
#include <amxmodx> #include <fun> #include <engine> #include <fakemeta> #include <hamsandwich> #include <zombieplague> #define PLUGINNAME "Extra Item Bazooka" #define VERSION "1.0" #define AUTHOR "B!gBud" #define ACCESS_LEVEL ADMIN_LEVEL_A #define VOTE_ACCESS ADMIN_CFG #define TE_EXPLOSION 3 #define TE_BEAMFOLLOW 22 #define TE_BEAMCYLINDER 21 #define JETPACK_COST 20 // set how may ammopacks the Jatpack+Rocket cost new ROCKET_MDL[64] = "models/rpgrocket.mdl" new ROCKET_SOUND[64] = "weapons/rocketfire1.wav" new getrocket[64] = "items/9mmclip2.wav" new bool:fly[33] = false new bool:rocket[33] = false new bool:rksound[33] = false new bool:shot[33] = false new Float:gltime = 0.0 new Float:last_Rocket[33] = 0.0 new Float:jp_cal[33] = 0.0 new Float:jp_soun[33] = 0.0 new flame, explosion, trail, white new g_flyEnergy[33], hasjet[33] new cvar_jetpack, cvar_jetpackSpeed, cvar_jetpackUpSpeed, cvar_jetpackAcrate ,cvar_RocketDelay, cvar_RocketSpeed, cvar_RocketDmg, cvar_Dmg_range, cvar_fly_max_engery, cvar_fly_engery, cvar_regain_energy, g_item_jetpack, cvar_cal_time, cvar_oneround public plugin_init() { register_plugin(PLUGINNAME, VERSION, AUTHOR) g_item_jetpack = zp_register_extra_item("Bazooka", JETPACK_COST, ZP_TEAM_HUMAN) register_clcmd("drop","cmdDrop") register_clcmd("say /jphelp","cmdHelp",0,": Displays Jetpack help") new ver[64] format(ver,63,"%s v%s",PLUGINNAME,VERSION) register_cvar("zp_jp_version",ver,FCVAR_SERVER) cvar_jetpack = register_cvar("zp_jetpack", "0") cvar_jetpackSpeed=register_cvar("zp_jp_forward_speed","300.0") cvar_jetpackUpSpeed=register_cvar("zp_jp_up_speed","35.0") cvar_jetpackAcrate=register_cvar("zp_jp_accelerate","100.0") cvar_RocketDelay=register_cvar("zp_bz_rocket_delay","12.0") cvar_RocketSpeed=register_cvar("zp_bz_rocket_speed","1500") cvar_RocketDmg=register_cvar("zp_bz_rocket_damage","1500") cvar_Dmg_range=register_cvar("zp_bz_damage_radius","350") cvar_fly_max_engery = register_cvar("zp_jp_max_engery", "100") cvar_fly_engery = register_cvar("zp_jp_engery", "10") cvar_regain_energy = register_cvar("zp_jp_regain_energy", "3") cvar_cal_time = register_cvar("zp_jp_energy_cal", "1.0") cvar_oneround = register_cvar("zp_jp_oneround", "0") register_event("CurWeapon", "check_models", "be") register_event("DeathMsg", "player_die", "a") register_event("HLTV", "event_round_start", "a", "1=0", "2=0") register_forward(FM_StartFrame, "fm_startFrame") register_forward(FM_EmitSound, "emitsound") } public plugin_precache() { precache_model("models/p_rpg.mdl") precache_model("models/v_rpg.mdl") precache_model("models/w_rpg.mdl") precache_sound("jetpack.wav") precache_sound("jp_blow.wav") precache_model(ROCKET_MDL) precache_sound(ROCKET_SOUND) precache_sound(getrocket) explosion = precache_model("sprites/zerogxplode.spr") trail = precache_model("sprites/smoke.spr") flame = precache_model("sprites/xfireball3.spr") white = precache_model("sprites/white.spr") } public client_putinserver(id) { fly[id] = false rocket[id] = false hasjet[id] = 0 g_flyEnergy[id] = 0 } public client_disconnect(id) { fly[id] = false rocket[id] = false hasjet[id] = 0 g_flyEnergy[id] = 0 } public event_round_start() { remove_jetpacks(); if (get_pcvar_num(cvar_oneround) == 1) { for (new id; id <= 32; id++) hasjet[id] = 0, g_flyEnergy[id] = 0, fly[id] = false; } } public fm_startFrame(){ gltime = get_gametime() static id for (id = 1; id <= 32; id++) { jp_forward(id) } } public jp_forward(player) { if (!hasjet[player]) return FMRES_IGNORED if(jp_cal[player] < gltime){ jp_energy(player); jp_cal[player] = gltime + get_pcvar_float(cvar_cal_time) } check_rocket(player) new clip,ammo new wpnid = get_user_weapon(player,clip,ammo) if (wpnid == CSW_KNIFE){ if(get_pcvar_num(cvar_jetpack) == 1){ if(!(pev(player, pev_flags)&FL_ONGROUND) && pev(player,pev_button)&IN_ATTACK){ if((g_flyEnergy[player] > get_pcvar_num(cvar_fly_max_engery)*0.3) && (g_flyEnergy[player] <= get_pcvar_num(cvar_fly_max_engery))){ if(jp_soun[player] < gltime){ emit_sound(player,CHAN_ITEM,"jetpack.wav",1.0,ATTN_NORM,1,PITCH_HIGH) jp_soun[player] = gltime + 1.0 } } else if((g_flyEnergy[player] > 0) && (g_flyEnergy[player] < get_pcvar_num(cvar_fly_max_engery)*0.3)){ if(jp_soun[player] < gltime){ emit_sound(player,CHAN_ITEM,"jp_blow.wav",1.0,ATTN_NORM,1,PITCH_HIGH) jp_soun[player] = gltime + 1.0 } } } human_fly(player) attack(player) } if((pev(player,pev_button)&IN_ATTACK2)){ attack2(player) } } if((get_pcvar_num(cvar_jetpack) == 2 && !(pev(player, pev_flags)&FL_ONGROUND)) && (pev(player,pev_button)&IN_JUMP && pev(player,pev_button)&IN_DUCK)){ if((g_flyEnergy[player] > get_pcvar_num(cvar_fly_max_engery)*0.3) && (g_flyEnergy[player] <= get_pcvar_num(cvar_fly_max_engery))){ if(jp_soun[player] < gltime){ emit_sound(player,CHAN_ITEM,"jetpack.wav",1.0,ATTN_NORM,1,PITCH_HIGH) jp_soun[player] = gltime + 1.0 } } else if((g_flyEnergy[player] > 0) && (g_flyEnergy[player] < get_pcvar_num(cvar_fly_max_engery)*0.3)){ if(jp_soun[player] < gltime){ emit_sound(player,CHAN_ITEM,"jp_blow.wav",1.0,ATTN_NORM,1,PITCH_HIGH) jp_soun[player] = gltime + 1.0 } } human_fly(player) attack(player) } // Icon Show system /*if (!is_user_alive(player) && zp_get_user_zombie(player) && zp_get_user_nemesis(player) && zp_get_user_survivor(player)) Icon_Energy({0, 255, 0}, 0, player); //Icon_Energy({128, 128, 0}, 0, player); //Icon_Energy({255, 255, 0}, 0, player); }*/ if((g_flyEnergy[player] >= get_pcvar_num(cvar_fly_max_engery)*0.8) && (g_flyEnergy[player] <= get_pcvar_num(cvar_fly_max_engery))){ Icon_Energy({0, 255, 0}, 1, player); // Green } else if((g_flyEnergy[player] >= get_pcvar_num(cvar_fly_max_engery)*0.5) && (g_flyEnergy[player] < get_pcvar_num(cvar_fly_max_engery)*0.8)){ Icon_Energy({255, 255, 0}, 1, player); // yellow } else if((g_flyEnergy[player] >= get_pcvar_num(cvar_fly_max_engery)*0.3) && (g_flyEnergy[player] < get_pcvar_num(cvar_fly_max_engery)*0.5)){ Icon_Energy({255, 215, 0}, 2, player); } else if((g_flyEnergy[player] > 0) && (g_flyEnergy[player] < get_pcvar_num(cvar_fly_max_engery)*0.3)){ Icon_Energy({255, 0, 0}, 1, player); } return FMRES_IGNORED } public jp_energy(player) { if (!(pev(player, pev_flags)&FL_ONGROUND) && pev(player,pev_button)&IN_ATTACK) { // Get our current velocity new clip,ammo new wpnid = get_user_weapon(player,clip,ammo) if (wpnid == CSW_KNIFE) { // flying if(g_flyEnergy[player] > get_pcvar_num(cvar_fly_max_engery)*0.09) g_flyEnergy[player] = g_flyEnergy[player] - get_pcvar_num(cvar_fly_engery); // Increase distance counter } } else if ((get_pcvar_num(cvar_jetpack) == 2 && !(pev(player, pev_flags)&FL_ONGROUND)) && (pev(player,pev_button)&IN_JUMP && pev(player,pev_button)&IN_DUCK)) { if(g_flyEnergy[player] > get_pcvar_num(cvar_fly_max_engery)*0.09) g_flyEnergy[player] = g_flyEnergy[player] - get_pcvar_num(cvar_fly_engery); // Increase distance counter } // Walking/Runnig if (pev(player, pev_flags) & FL_ONGROUND) g_flyEnergy[player] = g_flyEnergy[player] + get_pcvar_num(cvar_regain_energy);// Decrease distance counter } public attack(player) { //code snippa from TS_Jetpack 1.0 - Jetpack plugin for The Specialists. //http://forums.alliedmods.net/showthread.php?t=55709&highlight=jetpack //By: Bad_Bud if(fly[player]) { static Float:JetpackData[3] pev(player,pev_velocity,JetpackData) new fOrigin[3],Float:Aim[3] VelocityByAim(player, 10, Aim) get_user_origin(player,fOrigin) fOrigin[0] -= floatround(Aim[0]) fOrigin[1] -= floatround(Aim[1]) fOrigin[2] -= floatround(Aim[2]) if((pev(player,pev_button)&IN_FORWARD) && !(pev(player, pev_flags) & FL_ONGROUND)) { message_begin(MSG_ALL,SVC_TEMPENTITY) write_byte(17) write_coord(fOrigin[0]) write_coord(fOrigin[1]) write_coord(fOrigin[2]) write_short(flame) write_byte(10) write_byte(255) message_end() static Float:Speed Speed=floatsqroot(JetpackData[0]*JetpackData[0]+JetpackData[1]*JetpackData[1]) if(Speed!=0.0)//Makes players only lay down if their speed isn't 0; if they are thrusting forward. { set_pev(player,pev_gaitsequence,0) set_pev(player,pev_sequence,111) } if(Speed<get_pcvar_float(cvar_jetpackSpeed)) Speed+=get_pcvar_float(cvar_jetpackAcrate) static Float:JetpackData2[3] pev(player,pev_angles,JetpackData2) JetpackData2[2]=0.0//Remove the Z value/ angle_vector(JetpackData2,ANGLEVECTOR_FORWARD,JetpackData2) JetpackData2[0]*=Speed JetpackData2[1]*=Speed JetpackData[0]=JetpackData2[0] JetpackData[1]=JetpackData2[1] } if(JetpackData[2]<get_pcvar_float(cvar_jetpackSpeed)&&JetpackData[2]>0.0)//Jetpacks get more power on the way down -- it helps landing. JetpackData[2]+=get_pcvar_float(cvar_jetpackUpSpeed) else if(JetpackData[2]<0.0) JetpackData[2]+=(get_pcvar_float(cvar_jetpackUpSpeed)*1.15) set_pev(player,pev_velocity,JetpackData) } } public attack2(player) { if (rocket[player]) { new rocket = create_entity("info_target") if(rocket == 0) return PLUGIN_CONTINUE entity_set_string(rocket, EV_SZ_classname, "zp_jp_rocket") entity_set_model(rocket, ROCKET_MDL) entity_set_size(rocket, Float:{0.0, 0.0, 0.0}, Float:{0.0, 0.0, 0.0}) entity_set_int(rocket, EV_INT_movetype, MOVETYPE_FLY) entity_set_int(rocket, EV_INT_solid, SOLID_BBOX) new Float:vSrc[3] entity_get_vector(player, EV_VEC_origin, vSrc) new Float:Aim[3],Float:origin[3] VelocityByAim(player, 64, Aim) entity_get_vector(player,EV_VEC_origin,origin) vSrc[0] += Aim[0] vSrc[1] += Aim[1] entity_set_origin(rocket, vSrc) new Float:velocity[3], Float:angles[3] VelocityByAim(player, get_pcvar_num(cvar_RocketSpeed), velocity) entity_set_vector(rocket, EV_VEC_velocity, velocity) vector_to_angle(velocity, angles) entity_set_vector(rocket, EV_VEC_angles, angles) entity_set_edict(rocket,EV_ENT_owner,player) entity_set_float(rocket, EV_FL_takedamage, 1.0) message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_BEAMFOLLOW) write_short(rocket) write_short(trail) write_byte(25) write_byte(5) write_byte(224) write_byte(224) write_byte(255) write_byte(255) message_end() emit_sound(rocket, CHAN_WEAPON, ROCKET_SOUND, 1.0, ATTN_NORM, 0, PITCH_NORM) shot[player] = true last_Rocket[player] = gltime + get_pcvar_num(cvar_RocketDelay) } return PLUGIN_CONTINUE } public check_models(id) { if (zp_get_user_zombie(id) || zp_get_user_nemesis(id) || zp_get_user_survivor(id)) return FMRES_IGNORED if(hasjet[id]) { new clip,ammo new wpnid = get_user_weapon(id,clip,ammo) if ( wpnid == CSW_KNIFE ) { switchmodel(id) } return PLUGIN_CONTINUE } return PLUGIN_CONTINUE } public switchmodel(id) { entity_set_string(id,EV_SZ_viewmodel,"models/v_rpg.mdl") entity_set_string(id,EV_SZ_weaponmodel,"models/p_rpg.mdl") } public remove_jetpacks() { new nextitem = find_ent_by_class(-1,"zp_jp_jetpack") while(nextitem) { remove_entity(nextitem) nextitem = find_ent_by_class(-1,"zp_jp_jetpack") } return PLUGIN_CONTINUE } public emitsound(entity, channel, const sample[]) { if(is_user_alive(entity)) { new clip,ammo new weapon = get_user_weapon(entity,clip,ammo) if(hasjet[entity] && weapon == CSW_KNIFE) { if(equal(sample,"weapons/knife_slash1.wav")) return FMRES_SUPERCEDE if(equal(sample,"weapons/knife_slash2.wav")) return FMRES_SUPERCEDE if(equal(sample,"weapons/knife_deploy1.wav")) return FMRES_SUPERCEDE if(equal(sample,"weapons/knife_hitwall1.wav")) return FMRES_SUPERCEDE if(equal(sample,"weapons/knife_hit1.wav")) return FMRES_SUPERCEDE if(equal(sample,"weapons/knife_hit2.wav")) return FMRES_SUPERCEDE if(equal(sample,"weapons/knife_hit3.wav")) return FMRES_SUPERCEDE if(equal(sample,"weapons/knife_hit4.wav")) return FMRES_SUPERCEDE if(equal(sample,"weapons/knife_stab.wav")) return FMRES_SUPERCEDE } } return FMRES_IGNORED } public Icon_Show(icon[], color[3], mode, player) { message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("StatusIcon"), {0,0,0}, player); write_byte(mode); // status (0=hide, 1=show, 2=flash) write_string(icon); // sprite name write_byte(color[0]); // red write_byte(color[1]); // green write_byte(color[2]); // blue message_end(); } public Icon_Energy(color[3], mode, player) { Icon_Show("item_longjump", color, mode, player) } public human_fly(player) { if (g_flyEnergy[player] <= get_pcvar_num(cvar_fly_max_engery)*0.1) { jp_off(player); } if (g_flyEnergy[player] > get_pcvar_num(cvar_fly_max_engery)*0.1) { jp_on(player); } } public jp_on(player) { fly[player] = true } public jp_off(player) { fly[player] = false } public check_rocket(player) { if (last_Rocket[player] > gltime) { rk_forbidden(player) rksound[player] = true } else { if (shot[player]) { rksound[player] = false shot[player] = false } rk_sound(player) rk_allow(player) } } public rk_allow(player) { rocket[player] = true } public rk_forbidden(player) { rocket[player] = false } public rk_sound(player) { if (!rksound[player]) { engfunc(EngFunc_EmitSound, player, CHAN_WEAPON, getrocket, 1.0, ATTN_NORM, 0, PITCH_NORM) client_print(player, print_center, "[Bazooka] Recargada y Lista !!!") rksound[player] = true } else if (rksound[player]) { } } public cmdHelp(id) { new g_max = get_pcvar_num(cvar_fly_max_engery) new g_lost = get_pcvar_num(cvar_fly_engery) new g_back = get_pcvar_num(cvar_regain_energy) new g_dmg = get_pcvar_num(cvar_RocketDmg) new g_delay = get_pcvar_num(cvar_RocketDelay) new jpmotd[2048], title[64], dpos = 0 format(title,63,"[ZP] %s ver.%s",PLUGINNAME,VERSION) dpos += format(jpmotd[dpos],2047-dpos,"<html><head><style type=^"text/css^">pre{color:#FF0505;}body{background:#000000;margin-left:16px;margin-top:1px;}</style></head><pre><body>") dpos += format(jpmotd[dpos],2047-dpos,"<b>%s</b>^n^n",title) dpos += format(jpmotd[dpos],2047-dpos,"How to use:^n") dpos += format(jpmotd[dpos],2047-dpos,"=============^n^n") if(get_pcvar_num(cvar_jetpack) == 1) { dpos += format(jpmotd[dpos],2047-dpos,"- choose/have Knive & use/hold ATTACK to fly^n") dpos += format(jpmotd[dpos],2047-dpos,"^n") dpos += format(jpmotd[dpos],2047-dpos,"- choose/have Knive(Bazooka) & use ATTACK2 to shoot a Rocket^n^n") } else if(get_pcvar_num(cvar_jetpack) == 2){ dpos += format(jpmotd[dpos],2047-dpos,"- use/hold JUMP & DUCK to flyn") dpos += format(jpmotd[dpos],2047-dpos,"^n") dpos += format(jpmotd[dpos],2047-dpos,"choose/have Knive(Bazooka) & use ATTACK2 to shoot a Rocket^n^n") } dpos += format(jpmotd[dpos],2047-dpos,"INFO's^n") dpos += format(jpmotd[dpos],2047-dpos,"MAX Energy set to : <b>%i Units</b>^n^n", g_max) dpos += format(jpmotd[dpos],2047-dpos,"Jetpack need %i Units per 1 Sec. to work^n", g_lost) dpos += format(jpmotd[dpos],2047-dpos,"Energy regain %i Units per 1 Sec. (when you are on the ground)^n^n", g_back) dpos += format(jpmotd[dpos],2047-dpos,"MAX Rocket Dmg set to: <b>%i dmg</b>^n",g_dmg) dpos += format(jpmotd[dpos],2047-dpos,"New Rocket comes ervry <b>%i Sec.</b>^n^n", g_delay ) dpos += format(jpmotd[dpos],2047-dpos,"-Have Fun!^n") show_motd(id,jpmotd,title) } public player_die() { new id = read_data(2) if(hasjet[id]) { drop_jetpack(id) hasjet[id] = 0 rocket[id] = false g_flyEnergy[id] = 0 } return PLUGIN_CONTINUE } public cmdDrop(id) { if(hasjet[id]) { new clip,ammo new weapon = get_user_weapon(id,clip,ammo) if(weapon == CSW_KNIFE) { drop_jetpack(id) if(!zp_get_user_zombie(id)){ entity_set_string(id,EV_SZ_viewmodel,"models/v_knife.mdl") entity_set_string(id,EV_SZ_weaponmodel,"models/p_knife.mdl") } return PLUGIN_HANDLED } } return PLUGIN_CONTINUE } public drop_jetpack(player) { if(hasjet[player]) { new Float:Aim[3],Float:origin[3] VelocityByAim(player, 64, Aim) entity_get_vector(player,EV_VEC_origin,origin) origin[0] += Aim[0] origin[1] += Aim[1] new jetpack = create_entity("info_target") entity_set_string(jetpack,EV_SZ_classname,"zp_jp_jetpack") entity_set_model(jetpack,"models/w_rpg.mdl") entity_set_size(jetpack,Float:{-16.0,-16.0,-16.0},Float:{16.0,16.0,16.0}) entity_set_int(jetpack,EV_INT_solid,1) entity_set_int(jetpack,EV_INT_movetype,6) entity_set_vector(jetpack,EV_VEC_origin,origin) Icon_Energy({255, 255, 0}, 0, player) Icon_Energy({128, 128, 0}, 0, player ) Icon_Energy({0, 255, 0}, 0, player) hasjet[player] = 0 rocket[player] = false } } public pfn_touch(ptr, ptd) { if(is_valid_ent(ptr)) { new classname[32] entity_get_string(ptr,EV_SZ_classname,classname,31) if(equal(classname, "zp_jp_jetpack")) { if(is_valid_ent(ptd)) { new id = ptd if(id > 0 && id < 34) { if(!hasjet[id] && !zp_get_user_zombie(id) && is_user_alive(id)) { hasjet[id] = 1 g_flyEnergy[id] = get_pcvar_num(cvar_fly_max_engery) rocket[id] = true client_cmd(id,"spk items/gunpickup2.wav") engclient_cmd(id,"weapon_knife") switchmodel(id) remove_entity(ptr) } } } }else if(equal(classname, "zp_jp_rocket")) { new Float:fOrigin[3] new iOrigin[3] entity_get_vector(ptr, EV_VEC_origin, fOrigin) FVecIVec(fOrigin,iOrigin) jp_radius_damage(ptr) message_begin(MSG_BROADCAST,SVC_TEMPENTITY,iOrigin) write_byte(TE_EXPLOSION) write_coord(iOrigin[0]) write_coord(iOrigin[1]) write_coord(iOrigin[2]) write_short(explosion) write_byte(30) write_byte(15) write_byte(0) message_end() message_begin(MSG_ALL,SVC_TEMPENTITY,iOrigin) write_byte(TE_BEAMCYLINDER) write_coord(iOrigin[0]) write_coord(iOrigin[1]) write_coord(iOrigin[2]) write_coord(iOrigin[0]) write_coord(iOrigin[1]) write_coord(iOrigin[2]+200) write_short(white) write_byte(0) write_byte(1) write_byte(6) write_byte(8) write_byte(1) write_byte(255) write_byte(255) write_byte(192) write_byte(128) write_byte(5) message_end() if(is_valid_ent(ptd)) { new classname2[32] entity_get_string(ptd,EV_SZ_classname,classname2,31) if(equal(classname2,"func_breakable")) force_use(ptr,ptd) } remove_entity(ptr) } } return PLUGIN_CONTINUE } public zp_user_infected_pre(player, infector){ Icon_Energy({0, 255, 0}, 0, player); cmdDrop(player); hasjet[player] = 0; g_flyEnergy[player] = 0; rocket[player] = false; } public zp_extra_item_selected(player, itemid){ new clip,ammo new weapon = get_user_weapon(player,clip,ammo) if (itemid == g_item_jetpack) { client_print(player, print_chat, "[ZP] say /jphelp for Display the help page") hasjet[player] = 1 g_flyEnergy[player] = get_pcvar_num(cvar_fly_max_engery) rocket[player] = true client_cmd(player,"spk items/gunpickup2.wav") if(weapon == CSW_KNIFE){ switchmodel(player) } else { engclient_cmd(player,"weapon_knife"),switchmodel(player) } } } stock jp_radius_damage(entity) { new id = entity_get_edict(entity,EV_ENT_owner) for(new i = 1; i < 33; i++) { if(is_user_alive(i)) { new dist = floatround(entity_range(entity,i)) if(dist <= get_pcvar_num(cvar_Dmg_range)) { new hp = get_user_health(i) new Float:damage = get_pcvar_float(cvar_RocketDmg)-(get_pcvar_float(cvar_RocketDmg)/get_pcvar_float(cvar_Dmg_range))*float(dist) new Origin[3] get_user_origin(i,Origin) if(zp_get_user_zombie(id) != zp_get_user_zombie(i)) { if(hp > damage) jp_take_damage(i,floatround(damage),Origin,DMG_BLAST) else log_kill(id,i,"Jetpack Rocket",0) } } } } } stock log_kill(killer, victim, weapon[], headshot) { // code from MeRcyLeZZ set_msg_block(get_user_msgid("DeathMsg"), BLOCK_SET) ExecuteHamB(Ham_Killed, victim, killer, 2) // set last param to 2 if you want victim to gib set_msg_block(get_user_msgid("DeathMsg"), BLOCK_NOT) message_begin(MSG_BROADCAST, get_user_msgid("DeathMsg")) write_byte(killer) write_byte(victim) write_byte(headshot) write_string(weapon) message_end() // if(get_user_team(killer)!=get_user_team(victim)) set_user_frags(killer,get_user_frags(killer) +1) if(get_user_team(killer)==get_user_team(victim)) set_user_frags(killer,get_user_frags(killer) -1) new kname[32], vname[32], kauthid[32], vauthid[32], kteam[10], vteam[10] get_user_name(killer, kname, 31) get_user_team(killer, kteam, 9) get_user_authid(killer, kauthid, 31) get_user_name(victim, vname, 31) get_user_team(victim, vteam, 9) get_user_authid(victim, vauthid, 31) log_message("^"%s<%d><%s><%s>^" killed ^"%s<%d><%s><%s>^" with ^"%s^"", kname, get_user_userid(killer), kauthid, kteam, vname, get_user_userid(victim), vauthid, vteam, weapon) return PLUGIN_CONTINUE; } stock jp_take_damage(victim,damage,origin[3],bit) { message_begin(MSG_ONE,get_user_msgid("Damage"),{0,0,0},victim) write_byte(21) write_byte(20) write_long(bit) write_coord(origin[0]) write_coord(origin[1]) write_coord(origin[2]) message_end() set_user_health(victim,get_user_health(victim)-damage) }
Spoiler
#include <amxmodx> #include <fun> #include <zombieplague> new const item_name[] = "Buy HP!" new g_itemid_buyhp new hpamount public plugin_init() { register_plugin("[ZP] Buy Health Points", "1.0", "T[h]E Dis[as]teR") hpamount = register_cvar("zp_buyhp_amount", "1000") g_itemid_buyhp = zp_register_extra_item(item_name, 5, ZP_TEAM_HUMAN & ZP_TEAM_ZOMBIE) } public zp_extra_item_selected(id,itemid) { if(!is_user_alive(id)) return PLUGIN_HANDLED; if(itemid==g_itemid_buyhp) { if(zp_get_user_ammo_packs(id) < 5) { client_print(id, print_chat,"[ZP] Not enough Ammopacks!"); return PLUGIN_HANDLED; } else { set_user_health(id,get_user_health(id)+get_pcvar_num(hpamount)); zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - 5); client_print(id, print_chat,"[ZP] You Bought HP!"); } } return PLUGIN_CONTINUE; }
Spoiler
#include <amxmodx> #include <hamsandwich> #include <zombieplague> #define PLUGIN "Zombie Plague extra item - Radar (zombie)" #define VERSION "1.3" #define AUTHOR "Sonic Son'edit, HoRRoR" new g_msgHostageAdd, g_msgHostageDel, g_maxplayers, g_itemid_radar; new player_has_radar[33]; new zp_radar_beep; new zp_radar_show_dead; new cvar_zp_radar_beep; new cvar_zp_radar_show_dead; new const sound_radar_beep[] = "player/heartbeat1.wav" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_event("HLTV", "event_round_start", "a") RegisterHam(Ham_Killed, "player", "fw_PlayerKilled") g_msgHostageAdd = get_user_msgid("HostagePos") g_msgHostageDel = get_user_msgid("HostageK") cvar_zp_radar_beep = register_cvar("zp_zombie_radar_beep", "1") cvar_zp_radar_show_dead = register_cvar("zp_zombie_radar_show_dead", "0") g_maxplayers = get_maxplayers() g_itemid_radar = zp_register_extra_item("Dinner Scanner", 5, ZP_TEAM_ZOMBIE) for (new i = 1; i<=g_maxplayers;i++) player_has_radar[i] = false; set_task (2.0,"radar_scan",_,_,_,"b"); } public plugin_precache() { precache_sound(sound_radar_beep) } public plugin_cfg() { new cfgdir[32] get_localinfo("amxx_configsdir",cfgdir,sizeof cfgdir) server_cmd("exec %s/zp_radar_zombie.cfg", cfgdir) } public event_round_start() { if (get_pcvar_num(cvar_zp_radar_beep) == 1) zp_radar_beep=true; else zp_radar_beep=false; if (get_pcvar_num(cvar_zp_radar_show_dead) == 1) zp_radar_show_dead=true; else zp_radar_show_dead=false; } public zp_extra_item_selected(player, itemid) { if (itemid == g_itemid_radar) player_has_radar[player] = true; } public radar_scan() { new humans_count = 0; new humans_list[32]; new HumansCoords[3]; new id, i; for (new id=1; id<=g_maxplayers; id++) { if (zp_radar_show_dead) { if (!(zp_get_user_zombie(id) || zp_get_user_nemesis(id))) { humans_count++; humans_list[humans_count]=id; } } else { if ((!(zp_get_user_zombie(id) || zp_get_user_nemesis(id)))&&(is_user_alive(id))) { humans_count++; humans_list[humans_count]=id; } } } for (id=1; id<=g_maxplayers; id++) { if ((!is_user_alive(id))||(!player_has_radar[id])) continue; for (i=1;i<=humans_count;i++) { get_user_origin(humans_list[i], HumansCoords) message_begin(MSG_ONE_UNRELIABLE, g_msgHostageAdd, {0,0,0}, id) write_byte(id) write_byte(i) write_coord(HumansCoords[0]) write_coord(HumansCoords[1]) write_coord(HumansCoords[2]) message_end() message_begin(MSG_ONE_UNRELIABLE, g_msgHostageDel, {0,0,0}, id) write_byte(i) message_end() } if (zp_radar_beep) emit_sound(id, CHAN_ITEM, sound_radar_beep, 1.0, ATTN_NORM, 0, PITCH_NORM); } } public zp_user_infected_post(id, infector) { player_has_radar[id] = false; } public fw_PlayerKilled(victim, attacker, shouldgib) { player_has_radar[victim] = false; } public zp_round_ended(winteam) { for (new id=1; id<=g_maxplayers; id++) player_has_radar[id] = false; }