Error - Multi-dimensional arrays must be fully initialized
#1
Hola a todos!

Tengo un Problema con una constante y es que me arroja este error: Error: Multi-dimensional arrays must be fully initialized

Lo unico que hice fue poner algunos rangos a este sistema:

Code:

Código PHP:
/*=========================================================================
*     Includes
==========================================================================*/

#include <amxmodx>
#include <amxmisc>
#include <nvault>  
#include <cstrike>
#include <fun>
#include <hamsandwich>
#include <fakemeta>

/*=========================================================================
*     Informacion
==========================================================================*/

new Plugin [] =   "Sistema de Niveles ttt"
new Version [] =  "1.0"
new Autor [] =    "Life"

new Prefix [] = "!g[!yAMXX]!g";

/*=========================================================================
*     Defines
==========================================================================*/

#define MaxNiveles 15
#define Jugador(%1) ( 1 <= %1 <=  gMaxPlayers )
#define HuD-Message 10113

/*=========================================================================
*     Consts
==========================================================================*/

new const Experiencia[MaxNiveles] = 
{
    
100,            // Principiante
    
200,             // Iniciando
         
400,            // Novato
    
750,             // Normal
    
1200,            // Sabiduria
    
1500,             // Soldado
    
2000,            // Cabo
    
3250,             // Sargento
    
4500,            // Capitan
    
7000,             // Mayor
    
10000,            // Coronel
    
15000,                    // General
    
17000,                     // Maestro
    
20000,                     // Legendario
    
25000                     // Maestro Supremo
}
new const 
Rangos[MaxNiveles +1][]=
{
    
"Recluta",         // "Al comienzo"
    
"Soldado",        // "Nivel Nº 1
    
"Soldado Primero",         // Nivel Nº 2
    
"Soldado Segundo",        // Nivel Nº 3
    
"Cabo",         // Nivel Nº 4
    
"Cabo Primero",        // Nivel Nº 5
    
"Cabo Segundo",         // Nivel Nº 6
    
"Sargento",            // Nivel Nº 7
    
"Sargento Primero",         // Nivel Nº 8
    
"Capitan",        // Nivel Nº 9
    
"Teniente",          // Nivel Nº 10
    
"Coronel",        // Nivel Nº 11
    
"General",         // Nivel Nº 12
    
"Legendario",
    
"Maestro Supremo"
}

/*=========================================================================
*     Admines Rangos
==========================================================================*/

enum DatosAdmin

    
Nombre[32], 
    
Kill 


new const 
RangosAdmins[][DatosAdmin] =  

    {
"Fundador"ADMIN_IMMUNITY}, 
    {
"Co - Fundaodr"ADMIN_BAN}, 
    {
"Super-Moderador"ADMIN_CFG}, 
    {
"Moderador"ADMIN_KICK}, 
    {
"VIP"ADMIN_LEVEL_H
};

/*=========================================================================
*     Variables
==========================================================================*/

new Nivel[33];
new 
Exp[33];
new 
Reset[33];

new 
CuchiXpArmaXpHeadShotXpHeGrenadeXp;

new 
gMsgSync3;

new 
gMaxPlayers;

/*=========================================================================
*     Booleans
==========================================================================*/

new bool:is_user_ignored33 ]

/*=========================================================================
*     INICIANDO...
==========================================================================*/

public plugin_init() 
{
    
/*=========================================================================
    *     Registro del plugin
    ==========================================================================*/
    
register_plugin(PluginVersionAutor)
    
    
register_message(get_user_msgid("SayText"),"Message_SayText");
    
    
/*=========================================================================
    *     Registro del INC Ham
    ==========================================================================*/
    
RegisterHam Ham_Spawn"player""Ham_CheckOthers_Bonus"1);
    
RegisterHam Ham_TakeDamage"player""Ham_CheckDamage_Bonus", .Post false );
    
RegisterHam Ham_Item_PreFrame"player""Ham_CheckSpeed_Bonus"1);
    
    
/*=========================================================================
    *     Registro de los 'Cvars'
    ==========================================================================*/
    
register_cvar"XP_Reward_MSG""1" );
    
register_cvar"HookAdmin""0" );
    
    
CuchiXp =     register_cvar("xp_por_cuchi""7")
    
ArmaXp =     register_cvar("xp_por_arma""5")
    
HeadShotXp =     register_cvar("xp_por_headshot""10")
    
HeGrenadeXp =     register_cvar("xp_por_bomba""13")
    
    
/*=========================================================================
    *     Registro de comandos
    ==========================================================================*/
    
