AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Hammer (Knife) damage error. (https://forums.alliedmods.net/showthread.php?t=293625)

ZombieTheMan01 02-05-2017 09:46

Hammer (Knife) damage error.
 
1 Attachment(s)
I found Hammer on the internet. Here was the zombie mode, then I got it normal, then I came across the damage problem. I will give the video link for those who do not understand.
Video Link is here
CODE:
PHP Code:

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <engine>
#include <fakemeta>
#include <hamsandwich>
#include <xs>

const OFFSET_PAINSHOCK 108 // ConnorMcLeod
const OFFSET_LINUX 5
#define PLAYER_LINUX_XTRA_OFF        5
#define m_flNextAttack                83

#define ANIM_IDLESLASH            0
#define ANIM_SLASH                 1
#define ANIM_SLASHE                 2
#define ANIM_DRAW                 3
#define ANIM_IDLESTAB             4
#define ANIM_STAB                 5
#define ANIM_DRAWSTAB            6
#define ANIM_MOVESTAB             7
#define ANIM_MOVESLASH             8

new g_knifeid
new g_has_knife[33] , g_mode[33] , g_oldweap[33] , g_primaryattack[33]
new 
cvar_hammer_dmg cvar_hammer_dmg2 cvar_hammer_knockback cvar_hammer_knockback2 cvar_hammer_knockbackn cvar_hammer_knockbackn2 cvar_hammer_speed cvar_hammer_speed2 cvar_hammer_radius cvar_hammer_radius2 cvar_hammer_bloodsize 
new spr_blood1 spr_blood2
new Ham:Ham_Player_ResetMaxSpeed Ham_Item_PreFrame
new knife_vmodel[64] = "models/zm/hammer/v_hammer.mdl"
new knife_pmodel[64] = "models/zm/hammer/p_hammer.mdl"
new knife_sway[64] = "weapons/"

new const oldknife_sounds[][] =
{
    
"weapons/knife_deploy1.wav",
    
"weapons/knife_hit1.wav",
    
"weapons/knife_hit2.wav",
    
"weapons/knife_hit3.wav",
    
"weapons/knife_hit4.wav",
    
"weapons/knife_hitwall1.wav",
    
"weapons/knife_slash1.wav",
    
"weapons/knife_slash2.wav",
    
"weapons/knife_stab.wav"
}

new 
knife_sounds[4][100]

public 
plugin_init( )
{
    
register_plugin("[Knife]: Hammer","0.1","=)/Exolent[jNr]/CHyC")

    
RegisterHam(Ham_TakeDamage"player""fw_takedamage")
    
RegisterHam(Ham_TakeDamage"player""fw_takedamage_post",1)

    
register_forward(FM_EmitSound"fw_emitsound")
    
register_forward(FM_CmdStart"fw_cmdstart")
    
register_forward(FM_TraceLine"fw_traceline")
    
register_forward(FM_UpdateClientData"fw_updateclientdata_post"1)
    
register_forward(FM_PlayerPreThink"fw_playerprethink")
    
register_event("CurWeapon","ev_curweapon","be","1=1"

    
RegisterHam(Ham_Weapon_PrimaryAttack"weapon_knife""fw_knifeprimpost"1)
    
RegisterHam(Ham_Weapon_WeaponIdle,"weapon_knife","fw_knifeidleanim")
    
RegisterHam(Ham_TraceAttack,"player","fw_knifetraceattack")
    
RegisterHam(Ham_Spawn,"player","fw_spawnpost")

    
cvar_hammer_dmg register_cvar("zp_hammer_dmg""9.0")
    
cvar_hammer_dmg2 register_cvar("zp_hammer_dmg2""15.0")
    
cvar_hammer_knockback register_cvar("zp_hammer_knockback""10.0")
    
cvar_hammer_knockback2 register_cvar("zp_hammer_knockback2""20.0")
    
cvar_hammer_knockbackn register_cvar("zp_hammer_nemknockback""10.0")
    
cvar_hammer_knockbackn2 register_cvar("zp_hammer_nemknockback2""20.0")
    
cvar_hammer_speed register_cvar("zp_hammer_speed""320.0")
    
cvar_hammer_speed2 register_cvar("zp_hammer_speed2""100.0")
    
cvar_hammer_radius register_cvar("zp_hammer_radius""80.0")
    
cvar_hammer_radius2 register_cvar("zp_hammer_radius2""100.0")
    
cvar_hammer_bloodsize register_cvar("zp_hammer_bloodsize""8")
    
register_clcmd("say hammer""get_hammer")
}

public 
plugin_precache()
{
    
precache_model(knife_vmodel)
    
precache_model(knife_pmodel)

    
spr_blood1 precache_model("sprites/blood.spr")
    
spr_blood2 precache_model("sprites/bloodspray.spr")

    
formatex(knife_sounds[0],99,"%shammer_draw.wav",knife_sway)
    
formatex(knife_sounds[1],99,"%shammer_hit_slash.wav",knife_sway)
    
formatex(knife_sounds[2],99,"%shammer_hit_stab.wav",knife_sway)
    
formatex(knife_sounds[3],99,"%shammer_swing.wav",knife_sway)

    for(new 
04i++)
        
precache_sound(knife_sounds[i])
}

public 
get_hammer(id)
{
    
g_has_knife[id] = 1
    g_mode
[id] = 0
    g_primaryattack
[id] = 0
    remove_task
(id)

    if(
get_user_weapon(id) == CSW_KNIFE
    {
        
update_model(id)
        
util_playweaponanimation(idANIM_DRAW
        
set_pdata_float(idm_flNextAttack1.5 PLAYER_LINUX_XTRA_OFF)
        
emit_sound(idCHAN_WEAPONknife_sounds[0], VOL_NORMATTN_NORM0PITCH_NORM)
    }
}

public 
fw_spawnpost(id)
{
    if(!
is_user_alive(id))
        return;

    
g_oldweap[id] = get_user_weapon(id)
}

public 
fw_knifetraceattack(idattackerFloat:dmgFloat:direction[3], ptrdmgtype)
{
    if(!
is_user_alive(attacker) || !is_user_alive(id)  || get_user_weapon(attacker) != CSW_KNIFE || !g_has_knife[attacker] || g_mode[attacker] == || g_mode[attacker] == || g_mode[attacker] == 4)
        return 
HAM_IGNORED;

    new 
Float:end[3
    
get_tr2(ptrTR_vecEndPosend); 

    
message_begin(MSG_BROADCAST,SVC_TEMPENTITY
    
write_byte(TE_BLOODSPRITE
    
engfunc(EngFunc_WriteCoordend[0]) 
    
engfunc(EngFunc_WriteCoordend[1]) 
    
engfunc(EngFunc_WriteCoordend[2]) 
    
write_short(spr_blood1
    
write_short(spr_blood2
    
write_byte(249// color index 
    
write_byte(get_pcvar_num(cvar_hammer_bloodsize)) // size 
    
message_end() 

    return 
HAM_SUPERCEDE;
}

public 
fw_emitsound(idchannel, const sound[])
{
    if(!
is_user_alive(id) || get_user_weapon(id) != CSW_KNIFE || !g_has_knife[id])
        return 
FMRES_IGNORED

    
for(new 0sizeof oldknife_soundsi++)
    {
        if(
equal(soundoldknife_sounds[i]))
        {
            if(
== 1|| == || == || == || == || == 8)
            {
                if(
g_mode[id] == 0emit_sound(idchannelknife_sounds[1], VOL_NORMATTN_NORM0PITCH_NORM)
                if(
g_mode[id] == 1emit_sound(idchannelknife_sounds[2], VOL_NORMATTN_NORM0PITCH_NORM)
            }
            if(
== 6|| == 7)
            {
                
emit_sound(idchannelknife_sounds[3], VOL_NORMATTN_NORM0PITCH_NORM)
            }

            return 
FMRES_SUPERCEDE
        
}
    }
            
    return 
FMRES_IGNORED
}

public 
fw_cmdstart(iduc_handleseed)
{
    if(!
is_user_alive(id) || !g_has_knife[id] || get_user_weapon(id) != CSW_KNIFE)
            return 
FMRES_IGNORED;

    new 
Float:flNextAttack get_pdata_float(idm_flNextAttackPLAYER_LINUX_XTRA_OFF)

    if(
g_primaryattack[id] && !g_mode[id])
    {
        if(
flNextAttack 0.1)
            return 
FMRES_IGNORED;

        
set_pdata_float(idm_flNextAttack0.1PLAYER_LINUX_XTRA_OFF)

        return 
FMRES_SUPERCEDE;
    }

    if((
get_uc(uc_handleUC_Buttons) & IN_ATTACK) && !g_mode[id])
    {
        if(
flNextAttack 0.1)
            return 
FMRES_IGNORED;

        
g_primaryattack[id] = 1
        util_playweaponanimation
(idANIM_SLASH)
        
remove_task(id)
        
set_task(1.0,"knife_attack",id)

        
set_pdata_float(idm_flNextAttack0.1PLAYER_LINUX_XTRA_OFF)
        return 
FMRES_IGNORED;
    }

    if(
g_primaryattack[id]) return FMRES_IGNORED;

    if(
get_uc(uc_handleUC_Buttons) & IN_ATTACK)
    {
        if(
g_mode[id] == || g_mode[id] == || g_mode[id] == 4)
        {
            if(
flNextAttack 0.1)
                return 
FMRES_IGNORED;

            
set_pdata_float(idm_flNextAttack0.1PLAYER_LINUX_XTRA_OFF)
        }

        return 
FMRES_IGNORED;
    }

    if(
flNextAttack 0.1)
        return 
FMRES_IGNORED;

    if((
get_uc(uc_handleUC_Buttons) & IN_ATTACK2))
    {
        if(
g_mode[id] == 0)
        {
            
remove_task(id)
            
g_mode[id] = 2
            util_playweaponanimation
(idANIM_MOVESTAB
            
set_task(1.4,"change_stab",id)
            
set_pdata_float(idm_flNextAttack1.5PLAYER_LINUX_XTRA_OFF)
        }else if(
g_mode[id] == 1){
            
remove_task(id)
            
g_mode[id] = 3
            util_playweaponanimation
(idANIM_MOVESLASH
            
set_task(0.4,"change_slash1",id)
            
set_pdata_float(idm_flNextAttack1.5PLAYER_LINUX_XTRA_OFF)
        }

        
set_pev(idpev_button pev(id,pev_button) & ~IN_ATTACK2)
        return 
FMRES_SUPERCEDE;
    }

    return 
FMRES_IGNORED;
}

public 
fw_knifeprimpost(Weapon)
{
    new 
id get_pdata_cbase(Weapon414)

    if(!
is_user_alive(id) || !g_has_knife[id] || get_user_weapon(id) != CSW_KNIFE)
        return 
HAM_IGNORED;

    if(
g_mode[id])
    {
        
util_playweaponanimation(idANIM_STAB)
        
set_pdata_float(idm_flNextAttack2.0PLAYER_LINUX_XTRA_OFF)
    }

    return 
HAM_IGNORED;
}

public 
fw_knifeidleanim(Weapon)
{
    new 
id get_pdata_cbase(Weapon414)

    if(!
is_user_alive(id) || !g_has_knife[id] || get_user_weapon(id) != CSW_KNIFE)
        return 
HAM_IGNORED;

    if(
g_mode[id] == || g_mode[id] == || g_mode[id] == || g_primaryattack[id]) 
        return 
HAM_SUPERCEDE;

    if(
g_mode[id] == 1
    {
        
util_playweaponanimation(idANIM_IDLESTAB)
        return 
HAM_SUPERCEDE;
    }

    return 
HAM_IGNORED;
}

public 
ev_curweapon(id)
{
    if(!
is_user_alive(id))
        return 
PLUGIN_CONTINUE

    
if(read_data(2) != CSW_KNIFE)
    {
        
remove_task(id)
        
g_primaryattack[id] = 0
        
if(g_mode[id] == 3g_mode[id] = 1
        
if(g_mode[id] == 4g_mode[id] = 1
        
if(g_mode[id] == 2g_mode[id] = 0
        g_oldweap
[id] = read_data(2)
        
        return 
PLUGIN_CONTINUE
    
}

    if(!
g_has_knife[id])
        return 
PLUGIN_CONTINUE

    update_model
(id)

    if(
g_oldweap[id] != CSW_KNIFE
    {
        if(!
g_mode[id]) 
        {
            
util_playweaponanimation(idANIM_DRAW
            
set_pdata_float(idm_flNextAttack1.5 PLAYER_LINUX_XTRA_OFF)
            
emit_sound(idCHAN_WEAPONknife_sounds[0], VOL_NORMATTN_NORM0PITCH_NORM)
        }else{
            
util_playweaponanimation(idANIM_DRAWSTAB
            
set_pdata_float(idm_flNextAttack1.5 PLAYER_LINUX_XTRA_OFF)
            
emit_sound(idCHAN_WEAPONknife_sounds[0], VOL_NORMATTN_NORM0PITCH_NORM)
        }
    }

    
g_oldweap[id] = read_data(2)

    return 
PLUGIN_CONTINUE    
}

public 
change_stab(id)
{
    if(!
is_user_alive(id) || !g_has_knife[id] || get_user_weapon(id) != CSW_KNIFE)
        return 
PLUGIN_CONTINUE;

    
g_mode[id] = 1

    
return PLUGIN_CONTINUE;    
}

public 
change_slash1(id)
{
    if(!
is_user_alive(id) || !g_has_knife[id] || get_user_weapon(id) != CSW_KNIFE)
        return 
PLUGIN_CONTINUE;

    
g_mode[id] = 4
    set_task
(1.0,"change_slash2",id)

    return 
PLUGIN_CONTINUE;
}

public 
change_slash2(id)
{
    if(!
is_user_alive(id) || !g_has_knife[id] || get_user_weapon(id) != CSW_KNIFE)
        return 
PLUGIN_CONTINUE;

    
g_mode[id] = 0

    
return PLUGIN_CONTINUE;    
}

public 
fw_takedamage(victiminflictorattackerFloat:damage)
{
    if(!
is_user_alive(attacker) || !is_user_alive(victim) || !g_has_knife[attacker] || get_user_weapon(attacker) != CSW_KNIFE || victim == attacker)
        return 
HAM_IGNORED;

    if(
g_mode[attacker] == || g_mode[attacker] == 3
        return 
HAM_SUPERCEDE;

    if(
g_mode[attacker] == 0SetHamParamFloat(4damage get_pcvar_float(cvar_hammer_dmg))

    if(
g_mode[attacker] == 1SetHamParamFloat(4damage get_pcvar_float(cvar_hammer_dmg2))

    new 
Float:vec[3], Float:oldvelo[3]
    
get_user_velocity(victimoldvelo)
    
create_velocity_vector(victim attacker vec)
    
vec[0] += oldvelo[0]
    
vec[1] += oldvelo[1]
    
set_user_velocity(victim vec)

    return 
HAM_IGNORED;
}

public 
fw_takedamage_post(victiminflictorattackerFloat:damage)
{
    if(!
is_user_alive(attacker) || !is_user_alive(victim) || !g_has_knife[attacker] || get_user_weapon(attacker) != CSW_KNIFE || victim == attacker)
        return;

    
/*if(zp_get_user_nemesis(victim))
    {
        if(g_mode[attacker] == 0 && get_pcvar_num(cvar_hammer_knockbackn) > 0)
        {
            set_pdata_float(victim, OFFSET_PAINSHOCK, 1.0, OFFSET_LINUX)
        }
        if(g_mode[attacker] == 1 && get_pcvar_num(cvar_hammer_knockbackn2) > 0)
        {
            set_pdata_float(victim, OFFSET_PAINSHOCK, 1.0, OFFSET_LINUX)
        }
    }*/

    
if(g_mode[attacker] == 0)
    {
        
set_pdata_float(victimOFFSET_PAINSHOCK1.0OFFSET_LINUX)
    }
    if(
g_mode[attacker] == 1)
    {
        
set_pdata_float(victimOFFSET_PAINSHOCK1.0OFFSET_LINUX)
    }

    return;
}

public 
fw_traceline(Float:vector_start[3], Float:vector_end[3], ignored_monsteridhandle)
{
    if (!
is_user_alive(id))
        return 
FMRES_IGNORED;
    
    if (!
g_has_knife[id] || g_mode[id] == 2|| g_mode[id] == || get_user_weapon(id) != CSW_KNIFE)
        return 
FMRES_IGNORED;
    
    
pev(idpev_v_anglevector_end)
    
angle_vector(vector_endANGLEVECTOR_FORWARDvector_end)
    
    if(
g_mode[id] == 0xs_vec_mul_scalar(vector_endget_pcvar_float(cvar_hammer_radius), vector_end)
    if(
g_mode[id] == 1xs_vec_mul_scalar(vector_endget_pcvar_float(cvar_hammer_radius2), vector_end)
    
    
xs_vec_add(vector_startvector_endvector_end)
    
engfunc(EngFunc_TraceLinevector_startvector_endignored_monsteridhandle)

    return 
FMRES_SUPERCEDE;
}

public 
update_model(id)
{
    if(!
is_user_alive(id) || !g_has_knife[id] || get_user_weapon(id) != CSW_KNIFE)
            return 
PLUGIN_CONTINUE;

    
entity_set_string(idEV_SZ_viewmodelknife_vmodel)
    
entity_set_string(idEV_SZ_weaponmodelknife_pmodel)

    return 
PLUGIN_CONTINUE;    
}

public 
clear_values(id)
{
    
g_has_knife[id] = 0
    g_mode
[id] = 0
    g_primaryattack
[id] = 0
    g_oldweap
[id] = -3
    remove_task
(id)
}

public 
knife_attack(id)
{
    if(!
is_user_alive(id) || !g_has_knife[id] || get_user_weapon(id) != CSW_KNIFE || g_mode[id])
        return;

    new 
knife find_ent_by_owner ( -1"weapon_knife"id )
    
    
ExecuteHam(Ham_Weapon_PrimaryAttackknife)

    
g_primaryattack[id] = 2
    remove_task
(id)
    
set_task(1.0,"knife_clear",id)
    
set_pdata_float(idm_flNextAttack1.0PLAYER_LINUX_XTRA_OFF)
    
util_playweaponanimation(idANIM_SLASHE)
}

public 
knife_clear(id)
{
    if(!
is_user_alive(id) || !g_has_knife[id] || get_user_weapon(id) != CSW_KNIFE || g_mode[id])
        return;

    
g_primaryattack[id] = 0
}

public 
fw_updateclientdata_post(PlayerSendWeaponsCD_Handle)
{
    if(!
is_user_alive(Player) || get_user_weapon(Player) != CSW_KNIFE || !g_has_knife[Player])
        return 
FMRES_IGNORED
    
    set_cd
(CD_HandleCD_flNextAttackhalflife_time() + 0.001 )

    if(
get_cd(CD_HandleCD_WeaponAnim) != ANIM_MOVESTAB && g_mode[Player] == 2
    {
        
set_cd(CD_HandleCD_WeaponAnimANIM_MOVESTAB); 
        return 
FMRES_SUPERCEDE
    }

    if(
get_cd(CD_HandleCD_WeaponAnim) != ANIM_MOVESLASH && g_mode[Player] == 3
    {
        
set_cd(CD_HandleCD_WeaponAnimANIM_MOVESLASH); 
        return 
FMRES_SUPERCEDE
    }

    return 
FMRES_HANDLED
}

public 
fw_playerprethink(id)
{
    if(!
is_user_alive(id) || !g_has_knife[id])
            return 
PLUGIN_CONTINUE
    
if(get_user_weapon(id) != CSW_KNIFE){
    
ExecuteHamB(Ham_Player_ResetMaxSpeedid)
    return 
PLUGIN_CONTINUE
    
}

    if(
pev(idpev_maxspeed) == 1.0)     
        return 
PLUGIN_CONTINUE

    
if(g_mode[id] == 0set_pev(idpev_maxspeedget_pcvar_float(cvar_hammer_speed))
    if(
g_mode[id] == 1set_pev(idpev_maxspeedget_pcvar_float(cvar_hammer_speed2))
    if(
g_mode[id] == 2set_pev(idpev_maxspeedget_pcvar_float(cvar_hammer_speed2))
    if(
g_mode[id] == 3set_pev(idpev_maxspeedget_pcvar_float(cvar_hammer_speed2))
    if(
g_mode[id] == 4set_pev(idpev_maxspeedget_pcvar_float(cvar_hammer_speed))

    return 
PLUGIN_CONTINUE
}

stock util_playweaponanimation(const Player, const Sequence)
{
    
set_pev(Playerpev_weaponanimSequence)
    
    
message_begin(MSG_ONE_UNRELIABLESVC_WEAPONANIM, .player Player)
    
write_byte(Sequence)
    
write_byte(pev(Playerpev_body))
    
message_end()
}

stock create_velocity_vector(victim,attacker,Float:velocity[3])
{
    if(!
is_user_alive(attacker) || !g_has_knife[attacker] || get_user_weapon(attacker) != CSW_KNIFE || !is_user_alive(victim)) 
        return 
0;

    new 
knockback 0

    
/*if(!zp_get_user_nemesis(victim))
    {
        if(!g_mode[attacker])
        {
            knockback = get_pcvar_num(cvar_hammer_knockback)
        }else{
            knockback = get_pcvar_num(cvar_hammer_knockback2)
        }
    }else*/
    
if(!g_mode[attacker])
    {
        
knockback get_pcvar_num(cvar_hammer_knockbackn)
    }
    else
    {
        
knockback get_pcvar_num(cvar_hammer_knockbackn2)
    }
    

    if(
knockback == 0
        return 
;

    new 
Float:vicorigin[3];
    new 
Float:attorigin[3];
    
entity_get_vector(victim   EV_VEC_origin vicorigin);
    
entity_get_vector(attacker EV_VEC_origin attorigin);

    new 
Float:origin2[3]
    
origin2[0] = vicorigin[0] - attorigin[0];
    
origin2[1] = vicorigin[1] - attorigin[1];

    new 
Float:largestnum 0.0;

    if(
floatabs(origin2[0])>largestnumlargestnum floatabs(origin2[0]);
    if(
floatabs(origin2[1])>largestnumlargestnum floatabs(origin2[1]);

    
origin2[0] /= largestnum;
    
origin2[1] /= largestnum;

    
velocity[0] = ( origin2[0] * (knockback 3000) ) / get_entity_distance(victim attacker);
    
velocity[1] = ( origin2[1] * (knockback 3000) ) / get_entity_distance(victim attacker);
    if(
velocity[0] <= 20.0 || velocity[1] <= 20.0)
        
velocity[2] = random_float(200.0 275.0);

    return 
1;
}

public 
client_disconnect(idclear_values(id)
public 
client_connect(idclear_values(id)
public 
zp_user_infected_post(idclear_values(id

Thanks in advance to the people who can do this.

yas17sin 02-05-2017 11:44

Re: Hammer (Knife) damage error.
 
EDIT : i think you didn't search because i found a awsome tools for CSO knife.
check it. http://zombie-mod.ru/services/cso-knife/pub.php

ZombieTheMan01 02-05-2017 12:02

Re: Hammer (Knife) damage error.
 
Quote:

Originally Posted by yas17sin (Post 2493111)
EDIT : i think you didn't search because i found a awsome tools for CSO knife.
check it. http://zombie-mod.ru/services/cso-knife/pub.php

I know him very well. There was going to get the job done. But I took it directly because it was difficult code.

yas17sin 02-05-2017 12:17

Re: Hammer (Knife) damage error.
 
Quote:

Originally Posted by ZombieTheMan01 (Post 2493115)
I know very well you said. Alone this is different. This knife original form. I will add this to the special paid menu system.

check what i said i just edit post.

ZombieTheMan01 02-05-2017 12:47

Re: Hammer (Knife) damage error.
 
Quote:

Originally Posted by yas17sin (Post 2493121)
check what i said i just edit post.

I corrected it. You should read.

yas17sin 02-05-2017 12:50

Re: Hammer (Knife) damage error.
 
Quote:

Originally Posted by ZombieTheMan01 (Post 2493130)
I corrected it. You should read.

just check man

ZombieTheMan01 02-05-2017 12:59

Re: Hammer (Knife) damage error.
 
Quote:

Originally Posted by yas17sin (Post 2493131)
just check man

Man, I checked there. I know it's there. But I will try again. I found a couple of codes.

yas17sin 02-05-2017 13:02

Re: Hammer (Knife) damage error.
 
what you trying to do exactley.

ZombieTheMan01 02-05-2017 13:09

Re: Hammer (Knife) damage error.
 
Quote:

Originally Posted by yas17sin (Post 2493138)
what you trying to do exactley.

The damage of this plugin is bug. I want to fix it.

edon1337 02-05-2017 13:17

Re: Hammer (Knife) damage error.
 
Because you're using default bots, use Pods.


All times are GMT -4. The time now is 16:31.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.