08/01/2019, 08:36 PM
Código PHP:
#include <amxmodx>
#include <reapi>
#include <fakemeta>
#define PLUGIN "Remover Inmunidad en Disparo"
#define VERSION "1.0"
#define AUTHOR "Flys"
new bool:block[33]
new sz_Events[][] =
{
"events/knife.sc",
"events/ak47.sc",
"events/aug.sc",
"events/awp.sc",
"events/deagle.sc",
"events/elite_left.sc",
"events/elite_right.sc",
"events/famas.sc",
"events/fiveseven.sc",
"events/g3sg1.sc",
"events/galil.sc",
"events/glock18.sc",
"events/m249.sc",
"events/m3.sc",
"events/m4a1.sc",
"events/mac10.sc",
"events/mp5n.sc",
"events/p228.sc",
"events/p90.sc",
"events/scout.sc",
"events/sg550.sc",
"events/sg552.sc",
"events/tmp.sc",
"events/ump45.sc",
"events/usp.sc",
"events/xm1014.sc"
}
new g_eventid[26]
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHookChain(RG_CBasePlayer_RemoveSpawnProtection, "fwPlayerRemoveInmune", true)
RegisterHookChain(RG_CBasePlayer_SetSpawnProtection, "fwPlayerSetInmune", true)
register_forward(FM_PlaybackEvent, "pfn_PlaybackEvent", 1)
server_cmd("mp_respawn_immunitytime 10")
}
public plugin_precache()
{
register_forward(FM_PrecacheEvent, "pfn_PrecacheEvent", 1)
}
public fwPlayerSetInmune(id){
block[id]=false
}
public fwPlayerRemoveInmune(id){
block[id]=true
}
public cmd_remove_protection(id){
set_member(id, m_flSpawnProtectionEndTime, 0.0)
}
public pfn_PrecacheEvent(type, e_name[])
{
for(new i = 0 ; i < sizeof(sz_Events) ; i++)
{
if(equali(e_name, sz_Events[i]))
{
g_eventid[i] = get_orig_retval()
}
}
}
public pfn_PlaybackEvent(bits, id, iEvent)
{
if(!is_user_alive(id) || block[id]) return ;
for(new i = 0 ; i < sizeof(sz_Events) ; i++)
{
if(g_eventid[i] == iEvent)
{
block[id]=true
set_member(id, m_flSpawnProtectionEndTime, 0.00001)
break;
}
}
return
}