register_clcmd "say /xp""MuestraXP")
    
register_clcmd "say_team /xp""MuestraXP")
    
register_clcmd "say /lvl""MuestraLVL")
    
register_clcmd "say_team /lvl""MuestraLVL")
    
register_clcmd "say /reset""Resetear")
    
register_clcmd "say_team /reset""Resetear")
    
    
/*=========================================================================
    *     Registro de Variables
    ==========================================================================*/
    
gMaxPlayers get_maxplayers( );
    
gMsgSync3 CreateHudSyncObj()
}

/*=========================================================================
*     Muestra de ' EXP - NIVEL - RESET '
==========================================================================*/

public MuestraXP(id)
{
    
ChatColor(id"%s !yTu experiencia es de: !g%i/%i"PrefixExp[id], Experiencia[Nivel[id]])
}

public 
MuestraLVL(id)
{    
    
ChatColor(id"%s !yTu rango es: !g%s!y!"PrefixRangos[Nivel[id]])
}

public 
MuestraRTS(id)
{    
    
ChatColor(id"%s !yTu tienes: !g%i!y Resets!"PrefixReset[id])
}

/*=========================================================================
*     Public de los Ham
==========================================================================*/

public Ham_CheckDamage_BonuspevVictimpevInflictorpevAttacker 

    if( !( 
<= pevAttacker <= gMaxPlayers) ) 
    { 
        return 
HAM_HANDLED
    } 
     
    if( !
is_user_alivepevAttacker )  ) 
    { 
        return 
HAM_HANDLED
    }  

    return 
HAM_IGNORED

public 
Ham_CheckSpeed_Bonusid )
{
    if( !
is_user_aliveid ) || cs_get_user_teamid ) != CS_TEAM_T )
    {
        return 
HAM_IGNORED;
    }
            
    return 
HAM_IGNORED;
}
public 
Ham_CheckOthers_Bonus(id)
{
    if( !
is_user_aliveid ) || cs_get_user_teamid ) != CS_TEAM_T )
        return 
HAM_IGNORED;
    
    
remove_taskHuD-Message id );        

    
set_task(0.1"ShowHud"HuD-Message id)
            
    return 
HAM_IGNORED;
}

/*=========================================================================
*     Usuario Nivel 12 - HUD
==========================================================================*/

public Jugador_Nvl12_Entra(id)
{
    new 
name[32]
    
get_user_name(idnamesizeof(name) -1)
        
    
ChatColor(0"%s !yJugador respetado: !g%s !yentro con !g%i !yde XP!"PrefixnameExp[id])
}

public 
Jugador_Nvl12_Sale(id)
{
    new 
name[32]
    
get_user_name(idnamesizeof(name) -1)
        
    
ChatColor(0"%s !yJugador respetado: !g%s !yse fue con !g%i !yde XP!"PrefixnameExp[id])
}

/*=========================================================================
*     Usuario entrando
==========================================================================*/

public client_putinserver(id)
{
    
//Datos
    
CargarDatos(id)
    
    
// Hud
    
set_task60.0"ShowHud"id, .flags "b" );
    
    
//Nivel 12
    
if(Nivel[id] == 12)
    {
        
set_task(5.0"Jugador_Nvl12_Entra"id)
    }
}

/*=========================================================================
*     Usuario Desconectado
==========================================================================*/

public client_disconnect(id)
{
    
GuardarDatos(id)
    
    if(
Nivel[id] == 12)
    {
        
set_task(1.0"Jugador_Nvl12_Sale"id)
    }
}

/*=========================================================================
*     Usuario Muere
==========================================================================*/

public client_deathiAsesinoiVictimawpnindexhitplace )
{
    new 
VictimaName[32]
    new 
AsesinoName[32]
    
    
get_user_nameiAsesinoAsesinoNamecharsmaxAsesinoName ) )
    
get_user_nameiVictimaVictimaNamecharsmaxVictimaName ) )

    if( 
is_user_ignorediAsesino ] )
        return 
PLUGIN_HANDLED_MAIN
    
    get_user_name
iAsesinoAsesinoNamecharsmaxAsesinoName ) )
    
