View Single Post
MayroN
Senior Member
Join Date: Aug 2017
Location: Kyiv
Old 03-18-2018 , 07:36   Re: Healthkit on dead body
Reply With Quote #81

Hi.Tell me what value to put something to the first aid kit from a player with his murder,had NOT for HIM,and in the direction of somewhere?Toist ,something was flying at loss..

Thank You Very Much.

PHP Code:
#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <fakemeta_util>

new const szModelKit[]="models/medkit_wc.mdl"
new const gMedKitClassname[]="kit_ent"
new gToggleKitEnable,gToggleGlowShow,gGMsgFade,gToggleFadeEnable
new gToggleDelRespawn,gKitPickMode,gKitHPCvar,gLimitHPCvar,gGMsgItemPickup

public plugin_init()
{
    
register_plugin("Death Medkit Drop","4.2","tuty; 731; Midnight Kid")
    
register_event("DeathMsg","dropkit","a")
    
register_logevent("logevent",2,"1=Round_Start")
    
register_touch("kit_ent","player","forward_FM_Touch")
    
gToggleKitEnable=register_cvar("kit_enable","1")
    
gToggleGlowShow=register_cvar("kit_glow","0")
    
gToggleFadeEnable=register_cvar("kit_fade","1")
    
gToggleDelRespawn=register_cvar("kit_del","1")
    
gKitPickMode=register_cvar("kit_pick","0")
    
gKitHPCvar=register_cvar("kit_hp","15")
    
gLimitHPCvar=register_cvar("kit_limit_hp","200")
    
gGMsgFade=get_user_msgid("ScreenFade")
}

public 
plugin_precache()
{
    
precache_model(szModelKit)
}

public 
dropkit()
{
    if(!
get_pcvar_num(gToggleKitEnable))
    {
        return 
PLUGIN_HANDLED
    
}
    new 
gVic=read_data(2)
    static 
Float:flOrigin[3]
    
pev(gVic,pev_origin,flOrigin)
    new 
ent=engfunc(EngFunc_CreateNamedEntity,engfunc(EngFunc_AllocString,"info_target"))
    
flOrigin[2]-=36
    engfunc
(EngFunc_SetOrigin,ent,flOrigin)
    if(!
pev_valid(ent))
    {
        return 
PLUGIN_HANDLED
    
}
    
set_pev(ent,pev_classname,gMedKitClassname)
        
set_pev(entpev_sequence1)
        
set_pev(entpev_framerate1.0)
    
engfunc(EngFunc_SetModel,ent,szModelKit)
    
dllfunc(DLLFunc_Spawn,ent)
    
set_pev(ent,pev_solid,SOLID_TRIGGER)
    
set_pev(ent,pev_movetype,MOVETYPE_NONE)
    
engfunc(EngFunc_SetSize,ent,Float:{-23.160000,-13.660000,-0.050000},Float:{11.470000,12.780000,6.720000})
    
engfunc(EngFunc_DropToFloor,ent)
    new 
KitPick=get_pcvar_num(gKitPickMode)
    new 
Vic=get_user_team(gVic)
    if(
get_pcvar_num(gToggleGlowShow))
    {
        switch(
KitPick)
        {
            case 
0:
            {
                
fm_set_rendering(ent,kRenderFxGlowShell,255,255,255,kRenderFxNone,27)
            }
            case 
1:
            {
                switch(
Vic)
                {
                    case 
1:
                    {
                        
fm_set_rendering(ent,kRenderFxGlowShell,0,0,255,kRenderFxNone,27)
                        
entity_set_int(ent,EV_INT_team,1)
                    }
                    case 
2:
                    {
                        
fm_set_rendering(ent,kRenderFxGlowShell,255,0,0,kRenderFxNone,27)
                        
entity_set_int(ent,EV_INT_team,2)
                    }
                }
            }
            case 
2:
            {
                switch(
Vic)
                {
                    case 
1:
                    {
                        
fm_set_rendering(ent,kRenderFxGlowShell,255,0,0,kRenderFxNone,27)
                        
entity_set_int(ent,EV_INT_team,1)
                    }
                    case 
2:
                    {
                        
fm_set_rendering(ent,kRenderFxGlowShell,0,0,255,kRenderFxNone,27)
                        
entity_set_int(ent,EV_INT_team,2)
                    }
                }
            }
        }
    }
    return 
PLUGIN_HANDLED
}

