#include < amxmodx >
#include < fun >
#include < fakemeta >
new PLUGIN[ ] = "HP Regeneration";
new VERSION[ ] = "1.0";
new AUTHOR[ ] = "Chema";
const MAX_HEALTH = 100;
const MIN_HEALTH = 1;
const REGENERATE_HEALTH = 1; // CANTIDAD DE VIDA QUE REGENERA POR SEGUNDO.
const TASK_HEALTH = 1337;
new g_iEffect;
public plugin_precache( ) {
g_iEffect = precache_model( "sprites/BRUTAL-GAMERS/health.spr" );
}
public plugin_init( ) {
register_plugin( PLUGIN, VERSION, AUTHOR );
register_event( "Damage", "event__Damage", "be", "2>0" )
}
public event__Damage( id ) {
if( !is_user_alive( id ) )
return PLUGIN_CONTINUE;
if( pev( id, pev_health ) < 100 )
set_task( 1.0, "rerenerate__Health", id, _, _, "b" );
else
remove_task( id );
return PLUGIN_CONTINUE
}
public rerenerate__Health( id ) {
if( !is_user_alive( id ) )
return PLUGIN_CONTINUE
set_user_health( id, clamp( ( get_user_health( id ) + REGENERATE_HEALTH ), 0, MAX_HEALTH ) );
regenerate__Effect( id );
return PLUGIN_CONTINUE;
}
regenerate__Effect( id ) {
new x, y, z;
new iOrigin[3]
get_user_origin( id, iOrigin );
message_begin( MSG_PVS, SVC_TEMPENTITY, iOrigin );
write_byte( TE_PROJECTILE )
write_coord( iOrigin[x] + random_num( -10, 10 ) );
write_coord( iOrigin[y] + random_num( -10, 10 ) );
write_coord( iOrigin[z] + random_num( 0, 30 ) );
write_coord( 0 );
write_coord( 0 );
write_coord( 15 );
write_short( g_iEffect );
write_byte( 1 );
write_byte( id );
message_end( );
}