get_user_nameiVictimaVictimaNamecharsmaxVictimaName ) )
    
    if( 
iAsesino != iVictima && ( <= iAsesino <= gMaxPlayers ) && ( <= iVictima <= gMaxPlayers ) && !( hitplace == HIT_HEAD ) && !( wpnindex == CSW_HEGRENADE ) )
    {
        
Exp[iAsesino] += get_pcvar_num(ArmaXp)
        
        if( 
get_cvar_num("XP_Reward_MSG") == 
        {
            
ChatColor iAsesino"%s!y Tu tienes!g %i!y de XP por matar a!g %s!y con un !g'Arma'"Prefixget_pcvar_num(ArmaXp), VictimaName )
        }
    }
    
    if( 
hitplace == HIT_HEAD )
    {
        
Exp[iAsesino] += get_pcvar_num(HeadShotXp)
        
        if( 
get_cvar_num("XP_Reward_MSG") == 
        {
            
ChatColor iAsesino"%s!y Tu tienes!g %i!y de XP por matar !g %s!y con un !g'HeadShot'"Prefixget_pcvar_num (HeadShotXp), VictimaName )
        }
    }
    
    if( 
wpnindex == CSW_HEGRENADE && iAsesino != iVictima )
    {
        
Exp[iAsesino] += get_pcvar_num(HeGrenadeXp)
        
        if( 
get_cvar_num("XP_Reward_MSG") == 
        {
            
ChatColoriAsesino"%s!y Tu tienes!g %i!y de XP por matar a!g %s!y con una !g'Granada'"Prefixget_pcvar_num (HeGrenadeXp), VictimaName )
        }
    }
    
    if( 
wpnindex == CSW_KNIFE && iAsesino != iVictima )
    {
        
Exp[iAsesino] += get_pcvar_num(CuchiXp)
        
        if( 
get_cvar_num("XP_Reward_MSG") == 
        {
            
ChatColoriAsesino"%s!y Tu tienes!g %i!y de XP por matar a!g %s con el !g'Cuchillo'"Prefixget_pcvar_num (CuchiXp), VictimaName )
        }
    }
    
    
ChekearLVL(iAsesino)
    
GuardarDatos(iAsesino)
    
    return 
PLUGIN_CONTINUE
}

/*=========================================================================
*     Chekeacion de los niveles - Level Up!
==========================================================================*/

public ChekearLVL(id)
{
    if(
Nivel[id] < MaxNiveles-1)
    {
        while(
Exp[id] >= Experiencia[Nivel[id]])
        {
            
Nivel[id] += 
            ChatColor
(id"%s!y Felicidades!y, ha subido de nivel, ahora tu nivel es: !g%s!y"PrefixRangos[Nivel[id]])
        }
    } 
}

/*=========================================================================
*     Hud-Message
==========================================================================*/

public ShowHud(task)
{
    new 
id task HuD-Message
    
    
if(!is_user_alive(id))
        return;
    
    
set_hudmessage(011200.020.3300.00.30.00.0)
    
ShowSyncHudMsg(idgMsgSync3,"[Nivel : %s]^n[EXP : %i/%i]^n^n[Reset/s : %i]"Rangos[Nivel[id]], Exp[id], Experiencia[Nivel[id]], Reset[id])
    
    
set_task(0.1"ShowHud"HuD-Message id)    
}

/*=========================================================================
*     Resets nivle
==========================================================================*/

public Resetear(id)
{
    if(
Nivel[id] == 12)
    {
        
Nivel[id] = 0
        Exp
[id] = 0
        Reset
[id] += 1
        
        ChatColor
(id"%s !yFelicidades, ahora tienes !g%i !y' Reset/s '"PrefixReset[id]);
    }
    else
    {
        
ChatColor(id"%s !yTienes que ser nivel !g12 !ypara poder hacer un reset"Prefix);
    }
    
    
ChekearLVL(id)
    
GuardarDatos(id)
}

/*=========================================================================
*     Guardar y Cargar niveles
==========================================================================*/

