Код за потвърждение: Избери целия код
#include <amxmodx>
#include <fun>
#include <hamsandwich>
#include <zombieplague>
// Extra Item ID
new g_item_zforce
// PCVars
new pCvarAdditionalHealth, pCvarGravity, pCvarSpeed, pCvarDmgMultiplier, pCvarGlowRed, pCvarGlowGreen, pCvarGlowBlue
// Player Variables
new gHasZForce[33]
// Credits to joaquimandrade
new Ham:Ham_Player_ResetMaxSpeed = Ham_Item_PreFrame
// Extra Item name, cost and sound
new const g_item_name[] = "Zombie Force" // Item name
new const g_item_cost = 15 // Item cost
new const sound_force[] = "zombie_plague/buy_force.wav" // Sound
public plugin_init()
{
register_plugin("[ZP] Extra Item: Zombie Force", "1.0", "eXcalibur.007")
g_item_zforce = zp_register_extra_item(g_item_name, g_item_cost, ZP_TEAM_ZOMBIE)
pCvarAdditionalHealth = register_cvar("zp_zforce_additional_health", "2000")
pCvarGravity = register_cvar("zp_zforce_gravity", "0.6")
pCvarSpeed = register_cvar("zp_zforce_speed", "50.0")
pCvarDmgMultiplier = register_cvar("zp_zforce_dmg_multi", "1.2")
pCvarGlowRed = register_cvar("zp_zforce_glow_red", "255")
pCvarGlowGreen = register_cvar("zp_zforce_glow_green", "100")
pCvarGlowBlue = register_cvar("zp_zforce_glow_blue", "0")
RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage_Pre")
RegisterHam(Ham_Player_ResetMaxSpeed, "player", "fw_Player_ResetMaxSpeed_Post", 1)
RegisterHam(Ham_Killed, "player", "fw_Killed_Post", 1)
}
public plugin_precache()
{
precache_sound(sound_force)
}
public zp_extra_item_selected(player, itemid)
{
if(itemid == g_item_zforce)
{
gHasZForce[player] = true
// Set player's health, gravity, etc.
set_user_health(player, get_user_health(player) + get_pcvar_num(pCvarAdditionalHealth))
set_user_gravity(player, get_pcvar_float(pCvarGravity))
set_user_rendering(player, kRenderFxGlowShell, get_pcvar_num(pCvarGlowRed), get_pcvar_num(pCvarGlowGreen), get_pcvar_num(pCvarGlowBlue), kRenderNormal, 25)
// Plays a sound
emit_sound(player, CHAN_BODY, sound_force, 1.0, ATTN_NORM, 0, PITCH_NORM)
static szName[32]
get_user_name(player, szName, charsmax(szName))
set_hudmessage(255, 0, 0, 0.05, 0.45, 1, 0.0, 5.0, 1.0, 1.0, -1)
show_hudmessage(0, "%s has bought Zombie Force!!", szName)
}
}
public fw_TakeDamage_Pre(victim, inflictor, attacker, Float:damage, damage_type)
{
if(!is_user_connected(attacker) || !is_user_connected(victim))
return HAM_IGNORED
if(get_user_weapon(attacker) == CSW_KNIFE && gHasZForce[attacker])
{
SetHamParamFloat(4, damage * get_pcvar_num(pCvarDmgMultiplier))
}
return HAM_IGNORED
}
public fw_Player_ResetMaxSpeed_Post(player)
{
if(!is_user_connected(player) || !is_user_alive(player) || !gHasZForce[player])
return
static Float:iMaxSpeed; iMaxSpeed = get_user_maxspeed(player)
// Not moving(Doesn't need to change since it's not moving)
if(iMaxSpeed != 1.0)
{
set_user_maxspeed(player, iMaxSpeed + get_pcvar_float(pCvarSpeed))
}
}
public fw_Killed_Post(victim, attacker)
{
if(!is_user_connected(victim))
return HAM_IGNORED
if(gHasZForce[victim])
gHasZForce[victim] = false
return HAM_IGNORED
}