PHP- Kodu:
#include <amxmodx>
#include <fakemeta>
#include <fakemeta_util>
#define PLUGIN "HP Cantasi"
#define AUTHOR "akcaliberk"
#define VERSION "1.0"
#define MEDKIT_MINSZ Float:{ -23.160000, -13.660000, -0.050000 }
#define MEDKIT_MAXSZ Float:{ 11.470000, 12.780000, 6.720000 }
#define MODEL_KIT "models/w_medkit.mdl"
#define SOUND_KIT "items/smallmedkit1.wav"
#define FFADE_IN 0x0000
new gToggleKitEnable;
new gToggleGlowShow;
new gGMsgFade;
new gToggleFadeEnable;
new gToggleRemoveAtRstart;
new gKitHealthCvar;
new gLimitHealthCvar;
new gGMsgItemPickup;
new const gMedKitClassname[] = "medkit_entity";
public plugin_init()
{
register_plugin( PLUGIN, VERSION, AUTHOR );
register_event( "DeathMsg","drop_kit","a" );
register_logevent( "logevent_round_start", 2, "1=Round_Start" );
register_forward( FM_Touch,"ForwardTouch" );
gToggleKitEnable = register_cvar( "kit_enable", "1" );
gToggleGlowShow = register_cvar( "kit_glow", "1" );
gToggleFadeEnable = register_cvar( "kit_fade", "1" );
gToggleRemoveAtRstart = register_cvar( "kit_remove", "0" );
gKitHealthCvar = register_cvar( "kit_health", "20" );
gLimitHealthCvar = register_cvar( "kit_limit_health", "100" );
gGMsgFade = get_user_msgid( "ScreenFade" );
gGMsgItemPickup = get_user_msgid( "ItemPickup" );
}
public plugin_precache()
{
precache_model( MODEL_KIT );
precache_sound( SOUND_KIT );
}
public drop_kit()
{
if( get_pcvar_num( gToggleKitEnable ) == 0 )
{
return PLUGIN_HANDLED;
}
new victim = read_data( 2 );
static Float:origin[ 3 ];
pev( victim, pev_origin, origin );
new ent = engfunc( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString, "info_target" ) );
origin[ 2 ] -= 36;
engfunc( EngFunc_SetOrigin, ent, origin );
if( !pev_valid( ent ) )
{
return PLUGIN_HANDLED;
}
set_pev( ent, pev_classname, gMedKitClassname );
engfunc( EngFunc_SetModel, ent, MODEL_KIT );
dllfunc( DLLFunc_Spawn, ent );
set_pev( ent, pev_solid, SOLID_BBOX );
set_pev( ent, pev_movetype, MOVETYPE_NONE );
engfunc( EngFunc_SetSize, ent, MEDKIT_MINSZ, MEDKIT_MAXSZ );
engfunc( EngFunc_DropToFloor, ent );
if( get_pcvar_num( gToggleGlowShow ) == 1 )
{
fm_set_rendering( ent, kRenderFxGlowShell, 255, 255, 255, kRenderFxNone, 27 );
}
return PLUGIN_HANDLED;
}
public ForwardTouch( ent, id )
{
if( !pev_valid( ent ) || get_pcvar_num( gToggleKitEnable ) == 0 )
{
return FMRES_IGNORED;
}
new classname[ 32 ];
pev( ent, pev_classname, classname, charsmax( classname ) );
if( !equal( classname, gMedKitClassname ) )
{
return FMRES_IGNORED;
}
new health = get_user_health( id );
new cvarhealth = get_pcvar_num( gKitHealthCvar );
new maxhealth = get_pcvar_num( gLimitHealthCvar );
if( health >= maxhealth )
{
client_print( id, print_center, "Uzgunuz, Suanki HP'niz: %d. Daha Fazla Saglik Cantasi Alamazsiniz. Maksimum HP: %d", health, maxhealth );
return FMRES_IGNORED;
}
set_hudmessage( 255, 0, 0, -1.0, 0.83, 2, 6.0, 3.0 );
show_hudmessage( id, "Cantadan %d HP Aldin !", cvarhealth );
fm_set_user_health( id, health + cvarhealth );
emit_sound( id, CHAN_ITEM, SOUND_KIT, VOL_NORM, ATTN_NORM ,0 , PITCH_NORM );
message_begin( MSG_ONE_UNRELIABLE, gGMsgItemPickup, _, id );
write_string( "item_healthkit" );
message_end();
if( get_pcvar_num( gToggleFadeEnable ) == 1 )
{
message_begin( MSG_ONE_UNRELIABLE, gGMsgFade , _, id );
write_short( 1<<10 );
write_short( 1<<10 );
write_short( FFADE_IN );
write_byte( 255 );
write_byte( 0 );
write_byte( 0 );
write_byte( 75 );
message_end();
}
engfunc( EngFunc_RemoveEntity, ent );
return FMRES_IGNORED;
}
public logevent_round_start()
{
if( get_pcvar_num( gToggleRemoveAtRstart ) == 1 )
{
new hkit = FM_NULLENT;
while( ( hkit = fm_find_ent_by_class( hkit, gMedKitClassname ) ) )
{
engfunc( EngFunc_RemoveEntity, hkit );
}
}
}