public 
forward_FM_Touch(ent,id)
{
    if(!
pev_valid(ent)||!get_pcvar_num(gToggleKitEnable))
    {
        return 
FMRES_IGNORED
    
}
    new 
KitPick=get_pcvar_num(gKitPickMode)
    new 
own_team=get_user_team(id)
    new 
find_team=entity_get_int(ent,EV_INT_team)
    switch(
KitPick)
    {
        case 
1:
        {
            if(
find_team==own_team)
            {
                return 
FMRES_IGNORED
            
}
        }
        case 
2:
        {
            if(
find_team!=own_team)
            {
                return 
FMRES_IGNORED
            
}
        }
    }
    new 
szClassname[32]
    
pev(ent,pev_classname,szClassname,charsmax(szClassname))
    if(!
equal(szClassname,gMedKitClassname))
    {
        return 
FMRES_IGNORED
    
}
    new 
userHP=get_user_health(id)
    new 
cvarHP=get_pcvar_num(gKitHPCvar)
    new 
maxHP=get_pcvar_num(gLimitHPCvar)
    if(
userHP>=maxHP)
    {
        return 
FMRES_IGNORED
    
}
    if(
maxHP-userHP<cvarHP&&maxHP-userHP>0)
    {
        
fm_set_user_health(id,maxHP)
    }
    else
    {
        
fm_set_user_health(id,userHP+cvarHP)
    }
    
client_cmd(id"spk sound/items/smallmedkit1.wav")
    if(
get_pcvar_num(gToggleFadeEnable))
    {
        if(
KitPick==0)
        {
            
message_begin(MSG_ONE_UNRELIABLE,gGMsgFade,_,id)
            
write_short(1<<10)
            
write_short(1<<10)
            
write_short(0x0000)
            
write_byte(200)
            
write_byte(150)
            
write_byte(0)
            
write_byte(75)
            
message_end()
        }
        if(
KitPick==1||KitPick==2)
        {
            switch(
own_team)
            {
                case 
1:
                {
                    
message_begin(MSG_ONE_UNRELIABLE,gGMsgFade,_,id)
                    
write_short(1<<10)
                    
write_short(1<<10)
                    
write_short(0x0000)
                    
write_byte(255)
                    
write_byte(150)
                    
write_byte(0)
                    
write_byte(75)
                    
message_end()
                }
                case 
2:
                {
                    
message_begin(MSG_ONE_UNRELIABLE,gGMsgFade,_,id)
                    
write_short(1<<10)
                    
write_short(1<<10)
                    
write_short(0x0000)
                    
write_byte(255)
                    
write_byte(150)
                    
write_byte(0)
                    
write_byte(75)
                    
message_end()
                }
            }
        }
    }
    
engfunc(EngFunc_RemoveEntity,ent)
    if(
KitPick==0)
    {
        return 
PLUGIN_CONTINUE
    
}
    return 
FMRES_IGNORED
}

public 
logevent()
{
    if(
get_pcvar_num(gToggleDelRespawn))
    {
        new 
entity=FM_NULLENT
        
while((entity=fm_find_ent_by_class(entity,gMedKitClassname)))
        {
            
engfunc(EngFunc_RemoveEntity,entity)
        }
    }
}

stock UTIL_Send_PickMess(const id,const szItemName[])
{
    
message_begin(MSG_ONE_UNRELIABLE,gGMsgItemPickup,_,id)
    
write_string(szItemName)
    
message_end()

MayroN is offline
Send a message via ICQ to MayroN Send a message via Skype™ to MayroN