Quote:
Originally Posted by ConnorMcLeod
Cleaned up :
1 thing you have to fix though is that you remove JP on kill but don't never give it back
PHP Code:
public OnPlayerJump(id) { if( bHasJetPack[id] && pev(id, pev_button) & IN_DUCK && ~pev(id, pev_flags) & FL_ONGROUND ) { static Float:vVelocity[3], Float:upSpeed pev(id, pev_velocity, vVelocity) upSpeed = vVelocity[2] + 35.0 velocity_by_aim(id, 300, vVelocity) vVelocity[2] = upSpeed > 300.0 ? 300.0 : upSpeed set_pev(id, pev_velocity, vVelocity) } }
|
Yea you are right, i forgot to set it back on player spawn.
Code fixed and thanks to Connor:
PHP Code:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
new bool:bHasJetPack[33]
public plugin_init()
{
register_plugin("I Believe I Can Fly", "0.0.2", "wbyokomo")
RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", 1)
RegisterHam(Ham_Killed, "player", "OnPlayerKilled")
RegisterHam(Ham_Player_Jump, "player", "OnPlayerJump")
}
public client_putinserver(id)
{
bHasJetPack[id] = false
}
public client_disconnect(id)
{
bHasJetPack[id] = false
}
public OnPlayerSpawn(id)
{
if(is_user_alive(id) && get_user_flags(id) & ADMIN_BAN) bHasJetPack[id] = true;
}
public OnPlayerKilled(id)
{
bHasJetPack[id] = false
}
public OnPlayerJump(id)
{
if(bHasJetPack[id] && pev(id, pev_button) & IN_DUCK && ~pev(id, pev_flags) & FL_ONGROUND)
{
static Float:vVelocity[3], Float:upSpeed
pev(id, pev_velocity, vVelocity)
upSpeed = vVelocity[2] + 35.0
velocity_by_aim(id, 300, vVelocity)
vVelocity[2] = upSpeed > 300.0 ? 300.0 : upSpeed
set_pev(id, pev_velocity, vVelocity)
}
}
__________________