public GuardarDatos(id

    new 
AuthID[35]
    new 
gVault nvault_open"SISTEMA_XP" )
    
    
get_user_authid(id,AuthID,34
    new 
vaultkey[64], vaultdata[256
    
    
format(vaultkey63,"%s-Mod"AuthID
    
format(vaultdata255,"%i#%i#%i#"Exp[id], Nivel[id], Reset[id]) 
    
    
nvault_set(gVaultvaultkeyvaultdata
    
    
nvault_close(gVault)
}

public 
CargarDatos(id
{
    new 
AuthID[35]
    
    new 
timestamp
    
new gVault nvault_open("SISTEMA_XP")
    
    
get_user_authid(id,AuthID,34
    new 
vaultkey[64], vaultdata[256
    
    
format(vaultkey63,"%s-Mod"AuthID
    
format(vaultdata255,"%i#%i#%i#"Exp[id], Nivel[id], Reset[id]) 
    
    if(
nvault_lookup(gVaultvaultkeyvaultdatacharsmax(vaultdata), timestamp))
    {
    
        
nvault_get(gVaultvaultkeyvaultdata255
    
        
replace_all(vaultdata255"#"" "
        
        new 
JugadorXp[32], JugadorNivel[32], JugadorReset[32]
    
        
parse(vaultdataJugadorXp31JugadorNivel31JugadorReset31
    
        
Exp[id] = str_to_num JugadorXp 
        
Nivel[id] = str_to_num JugadorNivel )
        
Reset[id] = str_to_num JugadorReset )
    }
}

/*=========================================================================
*     Hook_Say Admines - Rangos
==========================================================================*/

public Message_SayText(msgId,msgDest,msgEnt

    new 
id get_msg_arg_int(1); 
    if( 
is_user_connected(id) ) 
    { 
        if( 
get_cvar_num("HookAdmin") == 
        {
            new 
flags get_user_flags(id)
            for(new 
ii<sizeof(RangosAdmins); i++) 
            { 
                if( 
flags RangosAdmins[i][Kill] ) 
                { 
                    new 
szCanal[64]
                    
get_msg_arg_string(2szCanalcharsmax(szCanal))
        
                    if( 
equal(szCanal"#Cstrike_Chat_All") ) 
                    { 
                        
formatex(szCanalcharsmax(szCanal), "^4[%s] [%s]  ^3%%s1 ^1:  %%s2"RangosAdmins[i][Nombre], Rangos[Nivel[id]])
                        
set_msg_arg_string(2szCanal)
                    } 
                    else if( !
equal(szCanal"#Cstrike_Name_Change") ) 
                    { 
                        
format(szCanalcharsmax(szCanal), "^4[%s] [%s] %s"RangosAdmins[i][Nombre], Rangos[Nivel[id]], szCanal)
                        
set_msg_arg_string(2szCanal)
                    } 
                    return
                } 
                else
                {
                    new 
szCanal[64]
                    
get_msg_arg_string(2szCanalcharsmax(szCanal))
        
                    if( 
equal(szCanal"#Cstrike_Chat_All") ) 
                    { 
                        
formatex(szCanalcharsmax(szCanal), "^4[%s] ^3%%s1 ^1:  %%s2"Rangos[Nivel[id]])
                        
set_msg_arg_string(2szCanal)
                    } 
                    else if( !
equal(szCanal"#Cstrike_Name_Change") ) 
                    { 
                        
format(szCanalcharsmax(szCanal), "^4[%s] %s"Rangos[Nivel[id]], szCanal)
                        
set_msg_arg_string(2szCanal)
                    } 
                    return 
                }
            } 
        }
        else
        {
            new 
szCanal[64]
            
get_msg_arg_string(2szCanalcharsmax(szCanal));
        
            if( 
equal(szCanal"#Cstrike_Chat_All") ) 
            { 
                
formatex(szCanalcharsmax(szCanal), "^4[%s] ^3%%s1 ^1:  %%s2"Rangos[Nivel[id]])
                
set_msg_arg_string(2szCanal)
            } 
            else if( !
equal(szCanal"#Cstrike_Name_Change") ) 
            { 
                
format(szCanalcharsmax(szCanal), "^4[%s] %s"Rangos[Nivel[id]], szCanal
                
set_msg_arg_string(2szCanal)
            } 
            return 
        }
    } 
}

/*=========================================================================
*     Stock del ColorChat
==========================================================================*/

stock ChatColor(const id, const input[], any:...)
{
    new 
count 1players[32]
    static 
msg[191]
    
vformat(msg190input3)
    
    
replace_all(msg190"!g""^4"// Color Verde
    
replace_all(msg190"!y""^1"// Color Amarillo
    
replace_all(msg190"!team""^3"// Color de tu Equipo
    
replace_all(msg190"!team2""^0"// Color de Espectador
    
    
if (idplayers[0] = id; else get_players(playerscount"ch")
    {
        for (new 
0counti++)
        {
            if (
is_user_connected(players[i]))
            {
                
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i])
                
write_byte(players[i]);
                
write_string(msg);
                
message_end();
            }
        }
    }


Gracias por la ayuda!
Aprendiendo!

Mi Comunidad: http://facebook.com/groups/CsParaisoComunidad/

Me ayudarias muchisimo donandome algo para poder abrir mi comunidad, te lo agradeceria muchisimo!

Click Aqui!
Responder
#2
Mucha paja mostrarte lo que cambié; fíjate vos y compara.

Código PHP:
/*=========================================================================
*     Includes
==========================================================================*/

#include <amxmodx>
#include <amxmisc>
#include <nvault>  
#include <cstrike>
#include <fun>
#include <hamsandwich>
#include <fakemeta>

/*=========================================================================
*     Informacion
==========================================================================*/

new Plugin [] =   "Sistema de Niveles ttt"
new Version [] =  "1.0"
new Autor [] =    "Life"

new Prefix [] = "!g[!yAMXX]!g";

/*=========================================================================
*     Defines
==========================================================================*/

#define MaxNiveles 15
#define Jugador(%1) ( 1 <= %1 <=  gMaxPlayers )
#define HuD-Message 10113

/*=========================================================================
*     Consts
==========================================================================*/

new const Experiencia[MaxNiveles] = 
{
    
100,            // Principiante
    
200,             // Iniciando
    
400,            // Novato
    
750,             // Normal
    
1200,            // Sabiduria
    
1500,             // Soldado
    
2000,            // Cabo
    
3250,             // Sargento
    
4500,            // Capitan
    
7000,             // Mayor
    
10000,            // Coronel
    
15000,                    // General
    
17000,                     // Maestro
    
20000,                     // Legendario
    
25000                     // Maestro Supremo
}
new const 
Rangos[sizeofExperiencia )][]=
{
    
"Recluta",         // "Al comienzo"
    
"Soldado",        // "Nivel Nº 1
    
"Soldado Primero",         // Nivel Nº 2
    
"Soldado Segundo",        // Nivel Nº 3
    
"Cabo",         // Nivel Nº 4
    
"Cabo Primero",        // Nivel Nº 5
    
"Cabo Segundo",         // Nivel Nº 6
    
"Sargento",            // Nivel Nº 7
    
"Sargento Primero",         // Nivel Nº 8
    
"Capitan",        // Nivel Nº 9
    
"Teniente",          // Nivel Nº 10
    
"Coronel",        // Nivel Nº 11
    
"General",         // Nivel Nº 12
    
"Legendario",
    
"Maestro Supremo"
}

/*=========================================================================
*     Admines Rangos
==========================================================================*/

enum DatosAdmin

    
Nombre[32], 
    
Kill 


new const 
RangosAdmins[][DatosAdmin] =  

    {
"Fundador"ADMIN_IMMUNITY}, 
    {
"Co - Fundaodr"ADMIN_BAN}, 
    {
"Super-Moderador"ADMIN_CFG}, 
    {
"Moderador"ADMIN_KICK}, 
    {
"VIP"ADMIN_LEVEL_H
};

/*=========================================================================
*     Variables
==========================================================================*/

new Nivel[33];
new 
Exp[33];
new 
Reset[33];

new 
CuchiXpArmaXpHeadShotXpHeGrenadeXp;

new 
gMsgSync3;

new 
gMaxPlayers;

/*=========================================================================
*     Booleans
==========================================================================*/

new bool:is_user_ignored33 ]

/*=========================================================================
*     INICIANDO...
==========================================================================*/

public plugin_init() 
{
    
/*=========================================================================
    *     Registro del plugin
    ==========================================================================*/
    
register_plugin(PluginVersionAutor)
    
    
register_message(get_user_msgid("SayText"),"Message_SayText");
    
    
/*=========================================================================
    *     Registro del INC Ham
    ==========================================================================*/
    
RegisterHam Ham_Spawn"player""Ham_CheckOthers_Bonus"1);
    
RegisterHam Ham_TakeDamage"player""Ham_CheckDamage_Bonus", .Post false );
    
RegisterHam Ham_Item_PreFrame"player""Ham_CheckSpeed_Bonus"1);
    
    
/*=========================================================================
    *     Registro de los 'Cvars'
    ==========================================================================*/
    
register_cvar"XP_Reward_MSG""1" );
    
register_cvar"HookAdmin""0" );
    
    
CuchiXp =     register_cvar("xp_por_cuchi""7")
    
ArmaXp =     register_cvar("xp_por_arma""5")
    
HeadShotXp =     register_cvar("xp_por_headshot""10")
    
HeGrenadeXp =     register_cvar("xp_por_bomba""13")
    
    
/*=========================================================================
    *     Registro de comandos
    ==========================================================================*/
    
register_clcmd "say /xp""MuestraXP")
    
register_clcmd "say_team /xp""MuestraXP")
    
register_clcmd "say /lvl""MuestraLVL")
    
register_clcmd "say_team /lvl""MuestraLVL")
    
register_clcmd "say /reset""Resetear")
    
register_clcmd "say_team /reset""Resetear")
    
    
/*=========================================================================
    *     Registro de Variables
    ==========================================================================*/
    
gMaxPlayers get_maxplayers( );
    
gMsgSync3 CreateHudSyncObj()
}

/*=========================================================================
*     Muestra de ' EXP - NIVEL - RESET '
==========================================================================*/

public MuestraXP(id)
{
    
ChatColor(id"%s !yTu experiencia es de: !g%i/%i"PrefixExp[id], Experiencia[Nivel[id]])
}

public 
MuestraLVL(id)
{    
    
ChatColor(id"%s !yTu rango es: !g%s!y!"PrefixRangos[Nivel[id]])
}

public 
MuestraRTS(id)
{    
    
ChatColor(id"%s !yTu tienes: !g%i!y Resets!"PrefixReset[id])
}

/*=========================================================================
*     Public de los Ham
==========================================================================*/

public Ham_CheckDamage_BonuspevVictimpevInflictorpevAttacker 

    if( !( 
<= pevAttacker <= gMaxPlayers) ) 
    { 
        return 
HAM_HANDLED
    } 
     
    if( !
is_user_alivepevAttacker )  ) 
    { 
        return 
HAM_HANDLED
    }  

    return 
