Have some problems with my Speedhackers.
The problem is the next:
My speedhacker is configurated to only use the knife. Because some times, Speedhackers GET PERK (For example, codperk_m4a1--> RECIVE M4a1).
Well, with my configuration Speedhacker only can use KNIFE, but if get codperk m4a1.. He cant use M4a1, but the speed is BUGGED.
public CurWeapon(id) {
new clip,ammo
new weapon=get_user_weapon(id,clip,ammo)
if(weapon == CSW_KNIFE) on_knife[id]=1
else on_knife[id]=0
if ((weapon != CSW_C4 ) && !on_knife[id] && ma_klase[id]) {
client_cmd(id,"weapon_knife")
engclient_cmd(id,"weapon_knife")
on_knife[id]=1
}
}
i am using this.. but if speedhacker get weapon (perk), the speed dont work and run very slow (like a normal player ).
Any1 can fix this?
#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <fun>
#include <engine>
#include <fakemeta>
#include <hamsandwich>
#include <cstrike>
new const nazwa[] = "SpeedHacker Suicida!";
new const opis[] = "Corre mucho, Habilidad Suicida (Pulsa E), Mata instantaneo con cuchillo (Secundario)";
new const bronie = 0;
new const zdrowie = -20;
new const kondycja = 5;
new const inteligencja = 0;
new const wytrzymalosc = 0;
new on_knife[33];
new sprite_blast,
sprite_white;
new ma_klase[33];
public plugin_init()
{
register_plugin(nazwa, "1.0", "amxx.pl");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
register_event("CurWeapon","CurWeapon","be");
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}
public plugin_precache()
{
sprite_white = precache_model("sprites/white.spr");
sprite_blast = precache_model("sprites/dexplo.spr");
}
public cod_class_enabled(id)
{
cod_set_user_bonus_trim(id, cod_get_user_trim(id, 0, 0)+130);
set_user_footsteps(id, 1)
ma_klase[id] = true;
}
public cod_class_disabled(id)
{
set_user_footsteps(id, 0)
cod_set_user_bonus_trim(id, cod_get_user_trim(id, 0, 0)-130);
ma_klase[id] = false;
}
public CurWeapon(id) {
new clip,ammo
new weapon=get_user_weapon(id,clip,ammo)
if(weapon == CSW_KNIFE) on_knife[id]=1
else on_knife[id]=0
if ((weapon != CSW_C4 ) && !on_knife[id] && ma_klase[id]) {
client_cmd(id,"weapon_knife")
engclient_cmd(id,"weapon_knife")
on_knife[id]=1
}
}
public cod_class_skill_used(id)
{
if(!is_user_alive(id))
return PLUGIN_CONTINUE;
new Float:fOrigin[3];
entity_get_vector(id, EV_VEC_origin, fOrigin);
new iOrigin[3];
for(new i=0;i<3;i++)
iOrigin[i] = floatround(fOrigin[i]);
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(sprite_blast);
write_byte(32);
write_byte(20);
write_byte(0);
message_end();
message_begin( MSG_BROADCAST, 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] + 200 );
write_coord( iOrigin[2] + 200 );
write_short( sprite_white );
write_byte( 0 );
write_byte( 0 );
write_byte( 10 );
write_byte( 10 );
write_byte( 255 );
write_byte( 255 );
write_byte( 100 );
write_byte( 100 );
write_byte( 128 );
write_byte( 0 );
message_end();
new entlist[33];
new numfound = find_sphere_class(id, "player", 200.0 , entlist, 32);
for (new i=0; i < numfound; i++)
{
new pid = entlist[i];
if (is_user_alive(pid) && get_user_team(id) != get_user_team(pid))
cod_inflict_damage(id, pid, float(get_user_health(pid)), 0.0);
}
user_silentkill(id);
return PLUGIN_CONTINUE;
}
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker) || !ma_klase[idattacker])
return HAM_IGNORED
if(get_user_weapon(idattacker) == CSW_KNIFE && pev(idattacker, pev_button) & IN_ATTACK2)
{
SetHamParamFloat(4, float(pev(this, pev_health)))
return HAM_HANDLED
}
return HAM_HANDLED
}
THX:


Dodatki SourceMod












