View Single Post
Author Message
megamanzx
Member
Join Date: Feb 2012
Old 07-20-2013 , 15:29   [AYUDA] Setear Model en Extra Tryder
#1

Bueno tengo tiempo que no solicito ayuda gracias a todos que me solucionan los errores.

pero esta vez esta dificil ya no encuentro que hacerle a este plugin que es el de tryder. lo edite y lo puse como Super Sayayin. le agrege el efecto de particulas y todo, funcionaba en zombie plague advance y se le cambiaba el model a Goku cuando lo compraban.

me cambie al zombie apocalypse y me mandaba este error.
name : zp_set_user_model ) check your modules.ini

y busco una manera efectiva para que se cambie el model al comprar el extra sin que se caiga el server.
este es el unico que edite y funciona bien.

el que colocare a continuacion no le sirve el model. ?? hay otra manera de setearle el model?
o solo hacer que funcione ese que tiene

PHP Code:
#include <amxmodx> 
#include <fakemeta>
#include <fun>
#include <fakemeta_util>  
#include <hamsandwich>  
#include <zombieapocalypse> 

#define VERSION "3.0" 

#define MODEL_TRYDER "cabal_sayayin_3" 
#define ID_MODEL (taskid - TASK_MODEL) 
#define TASK_PARTICULAS 27000
#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], g_maxplayers
new tryder_healthtryder_armortryder_modeltryder_glowtryder_auracvar_particulas_oncvar_maxsayan
new rgb
new g_has_tryder_model[33]
new 
g_tryder_model[33][32]
new 
g_max_sayan[33][4]
new 
bool:g_damage[33
new 
Float:g_models_counter

public plugin_init() 

    
g_fumado za_register_extra_item("Super Sayayin \r[CCSO lvl10]"1050ZP_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")
    
RegisterHam(Ham_TakeDamage"player""ham_TakeDamage");
      
tryder_health register_cvar("zp_tryder_health""666"
      
cvar_particulas_on register_cvar("zp_particulas_on""1")
      
tryder_armor register_cvar("zp_tryder_armor""666"
       
tryder_model register_cvar("zp_tryder_model""1"
      
tryder_glow register_cvar("zp_tryder_glow""1"
       
tryder_aura register_cvar("zp_tryder_aura""0"
       
register_cvar("zp_tryder_glow_red""250")
       
register_cvar("zp_tryder_glow_green""250"
       
register_cvar("zp_tryder_glow_blue""0"
         
cvar_maxsayan register_cvar("zp_max_sayan""3")
        
register_cvar("zp_tryder_version"VERSIONFCVAR_SERVER)
    
g_maxplayers get_maxplayers()
     


public 
ham_TakeDamage(victiminflictorattackerFloat:damage) {
    if (
victim == attacker || !is_user_connected(attacker)) return HAM_IGNORED;
    if (
g_damage[attacker]) {
        
damage *= 1.5;
        
SetHamParamFloat(4damage);
    }
    return 
HAM_IGNORED;
}

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

// Item Selected forward 
public zp_extra_item_selected(playeritemid

    
// check if the selected item matches any of our registered ones 
    
if (itemid == g_fumado
    {
    if(
g_max_sayan[player][0] >= get_pcvar_num(cvar_maxsayan))
    {
          
client_print(playerprint_center"Has Comprado Sayayin 3 Maximo. son 3 Por Mapa")
          return 
PLUGIN_CONTINUE;
      }
        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(playerkRenderFxGlowShellredgreenbluekRenderNormal5
        } 
         
        
// Aura? 
        
if (get_pcvar_num(tryder_aura)) 
        { 
            
set_pev(playerpev_effectspev(playerpev_effects) | EF_BRIGHTLIGHT
        } 

    
//particulas?
    
if(get_pcvar_num(cvar_particulas_on))
    {
    
set_task(0.1"uqz_particulas"player TASK_PARTICULAS__"b")
    }
    

    
fm_set_user_model(playerMODEL_TRYDER)
    
set_user_maxspeed(playerget_cvar_float("zp_human_speed") + 100)
         
        
// Strip off from weapons 
        
fm_strip_user_weapons(player)         
         
        
// Equips 
        
fm_give_item(player"weapon_knife"
        
fm_give_item(player"weapon_m4a1"
        
fm_give_item(player"weapon_AK47"
        
fm_give_item(player"weapon_XM1014")
        
fm_give_item(player"weapon_m249")
    
fm_give_item(player"weapon_awp"
    
fm_give_item(player"weapon_scout"
        
fm_give_item(player"weapon_deagle"
    
fm_give_item(player"weapon_elite"
        
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 
    g_damage
[player] = true 
         
        
// HP 
        
fm_set_user_health(playerget_pcvar_num(tryder_health)) 
         
        
// Armor 
        
fm_set_user_armor(playerget_pcvar_num(tryder_armor)) 
         
        new 
name[32
        
get_user_name(playername31
        
set_hudmessage(25525500.050.4510.05.01.01.0, -1
        
show_hudmessage(0"%s Es Un SUPER SAYAYIN!!"name
    
g_max_sayan[player][0]++

    } 
    return 
PLUGIN_HANDLED;


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


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

public 
event_round_end()
{
    
g_models_counter 0.0
}

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])
        }
    }
}

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

// Cuando el Usuario es Infectado:
public zp_user_infected_post(id)
{
    
remove_task(id TASK_PARTICULAS// Removemos el TASK de las PARTICULAS
    
g_damage[id] = false
}

// Cuando el Usuario se Desconecta:
public client_disconnect(id)
{
    
remove_task(id TASK_PARTICULAS// Removemos el TASK de las PARTICULAS
}

// Cuando empieza una Ronda Nueva:
public event_round_start()
{
    for (new 
idid <= 32id++) g_has_unlimited_clip[id] = false;
    for (new 
playerplayer <= 32player++) g_tryder[player] = false;
    for (new 
idid <= g_maxplayersid++)
    for (new 
idid <= 32id++) remove_task(id TASK_PARTICULAS)
}

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;
}

// Funcion de las Particulas:
public uqz_particulas(id)
{
    
id -= TASK_PARTICULAS
    
    
// Detectamos si el Usuario esta Vivo:
    
if (!is_user_alive(id))
        return
    
    
// Registramos la Posicion del Usuario 
    
static Float:Origin[3]
    
pev(idpev_originOrigin)

    
engfunc(EngFunc_MessageBeginMSG_PVSSVC_TEMPENTITYOrigin0// Abrmios la Funcion
    
write_byte(TE_IMPLOSION// TE Id
    
engfunc(EngFunc_WriteCoordOrigin[0]) // Posicion del Player
    
engfunc(EngFunc_WriteCoordOrigin[1]) // Posicion 'Y'
    
engfunc(EngFunc_WriteCoordOrigin[2]) // Posicion 'X'
    
write_byte(128// Radio de las Particulas
    
write_byte(20// Particulas por Segundo
    
write_byte(2// Delay Rate = Tiempo que tarda en desaparecer las Particulas.
    
message_end() // Cerramos la Funcion.
}


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))


XFAS EL QUE PUEDA. GRAX
megamanzx is offline