Junior Member
|
01-04-2009
, 06:28
Re: [ZP] Extra Item : Speed Boost || Updated v1.1.2
|
#25
|
fix some bug...
remove zp_sb_time(because log error)
zp_sb_admin <1|0> - If you want that admins only can buy this ability, default is 0
change to
zp_sb_all_player_buy <1|0> - If you want that all player can buy this ability, default is 1
PHP Code:
/* ====================================================================================== / / [ZP] Extra Item : Speed Boost / ( ability for Humans and Zombies ) / by The_Thing / / Description : / This is Speed Boost ability for both teams, that if you want to run away from enemy. / Ability is only for 1 round, so in new round you must buy it again. / / Cvars : / zp_speed_boost <1|0> - To turn on or turn off this plugin, default is 1 / zp_sb_all_player_buy <1|0> - If you want that all player can buy this ability, default is 1 / zp_sb_cost "8" - How much Speed Boost will cost / zp_sb_maxspeed "325.0" - This will be maxspeed, but you can change it what ever number you want. / zp_sb_red_color "150" - Amount of red color. / zp_sb_green_color "0" - Amount of green color. / zp_sb_blue_color "100" - Amount of blue color. / / Commands : / You can buy it through chat commands too. / say /sboost or say_team /sboost - to buy Speed Boost / / Changelog : / 14/11/2008 - v1.0 - First release / 15/11/2008 - v1.1 - fixed some mistakes, added cvar how long you can use maxspeed. / 18/11/2008 - v1.1.2 - added glow effect when you buy speed booster with cvars, added reset after infection or kill. */ #include <amxmodx> #include <amxmisc> #include <fakemeta> #include <zombieplague>
#define PLUGIN "[ZP] Extra : Speed Boost" #define VERSION "1.1.2" #define AUTHOR "The_Thing"
#define BUY_SBOOST ADMIN_LEVEL_B
new g_item_name[] = { "Speed Boost" } new g_itemid_boost, g_sb_toggle, g_sb_all_player_buy, g_sb_cost, g_sb_maxspeed new g_sb_red, g_sb_green, g_sb_blue new bool:g_hasSpeedBoost[33]
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) g_sb_toggle = register_cvar("zp_speed_boost", "1") g_sb_all_player_buy = register_cvar("zp_sb_all_player_buy", "1") g_sb_cost = register_cvar("zp_sb_cost", "8") g_sb_maxspeed = register_cvar("zp_sb_maxspeed", "325.0") g_sb_red = register_cvar("zp_sb_red_color", "150") g_sb_green = register_cvar("zp_sb_green_color", "0") g_sb_blue = register_cvar("zp_sb_blue_color", "100") g_itemid_boost = zp_register_extra_item(g_item_name, get_pcvar_num(g_sb_cost), 0) register_clcmd("say /sboost", "buy_sboost", ADMIN_ALL) register_clcmd("say_team /sboost", "buy_sboost", ADMIN_ALL) register_forward(FM_PlayerPreThink, "fw_PlayerPreThink") register_event("HLTV", "event_round_start", "a", "1=0", "2=0") register_event("DeathMsg", "death", "a") }
public client_connect(id) { g_hasSpeedBoost[id] = false }
public client_disconnect(id) { g_hasSpeedBoost[id] = false }
public death() { g_hasSpeedBoost[read_data(2)] = false // will be reset after infection or kill }
public event_round_start() { for(new i = 1; i <= 32; i++) g_hasSpeedBoost[i] = false }
public zp_extra_item_selected(player, itemid) { if(itemid == g_itemid_boost) { if(!get_pcvar_num(g_sb_all_player_buy) && (!access(player, ADMIN_LEVEL_B))) return PLUGIN_HANDLED g_hasSpeedBoost[player] = true fm_set_rendering(player, kRenderFxGlowShell, get_pcvar_num(g_sb_red), get_pcvar_num(g_sb_green), get_pcvar_num(g_sb_blue), kRenderNormal, 255) set_pev(player, pev_maxspeed, get_pcvar_float(g_sb_maxspeed)) client_print(player, print_chat, "[ZP] You've purchased Speed Booster") } return PLUGIN_CONTINUE }
public buy_sboost(id) { if(!get_pcvar_num(g_sb_toggle)) return PLUGIN_HANDLED if(!get_pcvar_num(g_sb_all_player_buy) && (!access(id, ADMIN_LEVEL_B))) return PLUGIN_HANDLED new money = zp_get_user_ammo_packs(id) new cost = get_pcvar_num(g_sb_cost) if(!is_user_alive(id)) { client_print(id, print_chat, "[ZP] Dead people can't purchase Speed Boost") return PLUGIN_HANDLED } if(g_hasSpeedBoost[id]) { client_print(id, print_chat, "[ZP] You already purchased Speed Boost") return PLUGIN_HANDLED } if(money < cost) { client_print(id, print_chat, "[ZP] You don't have enough ammo packs to buy Speed Boost", get_pcvar_num(g_sb_cost)) return PLUGIN_HANDLED } zp_set_user_ammo_packs(id, money - cost) g_hasSpeedBoost[id] = true fm_set_rendering(id, kRenderFxGlowShell, get_pcvar_num(g_sb_red), get_pcvar_num(g_sb_green), get_pcvar_num(g_sb_blue), kRenderNormal, 255) set_pev(id, pev_maxspeed, get_pcvar_float(g_sb_maxspeed)) client_print(id, print_chat, "[ZP] You've purchased Speed Booster") return 1 }
public fw_PlayerPreThink(id) { if(!is_user_alive(id)) return FMRES_IGNORED if(g_hasSpeedBoost[id]) { fm_set_rendering(id, kRenderFxGlowShell, get_pcvar_num(g_sb_red), get_pcvar_num(g_sb_green), get_pcvar_num(g_sb_blue), kRenderNormal, 255) set_pev(id, pev_maxspeed, get_pcvar_float(g_sb_maxspeed)) } return PLUGIN_CONTINUE }
stock fm_set_user_maxspeed(index, Float:speed = -1.0) { engfunc(EngFunc_SetClientMaxspeed, index, speed); set_pev(index, pev_maxspeed, speed); return 1; }
stock fm_set_rendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16) { new Float:RenderColor[3]; RenderColor[0] = float(r); RenderColor[1] = float(g); RenderColor[2] = float(b); set_pev(entity, pev_renderfx, fx); set_pev(entity, pev_rendercolor, RenderColor); set_pev(entity, pev_rendermode, render); set_pev(entity, pev_renderamt, float(amount)); return 1; } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par } */
|
|