HAM_IGNORED

public 
Ham_CheckSpeed_Bonusid )
{
    if( !
is_user_aliveid ) || cs_get_user_teamid ) != CS_TEAM_T )
    {
        return 
HAM_IGNORED;
    }
            
    return 
HAM_IGNORED;
}
public 
Ham_CheckOthers_Bonus(id)
{
    if( !
is_user_aliveid ) || cs_get_user_teamid ) != CS_TEAM_T )
        return 
HAM_IGNORED;
    
    
remove_taskHuD-Message id );        

    
set_task(0.1"ShowHud"HuD-Message id)
            
    return 
HAM_IGNORED;
}

/*=========================================================================
*     Usuario Nivel 12 - HUD
==========================================================================*/

public Jugador_Nvl12_Entra(id)
{
    new 
name[32]
    
get_user_name(idnamesizeof(name) -1)
        
    
ChatColor(0"%s !yJugador respetado: !g%s !yentro con !g%i !yde XP!"PrefixnameExp[id])
}

public 
Jugador_Nvl12_Sale(id)
{
    new 
name[32]
    
get_user_name(idnamesizeof(name) -1)
        
    
ChatColor(0"%s !yJugador respetado: !g%s !yse fue con !g%i !yde XP!"PrefixnameExp[id])
}

