AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Spanish (https://forums.alliedmods.net/forumdisplay.php?f=135)
-   -   Bug con los models (https://forums.alliedmods.net/showthread.php?t=182720)

leonard19941 04-12-2012 21:12

Bug con los models
 
Hola buenas, miren que tengo un problema. Yo utilizo el cod mod de peyote, que el cod, las clases y

los objetos viene separados unos de otros y resulta que tengo varias clases que tiene la "habilidad"

de tener el traje del enemigo al renacer, estoy utilizando el plugin "Players Models" de "ConnorMcLeod"

para que mis players tengan un model diferente, mas parecido a un cod, y la cosa es que cuando

alguien se elije algunas de las clases que tiene la "habilidad" de tener el traje del enemigo al renacer

pues tiene el traje del enemigo pero no el que yo puse con el plugin de connor sino el que viene por

defecto con el cs1.6, bueno un lio espero que hayan entendido y me puedan ayudar :).



Players Models

PHP Code:

/*    Formatright © 2009, ConnorMcLeod

    Players Models is free software;
    you can redistribute it and/or modify it under the terms of the
    GNU General Public License as published by the Free Software Foundation.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with Players Models; if not, write to the
    Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.
*/

//#define SET_MODELINDEX

#include <amxmodx>
#include <fakemeta>

#define VERSION "1.3.1"

#define SetUserModeled(%1)        g_bModeled |= 1<<(%1 & 31)
#define SetUserNotModeled(%1)        g_bModeled &= ~( 1<<(%1 & 31) )
#define IsUserModeled(%1)        ( g_bModeled &  1<<(%1 & 31) )

#define SetUserConnected(%1)        g_bConnected |= 1<<(%1 & 31)
#define SetUserNotConnected(%1)        g_bConnected &= ~( 1<<(%1 & 31) )
#define IsUserConnected(%1)        ( g_bConnected &  1<<(%1 & 31) )

#define MAX_MODEL_LENGTH 32
#define MAX_AUTHID_LENGTH 32

#define MAX_PLAYERS 32

#define ClCorpse_ModelName 1
#define ClCorpse_PlayerID 12

#define m_iTeam 114
#define g_ulModelIndexPlayer 491
#define fm_cs_get_user_team_index(%1)    get_pdata_int(%1, m_iTeam)

new const MODEL[] = "model";
new 
g_bModeled;
new 
g_szCurrentModel[MAX_PLAYERS+1][MAX_MODEL_LENGTH];

new 
Trie:g_tTeamModels[2];
new 
Trie:g_tModelIndexes;
new 
Trie:g_tDefaultModels;

new 
g_szAuthid[MAX_PLAYERS+1][MAX_AUTHID_LENGTH];
new 
g_bPersonalModel[MAX_PLAYERS+1];

new 
g_bConnected;

public 
plugin_init()
{
    
register_plugin("Players Models"VERSION"ConnorMcLeod");
    
    
register_forward(FM_SetClientKeyValue"SetClientKeyValue");
    
register_message(get_user_msgid("ClCorpse"), "Message_ClCorpse");
}

public 
plugin_precache()
{
    new 
szConfigFile[128];
    
get_localinfo("amxx_configsdir"szConfigFilecharsmax(szConfigFile));
    
format(szConfigFilecharsmax(szConfigFile), "%s/players_models.ini"szConfigFile);
    
    new 
iFile fopen(szConfigFile"rt");
    if( 
iFile )
    {
        new const 
szDefaultModels[][] = {"""urban""terror""leet""arctic""gsg9"
        
"gign""sas""guerilla""vip""militia""spetsnaz" };
        
g_tDefaultModels TrieCreate();
        for(new 
i=1i<sizeof(szDefaultModels); i++)
        {
            
TrieSetCell(g_tDefaultModelsszDefaultModels[i], i);
        }
        
        
g_tModelIndexes TrieCreate();
        
        
g_tTeamModels[0] = TrieCreate();
        
g_tTeamModels[1] = TrieCreate();
        
        new 
szDatas[70], szRest[40], szKey[MAX_AUTHID_LENGTH], szModel1[MAX_MODEL_LENGTH], szModel2[MAX_MODEL_LENGTH];
        while( !
feof(iFile) )
        {
            
fgets(iFileszDatascharsmax(szDatas));
            
trim(szDatas);
            if(!
szDatas[0] || szDatas[0] == ';' || szDatas[0] == '#' || (szDatas[0] == '/' && szDatas[1] == '/'))
            {
                continue;
            }
            
            
parse(szDatasszKeycharsmax(szKey), szModel1charsmax(szModel1), szModel2charsmax(szModel2));
            
            if( 
TrieKeyExists(g_tDefaultModelsszKey) )
            {
                if( 
szModel1[0] && !equal(szModel1szKey) && PrecachePlayerModel(szModel1) )
                {
                    
TrieSetString(g_tDefaultModelsszKeyszModel1);
                }
            }
            else if( 
equal(szKey"STEAM_"6) || equal(szKey"BOT") )
            {
                
parse(szRestszModel1charsmax(szModel1), szModel2charsmax(szModel2));
                if( 
szModel1[0] && PrecachePlayerModel(szModel1) )
                {
                    
TrieSetString(g_tTeamModels[1], szKeyszModel1);
                }
                if( 
szModel2[0] && PrecachePlayerModel(szModel2) )
                {
                    
TrieSetString(g_tTeamModels[0], szKeyszModel2);
                }
            }
        }
        
fcloseiFile );
    }
}

PrecachePlayerModel( const szModel[] )
{
    if( 
TrieKeyExists(g_tModelIndexesszModel) )
    {
        return 
1;
    }

    new 
szFileToPrecache[64];
    
formatex(szFileToPrecachecharsmax(szFileToPrecache), "models/player/%s/%s.mdl"szModelszModel);
    if( !
file_existsszFileToPrecache ) && !TrieKeyExists(g_tDefaultModelsszModel) )
    {
        return 
0;
    }

    
TrieSetCell(g_tModelIndexesszModelprecache_model(szFileToPrecache));

    
formatex(szFileToPrecachecharsmax(szFileToPrecache), "models/player/%s/%st.mdl"szModelszModel);
    if( 
file_existsszFileToPrecache ) )
    {
        
precache_model(szFileToPrecache);
        return 
1;
    }
    
formatex(szFileToPrecachecharsmax(szFileToPrecache), "models/player/%s/%sT.mdl"szModelszModel);
    if( 
file_existsszFileToPrecache ) )
    {
        
precache_model(szFileToPrecache);
        return 
1;
    }

    return 
1;
}

public 
plugin_end()
{
    
TrieDestroy(g_tTeamModels[0]);
    
TrieDestroy(g_tTeamModels[1]);
    
TrieDestroy(g_tModelIndexes);
    
TrieDestroy(g_tDefaultModels);
}

public 
client_authorizedid )
{
    
get_user_authid(idg_szAuthid[id], MAX_AUTHID_LENGTH-1);

    for(new 
i=1i<=2i++)
    {
        if( 
TrieKeyExists(g_tTeamModels[2-i], g_szAuthid[id]) )
        {
            
g_bPersonalModel[id] |= i;
        }
        else
        {
            
g_bPersonalModel[id] &= ~i;
        }
    }
}

public 
client_putinserver(id)
{
    if( !
is_user_hltv(id) )
    {
        
SetUserConnected(id);
    }
}

public 
client_disconnect(id)
{
    
g_bPersonalModel[id] = 0;
    
SetUserNotModeled(id);
    
SetUserNotConnected(id);
}

public 
SetClientKeyValue(id, const szInfoBuffer[], const szKey[], const szValue[])
{
    if( 
equal(szKeyMODEL) && IsUserConnected(id) )
    {
        new 
iTeam fm_cs_get_user_team_index(id);
        if( 
<= iTeam <= )
        {
            new 
szSupposedModel[MAX_MODEL_LENGTH];

            if( 
g_bPersonalModel[id] & iTeam )
            {
                
TrieGetString(g_tTeamModels[2-iTeam], g_szAuthid[id], szSupposedModelcharsmax(szSupposedModel));
            }
            else
            {
                
TrieGetString(g_tDefaultModelsszValueszSupposedModelcharsmax(szSupposedModel));
            }

            if( 
szSupposedModel[0] )
            {
                if(    !
IsUserModeled(id)
                ||    !
equal(g_szCurrentModel[id], szSupposedModel)
                ||    !
equal(szValueszSupposedModel)    )
                {
                    
copy(g_szCurrentModel[id], MAX_MODEL_LENGTH-1szSupposedModel);
                    
SetUserModeled(id);
                    
set_user_info(idMODELszSupposedModel);
                
#if defined SET_MODELINDEX
                    
new iModelIndex;
                    
TrieGetCell(g_tModelIndexesszSupposedModeliModelIndex);
                
//    set_pev(id, pev_modelindex, iModelIndex); // is this needed ?
                    
set_pdata_int(idg_ulModelIndexPlayeriModelIndex);
                
#endif
                    
return FMRES_SUPERCEDE;
                }
            }

            if( 
IsUserModeled(id) )
            {
                
SetUserNotModeled(id);
                
g_szCurrentModel[id][0] = 0;
            }
        }
    }
    return 
FMRES_IGNORED;
}

public 
Message_ClCorpse()
{
    new 
id get_msg_arg_int(ClCorpse_PlayerID);
    if( 
IsUserModeled(id) )
    {
        
set_msg_arg_string(ClCorpse_ModelNameg_szCurrentModel[id]);
    }




Camuflado (una de las clases con ese problema)

PHP Code:

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <codmod>
#include <cstrike>
#include <hamsandwich>

new bool:mw2_class[33];

new 
CT_Skins[4][] = {"sas""gsg9""urban""gign"};
new 
Terros_Skins[4][] = {"arctic""leet""guerilla""terror"};

new const 
name[] = "Camuflado";
new const 
description[] = "Tiene el Traje del Enemigo.";
new const 
weapons 1<<CSW_AK47 1<<CSW_DEAGLE 1<<CSW_HEGRENADE 1<<CSW_FLASHBANG;
new const 
health 14;
new const 
condition 30;
new const 
intelligence 0;
new const 
strength 10;

public 
plugin_init() 
{
    
register_plugin(name"1.0""QTM_Peyote");
    
    
cod_register_class(namedescriptionweaponshealthconditionintelligencestrength);
    
    
RegisterHam(Ham_Spawn"player""Spawn"1);
}

public 
cod_class_enabled(id)
    
mw2_class[id] = true;

public 
cod_class_disabled(id)
{
    
ChangeSkins(id1);
    
mw2_class[id] = false;
}

public 
Spawn(id)
{
    if(!
is_user_alive(id))
        return;
    
    if(!
mw2_class[id])
        return;
    
    if(
random_num(1,3) == 1)
    {
        new 
CsTeams:team cs_get_user_team(id);
        
        
cs_set_user_team(id, (team == CS_TEAM_CT)? CS_TEAM_TCS_TEAM_CT);
        
ExecuteHam(Ham_CS_RoundRespawnid);
        
        
cs_set_user_team(idteam);
    }
    
ChangeSkins(id0);
}

public 
ChangeSkins(idreset)
{
    if (!
is_user_connected(id)) 
        return 
PLUGIN_CONTINUE;
    
    if(
reset)
        
cs_reset_user_model(id);
    else
    {
        new 
num random_num(0,3);
        
cs_set_user_model(id, (cs_get_user_team(id) == CS_TEAM_T)? CT_Skins[num]: Terros_Skins[num]);
    }
    
    return 
PLUGIN_CONTINUE;



rak 04-12-2012 21:16

Re: Bug con los models
 
-.-

PHP Code:

new CT_Skins[4][] = {"sas""gsg9""urban""gign"}; 
new 
Terros_Skins[4][] = {"arctic""leet""guerilla""terror"}; 

pareciera un chiste.. ni viste el codigo

Geoslide 04-12-2012 21:17

Re: Bug con los models
 
EDIT: CHIT RAK EL RAPIDO

leonard19941 04-12-2012 21:24

Re: Bug con los models
 
Quote:

Originally Posted by rak (Post 1687818)
-.-

PHP Code:

new CT_Skins[4][] = {"sas""gsg9""urban""gign"}; 
new 
Terros_Skins[4][] = {"arctic""leet""guerilla""terror"}; 

pareciera un chiste.. ni viste el codigo

si lo vi, que decis con eso que cambie eso por los nuevos models ?

si ya lo pense hacer pero e posteado para saber si puede haber otra forma

rak 04-12-2012 21:29

Re: Bug con los models
 
Quote:

Originally Posted by leonard19941 (Post 1687830)
si lo vi, que decis con eso que cambie eso por los nuevos models ?

si ya lo pense hacer pero e posteado para saber si puede haber otra forma

antes de postear.. quemate la cabeza intentando.. otra forma? si lo q haces ahi es asignarle algun model de lo que te remarque -.-

leonard19941 04-12-2012 21:40

Re: Bug con los models
 
Quote:

Originally Posted by rak (Post 1687834)
antes de postear.. quemate la cabeza intentando.. otra forma? si lo q haces ahi es asignarle algun model de lo que te remarque -.-

rak no me digas que me queme la cabeza ya que llevo con esto casi 3 dias, y lo unico que se me

ocurio es que tendria que cambiar los nombre por default y poner los nuevos que utilizo con el plugin

de connor, pero asi no es como yo quiero que quede ya que si los quiero poner en otro server que no

tenga esos models me daria error y tendria que cambiar todos otra vez por defaul

rak 04-12-2012 21:48

Re: Bug con los models
 
usa un cvar

leonard19941 04-12-2012 22:42

Re: Bug con los models
 
Quote:

Originally Posted by rak (Post 1687850)
usa un cvar

explica un poco, porfa :wink:

rak 04-12-2012 22:59

Re: Bug con los models
 
http://forums.alliedmods.net/showpos...&postcount=135

XINLEI 04-12-2012 23:39

Re: Bug con los models
 
Solo ponga los nombres de los cool modelos en el array que mostro Rak.

Quote:

Originally Posted by leonard19941 (Post 1687844)
ya que si los quiero poner en otro server que no
tenga esos models me daria error y tendria que cambiar todos otra vez por defaul

Expliquese.


All times are GMT -4. The time now is 10:20.

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