View Single Post
Dolph_Ziggler
BANNED
Join Date: Jun 2011
Old 06-22-2011 , 08:34   Re: [ZP] Addon : Last Human Pain Shock Free
Reply With Quote #9

Quote:
Originally Posted by Excalibur.007 View Post
There should be credits to this e.g. Pain shock free code. I believe it's someone else right?

This is better

PHP Code:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <zombieplague>

new cvar_last_human_pain_freecvar_human_pain_free_swarm
new cached_last_human_pain_freecached_human_pain_free_swarm

const OFFSET_LINUX 5
const OFFSET_PAINSHOCK 108
const PDATA_SAFE 2

#define PLUGIN "[ZP] Last Human Pain Shock Free"
#define VERSION "0.1"
#define AUTHOR "Dolph_Ziggler"

new g_bitZombiePlayersg_bitLastHumanPlayers

#define MarkUserZombie(%0)       g_bitZombiePlayers |= (1 << (%0 & 31))
#define ClearUserZombie(%0)      g_bitZombiePlayers &= ~(1 << (%0 & 31))
#define IsUserZombie(%0)    g_bitZombiePlayers & (1 << (%0 & 31))

#define MarkUserLastHuman(%0)   g_bitLastHumanPlayers |= (1 << (%0 & 31))
#define ClearUserLastHuman(%0)  g_bitLastHumanPlayers &= ~(1 << (%0 & 31))
#define IsUserLastHuman(%0)    g_bitLastHumanPlayers & (1 << (%0 & 31))

new bool:bInSwarm

public plugin_init()
{    
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
register_event("HLTV""event_new_round""a""1=0""2=0")
    
    
RegisterHam(Ham_TakeDamage"player""Player_TakeDamage"1)
    
    
cvar_last_human_pain_free register_cvar("zp_last_human_pain_free""1"
    
cvar_human_pain_free_swarm register_cvar("zp_human_pain_free_in_swarm""0")
}

public 
client_disconnect(id)
{
    
ClearUserZombie(id)
    
ClearUserLastHuman(id)
}

public 
event_new_round()
{
    
cached_last_human_pain_free get_pcvar_num(cvar_last_human_pain_free)
    
cached_human_pain_free_swarm get_pcvar_num(cvar_human_pain_free_swarm)
    
    new 
iPlayers[32], iNum
    get_players
(iPlayersiNum)
    
    for(new 
0iNumi++)
    {
        
ClearUserZombie(i)
        
ClearUserLastHuman(i)
    }
}

public 
Player_TakeDamage(id)
{
    if(
pev_valid(id) != PDATA_SAFE)
        return 
HAM_IGNORED
        
    
if(IsUserZombie(id))
        return 
HAM_IGNORED
        
    
if (IsUserLastHuman(id) && cached_last_human_pain_free)
    {
        
set_pdata_float(idOFFSET_PAINSHOCK1.0OFFSET_LINUX)
    }
    else if (
bInSwarm && cached_human_pain_free_swarm)
    {
        
set_pdata_float(idOFFSET_PAINSHOCK1.0OFFSET_LINUX)
    }
    
    return 
HAM_IGNORED
}

public 
zp_round_started(gamemode)
{
    if(
gamemode == MODE_SWARM)
        
bInSwarm true
    
else
        
bInSwarm false // Reset it on a new mode start
}

public 
zp_user_infected_post(id)
{
    
MarkUserZombie(id)
}

public 
zp_user_humanized_post(id)
{
    
ClearUserZombie(id)
}

public 
zp_user_last_human(id)
{
    
MarkUserLastHuman(id)

so i must edit my plugin ??
Dolph_Ziggler is offline
Send a message via MSN to Dolph_Ziggler