Raised This Month: $ Target: $400
 0% 

Suggestion / Subplugin Request ZP Tyder


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
layka_LUBII
Senior Member
Join Date: Jul 2012
Old 07-05-2013 , 09:22   ZP Tyder
Reply With Quote #1

Hello I need remodel tyder
When player bux extra item tyder, give 500 AP ,but on new round have 500 ap please repair thank you

Code:
/*================================================================================
	
	--------------------------------
	-*- [ZP] Tryder -*-
	--------------------------------
	
	~~~~~~~~~~~~~~~
	- Description -
	~~~~~~~~~~~~~~~
	
	Player with Glow + Unlimited Clip + Health + Armor.
	
================================================================================*/

#include <amxmodx>
#include <zombieplague>
#include <fakemeta_util>
#include <hamsandwich>

#define VERSION "2.2"

#define MODEL_TRYDER "vip" // name of the model
#define TASK_DELAY 0.5
#define MODELSET_TASK 100

// CS Offsets
#if cellbits == 32
const OFFSET_CLIPAMMO = 51
#else
const OFFSET_CLIPAMMO = 65
#endif
const OFFSET_LINUX_WEAPONS = 4

// Max Clip for weapons
new const MAXCLIP[] = { -1, 13, -1, 10, 1, 7, -1, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20,
			10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, -1, 50 }
			
new g_fumado, g_has_unlimited_clip[33], g_tryder[33]
new tryder_health, tryder_armor, tryder_model, tryder_glow
new r, g, b

new g_has_tryder_model[33]
new g_tryder_model[33][32]
new Float:g_models_counter

new const v_Model1[] = "models/weapons_gun/v_cs_m249.mdl"

public plugin_init()
{
	register_plugin("[ZP] Tryder", VERSION, "ILUSION")
	
	g_fumado = zp_register_extra_item("Tryder", 35, ZP_TEAM_HUMAN)
	register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
	register_logevent("event_round_end", 2, "1=Round_End")
	register_message(get_user_msgid("CurWeapon"), "message_cur_weapon")
	register_clcmd("drop", "clcmd_drop")
	register_forward(FM_ClientUserInfoChanged, "fw_ClientUserInfoChanged")
	RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")
	register_event("CurWeapon" , "cur_weapon" , "be" , "1=1")
	
	tryder_health = 	register_cvar("zp_tryder_health", "1000")
	tryder_armor = 		register_cvar("zp_tryder_armor", "500")
	tryder_model = 		register_cvar("zp_tryder_model", "0")
	tryder_glow =		register_cvar("zp_tryder_glow", "1")
	r =			register_cvar("zp_tryder_glow_red", "0")
	g = 			register_cvar("zp_tryder_glow_green", "250")
	b = 			register_cvar("zp_tryder_glow_blue", "0")
	
	
	register_cvar("zp_tryder_version", VERSION, FCVAR_SERVER)
}

public plugin_precache()
{
	new modelpath[100]
	formatex(modelpath, sizeof modelpath - 1, "models/player/%s/%s.mdl", MODEL_TRYDER, MODEL_TRYDER)
	engfunc(EngFunc_PrecacheModel, modelpath)
	precache_model(v_Model1)
}

public cur_weapon(id)
{
if(get_user_flags(id) & ADMIN_LEVEL_H)

if(read_data(2) == CSW_M249)
{
set_pev(id, pev_viewmodel2, v_Model1)
}
}

