Enviar respuesta 
sacar native a los rangos solucionado
Autor Mensaje
Forever123 Sin conexión
Miembro Sr.


Mensajes: 378
Registro en: May 2018
Reputación: 1
Mensaje: #1
sacar native a los rangos solucionado
buenas alguien me podria ayudar a como le puedo sacar la native a esto
Código PHP:
Rangos[g_rango[id]][NOMBRE
para poder llamar el rango en otro plugin

Código PHP:
/*

ChangeLog:

1.0 = Version inicial
2.0 = 
    * Correccion de errores
    * Cambio deathmsg por ham killed
    * Reescritura parcial de codigo
    * Soporte AMX 1.8.2 hasta 1.9.0
    * Cvar para activar/desactivar la modificacion del chat

*/

#include <amxmisc>
#include <hamsandwich>
#include <fakemeta>
#include <adv_vault>


#if AMXX_VERSION_NUM < 183
    #define client_disconnected client_disconnect

    #define print_team_default 0

    
stock client_print_color(indexfakevar, const input[], any:...)
    {
        
#pragma unused fakevar
        
static szMsg[191], g_iMsgSayText;
        if(!
g_iMsgSayTextg_iMsgSayText get_user_msgid("SayText");

        
vformat(szMsg190input3);

        
message_begin(index MSG_ONE_UNRELIABLE MSG_BROADCASTg_iMsgSayText, .player index);
        
write_byte(index index 33);
        
write_string(szMsg);
        
message_end();
    }
#endif


#define VERSION "2.0"

new const Web[] = "HTTPS://KIKIZON.XYZ/";      // Se Muestra en HUD
new const Prefijo[] = "^4[CS:GO] ^1";     // Prefijo en say
new const Sonido[] = "rango/up.wav";    // Sonido Rango UP
new const DataBase[] = "csgoranks";        // Nombre de la base de datos
new const CHAT_FLAG ADMIN_KICK;        // Acceso requerido para el chat de admins

enum _:DATA
{
    
NOMBRE[30],
    
FRAGS
}

new const 
Rangos[][DATA] =
{
    { 
"Sin Rango"100 },
    { 
"Silver I"200 },
    { 
"Silver II"300 },
    { 
"Silver III"500 },
    { 
"Silver IV"700 },
    { 
"Silver Elite"800 },
    { 
"Silver Elite Master"900 },
    { 
"Gold Nova I"1000 },
    { 
"Gold Nova II"1200 },
    { 
"Gold Nova III"1300 },
    { 
"Gold Nova Master"1400 },
    { 
"Master Guardian I",1500 },
    { 
"Master Guardian II"1700 },
    { 
"Master Guardian Elite"1800 },
    { 
"Distinguished Master Guardian"1900 },
    { 
"Legendary Eagle"2000 },
    { 
"Legendary Eagle Master"2100 },
    { 
"Supreme Master First Class"2200 },
    { 
"The Global Elite"2500 }
}

new 
g_rango[33], g_frags[33];
new 
SyncHUDg_maxplayersg_playername[33][32];

#define TASK_HUD 67521
#define ID_HUD (taskid - TASK_HUD)
#define is_valid_player(%0) is_user_connected(%0) || !is_user_bot(%0) || !is_user_hltv(%0)

new g_vaultg_iField_Rankg_iField_Frags;
new 
cvar_Hudcvar_knifex2cvar_hsx2cvar_hooksay;

public 
plugin_init()
{
    
register_plugin("Rangos CS:GO"VERSION"kikizon / HTTPS://KIKIZON.XYZ/");
    
    
RegisterHam(Ham_Killed"player""ham_PlayerKilledPost"true);
    
register_logevent("logevent_round_end"2"1=Round_End");
    
    
register_clcmd("say""message_saytext");
    
register_clcmd("say_team""message_sayteam");
    
    
cvar_Hud register_cvar("rangos_hud""1");             // 1 - Mostrar HUD | 0 - No Mostrar
    
cvar_knifex2 register_cvar("rangos_knifex2""1");    // 1 - x2 frags con knife | 0 - ÑO :v
    
cvar_hsx2 register_cvar("rangos_hsx2""1");            // 1 - x2 frags de HeadShot | 0 - ÑO :v
    
cvar_hooksay register_cvar("rangos_hooksay""1");    // 1 - Modifica el say | 0 ÑO :v
    
    
SyncHUD CreateHudSyncObj();
    
g_maxplayers get_maxplayers();
    
    
g_vault adv_vault_open(DataBasefalse);
    
g_iField_Rank adv_vault_register_field(g_vault"RANGOS");
    
g_iField_Frags adv_vault_register_field(g_vault"FRAGS");
    
adv_vault_init(g_vault);
}

public 
plugin_precache() 
{
    
precache_sound(Sonido);
}

public 
HUD(taskid)
{
    new 
id ID_HUD;
    
    if (!
is_user_alive(id))    
        
id pev(idpev_iuser2);
   
    if(
id != ID_HUD)
    {
        
set_hudmessage(2552552550.600.6716.01.0);
        
ShowSyncHudMsg(ID_HUDSyncHUD"Frags: %d  ||  Rango: %s"g_frags[id], Rangos[g_rango[id]][NOMBRE])
    }
    else
    {
        
set_hudmessage(025500.00.2016.01.0);

        if(
g_rango[id] == charsmax(Rangos))
        {
            
ShowSyncHudMsg(
            
ID_HUD,
            
SyncHUD,
            
"=======================^n\
            Frags: %d^n\
            Rango: %s^n\
            =======================^n\
            TIENES EL RANGO MAXIMO!!!^n\
            =======================^n\
            %s"
,
            
g_frags[id],
            
Rangos[g_rango[id]][NOMBRE],            
            
Web
            
);
        }
        else 
        {
            
ShowSyncHudMsg(
            
ID_HUD,
            
SyncHUD,
            
"=======================^n\
            Frags: %d^n\
            Rango: %s^n\
            =======================^n\
            Sig. Rango: %s^n\
            Frags Restantes: %d^n\
            =======================^n\
            %s"

            
g_frags[id],
            
Rangos[g_rango[id]][NOMBRE],
            
Rangos[g_rango[id]+1][NOMBRE],
            
Rangos[g_rango[id]][FRAGS] - g_frags[id],
            
Web
            
);
        }
    }
    
}

public 
client_putinserver(id)
{
    
get_user_name(idg_playername[id], 31);
    
g_rango[id] = g_frags[id] = 0;
    
    
Cargar(id);
    
    if(
get_pcvar_num(cvar_Hud)) 
        
set_task(1.0"HUD"id+TASK_HUD__"b");
}

public 
client_disconnected(id)
{
    if(
is_valid_player(id))
        
Guardar(id);
        
    
remove_task(id+TASK_HUD)
}

public 
logevent_round_end()
{
    static 
id;
    for(
id 1id <= g_maxplayers; ++id)
    {
        if(
is_valid_player(id))
            
Guardar(id);
    }
}

public 
ham_PlayerKilledPost(victimattackersg)
{
    if(!
is_user_connected(victim) || !is_user_connected(attacker) || !attacker || attacker == victim)
        return 
HAM_IGNORED;

    
SetFrags(attacker1);

    if(
get_pcvar_num(cvar_knifex2) == && get_user_weapon(attacker) == CSW_KNIFE)
        
SetFrags(attacker1);

    if(
get_pcvar_num(cvar_hsx2) == && get_pdata_int(victim755) == HIT_HEAD)
        
SetFrags(attacker1);

    return 
HAM_IGNORED;
}

SetFrags(indexfrags)
{
    
g_frags[index] += frags;

    static 
iRankiRank g_rango[index];
    while( 
g_frags[index] >= Rangos[g_rango[index]][FRAGS] && g_rango[index] < charsmax(Rangos))
        ++
g_rango[index];

    if(
iRank g_rango[index])
    {
        
client_print_color(indexprint_team_default"%s Felicidades subiste al rango: ^4%s"PrefijoRangos[g_rango[index]][NOMBRE]);
        
client_cmd(index"spk ^"%s^""Sonido);
    }
}

public 
message_saytext(id)
{
    if(!
get_pcvar_num(cvar_hooksay))    
        return 
PLUGIN_CONTINUE;

    static 
said[192]; read_args(saidcharsmax(said)); remove_quotes(said);
    
    if (
said[0] == '@' || said[0] == '%' || said[0] == '/' || said[0] == '.' || said[0] == '!' || equal (said""))
        return 
PLUGIN_HANDLED;

    if (!
ValidMessage(said1)) return PLUGIN_CONTINUE;
    
    static 
color[11], iteam[11];
    
get_user_team(id,color,charsmax(color));
    
    if(
get_user_flags(id) & CHAT_FLAG)
    {
        
format(saidcharsmax(said), "^x01%s^x04%s ^x03%s ^x01: ^x04%s",
        
is_user_alive(id) ? "" "[MUERTO]",
        
Rangos[g_rango[id]][NOMBRE],
        
g_playername[id],
        
said);
    }
    else
    {
        
format(saidcharsmax(said), "^x01%s^04%s ^x03%s ^x01: %s",
        
is_user_alive(id) ? "" "[MUERTO]",
        
Rangos[g_rango[id]][NOMBRE],
        
g_playername[id],
        
said);
    }
    
    for (
1<= g_maxplayersi++)
    {
        if (!
is_user_connected(i)) continue;
        
        if(
get_user_flags(i) & CHAT_FLAG || is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i))
        {
            
get_user_team(iteamcharsmax(team));
            
changeTeamInfo(icolor);
            
writeMessage(isaid);
            
changeTeamInfo(iteam);
        }
    }

    return 
PLUGIN_HANDLED_MAIN;
}

public 
message_sayteam(id)
{
    if(!
get_pcvar_num(cvar_hooksay))    
        return 
PLUGIN_CONTINUE;

    static 
said[192]; read_args(saidcharsmax(said)); remove_quotes(said);
    
    if (
said[0] == '@' || said[0] == '%' || said[0] == '/' || said[0] == '.' || said[0] == '!' || equal (said""))
        return 
PLUGIN_HANDLED;

    if (!
ValidMessage(said1)) return PLUGIN_CONTINUE
    
    static 
playerTeamplayerTeamName[19]; playerTeam get_user_team(id);
    switch (
playerTeam)
    {
        case 
1copy (playerTeamName6"TE")
        case 
2copy (playerTeamName8"CT"
        default: 
copy (playerTeamName11"SPEC"
    }

    static 
color[11], iteam[11];
    
get_user_team(id,color,charsmax(color));

    if (
get_user_flags(id) & CHAT_FLAG)
    {
        
format(saidcharsmax(said), "^x01%s [ %s ] ^x04%s ^x03%s ^x01: ^x04%s",
        
is_user_alive(id) ? "" "[MUERTO]",
        
playerTeam,
        
Rangos[g_rango[id]],
        
g_playername[id],
        
said);
    }
    else
    {
        
format(saidcharsmax(said), "^x01%s [ %s ] ^04%s ^x03%s ^x01: %s",
        
is_user_alive(id) ? "" "[MUERTO]",
        
playerTeam,
        
Rangos[g_rango[id]],
        
g_playername[id],
        
said);
    }

    for (
1<= g_maxplayersi++)
    {
        if (!
is_user_connected(i)) continue;
        
        if (
get_user_team(i) == playerTeam || get_user_flags(i) & CHAT_FLAG)
        {
            if (
is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i))
            {
                
get_user_team(iteamcharsmax(team));
                
changeTeamInfo(icolor);
                
writeMessage(isaid);
                
changeTeamInfo(iteam);
            }
        }
    }

    return 
PLUGIN_HANDLED_MAIN;
}

public 
changeTeamInfo(playerteam[])
{
    static 
g_msgTeamInfo;
    if(!
g_msgTeamInfog_msgTeamInfo get_user_msgid("TeamInfo");

    
message_begin(MSG_ONEg_msgTeamInfo_player);
    
write_byte(player);
    
write_string(team);
    
message_end();
}

public 
writeMessage(playermessage[])
{
    static 
g_msgSayText;
    if(!
g_msgSayTextg_msgSayText get_user_msgid("SayText");
    
    
message_begin(MSG_ONEg_msgSayText, {000}, player);
    
write_byte(player);
    
write_string(message);
    
message_end();
}

Guardar(id)
{    
    
adv_vault_set_start(g_vault);

    
adv_vault_set_field(g_vaultg_iField_Rankg_rango[id]);
    
adv_vault_set_field(g_vaultg_iField_Fragsg_frags[id]);
    
    
adv_vault_set_end(g_vault0g_playername[id]);
}

Cargar(id)
{
    if(!
adv_vault_get_prepare(g_vault_g_playername[id])) 
        return;
    
    
g_rango[id] = adv_vault_get_field(g_vaultg_iField_Rank);
    
g_frags[id] = adv_vault_get_field(g_vaultg_iField_Frags);


stock ValidMessage(text[], maxcount)
{
    static 
lenicountlen strlen(text);count 0;
    if (!
len) return false;
    
    for (
0leni++)
    {
        if (
text[i] != ' ')
        {
            
count++;
            if (
count >= maxcount) return true;
        }
    }
    return 
false;

(Este mensaje fue modificado por última vez en: 09/09/2019 07:03 PM por Forever123.)
09/09/2019 02:51 AM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
kikizon2 Sin conexión
Miembro Héroe


Plugin developer Donador Regalo Beta Tester Trebol purpura 1k Plugin popular
Mensajes: 3,727
Registro en: Jan 2014
Reputación: 63
Mensaje: #2
RE: sacar native a los rangos
Código PHP:
public plugin_natives() register_native("csgo_get_rankname""native_get_rankname"1);

public 
native_get_rankname(index, const szRank[], len)
{
    if(!
is_user_connected(index)) return 0;

    
formatex(szRanklenRangos[g_rango[index]][NOMBRE]);
    return 
1;



NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
09/09/2019 03:02 AM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Forever123 Sin conexión
Miembro Sr.


Mensajes: 378
Registro en: May 2018
Reputación: 1
Mensaje: #3
RE: sacar native a los rangos
(09/09/2019 03:02 AM)kikizon2 escribió:  
Código PHP:
public plugin_natives() register_native("csgo_get_rankname""native_get_rankname"1);

public 
native_get_rankname(index, const szRank[], len)
{
    if(!
is_user_connected(index)) return 0;

    
formatex(szRanklenRangos[g_rango[index]][NOMBRE]);
    return 
1;


me tira este error al copilar
Cita:error 035: argument type mismatch (argument 1)
Código PHP:
formatex(szRanklenRangos[g_rango[index]][NOMBRE]); 

cree la variable dentro del a funcion y me dejo copilar no se si sea esa la forma de arreglarlo
Código PHP:
public native_get_rankname(index, const szRank[], len)
{
    new 
szRank[33]
    if(!
is_user_connected(index)) return 0;

    
formatex(szRanklenRangos[g_rango[index]][NOMBRE]);
    return 
1;


tengo un problema en el menu donde pongo para que salga el rango me sale otra cosa hay subire una imagen


Archivo(s) adjuntos Miniatura(s)
   
(Este mensaje fue modificado por última vez en: 09/09/2019 03:41 AM por Forever123.)
09/09/2019 03:06 AM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
kikizon2 Sin conexión
Miembro Héroe


Plugin developer Donador Regalo Beta Tester Trebol purpura 1k Plugin popular
Mensajes: 3,727
Registro en: Jan 2014
Reputación: 63
Mensaje: #4
RE: sacar native a los rangos
(09/09/2019 03:02 AM)kikizon2 escribió:  
Código PHP:
public plugin_natives() register_native("csgo_get_rankname""native_get_rankname"1);

public 
native_get_rankname(indexszRank[], len)
{
    if(!
is_user_connected(index)) return 0;

    
formatex(szRanklenRangos[g_rango[index]][NOMBRE]);
    return 
1;


se usa:

Código PHP:
new szRank[32];
csgo_get_rankname(indexszRankcharsmax(szRank)); 


NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
09/09/2019 04:03 AM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Forever123 Sin conexión
Miembro Sr.


Mensajes: 378
Registro en: May 2018
Reputación: 1
Mensaje: #5
RE: sacar native a los rangos
(09/09/2019 04:03 AM)kikizon2 escribió:  
(09/09/2019 03:02 AM)kikizon2 escribió:  
Código PHP:
public plugin_natives() register_native("csgo_get_rankname""native_get_rankname"1);

public 
native_get_rankname(indexszRank[], len)
{
    if(!
is_user_connected(index)) return 0;

    
formatex(szRanklenRangos[g_rango[index]][NOMBRE]);
    return 
1;


se usa:

Código PHP:
new szRank[32];
csgo_get_rankname(indexszRankcharsmax(szRank)); 

no entiendo que tengo que hacer con esto
Código PHP:
new szRank[32];
csgo_get_rankname(indexszRankcharsmax(szRank)); 
me puedes explicar
09/09/2019 09:58 AM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
kikizon2 Sin conexión
Miembro Héroe


Plugin developer Donador Regalo Beta Tester Trebol purpura 1k Plugin popular
Mensajes: 3,727
Registro en: Jan 2014
Reputación: 63
Mensaje: #6
RE: sacar native a los rangos
Se usa como get_user_name o get_user_authid

Whatever


NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
09/09/2019 12:18 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Forever123 Sin conexión
Miembro Sr.


Mensajes: 378
Registro en: May 2018
Reputación: 1
Mensaje: #7
RE: sacar native a los rangos
lo coloque a si
Código PHP:
    new szRank[32];
    
csgo_get_rankname(idszRankcharsmax(szRank)); 

    new 
menu menu_create(fmt("\y[\rTEST\y] \wMenu Principal^n\r• \wTu Rango: \y[\r%s\y]"szRank), "ctf_handler"

pero en el menu no me sale el rango no sale nada hay dejo la foto


Archivo(s) adjuntos Miniatura(s)
   
09/09/2019 06:35 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
kikizon2 Sin conexión
Miembro Héroe


Plugin developer Donador Regalo Beta Tester Trebol purpura 1k Plugin popular
Mensajes: 3,727
Registro en: Jan 2014
Reputación: 63
Mensaje: #8
RE: sacar native a los rangos
Código PHP:
public plugin_natives() register_native("csgo_get_rankname""native_get_rankname"1);

public 
native_get_rankname(indexszRank[], len)
{
    if(!
is_user_connected(index)) return;

    
param_convert(2);
    
formatex(szRanklenRangos[g_rango[index]][NOMBRE]);


se usa:

Código PHP:
new szRank[32];
csgo_get_rankname(indexszRankcharsmax(szRank)); 


Prueba ahi, tiene rato que no toco amx


NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
(Este mensaje fue modificado por última vez en: 09/09/2019 06:50 PM por kikizon2.)
09/09/2019 06:50 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Forever123 Sin conexión
Miembro Sr.


Mensajes: 378
Registro en: May 2018
Reputación: 1
Mensaje: #9
RE: sacar native a los rangos
(09/09/2019 06:50 PM)kikizon2 escribió:  
Código PHP:
public plugin_natives() register_native("csgo_get_rankname""native_get_rankname"1);

public 
native_get_rankname(indexszRank[], len)
{
    if(!
is_user_connected(index)) return;

    
param_convert(2);
    
formatex(szRanklenRangos[g_rango[index]][NOMBRE]);


se usa:

Código PHP:
new szRank[32];
csgo_get_rankname(indexszRankcharsmax(szRank)); 


Prueba ahi, tiene rato que no toco amx

ya muchas gracias
09/09/2019 07:02 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Enviar respuesta 


Salto de foro:


Usuario(s) navegando en este tema: 1 invitado(s)

Contáctanos | Allied Modders en español | Volver arriba | Volver al contenido | Archivo (Modo simple) | Sindicación RSS