/*=========================================================================
*     Usuario entrando
==========================================================================*/

public client_putinserver(id)
{
    
//Datos
    
CargarDatos(id)
    
    
// Hud
    
set_task60.0"ShowHud"id, .flags "b" );
    
    
//Nivel 12
    
if(Nivel[id] == 12)
    {
        
set_task(5.0"Jugador_Nvl12_Entra"id)
    }
}

/*=========================================================================
*     Usuario Desconectado
==========================================================================*/

public client_disconnect(id)
{
    
GuardarDatos(id)
    
    if(
Nivel[id] == 12)
    {
        
set_task(1.0"Jugador_Nvl12_Sale"id)
    }
}

/*=========================================================================
*     Usuario Muere
==========================================================================*/

public client_deathiAsesinoiVictimawpnindexhitplace )
{
    new 
VictimaName[32]
    new 
AsesinoName[32]
    
    
get_user_nameiAsesinoAsesinoNamecharsmaxAsesinoName ) )
    
get_user_nameiVictimaVictimaNamecharsmaxVictimaName ) )

    if( 
is_user_ignorediAsesino ] )
        return 
PLUGIN_HANDLED_MAIN
    
    get_user_name
iAsesinoAsesinoNamecharsmaxAsesinoName ) )
    
get_user_nameiVictimaVictimaNamecharsmaxVictimaName ) )
    
    if( 
iAsesino != iVictima && ( <= iAsesino <= gMaxPlayers ) && ( <= iVictima <= gMaxPlayers ) && !( hitplace == HIT_HEAD ) && !( wpnindex == CSW_HEGRENADE ) )
    {
        
Exp[iAsesino] += get_pcvar_num(ArmaXp)
        
        if( 
get_cvar_num("XP_Reward_MSG") == 
        {
            
ChatColor iAsesino"%s!y Tu tienes!g %i!y de XP por matar a!g %s!y con un !g'Arma'"Prefixget_pcvar_num(ArmaXp), VictimaName )
        }
    }
    
    if( 
hitplace == HIT_HEAD )
    {
        
Exp[iAsesino] += get_pcvar_num(HeadShotXp)
        
        if( 
get_cvar_num("XP_Reward_MSG") == 
        {
            
ChatColor iAsesino"%s!y Tu tienes!g %i!y de XP por matar !g %s!y con un !g'HeadShot'"Prefixget_pcvar_num (HeadShotXp), VictimaName )
        }
    }
    
    if( 
wpnindex == CSW_HEGRENADE && iAsesino != iVictima )
    {
        
Exp[iAsesino] += get_pcvar_num(HeGrenadeXp)
        
        if( 
get_cvar_num("XP_Reward_MSG") == 
        {
            
ChatColoriAsesino"%s!y Tu tienes!g %i!y de XP por matar a!g %s!y con una !g'Granada'"Prefixget_pcvar_num (HeGrenadeXp), VictimaName )
        }
    }
    
    if( 
wpnindex == CSW_KNIFE && iAsesino != iVictima )
    {
        
Exp[iAsesino] += get_pcvar_num(CuchiXp)
        
        if( 
get_cvar_num("XP_Reward_MSG") == 
        {
            
ChatColoriAsesino"%s!y Tu tienes!g %i!y de XP por matar a!g %s con el !g'Cuchillo'"Prefixget_pcvar_num (CuchiXp), VictimaName )
        }
    }
    
    
