Hello, is there any one who can help me add damage to func_wall (sandbags , lasermines)? I want to deal 2x damage (cvar) to sandbags and lasermines.
PHP Code:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <cs_ham_bots_api>
#include <zombieplague>
// Zombie Attributes
new const zclass_name[] = "Test Zombie" // name
new const zclass_info[] = "\r[\dHave 2x Damage\r]" // description
new const zclass_model[] = "test_zombie3" // model
new const zclass_clawmodel[] = { "v_test.mdl" } // claw model
const zclass_health = 2800 // health
const zclass_speed = 280 // speed
const Float:zclass_gravity = 1.0 // gravity
const Float:zclass_knockback = 1.0 // knockback
// New variables
new g_zclassid1, zm_knife_damage
// Registering cvars and fuctions
public plugin_init() {
RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
RegisterHam(Ham_TakeDamage, "func_wall", "fw_TakeDamage")
RegisterHamBots(Ham_TakeDamage, "fw_TakeDamage")
zm_knife_damage = register_cvar("zm_exta_knife_damage", "2")
}
// Zombie Classes MUST be registered on plugin_precache
public plugin_precache()
{
register_plugin("Test Class", "1.0", "2222")
// Register the new class and store ID for reference
g_zclassid1 = zp_register_zombie_class(zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback)
}
// Knife Damage
public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_type)
{
if(is_user_alive(attacker) && is_user_alive(victim))
{
if ((zp_get_user_zombie_class(attacker) == g_zclassid1) && (get_user_weapon(attacker) == CSW_KNIFE))
{
SetHamParamFloat(4, damage * get_pcvar_float( zm_knife_damage ) )
}
}
}
P.S Im find some solution and make this:
PHP Code:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <cs_ham_bots_api>
#include <zombieplague>
// Zombie Attributes
new const zclass_name[] = "Test Zombie" // name
new const zclass_info[] = "\r[\dHave 2x Damage\r]" // description
new const zclass_model[] = "test_zombie3" // model
new const zclass_clawmodel[] = { "v_test.mdl" } // claw model
const zclass_health = 2800 // health
const zclass_speed = 280 // speed
const Float:zclass_gravity = 1.0 // gravity
const Float:zclass_knockback = 1.0 // knockback
// New variables
new g_zclassid1, zm_knife_damage
// Registering cvars and fuctions
public plugin_init() {
RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
RegisterHam(Ham_TakeDamage, "func_wall", "fw_TakeDamage")
RegisterHamBots(Ham_TakeDamage, "fw_TakeDamage")
zm_knife_damage = register_cvar("zm_exta_knife_damage", "2")
}
// Zombie Classes MUST be registered on plugin_precache
public plugin_precache()
{
register_plugin("Test Class", "1.0", "2222")
// Register the new class and store ID for reference
g_zclassid1 = zp_register_zombie_class(zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback)
}
// Knife Damage
public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_type)
{
if(is_user_alive(attacker) && is_user_alive(victim))
{
if ((zp_get_user_zombie_class(attacker) == g_zclassid1) && (get_user_weapon(attacker) == CSW_KNIFE))
{
SetHamParamFloat(4, damage * get_pcvar_float( zm_knife_damage ) )
}
}
}
public CBaseEntity_TakeDamage(this, pInflictor, pAttacker, Float:flDamage, bitsDamageType)
{
if (!ExecuteHamB(Ham_IsPlayer, pAttacker) || pInflictor != pAttacker)
return HAM_IGNORED;
if (!FClassnameIs(this, "zp_tripmine") && !FClassnameIs(this, "amxx_pallets"))
return HAM_IGNORED;
if ((zp_get_user_zombie_class(pAttacker) == g_zclassid1) && (get_user_weapon(pAttacker) == CSW_KNIFE))
{
SetHamParamFloat(4, flDamage * get_pcvar_float( zm_knife_damage ) )
}
return HAM_HANDLED;
}
bool:FClassnameIs(this, const szClassName[])
{
if (pev_valid(this) != 2)
return false;
new pszClassName[32];
pev(this, pev_classname, pszClassName, charsmax(pszClassName));
return bool:equal(szClassName, pszClassName);
}
With laser mines its work but not with sandbags...