// Item Selected forward
public zp_extra_item_selected(player, itemid)
{
	// check if the selected item matches any of our registered ones
	if (itemid == g_fumado)
	{
		// Strip off from weapons
		fm_strip_user_weapons(player)
		// Model
		/*if (get_pcvar_num(tryder_model))
			fm_set_user_model(player, model_tryder)*/
		static red, green, blue
		red = get_pcvar_num(r)
		green = get_pcvar_num(g)
		blue = get_pcvar_num(b)
		// Glow
		if (get_pcvar_num(tryder_glow))
			fm_set_rendering(player, kRenderFxGlowShell, red, green, blue, kRenderNormal, 20)
		// Equips
		fm_give_item(player, "weapon_knife")
		fm_give_item(player, "weapon_m249")
		fm_give_item(player, "weapon_deagle")
		fm_give_item(player, "weapon_flashbang")
		fm_give_item(player, "weapon_hegrenade")
		// Clip
		g_has_unlimited_clip[player] = true
		// Dont Drop
		g_tryder[player] = true
		// HP
		fm_set_user_health(player, get_pcvar_num(tryder_health))
		// Aura
		set_pev(player, pev_effects, pev(player, pev_effects) | EF_BRIGHTLIGHT)
		// Armor
		fm_set_user_armor(player, get_pcvar_num(tryder_armor))
		new name[32]
		get_user_name(player, name, 31)
		set_hudmessage(0, 255, 0, 0.05, 0.45, 1, 0.0, 5.0, 1.0, 1.0, -1)
		show_hudmessage(0, "%s je Terminator!", name)
		if (get_pcvar_num(tryder_model))
		set_task(0.1, "cambiar", player)
		}
}

public clcmd_drop(player)
{
	if (g_tryder[player])
		return PLUGIN_HANDLED;
	
	return PLUGIN_CONTINUE;
}

public cambiar(player)
{
	if (g_tryder[player])
	{
		copy(g_tryder_model[player], sizeof g_tryder_model[] - 1, MODEL_TRYDER)
		
		new currentmodel[32]
		fm_get_user_model(player, currentmodel, sizeof currentmodel - 1)
		
		if (!equal(currentmodel, g_tryder_model[player]))
		{
			set_task(1.0 + g_models_counter, "task_set_model", player+MODELSET_TASK)
			g_models_counter += TASK_DELAY
		}
	}
	
	return PLUGIN_HANDLED
}

public event_round_start()
{
	for (new id; id <= 32; id++) g_has_unlimited_clip[id] = false;
	for (new player; player <= 32; player++) g_tryder[player] = false;
}

public event_round_end()
{
	g_models_counter = 0.0
}

public fw_PlayerKilled(victim, attacker, shouldgib)
{
	if (g_tryder[victim])
	{
		fm_reset_user_model(victim)
	}
}

public message_cur_weapon(msg_id, msg_dest, msg_entity)
{
	// Player doesn't have the unlimited clip upgrade
	if (!g_has_unlimited_clip[msg_entity])
		return;
	
	// Player not alive or not an active weapon
	if (!is_user_alive(msg_entity) || get_msg_arg_int(1) != 1)
		return;
	
	static weapon, clip
	weapon = get_msg_arg_int(2) // get weapon ID
	clip = get_msg_arg_int(3) // get weapon clip
	
	// Unlimited Clip Ammo
	if (MAXCLIP[weapon] > 2) // skip grenades
	{
		set_msg_arg_int(3, get_msg_argtype(3), MAXCLIP[weapon]) // HUD should show full clip all the time
		
		if (clip < 2) // refill when clip is nearly empty
		{
			// Get the weapon entity
			static wname[32], weapon_ent
			get_weaponname(weapon, wname, sizeof wname - 1)
			weapon_ent = fm_find_ent_by_owner(-1, wname, msg_entity)
			
			// Set max clip on weapon
			fm_set_weapon_ammo(weapon_ent, MAXCLIP[weapon])
		}
	}
}

public task_set_model(player)
{
	// Get player id
	player -= MODELSET_TASK
    
	// Actually set the player's model
	fm_set_user_model(player, g_tryder_model[player])
}