ChekearLVL(iAsesino)
    
GuardarDatos(iAsesino)
    
    return 
PLUGIN_CONTINUE
}

/*=========================================================================
*     Chekeacion de los niveles - Level Up!
==========================================================================*/

public ChekearLVL(id)
{
    if(
Nivel[id] < MaxNiveles-1)
    {
        while(
Exp[id] >= Experiencia[Nivel[id]])
        {
            
Nivel[id] += 
            ChatColor
(id"%s!y Felicidades!y, ha subido de nivel, ahora tu nivel es: !g%s!y"PrefixRangos[Nivel[id]])
        }
    } 
}

/*=========================================================================
*     Hud-Message
==========================================================================*/

public ShowHud(task)
{
    new 
id task HuD-Message
    
    
if(!is_user_alive(id))
        return;
    
    
set_hudmessage(011200.020.3300.00.30.00.0)
    
ShowSyncHudMsg(idgMsgSync3,"[Nivel : %s]^n[EXP : %i/%i]^n^n[Reset/s : %i]"Rangos[Nivel[id]], Exp[id], Experiencia[Nivel[id]], Reset[id])
    
    
set_task(0.1"ShowHud"HuD-Message id)    
}

/*=========================================================================
*     Resets nivle
==========================================================================*/

public Resetear(id)
{
    if(
Nivel[id] == 12)
    {
        
Nivel[id] = 0
        Exp
[id] = 0
        Reset
[id] += 1
        
        ChatColor
(id"%s !yFelicidades, ahora tienes !g%i !y' Reset/s '"PrefixReset[id]);
    }
    else
    {
        
ChatColor(id"%s !yTienes que ser nivel !g12 !ypara poder hacer un reset"Prefix);
    }
    
    
ChekearLVL(id)
    
GuardarDatos(id)
}

/*=========================================================================
*     Guardar y Cargar niveles
==========================================================================*/

