I already changed the havetk to other values such as 3, but even so the use is limited to one use only.
PHP Code:
public zp_extra_item_selected(id, itemid)
{
if (itemid == g_tknife)
{
havetk[id] = 1
client_print(id, print_chat, "[ZP] You got Thunder Knife! Slash a Zombie to kill him with thunder")
}
}
thunder original plugin code by fiendshard
PHP Code:
#include <amxmodx>
#include <engine>
#include <zombieplague>
new havetk[33]
new g_lightning, g_smoke
new g_tknife
public plugin_init()
{
register_plugin( "[ZP] Thunder Knife", "0.1", "fiendshard" );
register_event("Damage" , "event_Damage" , "b" , "2>0");
g_tknife = zp_register_extra_item("Thunder Knife (Once)", 30, ZP_TEAM_HUMAN)
}
public plugin_precache()
{
g_lightning = precache_model( "sprites/lgtning.spr" );
g_smoke = precache_model( "sprites/steam1.spr" );
}
public zp_extra_item_selected(id, itemid)
{
if (itemid == g_tknife)
{
havetk[id] = 1
client_print(id, print_chat, "[ZP] You got Thunder Knife! Slash a Zombie to kill him with thunder")
}
}
public event_Damage(id)
{
new weapon
new attacker = get_user_attacker(id , weapon);
if(!is_user_alive(attacker))
return PLUGIN_CONTINUE;
if ((zp_get_user_zombie(attacker)) ||
(zp_get_user_nemesis(attacker)) ||
(zp_get_user_survivor(attacker)))
return PLUGIN_HANDLED;
if(weapon == CSW_KNIFE && havetk[attacker])
{
new vorigin[ 3 ], pos[ 3 ];
get_user_origin( id, vorigin );
vorigin[ 2 ] -= 26;
pos[ 0 ] = vorigin[ 0 ] + 150;
pos[ 1 ] = vorigin[ 1 ] + 150;
pos[ 2 ] = vorigin[ 2 ] + 800;
{
if(zp_get_user_nemesis(id))
return PLUGIN_HANDLED;
}
user_kill(id);
Thunder( pos, vorigin );
Smoke( vorigin, 10, 10 );
havetk[attacker] = 0
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
Thunder( start[ 3 ], end[ 3 ] )
{
message_begin( MSG_BROADCAST, SVC_TEMPENTITY );
write_byte( TE_BEAMPOINTS );
write_coord( start[ 0 ] );
write_coord( start[ 1 ] );
write_coord( start[ 2 ] );
write_coord( end[ 0 ] );
write_coord( end[ 1 ] );
write_coord( end[ 2 ] );
write_short( g_lightning );
write_byte( 1 );
write_byte( 5 );
write_byte( 7 );
write_byte( 150 );
write_byte( 30 );
write_byte( 200 );
write_byte( 200 );
write_byte( 200 );
write_byte( 200 );
write_byte( 200 );
message_end();
message_begin( MSG_PVS, SVC_TEMPENTITY, end );
write_byte( TE_SPARKS );
write_coord( end[ 0 ] );
write_coord( end[ 1 ]);
write_coord( end[ 2 ] );
message_end();
}
Smoke( iorigin[ 3 ], scale, framerate )
{
message_begin( MSG_BROADCAST, SVC_TEMPENTITY );
write_byte( TE_SMOKE );
write_coord( iorigin[ 0 ] );
write_coord( iorigin[ 1 ] );
write_coord( iorigin[ 2 ] );
write_short( g_smoke );
write_byte( scale );
write_byte( framerate );
message_end();
}
public event_round_start()
{
static i, max_players
if (!max_players) max_players = get_maxplayers()
for(i = 1; i <= max_players; i++)
if (is_user_connected(i)) havetk[i] = 0
}
Anyone know how to fix it?
Thanks.
__________________
My Plugins |
VIEW HERE | I accept private requests, send me a PM.

Buy respawn | Uber Recall | Grenade drop | Damage Supperssor
Meet the Medic | Disguise Expert | Crazy Jet
CZSBrasil TEAM