public fw_ClientUserInfoChanged(player)
{
	if (g_tryder[player] && !zp_get_user_first_zombie(player) && !zp_get_user_zombie(player) && !zp_get_user_nemesis(player) && !zp_get_user_survivor(player))
	{
		// Player doesn't have a custom model
		if (!g_has_tryder_model[player])
			return FMRES_IGNORED;

		// Get current model
		static currentmodel[32]
		fm_get_user_model(player, currentmodel, sizeof currentmodel - 1)
    
		// Check whether it matches the custom model - if not, set it again
		if (!equal(currentmodel, g_tryder_model[player]))
			fm_set_user_model(player, g_tryder_model[player])
    
		return FMRES_IGNORED;
	}
	
	return FMRES_IGNORED;
}

// Set Weapon Clip Ammo
stock fm_set_weapon_ammo(entity, amount)
{
	set_pdata_int(entity, OFFSET_CLIPAMMO, amount, OFFSET_LINUX_WEAPONS);
}

stock fm_set_user_model(player, const modelname[]) 
{     
	// Set new model     
	engfunc(EngFunc_SetClientKeyValue, player, engfunc(EngFunc_GetInfoKeyBuffer, player), "model", modelname)         
	
	// Remember this player has a custom model     
	g_has_tryder_model[player] = true 
}

stock fm_get_user_model(player, model[], len) 
{     
	// Retrieve current model
	engfunc(EngFunc_InfoKeyValue, engfunc(EngFunc_GetInfoKeyBuffer, player), "model", model, len) 
}

stock fm_reset_user_model(player)
{
	// Player doesn't have a custom model any longer
	g_has_tryder_model[player] = false
    
	dllfunc(DLLFunc_ClientUserInfoChanged, player, engfunc(EngFunc_GetInfoKeyBuffer, player))
}

stock ChatColor(const id, const input[], any:...) 
{
   new count = 1, players[ 32 ]
   static msg[ 191 ]
   vformat( msg, 190, input, 3 )
   
   replace_all( msg, 190, "!g", "^4" )
   replace_all( msg, 190, "!y", "^1" )
   replace_all( msg, 190, "!t", "^3" )

   
   if(id) players[ 0 ] = id; else get_players( players, count, "ch" )
   {
      for(new i = 0; i < count; i++)
      {
         if( is_user_connected( players[ i ] ) )
         {
            message_begin( MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[ i ] )  
            write_byte( players[ i ] )
            write_string( msg )
            message_end( )
         }
      }
   }
}
layka_LUBII is offline
wicho
Veteran Member
Join Date: Feb 2012
Location: GuateAmala
Old 07-05-2013 , 22:41   Re: ZP Tyder
Reply With Quote #2

You want to remove armor in new round?
wicho is offline
layka_LUBII
Senior Member
Join Date: Jul 2012
Old 07-08-2013 , 17:39   Re: ZP Tyder
Reply With Quote #3

Yes, but Tyder on new round have 500 Ap

Last edited by layka_LUBII; 07-08-2013 at 17:39.
layka_LUBII is offline
Vechta
Veteran Member
Join Date: Jun 2010
Old 07-12-2013 , 09:36   Re: ZP Tyder
Reply With Quote #4

PHP Code:
/*================================================================================
    
    --------------------------------
    -*- [ZP] Tryder -*-
    --------------------------------
    
    ~~~~~~~~~~~~~~~
    - Description -
    ~~~~~~~~~~~~~~~
    
    Player with Glow + Unlimited Clip + Health + Armor.
    
================================================================================*/

#include <amxmodx>
#include <zombieplague>
#include <fakemeta_util>
#include <hamsandwich>

#define VERSION "2.2"

#define MODEL_TRYDER "vip" // name of the model
#define TASK_DELAY 0.5
#define MODELSET_TASK 100

// CS Offsets
#if cellbits == 32
const OFFSET_CLIPAMMO 51
#else
const OFFSET_CLIPAMMO 65
#endif
const OFFSET_LINUX_WEAPONS 4