public GuardarDatos(id

    new 
AuthID[35]
    new 
gVault nvault_open"SISTEMA_XP" )
    
    
get_user_authid(id,AuthID,34
    new 
vaultkey[64], vaultdata[256
    
    
format(vaultkey63,"%s-Mod"AuthID
    
format(vaultdata255,"%i#%i#%i#"Exp[id], Nivel[id], Reset[id]) 
    
    
nvault_set(gVaultvaultkeyvaultdata
    
    
nvault_close(gVault)
}

public 
CargarDatos(id
{
    new 
AuthID[35]
    
    new 
timestamp
    
new gVault nvault_open("SISTEMA_XP")
    
    
get_user_authid(id,AuthID,34
    new 
vaultkey[64], vaultdata[256
    
    
format(vaultkey63,"%s-Mod"AuthID
    
format(vaultdata255,"%i#%i#%i#"Exp[id], Nivel[id], Reset[id]) 
    
    if(
nvault_lookup(gVaultvaultkeyvaultdatacharsmax(vaultdata), timestamp))
    {
    
        
nvault_get(gVaultvaultkeyvaultdata255
    
        
replace_all(vaultdata255"#"" "
        
        new 
JugadorXp[32], JugadorNivel[32], JugadorReset[32]
    
        
parse(vaultdataJugadorXp31JugadorNivel31JugadorReset31
    
        
Exp[id] = str_to_num JugadorXp 
        
Nivel[id] = str_to_num JugadorNivel )
        
Reset[id] = str_to_num JugadorReset )
    }
}

/*=========================================================================
*     Hook_Say Admines - Rangos
==========================================================================*/

public Message_SayText(msgId,msgDest,msgEnt

    new 
id get_msg_arg_int(1); 
    if( 
is_user_connected(id) ) 
    { 
        if( 
get_cvar_num("HookAdmin") == 
        {
            new 
flags get_user_flags(id)
            for(new 
ii<sizeof(RangosAdmins); i++) 
            { 
                if( 
flags RangosAdmins[i][Kill] ) 
                { 
                    new 
szCanal[64]
                    
get_msg_arg_string(2szCanalcharsmax(szCanal))
        
                    if( 
equal(szCanal"#Cstrike_Chat_All") ) 
                    { 
                        
formatex(szCanalcharsmax(szCanal), "^4[%s] [%s]  ^3%%s1 ^1:  %%s2"RangosAdmins[i][Nombre], Rangos[Nivel[id]])
                        
set_msg_arg_string(2szCanal)
                    } 
                    else if( !
equal(szCanal"#Cstrike_Name_Change") ) 
                    { 
                        
format(szCanalcharsmax(szCanal), "^4[%s] [%s] %s"RangosAdmins[i][Nombre], Rangos[Nivel[id]], szCanal)
                        
set_msg_arg_string(2szCanal)
                    } 
                    return
                } 
                else
                {
                    new 
szCanal[64]
                    
get_msg_arg_string(2szCanalcharsmax(szCanal))
        
                    if( 
equal(szCanal"#Cstrike_Chat_All") ) 
                    { 
                        
formatex(szCanalcharsmax(szCanal), "^4[%s] ^3%%s1 ^1:  %%s2"Rangos[Nivel[id]])
                        
set_msg_arg_string(2szCanal)
                    } 
                    else if( !
equal(szCanal"#Cstrike_Name_Change") ) 
                    { 
                        
format(szCanalcharsmax(szCanal), "^4[%s] %s"Rangos[Nivel[id]], szCanal)
                        
set_msg_arg_string(2szCanal)
                    } 
                    return 
                }
            } 
        }
        else
        {
            new 
szCanal[64]
            
get_msg_arg_string(2szCanalcharsmax(szCanal));
        
            if( 
equal(szCanal"#Cstrike_Chat_All") ) 
            { 
                
formatex(szCanalcharsmax(szCanal), "^4[%s] ^3%%s1 ^1:  %%s2"Rangos[Nivel[id]])
                
set_msg_arg_string(2szCanal)
            } 
            else if( !
equal(szCanal"#Cstrike_Name_Change") ) 
            { 
                
format(szCanalcharsmax(szCanal), "^4[%s] %s"Rangos[Nivel[id]], szCanal
                
set_msg_arg_string(2szCanal)
            } 
            return 
        }
    } 
}

/*=========================================================================
*     Stock del ColorChat
==========================================================================*/

stock ChatColor(const id, const input[], any:...)
{
    new 
count 1players[32]
    static 
msg[191]
    
vformat(msg190input3)
    
    
replace_all(msg190"!g""^4"// Color Verde
    
replace_all(msg190"!y""^1"// Color Amarillo
    
replace_all(msg190"!team""^3"// Color de tu Equipo
    
replace_all(msg190"!team2""^0"// Color de Espectador
    
    
if (idplayers[0] = id; else get_players(playerscount"ch")
    {
        for (new 
0counti++)
        {
            if (
is_user_connected(players[i]))
            {
                
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i])
                
write_byte(players[i]);
                
write_string(msg);
                
message_end();
            }
        }
    }

Responder
#3
Código PHP:
new const Rangos[MaxNiveles +1][]= 
Quita el +1.
No estás dando valor a esa celda adicional por lo que no estará completamente inicializado el array (es lo que dice el error).
Responder
#4
Algo asi habia visto en AM, pero no entendi Gracias Por la ayuda a ustedes dos!
Aprendiendo!

Mi Comunidad: http://facebook.com/groups/CsParaisoComunidad/

Me ayudarias muchisimo donandome algo para poder abrir mi comunidad, te lo agradeceria muchisimo!

Click Aqui!
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)