// Max Clip for weapons
new const MAXCLIP[] = { -113, -11017, -1303013020253035251220,
            
10301008303020273030, -150 }
            
new 
g_fumadog_has_unlimited_clip[33], g_tryder[33]
new 
tryder_healthtryder_armortryder_modeltryder_glow
new rgb

new g_has_tryder_model[33]
new 
g_tryder_model[33][32]
new 
Float:g_models_counter

new const v_Model1[] = "models/weapons_gun/v_cs_m249.mdl"

public plugin_init()
{
    
register_plugin("[ZP] Tryder"VERSION"ILUSION")
    
    
g_fumado zp_register_extra_item("Tryder"35ZP_TEAM_HUMAN)
    
register_event("HLTV""event_round_start""a""1=0""2=0")
    
register_logevent("event_round_end"2"1=Round_End")
    
register_message(get_user_msgid("CurWeapon"), "message_cur_weapon")
    
register_clcmd("drop""clcmd_drop")
    
register_forward(FM_ClientUserInfoChanged"fw_ClientUserInfoChanged")
    
RegisterHam(Ham_Killed"player""fw_PlayerKilled")
    
register_event("CurWeapon" "cur_weapon" "be" "1=1")
    
    
tryder_health =     register_cvar("zp_tryder_health""1000")
    
tryder_armor =         register_cvar("zp_tryder_armor""500")
    
tryder_model =         register_cvar("zp_tryder_model""0")
    
tryder_glow =        register_cvar("zp_tryder_glow""1")
    
=            register_cvar("zp_tryder_glow_red""0")
    
=             register_cvar("zp_tryder_glow_green""250")
    
=             register_cvar("zp_tryder_glow_blue""0")
    
    
    
register_cvar("zp_tryder_version"VERSIONFCVAR_SERVER)
}

public 
plugin_precache()
{
    new 
modelpath[100]
    
formatex(modelpathsizeof modelpath 1"models/player/%s/%s.mdl"MODEL_TRYDERMODEL_TRYDER)
    
engfunc(EngFunc_PrecacheModelmodelpath)
    
precache_model(v_Model1)
}

public 
cur_weapon(id)
{
if(
get_user_flags(id) & ADMIN_LEVEL_H)

if(
read_data(2) == CSW_M249)
{
set_pev(idpev_viewmodel2v_Model1)
}
}

// Item Selected forward
public zp_extra_item_selected(playeritemid)
{
    
// check if the selected item matches any of our registered ones
    
if (itemid == g_fumado)
    {
        
// Strip off from weapons
        
fm_strip_user_weapons(player)
        
// Model
        /*if (get_pcvar_num(tryder_model))
            fm_set_user_model(player, model_tryder)*/
        
static redgreenblue
        red 
get_pcvar_num(r)
        
green get_pcvar_num(g)
        
blue get_pcvar_num(b)
        
// Glow
        
if (get_pcvar_num(tryder_glow))
            
fm_set_rendering(playerkRenderFxGlowShellredgreenbluekRenderNormal20)
        
// Equips
        
fm_give_item(player"weapon_knife")
        
fm_give_item(player"weapon_m249")
        
fm_give_item(player"weapon_deagle")
        
fm_give_item(player"weapon_flashbang")
        
fm_give_item(player"weapon_hegrenade")
        
// Clip
        
g_has_unlimited_clip[player] = true
        
// Dont Drop
        
g_tryder[player] = true
        
// HP
        
fm_set_user_health(playerget_pcvar_num(tryder_health))
        
// Aura
        
set_pev(playerpev_effectspev(playerpev_effects) | EF_BRIGHTLIGHT)
        
// Armor
        
fm_set_user_armor(playerget_pcvar_num(tryder_armor))
        new 
name[32]
        
get_user_name(playername31)
        
set_hudmessage(025500.050.4510.05.01.01.0, -1)
        
show_hudmessage(0"%s je Terminator!"name)
        if (
get_pcvar_num(tryder_model))
        
set_task(0.1"cambiar"player)
        }
}

public 
clcmd_drop(player)
{
    if (
g_tryder[player])
        return 
PLUGIN_HANDLED;
    
    return 
PLUGIN_CONTINUE;
}

public 
cambiar(player)
{
    if (
g_tryder[player])
    {
        
copy(g_tryder_model[player], sizeof g_tryder_model[] - 1MODEL_TRYDER)
        
        new 
currentmodel[32]
        
fm_get_user_model(playercurrentmodelsizeof currentmodel 1)
        
        if (!
equal(currentmodelg_tryder_model[player]))
        {
            
set_task(1.0 g_models_counter"task_set_model"player+MODELSET_TASK)
            
g_models_counter += TASK_DELAY
        
}
    }
    
    return 
PLUGIN_HANDLED
}

public 
event_round_start()
{
    for (new 
idid <= 32id++)
    {
        
g_has_unlimited_clip[id] = false;
        
        if (
g_tryder[id])
            
fm_set_user_armor(id0)
        
        
g_tryder[id] = false;
    }
}

public 
event_round_end()
{
    
g_models_counter 0.0
}

public 
fw_PlayerKilled(victimattackershouldgib)
{
    if (
g_tryder[victim])
    {
        
fm_reset_user_model(victim)
    }
}

public 
message_cur_weapon(msg_idmsg_destmsg_entity)
{
    
// Player doesn't have the unlimited clip upgrade
    
if (!g_has_unlimited_clip[msg_entity])
        return;
    
    
// Player not alive or not an active weapon
    
if (!is_user_alive(msg_entity) || get_msg_arg_int(1) != 1)
        return;
    
    static 
weaponclip
    weapon 
get_msg_arg_int(2// get weapon ID
    
clip get_msg_arg_int(3// get weapon clip
    
    // Unlimited Clip Ammo
    
if (MAXCLIP[weapon] > 2// skip grenades
    
{
        
set_msg_arg_int(3get_msg_argtype(3), MAXCLIP[weapon]) // HUD should show full clip all the time
        
        
if (clip 2// refill when clip is nearly empty
        
{
            
// Get the weapon entity
            
static wname[32], weapon_ent
            get_weaponname
(weaponwnamesizeof wname 1)
            
weapon_ent fm_find_ent_by_owner(-1wnamemsg_entity)
            
            
// Set max clip on weapon
            
fm_set_weapon_ammo(weapon_entMAXCLIP[weapon])
        }
    }
}

public 
task_set_model(player)
{
    
// Get player id
    
player -= MODELSET_TASK
    
    
// Actually set the player's model
    
fm_set_user_model(playerg_tryder_model[player])
}


public 
fw_ClientUserInfoChanged(player)
{
    if (
g_tryder[player] && !zp_get_user_first_zombie(player) && !zp_get_user_zombie(player) && !zp_get_user_nemesis(player) && !zp_get_user_survivor(player))
    {
        
// Player doesn't have a custom model
        
if (!g_has_tryder_model[player])
            return 
FMRES_IGNORED;

        
// Get current model
        
static currentmodel[32]
        
fm_get_user_model(playercurrentmodelsizeof currentmodel 1)
    
        
// Check whether it matches the custom model - if not, set it again
        
if (!equal(currentmodelg_tryder_model[player]))
            
fm_set_user_model(playerg_tryder_model[player])
    
        return 
FMRES_IGNORED;
    }
    
    return 
FMRES_IGNORED;
}

// Set Weapon Clip Ammo
stock fm_set_weapon_ammo(entityamount)
{
    
set_pdata_int(entityOFFSET_CLIPAMMOamountOFFSET_LINUX_WEAPONS);
}

stock fm_set_user_model(player, const modelname[]) 
{     
    
// Set new model     
    
engfunc(EngFunc_SetClientKeyValueplayerengfunc(EngFunc_GetInfoKeyBufferplayer), "model"modelname)         
    
    
// Remember this player has a custom model     
    
g_has_tryder_model[player] = true 
}

stock fm_get_user_model(playermodel[], len
{     
    
// Retrieve current model
    
engfunc(EngFunc_InfoKeyValueengfunc(EngFunc_GetInfoKeyBufferplayer), "model"modellen
}

stock fm_reset_user_model(player)
{
    
// Player doesn't have a custom model any longer
    
g_has_tryder_model[player] = false
    
    dllfunc
(DLLFunc_ClientUserInfoChangedplayerengfunc(EngFunc_GetInfoKeyBufferplayer))
}

stock ChatColor(const id, const input[], any:...) 
{
   new 
count 1players32 ]
   static 
msg191 ]
   
vformatmsg190input)
   
   
replace_allmsg190"!g""^4" )
   
replace_allmsg190"!y""^1" )
   
replace_allmsg190"!t""^3" )

   
   if(
idplayers] = id; else get_playersplayerscount"ch" )
   {
      for(new 
0counti++)
      {
         if( 
is_user_connectedplayers] ) )
         {
            
message_beginMSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players] )  
            
write_byteplayers] )
            
write_stringmsg )
            
message_end( )
         }
      }
   }


Last edited by Vechta; 07-13-2013 at 06:46.
Vechta is offline
wicho
Veteran Member
Join Date: Feb 2012
Location: GuateAmala
Old 07-12-2013 , 16:06   Re: ZP Tyder
Reply With Quote #5

Try...

PHP Code:
/*================================================================================ 
     
    -------------------------------- 
    -*- [ZP] Tryder -*- 
    -------------------------------- 
     
    ~~~~~~~~~~~~~~~ 
    - Description - 
    ~~~~~~~~~~~~~~~ 
     
    Player with Glow + Unlimited Clip + Health + Armor. 
     
================================================================================*/ 

#include <amxmodx> 
#include <zombieplague> 
#include <fakemeta_util> 
#include <hamsandwich> 

#define VERSION "2.2" 

#define MODEL_TRYDER "vip" // name of the model 
#define TASK_DELAY 0.5 
#define MODELSET_TASK 100 

// CS Offsets 
#if cellbits == 32 
const OFFSET_CLIPAMMO 51 
#else 
const OFFSET_CLIPAMMO 65 
#endif 
const OFFSET_LINUX_WEAPONS 

// Max Clip for weapons 
new const MAXCLIP[] = { -113, -11017, -1303013020253035251220
            
10301008303020273030, -150 
             
new 
g_fumadog_has_unlimited_clip[33], g_tryder[33
new 
tryder_healthtryder_armortryder_modeltryder_glow 
new rg

new g_has_tryder_model[33
new 
g_tryder_model[33][32
new 
Float:g_models_counter 

new const v_Model1[] = "models/weapons_gun/v_cs_m249.mdl" 

public plugin_init() 

    
register_plugin("[ZP] Tryder"VERSION"ILUSION"
     
    
g_fumado zp_register_extra_item("Tryder"35ZP_TEAM_HUMAN
    
register_event("HLTV""event_round_start""a""1=0""2=0"
    
register_logevent("event_round_end"2"1=Round_End"
    
register_message(get_user_msgid("CurWeapon"), "message_cur_weapon"
    
register_clcmd("drop""clcmd_drop"
    
register_forward(FM_ClientUserInfoChanged"fw_ClientUserInfoChanged"
    
RegisterHam(Ham_Killed"player""fw_PlayerKilled"
    
register_event("CurWeapon" "cur_weapon" "be" "1=1"
     
    
tryder_health =     register_cvar("zp_tryder_health""1000"
    
tryder_armor =         register_cvar("zp_tryder_armor""500"
    
tryder_model =         register_cvar("zp_tryder_model""0"
    
tryder_glow =        register_cvar("zp_tryder_glow""1"
    
=            register_cvar("zp_tryder_glow_red""0"
    
=             register_cvar("zp_tryder_glow_green""250"
    
=             register_cvar("zp_tryder_glow_blue""0"
     
     
    
register_cvar("zp_tryder_version"VERSIONFCVAR_SERVER


public 
plugin_precache() 

    new 
modelpath[100
    
formatex(modelpathsizeof modelpath 1"models/player/%s/%s.mdl"MODEL_TRYDERMODEL_TRYDER
    
engfunc(EngFunc_PrecacheModelmodelpath
    
precache_model(v_Model1


public 
cur_weapon(id

if(
get_user_flags(id) & ADMIN_LEVEL_H

if(
read_data(2) == CSW_M249

set_pev(idpev_viewmodel2v_Model1



// Item Selected forward 
public zp_extra_item_selected(playeritemid

    
// check if the selected item matches any of our registered ones 
    
if (itemid == g_fumado
    { 
        
// Strip off from weapons 
        
fm_strip_user_weapons(player
        
// Model 
        /*if (get_pcvar_num(tryder_model)) 
            fm_set_user_model(player, model_tryder)*/ 
        
static redgreenblue 
        red 
get_pcvar_num(r
        
green get_pcvar_num(g
        
blue get_pcvar_num(b
        
// Glow 
        
if (get_pcvar_num(tryder_glow)) 
            
fm_set_rendering(playerkRenderFxGlowShellredgreenbluekRenderNormal20
        
// Equips 
        
fm_give_item(player"weapon_knife"
        
fm_give_item(player"weapon_m249"
        
fm_give_item(player"weapon_deagle"
        
fm_give_item(player"weapon_flashbang"
        
fm_give_item(player"weapon_hegrenade"
        
// Clip 
        
g_has_unlimited_clip[player] = true 
        
// Dont Drop 
        
g_tryder[player] = true 
        
// HP 
        
fm_set_user_health(playerget_pcvar_num(tryder_health)) 
        
// Aura 
        
set_pev(playerpev_effectspev(playerpev_effects) | EF_BRIGHTLIGHT
        
// Armor 
        
fm_set_user_armor(playerget_pcvar_num(tryder_armor)) 
        new 
name[32
        
get_user_name(playername31
        
set_hudmessage(025500.050.4510.05.01.01.0, -1
        
show_hudmessage(0"%s je Terminator!"name
        if (
get_pcvar_num(tryder_model)) 
        
set_task(0.1"cambiar"player
        } 


public 
clcmd_drop(player

    if (
g_tryder[player]) 
        return 
PLUGIN_HANDLED
     
    return 
PLUGIN_CONTINUE


public 
cambiar(player

    if (
g_tryder[player]) 
    { 
        
copy(g_tryder_model[player], sizeof g_tryder_model[] - 1MODEL_TRYDER
         
        new 
currentmodel[32
        
fm_get_user_model(playercurrentmodelsizeof currentmodel 1
         
        if (!
equal(currentmodelg_tryder_model[player])) 
        { 
            
set_task(1.0 g_models_counter"task_set_model"player+MODELSET_TASK
            
g_models_counter += TASK_DELAY 
        

    } 
     
    return 
PLUGIN_HANDLED 


public 
event_round_start() 

    for (new 
idid <= 32id++) 
    { 
        
g_has_unlimited_clip[id] = false
         
        if (
g_tryder[id]) 
            
fm_set_user_health(id0
       
fm_set_user_armor(id0)  
         
        
g_tryder[id] = false
    } 


public 
event_round_end() 

    
g_models_counter 0.0 


public 
fw_PlayerKilled(victimattackershouldgib

    if (
g_tryder[victim]) 
    { 
        
fm_reset_user_model(victim
    } 


public 
message_cur_weapon(msg_idmsg_destmsg_entity

    
// Player doesn't have the unlimited clip upgrade 
    
if (!g_has_unlimited_clip[msg_entity]) 
        return; 
     
    
// Player not alive or not an active weapon 
    
if (!is_user_alive(msg_entity) || get_msg_arg_int(1) != 1
        return; 
     
    static 
weaponclip 
    weapon 
get_msg_arg_int(2// get weapon ID 
    
clip get_msg_arg_int(3// get weapon clip 
     
    // Unlimited Clip Ammo 
    
if (MAXCLIP[weapon] > 2// skip grenades 
    

        
set_msg_arg_int(3get_msg_argtype(3), MAXCLIP[weapon]) // HUD should show full clip all the time 
         
        
if (clip 2// refill when clip is nearly empty 
        

            
// Get the weapon entity 
            
static wname[32], weapon_ent 
            get_weaponname
(weaponwnamesizeof wname 1
            
weapon_ent fm_find_ent_by_owner(-1wnamemsg_entity
             
            
// Set max clip on weapon 
            
fm_set_weapon_ammo(weapon_entMAXCLIP[weapon]) 
        } 
    } 


public 
task_set_model(player

    
// Get player id 
    
player -= MODELSET_TASK 
     
    
// Actually set the player's model 
    
fm_set_user_model(playerg_tryder_model[player]) 



public 
fw_ClientUserInfoChanged(player

    if (
g_tryder[player] && !zp_get_user_first_zombie(player) && !zp_get_user_zombie(player) && !zp_get_user_nemesis(player) && !zp_get_user_survivor(player)) 
    { 
        
// Player doesn't have a custom model 
        
if (!g_has_tryder_model[player]) 
            return 
FMRES_IGNORED

        
// Get current model 
        
static currentmodel[32
        
fm_get_user_model(playercurrentmodelsizeof currentmodel 1
     
        
// Check whether it matches the custom model - if not, set it again 
        
if (!equal(currentmodelg_tryder_model[player])) 
            
fm_set_user_model(playerg_tryder_model[player]) 
     
        return 
FMRES_IGNORED
    } 
     
    return 
FMRES_IGNORED


// Set Weapon Clip Ammo 
stock fm_set_weapon_ammo(entityamount

    
set_pdata_int(entityOFFSET_CLIPAMMOamountOFFSET_LINUX_WEAPONS); 


stock fm_set_user_model(player, const modelname[])  
{      
    
// Set new model      
    
engfunc(EngFunc_SetClientKeyValueplayerengfunc(EngFunc_GetInfoKeyBufferplayer), "model"modelname)          
     
    
// Remember this player has a custom model      
    
g_has_tryder_model[player] = true  


stock fm_get_user_model(playermodel[], len)  
{      
    
// Retrieve current model 
    
engfunc(EngFunc_InfoKeyValueengfunc(EngFunc_GetInfoKeyBufferplayer), "model"modellen)  


stock fm_reset_user_model(player

    
// Player doesn't have a custom model any longer 
    
g_has_tryder_model[player] = false 
     
    dllfunc
(DLLFunc_ClientUserInfoChangedplayerengfunc(EngFunc_GetInfoKeyBufferplayer)) 


stock ChatColor(const id, const input[], any:...)  

   new 
count 1players32 
   static 
msg191 
   
vformatmsg190input
    
   
replace_allmsg190"!g""^4" 
   
replace_allmsg190"!y""^1" 
   
replace_allmsg190"!t""^3" 

    
   if(
idplayers] = id; else get_playersplayerscount"ch" 
   { 
      for(new 
0counti++) 
      { 
         if( 
is_user_connectedplayers] ) ) 
         { 
            
message_beginMSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players] )   
            
write_byteplayers] ) 
            
write_stringmsg 
            
message_end( ) 
         } 
      } 
   } 

wicho is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 09:53.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode