No hace guardado de rangos
#1
Triste 
Buenas! Bueno paso por aquí para ver si alguien me ayuda con este plugin, el plugin usa el sistema "nfvault" pero no me guarda los rangos, por ejemplo una persona llegó a "Aventurero" pero cuando hace retry dice "Sin Rango" ayuda por fa, ya probé con adv_vault pero no me funciona el plugin en el servidor.

Código PHP:
#include <amxmisc>
#include <fakemeta>
#include <nfvault>
#include <cstrike>
#include <csx>
#include <fun>
#include <jctf>
#include <colorchat>

new const PLUGIN[] = "Nivel+Rangos"
#define VERSION "1.0"
new const AUTHOR[] = "kikizon"

/* =============================================
|= [EMPIEZA SECCION MODIFICABLE] =|
==============================================*/
/* ====================================
*[CONSTANTES]*
=====================================*/ 
new const WEB[] = "facebook.com/groups/Noobing.VE/"

#define SONIDO    "misc/killChicken.wav"
/* ====================================
*[CONST NOMBRES DE RANGOS]*
=====================================*/
enum _:DATA NOMBRE[30], FRAGS }

new const 
Rangos[][DATA] = {
    {
"Sin Rango"1},                          
    {
"Recien llegado"25},                 
    {
"Novato"50},                               
    {
"Aventurero"100},                                      
    {
"Principiante"150},                               
    {
"Experimentado"200},                             
    {
"Civil I"300},                                  
    {
"Civil II"600},                                 
    {
"Recluta"1200},                                    
    {
"Alistado"1600},                              
    {
"Soldado"2000},                                   
    {
"Distinguido"2500},                                                      
    {
"Cabo I"3500},                          
    {
"Cabo II"4500},                            
    {
"Sargento I"5000},                       
    {
"Sargento II"5500},                             
    {
"Sargento Mayor I"6000} ,                     
    {
"Sargento Mayor II"6500},                       
    {
"Sargento Ayudante"7000},                               
    {
"Sargento Supervisor"7500},                      
    {
"Sargento Tecnico I"8000},        
    {
"Sargento Tecnico II"8500},    
    {
"Maestro Tecnico I"9000},    
    {
"Maestro Tecnico II"9500},        
    {
"Maestro Tecnico Mayor"10000},
    {
"Maestro Tec. Supervisor"11000},        
    {
"Cadete"12000},            
    {
"Sub-Brigadier"13000},    
    {
"Brigadier"14000},    
    {
"Primer Brigadier"15000},            
    {
"Brigadier Mayor"16000},                    
    {
"Alferez"17000},        
    {
"Teniente"18000},
    {
"Primer Teniente"19000},        
    {
"Capitan"20000},                
    {
"Mayor"22000},    
    {
"Teniente Coronel"24000},                
    {
"Comandante"26000},    
    {
"Coronel"28000},
    {
"General de Brigada"30000},            
    {
"General de Division"33000},    
    {
"Mayor General"36000},                    
    {
"General en Jefe"39000},                
    {
"Guardia de Honor"43000},        
    {
"Fuerzas Especiales"47000},            
    {
"Asesino Profesional"52000},                
    {
"Selvatico Camuflado"57000},                
    {
"Desertico Experto"63000},                
    {
"Genocida"69000},                    
    {
"Infanteria Profesional"76000},                
    {
"Artillero"84000},            
    {
"Artillero de Torreta"92000},        
    {
"Tanquista"100000},                
    {
"Tanquista Anfibio"11000},        
    {
"Bombardero Terrorista"120000},            
    {
"Blindado"130000},                
    {
"Blindado Explosivo"140000},                
    {
"Cazador I"150000},    
    {
"Cazador II"160000},
    {
"Francotirador I"170000},                
    {
"Francotirador II"180000},    
    {
"Guardia de honor"190000},
    {
"Fuerzas Especiales"200000},
    {
"Destructor 1"210000}, 
    {
"Destructor 2"220000}, 
    {
"Masacrador 1"230000}, 
    {
"Masacrador 2"240000},
    {
"Exterminador 1"250000}, 
    {
"Exterminador 2"260000}, 
    {
"Nazi"270000}, 
    {
"Destripador"280000}, 
    {
"Berserker 1"290000}, 
    {
"Berserker 2"300000},
    {
"Grand Headshot"320000}, 
    {
"Headshot Supremo"340000}, 
    {
"Headshot Sagrado"360000}, 
    {
"Headshot Dios"380000}, 
    {
"Master Headshots 1"400000}, 
    {
"Master Headshots 2"420000},
    {
"Master Pro Kill 1"440000}, 
    {
"Master Pro Kill 2"460000}, 
    {
"Silver 1"480000}, 
    {
"Silver 2"500000}, 
    {
"Silver 3"520000}, 
    {
"Silver 4"540000},
    {
"Silver Elite"560000}, 
    {
"Silver Elite Master"580000}, 
    {
"Gold Nova 1"600000}, 
    {
"Gold Nova 2"620000}, 
    {
"Gold Nova 3"640000}, 
    {
"Gold Nova Master"660000},
    {
"Master Guardian 1"680000}, 
    {
"Master Guardian 2"700000}, 
    {
"Master Guardian Elite"720000}, 
    {
"Disting. Master Guardian"740000}, 
    {
"Legendary Eagle"760000}, 
    {
"Legendary Eagle Master"780000},
    {
"Supreme Master First Class"800000}, 
    {
"The Global Elite"820000}, 
    {
"Pro Gamers Finish 1"840000}, 
    {
"Pro Gamers Finish 2"900000},
    {
"NoobingGamer`s"9999999}
};


/* =============================================
|= [TERMINA SECCION MODIFICABLE] =|
==============================================*/

/* ====================================
*[VARIABLES]*
=====================================*/
new g_rango[33], g_frags[33]
new 
SyncHUDg_maxplayersg_msgTeamInfog_msgSayTextg_playername[33][32];
#define TASK_HUD 2100
#define ID_HUD (taskid - TASK_HUD)
#define XD is_user_connected(id) || !is_user_bot(id) || !is_user_hltv(id)
new VaultRango[128], szRangos[180], szKey[30]

new 
g_iCreateHudg_iMsgStatusText

/* ====================================
*[Cvars]*
=====================================*/
new cvar_Hudcvar_knifex2cvar_hsx2cvar_awpx2cvar_scoutx2cvar_hex2
/* ====================================
*[INIT]*
=====================================*/
public plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
//register_event("DeathMsg", "Event_DeathMsg", "a")
    
    
register_clcmd"say /rangos""OnPlayerPrint_Ranks" );
    
register_clcmd"say_team /rangos""OnPlayerPrint_Ranks" );

    
register_clcmd("say""message_saytext"
    
register_clcmd("say_team""message_sayteam")
    
    
register_event("StatusValue""HookShowStatus""b""1=2""2>0")
    
register_event("StatusValue""HookHideStatus""b""1=1""2=0")
    
    
/* =============================================
    |= [EMPIEZA SECCION MODIFICABLE] =|
    ==============================================*/
    
cvar_Hud     register_cvar("rangos_hud""1")          // 1 - Saldra El HUD | 0 - Lo Desactivas
    
cvar_knifex2     register_cvar("rangos_knifex2""1")        // 1 - x2 frags con knife | 0 - Lo Desactivas
    
cvar_hsx2     register_cvar("rangos_hsx2""1")        // 1 - x2 frags de HeadShot | 0 - Lo Desactivas
    
cvar_awpx2     register_cvar("rangos_awpx2""0")        // 1 - x2 frags Con awp | 0 - Lo Desactivas
    
cvar_scoutx2    register_cvar("rangos_scoutx2""0")        // 1 - x2 frags Con scout | 0 - Lo Desactivas
    
cvar_hex2    register_cvar("rangos_hex2""1")        // 1 - x2 frags Con HE | 0 - Lo Desactivas        // 1 - x2 frags de HeadShot | 0 - ÑO :v
    /* =============================================
    |= [TERMINA SECCION MODIFICABLE] =|
    ==============================================*/
    
    
SyncHUD CreateHudSyncObj()
    
g_maxplayers get_maxplayers()
    
g_msgTeamInfo get_user_msgid("TeamInfo")
    
g_msgSayText get_user_msgid("SayText")
    
g_iCreateHud CreateHudSyncObj()
    
g_iMsgStatusText get_user_msgid("StatusText")
    
    
nfv_file("Ranguitos"VaultRangocharsmax(VaultRango))
}

public 
plugin_cfg()
    
set_cvar_num("mp_playerid"0);

/* ====================================
*[PRECACHE]*
=====================================*/
public plugin_precache()
    
precache_sound(SONIDO);
/* ===================================
*[HUD]*
=====================================*/

public OnPlayerPrint_Ranks( const iPlayerID ) {

    if( !
is_user_connectediPlayerID ) )
        return 
PLUGIN_CONTINUE;

    for( new 
iNum 0iNum sizeofRangos ); ++iNum )
        
console_printiPlayerID"[NoobingGamer`s] Rango #%i: [%s]"iNumRangosiNum ][ NOMBRE ] );

    
client_cmdiPlayerID"toggleconsole" );

    return 
PLUGIN_HANDLED;    
}

public 
HUD(taskid)
{
    new 
id ID_HUD
    
new izStats[8], izBody[8]
    new 
iRankPosiRankMax
    
    iRankPos 
get_user_stats(idizStatsizBody)
    
iRankMax get_statsnum()
    
    if(!
is_user_alive(id))
    {
        
id pev(idpev_iuser2)
        
        if(!
is_user_alive(id))
            return;
    }
    
    if(
id != ID_HUD)
    {
        
set_hudmessage(random_num(0255), random_num(0255), random_num(0255), 5.04.0, -5.00.52.0)
        
ShowSyncHudMsg(ID_HUDSyncHUD"Frags: [%d] || Rango: [%s]"g_frags[id], Rangos[g_rango[id]][NOMBRE])
    }
    else
    {
        
set_hudmessage(random_num(0255), random_num(0255), random_num(0255), 5.010.0, -10.01.02.0)
        
ShowSyncHudMsg(ID_HUDSyncHUD"Frags:[%d/%d] || Rango:[%s]^nRanking: %d de %d | Adrenalina: %d / 100"g_frags[id], Rangos[g_rango[id]][FRAGS], Rangos[g_rango[id]][NOMBRE], iRankPosiRankMaxjctf_get_adrenaline(id), WEB)
    }
}

public 
HookShowStatus(id)
{
    if(
is_user_alive(id))
    {
        static 
pid
        pid 
read_data(2)
        
        if(!
is_user_alive(pid))
            return
        
        static 
team 
        team 
get_user_team(pid)
        
        
message_begin(MSG_ONE_UNRELIABLEg_iMsgStatusText_id)
        
write_byte(0)
        
write_string("")
        
message_end()
        
        if(
team == 1)
        {
            
set_hudmessage(25500, -1.00.4020.013.00.010.01, -1)
            
ShowSyncHudMsg(idg_iCreateHud"[ %s ]^n%s"Rangos[g_rango[pid]][NOMBRE], g_playername[pid])
        }
        else if(
team == 2)
        {
            
set_hudmessage(0255255, -1.00.4020.013.00.010.01, -1)
            
ShowSyncHudMsg(idg_iCreateHud"[ %s ]^n%s"Rangos[g_rango[pid]][NOMBRE], g_playername[pid])
        }
    }
}

public 
HookHideStatus(id)
    
ClearSyncHud(idg_iCreateHud)

/* ==================================
    [PUTINSERVER]
===================================*/
public client_putinserver(id)
{
    
get_user_nameidg_playernameid ], charsmaxg_playername[ ] ) );
    
g_rango[id] = 0
    g_frags
[id] = 0
    
    Cargar
(id)
    
    if(
get_pcvar_num(cvar_Hud)) 
        
set_task(1.5"HUD"id+TASK_HUD__"b")
}
/* ==================================
    [DISCONNECT]
===================================*/
public client_disconnected(id) {
    if(
XDGuardar(id);
        
    
remove_task(id+TASK_HUD)
}

/* ==================================
    [DEATHMSG]
===================================*/
/*public Event_DeathMsg() {
    new attacker = read_data(1)
    new victim = read_data(2)
    new hs = read_data(3)
    new weaponid = get_user_weapon(attacker)
    
    if(victim == attacker) return;
    
    if(is_user_alive(attacker)) {
        g_frags[attacker] += ( is_user_admin( attacker ) ) ? 2:1;
        Guardar(attacker)
        if(get_pcvar_num(cvar_knifex2)) {
            if(weaponid == CSW_KNIFE) 
                g_frags[attacker] += ( is_user_admin( attacker ) ) ? 2:1;
        }
        if(get_pcvar_num(cvar_hsx2)) {
            if(hs) g_frags[attacker] += ( is_user_admin( attacker ) ) ? 2:1;
        }
        if(get_pcvar_num(cvar_awpx2)) {
            if(weaponid == CSW_AWP)
                g_frags[attacker] += ( is_user_admin( attacker ) ) ? 2: 1;
        }
        if(get_pcvar_num(cvar_scoutx2)) {
            if(weaponid == CSW_SCOUT)
                g_frags[attacker] += ( is_user_admin( attacker ) ) ? 2: 1;
        }
        if(get_pcvar_num(cvar_hex2)) {
            if(weaponid == CSW_HEGRENADE)
                g_frags[attacker] += ( is_user_admin( attacker ) ) ? 2: 1;
        }
        AumentarRango(attacker)
    }
}*/

public client_deathattackervictimweaponhitplace )
{
    if(!
is_user_connected(attacker) || victim == attacker) return
    
    
g_frags[attacker] += ( is_user_adminattacker ) ) ? 21;
    
    if( 
weapon == CSW_KNIFE ) {
        if(
get_pcvar_num(cvar_knifex2))
        
g_frags[attacker] += ( is_user_adminattacker ) ) ? 21;
    }
    
    if( 
hitplace == HIT_HEAD ) {
        if(
get_pcvar_num(cvar_hsx2))
        
g_frags[attacker] += ( is_user_adminattacker ) ) ? 21;
    }
    
    if( 
weapon == CSW_AWP ) {
        if(
get_pcvar_num(cvar_awpx2))
        
g_frags[attacker] += ( is_user_adminattacker ) ) ? 21;
    }
    
    if( 
weapon == CSW_SCOUT ) {
        (
get_pcvar_num(cvar_scoutx2))
        
g_frags[attacker] += ( is_user_adminattacker ) ) ? 21;
    }
    
    if( 
weapon == CSW_HEGRENADE ) {
        (
get_pcvar_num(cvar_hex2))
        
g_frags[attacker] += ( is_user_adminattacker ) ) ? 21;
    }
    
AumentarRango(attacker)
}

/* ================================
    [UPDATE RANGO]
=================================*/
AumentarRango(id) {    
    new 
Aumento false
    
    
while(g_frags[id] >= Rangos[g_rango[id]][FRAGS]) {
        
Aumento true
        g_rango
[id]++
    }
        
    if(
Aumento) {
        new 
name[33]; get_user_name(idname32)
        
ColorChat(idGREY"^1[^4NoobingGamer`s^1] !Felicidades! Tu Nuevo Rango es: [^4%s^1]"Rangos[g_rango[id]][NOMBRE])
        
ColorChat(0GREY"^1[^4NoobingGamer`s^1] !En Hora Buena! El Nuevo Rango de ^3%s ^1es: [^4%s^1]"nameRangos[g_rango[id]][NOMBRE])
        
client_cmd id"spk %s"SONIDO);
        
Aumento false
    
}

/*=====================================
*[SAY]*
=====================================*/
public message_saytext(id)

    static 
said[192]
    
read_args(saidcharsmax(said))
    
remove_quotes(said)
    
    if(
said[0] == '%' || said[0] == '/' || said[0] == '@' || equal (said"/"))
        return 
PLUGIN_HANDLED
    
    
if(!ValidMessage(said1)) return PLUGIN_CONTINUE;
    
    static 
color[11], name[32]
    
get_user_team(id,color,charsmax(color))
    
get_user_name(id,name,charsmax(name))
    
    new 
alive is_user_alive(id)
    new 
is_adm is_user_admin(id)
    new 
tipo[32], flags get_user_flags(id)
    
    if (
flags ADMIN_LEVEL_Bformatex(tipocharsmax(tipo), "DUEÑ@")
    else if (
flags ADMIN_LEVEL_Eformatex(tipocharsmax(tipo), "SOCIO")
    else if (
flags ADMIN_LEVEL_Cformatex(tipocharsmax(tipo), "VIP")
    else if (
flags ADMIN_LEVEL_Hformatex(tipocharsmax(tipo), "Baby GirL")
    else if (
flags ADMIN_LEVEL_Dformatex(tipocharsmax(tipo), "Spammer")
    
    if(
cs_get_user_team(id) == CS_TEAM_SPECTATOR)
    {
        if(
is_adm)
            
format(saidcharsmax(said), "^1*SPEC* ^3[^1%s^3] ^3NOOB. ^4%s ^1~> ^3%s :^4 %s"Rangos[g_rango[id]][NOMBRE], tiponamesaid)
        else
            
format(saidcharsmax(said), "^1*SPEC* ^3[^1%s^3]^1 %s : %s"Rangos[g_rango[id]][NOMBRE], namesaid)
    }
    else
    {
        if(
is_adm)
            
format(saidcharsmax(said), "^1%s ^3[^1%s^3] ^3NOOB. ^4%s ^1~> ^3%s :^4 %s"alive "^1" "^1*Muerto*"Rangos[g_rango[id]][NOMBRE], tiponamesaid)
        else
            
format(saidcharsmax(said), "^1%s ^3[^1%s^3]^1 ^3%s ^1: %s"alive "^1" "^1*Muerto*"Rangos[g_rango[id]][NOMBRE], namesaid)
    }
    
    static 
iteam[11]
    for(
1<= g_maxplayersi++)
    {
        if(!
is_user_connected(i))
            continue
        
        
get_user_name(id,name,charsmax(name))
        
        
get_user_team(iteamcharsmax(team))
        
changeTeamInfo(icolor)
        
writeMessage(isaid)
        
changeTeamInfo(iteam)
    }
    return 
PLUGIN_HANDLED_MAIN;
}

public 
message_sayteam(id)
{    
    static 
said[192
    
read_args(saidcharsmax(said)) 
    
remove_quotes(said
    
    if (
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], name[32], alive[11]
    
get_user_team(id,color,charsmax(color))
    
get_user_name(id,name,charsmax(name))
    new 
is_adm is_user_admin(id)
    new 
tipo[32], flags get_user_flags(id)
    
    if (
flags ADMIN_LEVEL_Bformatex(tipocharsmax(tipo), "DUEÑ@")
    else if (
flags ADMIN_LEVEL_Eformatex(tipocharsmax(tipo), "SOCIO")
    else if (
flags ADMIN_LEVEL_Cformatex(tipocharsmax(tipo), "VIP")
    else if (
flags ADMIN_LEVEL_Hformatex(tipocharsmax(tipo), "Baby GirL")
    else if (
flags ADMIN_LEVEL_Dformatex(tipocharsmax(tipo), "Spammer")
    
    if (
is_user_alive (id)) {
        
alive ""
    
} else {
        
alive "*Muerto*"
    
}

    if(
is_adm) {
        
format(saidcharsmax(said), "^1%s [%s]^3[^1%s^3] ^3NOOB. ^4%s ^1~> ^3%s :^4 %s"aliveplayerTeamRangos[g_rango[id]], tiponamesaid)
    } else {
        
format(saidcharsmax(said), "^1%s [%s]^3[^1%s^3] ^1: %s"aliveplayerTeamRangos[g_rango[id]], namesaid)
    }

    static 
iteam[11
    for (
1<= g_maxplayersi++) {
        if (!
is_user_connected(i)) continue;
        
get_user_name(id,name,charsmax(name))
        
        if (
get_user_team(i) == playerTeam || is_user_admin(i)) {
            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[]) {
    
message_begin(MSG_ONEg_msgTeamInfo_player)
    
write_byte(player)
    
write_string(team)
    
message_end()
}




public 
writeMessage(playermessage[]) {
    
message_begin(MSG_ONEg_msgSayText, {000}, player)
    
write_byte(player)
    
write_string(message)
    
message_end()
}
/* ===================================
*[GUARDADO]*
=====================================*/
Guardar(id) {
    
formatex(szKeycharsmax(szKey), "data_rangos"
    
formatex(szRangoscharsmax(szRangos), "%d %d"g_frags[id], g_rango[id])
    
    
nfv_set_data(VaultRangoszKeyg_playername[id], szRangos)
}

Cargar(id) {
    new 
g_load_c1[25], g_load_c2[25]
    
formatex(szKeycharsmax(szKey), "data_rangos"
    
    if(!
nfv_get_data(VaultRangoszKeyg_playername[id], szRangossizeof(szRangos) - 1)) return; 
   
    
parse(szRangosg_load_c1charsmax(g_load_c1), g_load_c2charsmax(g_load_c2))
    
    
g_frags[id] = str_to_num(g_load_c1)
    
g_rango[id] = str_to_num(g_load_c2)

/* ===================================
*[STOCKS]*
=====================================*/
// stock de chatcolor
stock chatcolor(id, const input[], any:...) {
    new 
count 1players[32]; 
    static 
msg[191]; 
    
vformat(msg190input3); 
     
    
replace_all(msg190"!g""^4"); // Verde
    
replace_all(msg190"!y""^1"); // Default
    
replace_all(msg190"!t""^3"); // Color del Equipo 
     
    
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(); 
            } 
        } 
    } 

// Stock para Saber Si el mensaje es valido
stock ValidMessage(text[], maxcount) {
    static 
lenicount
    len 
strlen(text)
    
count 0
    
    
if (!len)
        return 
false;
    
    for (
0leni++) {
        if (
text[i] != ' ') {
            
count++
            if (
count >= maxcount)
                return 
true;
        }
    }
    return 
false;

Corazón I dream of someday being able to have your near. Corazón
[Imagen: 76561199006140497.png]
Responder
#2
Si no te funciono con adv_vault habrá sido porque no subiste el plugin base y tampoco lo colocaste arriba del plugin de rangos.


Cita:adv_vault.amxx
rangos.amxx
Responder
#3
(06/01/2020, 11:41 AM)Chema escribió: Si no te funciono con adv_vault habrá sido porque no subiste el plugin base y tampoco lo colocaste arriba del plugin de rangos.


Cita:adv_vault.amxx
rangos.amxx

Creo que ya esta solucionado, faltaría probar con una persona a ver. Gracias Chema!

EDIT:No me funcionó y así lo tengo con adv_vault.


Código PHP:
#include <amxmisc>
#include <fakemeta>
#include <adv_vault>
#include <cstrike>
#include <csx>
#include <fun>
#include <jctf>
#include <colorchat>

new const PLUGIN[] = "Nivel+Rangos"
#define VERSION "1.0"
new const AUTHOR[] = "kikizon"

/* =============================================
|= [EMPIEZA SECCION MODIFICABLE] =|
==============================================*/
/* ====================================
*[CONSTANTES]*
=====================================*/ 
new const WEB[] = "fb.com/Noobing.VE"

#define SONIDO    "misc/killChicken.wav"
/* ====================================
*[CONST NOMBRES DE RANGOS]*
=====================================*/
enum _:DATANOMBRE[30], FRAGS }

enum Colors
{
    
Gris 33,
    
Rojo,
    
Azul
}

new const 
Rangos[][DATA] = {
    {
"Sin Rango"1},                          
    {
"Recien llegado"25},                 
    {
"Novato"50},                               
    {
"Aventurero"100},                                      
    {
"Principiante"150},                               
    {
"Experimentado"200},                             
    {
"Civil I"300},                                  
    {
"Civil II"600},                                 
    {
"Recluta"1200},                                    
    {
"Alistado"1600},                              
    {
"Soldado"2000},                                   
    {
"Distinguido"2500},                                                      
    {
"Cabo I"3500},                          
    {
"Cabo II"4500},                            
    {
"Sargento I"5000},                       
    {
"Sargento II"5500},                             
    {
"Sargento Mayor I"6000} ,                     
    {
"Sargento Mayor II"6500},                       
    {
"Sargento Ayudante"7000},                               
    {
"Sargento Supervisor"7500},                      
    {
"Sargento Tecnico I"8000},        
    {
"Sargento Tecnico II"8500},    
    {
"Maestro Tecnico I"9000},    
    {
"Maestro Tecnico II"9500},        
    {
"Maestro Tecnico Mayor"10000},
    {
"Maestro Tec. Supervisor"11000},        
    {
"Cadete"12000},            
    {
"Sub-Brigadier"13000},    
    {
"Brigadier"14000},    
    {
"Primer Brigadier"15000},            
    {
"Brigadier Mayor"16000},                    
    {
"Alferez"17000},        
    {
"Teniente"18000},
    {
"Primer Teniente"19000},        
    {
"Capitan"20000},                
    {
"Mayor"22000},    
    {
"Teniente Coronel"24000},                
    {
"Comandante"26000},    
    {
"Coronel"28000},
    {
"General de Brigada"30000},            
    {
"General de Division"33000},    
    {
"Mayor General"36000},                    
    {
"General en Jefe"39000},                
    {
"Guardia de Honor"43000},        
    {
"Fuerzas Especiales"47000},            
    {
"Asesino Profesional"52000},                
    {
"Selvatico Camuflado"57000},                
    {
"Desertico Experto"63000},                
    {
"Genocida"69000},                    
    {
"Infanteria Profesional"76000},                
    {
"Artillero"84000},            
    {
"Artillero de Torreta"92000},        
    {
"Tanquista"100000},                
    {
"Tanquista Anfibio"11000},        
    {
"Bombardero Terrorista"120000},            
    {
"Blindado"130000},                
    {
"Blindado Explosivo"140000},                
    {
"Cazador I"150000},    
    {
"Cazador II"160000},
    {
"Francotirador I"170000},                
    {
"Francotirador II"180000},    
    {
"Guardia de honor"190000},
    {
"Fuerzas Especiales"200000},
    {
"Destructor 1"210000}, 
    {
"Destructor 2"220000}, 
    {
"Masacrador 1"230000}, 
    {
"Masacrador 2"240000},
    {
"Exterminador 1"250000}, 
    {
"Exterminador 2"260000}, 
    {
"Nazi"270000}, 
    {
"Destripador"280000}, 
    {
"Berserker 1"290000}, 
    {
"Berserker 2"300000},
    {
"Grand Headshot"320000}, 
    {
"Headshot Supremo"340000}, 
    {
"Headshot Sagrado"360000}, 
    {
"Headshot Dios"380000}, 
    {
"Master Headshots 1"400000}, 
    {
"Master Headshots 2"420000},
    {
"Master Pro Kill 1"440000}, 
    {
"Master Pro Kill 2"460000}, 
    {
"Silver 1"480000}, 
    {
"Silver 2"500000}, 
    {
"Silver 3"520000}, 
    {
"Silver 4"540000},
    {
"Silver Elite"560000}, 
    {
"Silver Elite Master"580000}, 
    {
"Gold Nova 1"600000}, 
    {
"Gold Nova 2"620000}, 
    {
"Gold Nova 3"640000}, 
    {
"Gold Nova Master"660000},
    {
"Master Guardian 1"680000}, 
    {
"Master Guardian 2"700000}, 
    {
"Master Guardian Elite"720000}, 
    {
"Disting. Master Guardian"740000}, 
    {
"Legendary Eagle"760000}, 
    {
"Legendary Eagle Master"780000},
    {
"Supreme Master First Class"800000}, 
    {
"The Global Elite"820000}, 
    {
"Pro Gamers Finish 1"840000}, 
    {
"Pro Gamers Finish 2"900000},
    {
"NoobingGamer`s"9999999}
};


/* =============================================
|= [TERMINA SECCION MODIFICABLE] =|
==============================================*/

/* ====================================
*[VARIABLES]*
=====================================*/
new g_rango[33], g_frags[33]
new 
SyncHUDg_maxplayersg_msgTeamInfog_msgSayTextg_playername[33][32];
#define TASK_HUD 2100
#define ID_HUD (taskid - TASK_HUD)
#define XD is_user_connected(id) || !is_user_bot(id) || !is_user_hltv(id)

new g_vaultg_iField_Rankg_iField_Frags;
//new VaultRango[128]
//szRangos[180]
//szKey[30]

new const DataBase[] = "Rangos"
new g_iCreateHudg_iMsgStatusText

/* ====================================
*[Cvars]*
=====================================*/
new cvar_Hudcvar_knifex2cvar_hsx2cvar_awpx2cvar_scoutx2cvar_hex2
/* ====================================
*[INIT]*
=====================================*/
public plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
//register_event("DeathMsg", "Event_DeathMsg", "a")
    
    
register_clcmd"say /rangos""OnPlayerPrint_Ranks" );
    
register_clcmd"say_team /rangos""OnPlayerPrint_Ranks" );

    
register_clcmd("say""message_saytext"
    
register_clcmd("say_team""message_sayteam")
    
    
register_event("StatusValue""HookShowStatus""b""1=2""2>0")
    
register_event("StatusValue""HookHideStatus""b""1=1""2=0")
    
    
/* =============================================
    |= [EMPIEZA SECCION MODIFICABLE] =|
    ==============================================*/
    
cvar_Hud     register_cvar("rangos_hud""1")          // 1 - Saldra El HUD | 0 - Lo Desactivas
    
cvar_knifex2     register_cvar("rangos_knifex2""1")        // 1 - x2 frags con knife | 0 - Lo Desactivas
    
cvar_hsx2     register_cvar("rangos_hsx2""1")        // 1 - x2 frags de HeadShot | 0 - Lo Desactivas
    
cvar_awpx2     register_cvar("rangos_awpx2""0")        // 1 - x2 frags Con awp | 0 - Lo Desactivas
    
cvar_scoutx2    register_cvar("rangos_scoutx2""0")        // 1 - x2 frags Con scout | 0 - Lo Desactivas
    
cvar_hex2    register_cvar("rangos_hex2""1")        // 1 - x2 frags Con HE | 0 - Lo Desactivas        // 1 - x2 frags de HeadShot | 0 - ÑO :v
    /* =============================================
    |= [TERMINA SECCION MODIFICABLE] =|
    ==============================================*/
    
    
SyncHUD CreateHudSyncObj()
    
g_maxplayers get_maxplayers()
    
g_msgTeamInfo get_user_msgid("TeamInfo")
    
g_msgSayText get_user_msgid("SayText")
    
g_iCreateHud CreateHudSyncObj()
    
g_iMsgStatusText get_user_msgid("StatusText")
    
    
/* GUARGADO */
    
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);
    
    
//nfv_file("Ranguitos", VaultRango, charsmax(VaultRango))
}

public 
plugin_cfg()
    
set_cvar_num("mp_playerid"0);

/* ====================================
*[PRECACHE]*
=====================================*/
public plugin_precache()
    
precache_sound(SONIDO);
/* ===================================
*[HUD]*
=====================================*/

public OnPlayerPrint_Ranks( const iPlayerID ) {

    if( !
is_user_connectediPlayerID ) )
        return 
PLUGIN_CONTINUE;

    for( new 
iNum 0iNum sizeofRangos ); ++iNum )
        
console_printiPlayerID"[NoobingGamer`s] Rango -> #%i [%s]"iNumRangosiNum ][ NOMBRE ] );

    
client_cmdiPlayerID"toggleconsole" );

    return 
PLUGIN_HANDLED;    
}

public 
HUD(taskid)
{
    new 
id ID_HUD
    
new izStats[8], izBody[8]
    new 
iRankPosiRankMax
    
    iRankPos 
get_user_stats(idizStatsizBody)
    
iRankMax get_statsnum()
    
    if(!
is_user_alive(id))
    {
        
id pev(idpev_iuser2)
        
        if(!
is_user_alive(id))
            return;
    }
    
    if(
id != ID_HUD)
    {
        
set_hudmessage(255255255, -1.00.8010.02.0)
        
ShowSyncHudMsg(ID_HUDSyncHUD"Exp: %d | Rango: %s"g_frags[id], Rangos[g_rango[id]][NOMBRE])
    }
    else
    {
        
set_hudmessage(255255255, -1.00.9010.02.0)
        
ShowSyncHudMsg(ID_HUDSyncHUD"Exp: %d / %d | Rango: %s^nRanking: %d de %d | Adrenalina: %d / 100"g_frags[id], Rangos[g_rango[id]][FRAGS], Rangos[g_rango[id]][NOMBRE], iRankPosiRankMaxjctf_get_adrenaline(id), WEB)
    }
}

public 
HookShowStatus(id)
{
    if(
is_user_alive(id))
    {
        static 
pid
        pid 
read_data(2)
        
        if(!
is_user_alive(pid))
            return
        
        static 
team 
        team 
get_user_team(pid)
        
        
message_begin(MSG_ONE_UNRELIABLEg_iMsgStatusText_id)
        
write_byte(0)
        
write_string("")
        
message_end()
        
        if(
team == 1)
        {
            
set_hudmessage(25500, -1.00.4020.013.00.010.01, -1)
            
ShowSyncHudMsg(idg_iCreateHud"[ %s ]^n%s"Rangos[g_rango[pid]][NOMBRE], g_playername[pid])
        }
        else if(
team == 2)
        {
            
set_hudmessage(0255255, -1.00.4020.013.00.010.01, -1)
            
ShowSyncHudMsg(idg_iCreateHud"[ %s ]^n%s"Rangos[g_rango[pid]][NOMBRE], g_playername[pid])
        }
    }
}

public 
HookHideStatus(id)
    
ClearSyncHud(idg_iCreateHud)

/* ==================================
    [PUTINSERVER]
===================================*/
public client_putinserver(id)
{
    
get_user_nameidg_playernameid ], charsmaxg_playername[ ] ) );
    
g_rango[id] = 0
    g_frags
[id] = 0
    
    Cargar
(id);
    
    if(
get_pcvar_num(cvar_Hud)) 
        
set_task(1.5"HUD"id+TASK_HUD__"b")
}
/* ==================================
    [DISCONNECT]
===================================*/
public client_disconnected(id) {
    if(
XDGuardar(id);
        
    
remove_task(id+TASK_HUD)
}

/* ==================================
    [DEATHMSG]
===================================*/
/*public Event_DeathMsg() {
    new attacker = read_data(1)
    new victim = read_data(2)
    new hs = read_data(3)
    new weaponid = get_user_weapon(attacker)
    
    if(victim == attacker) return;
    
    if(is_user_alive(attacker)) {
        g_frags[attacker] += ( is_user_admin( attacker ) ) ? 2:1;
        Guardar(attacker)
        if(get_pcvar_num(cvar_knifex2)) {
            if(weaponid == CSW_KNIFE) 
                g_frags[attacker] += ( is_user_admin( attacker ) ) ? 2:1;
        }
        if(get_pcvar_num(cvar_hsx2)) {
            if(hs) g_frags[attacker] += ( is_user_admin( attacker ) ) ? 2:1;
        }
        if(get_pcvar_num(cvar_awpx2)) {
            if(weaponid == CSW_AWP)
                g_frags[attacker] += ( is_user_admin( attacker ) ) ? 2: 1;
        }
        if(get_pcvar_num(cvar_scoutx2)) {
            if(weaponid == CSW_SCOUT)
                g_frags[attacker] += ( is_user_admin( attacker ) ) ? 2: 1;
        }
        if(get_pcvar_num(cvar_hex2)) {
            if(weaponid == CSW_HEGRENADE)
                g_frags[attacker] += ( is_user_admin( attacker ) ) ? 2: 1;
        }
        AumentarRango(attacker)
    }
}*/

public client_deathattackervictimweaponhitplace )
{
    if(!
is_user_connected(attacker) || victim == attacker) return
    
    
g_frags[attacker] += ( is_user_adminattacker ) ) ? 21;
    
    if( 
weapon == CSW_KNIFE ) {
        if(
get_pcvar_num(cvar_knifex2))
        
g_frags[attacker] += ( is_user_adminattacker ) ) ? 21;
    }
    
    if( 
hitplace == HIT_HEAD ) {
        if(
get_pcvar_num(cvar_hsx2))
        
g_frags[attacker] += ( is_user_adminattacker ) ) ? 21;
    }
    
    if( 
weapon == CSW_AWP ) {
        if(
get_pcvar_num(cvar_awpx2))
        
g_frags[attacker] += ( is_user_adminattacker ) ) ? 21;
    }
    
    if( 
weapon == CSW_SCOUT ) {
        (
get_pcvar_num(cvar_scoutx2))
        
g_frags[attacker] += ( is_user_adminattacker ) ) ? 21;
    }
    
    if( 
weapon == CSW_HEGRENADE ) {
        (
get_pcvar_num(cvar_hex2))
        
g_frags[attacker] += ( is_user_adminattacker ) ) ? 21;
    }
    
AumentarRango(attacker)
}

/* ================================
    [UPDATE RANGO]
=================================*/
AumentarRango(id) {    
    new 
Aumento false
    
    
while(g_frags[id] >= Rangos[g_rango[id]][FRAGS]) {
        
Aumento true
        g_rango
[id]++
    }
        
    if(
Aumento) {
        new 
name[33]; get_user_name(idname32)
        
chatcolor(idGris"^1[^4NoobingGamer`s^1] !Felicidades! Tu Nuevo Rango es: [^4%s^1]"Rangos[g_rango[id]][NOMBRE])
        
ColorChat(0GREY"^1[^4NoobingGamer`s^1] !En Hora Buena! El Nuevo Rango de ^3%s ^1es: [^4%s^1]"nameRangos[g_rango[id]][NOMBRE])
        
client_cmd id"spk %s"SONIDO);
        
Aumento false
    
}

/*=====================================
*[SAY]*
=====================================*/
public message_saytext(id)

    static 
said[192]
    
read_args(saidcharsmax(said))
    
remove_quotes(said)
    
    if(
said[0] == '%' || said[0] == '/' || said[0] == '@' || equal (said"/"))
        return 
PLUGIN_HANDLED
    
    
if(!ValidMessage(said1)) return PLUGIN_CONTINUE;
    
    static 
color[11], name[32]
    
get_user_team(id,color,charsmax(color))
    
get_user_name(id,name,charsmax(name))
    
    new 
alive is_user_alive(id)
    new 
is_adm is_user_admin(id)
    new 
tipo[32], flags get_user_flags(id)
    
    if (
flags ADMIN_LEVEL_Bformatex(tipocharsmax(tipo), "DUEÑ@")
    else if (
flags ADMIN_LEVEL_Eformatex(tipocharsmax(tipo), "SOCIO")
    else if (
flags ADMIN_LEVEL_Cformatex(tipocharsmax(tipo), "VIP")
    else if (
flags ADMIN_LEVEL_Hformatex(tipocharsmax(tipo), "Baby GirL")
    else if (
flags ADMIN_LEVEL_Dformatex(tipocharsmax(tipo), "Spammer")
    
    if(
cs_get_user_team(id) == CS_TEAM_SPECTATOR)
    {
        if(
is_adm)
            
format(saidcharsmax(said), "^1*SPEC* ^3[^1%s^3]^1 ^3NOOB. ^4%s ^1~> ^3%s ^1:^4 %s"Rangos[g_rango[id]][NOMBRE], tiponamesaid)
        else
            
format(saidcharsmax(said), "^1*SPEC* ^3[^1%s^3]^1 %s : %s"Rangos[g_rango[id]][NOMBRE], namesaid)
    }
    else
    {
        if(
is_adm)
            
format(saidcharsmax(said), "^1%s ^3[^1%s^3]^1 ^3NOOB. ^4%s ^1~> ^3%s ^1:^4 %s"alive "^1" "^1*Muerto*"Rangos[g_rango[id]][NOMBRE], tiponamesaid)
        else
            
format(saidcharsmax(said), "^1%s ^1%s ^3[^1%s^3]^1 ^3%s ^1: %s"alive "^1" "^1*Muerto*"Rangos[g_rango[id]][NOMBRE], namesaid)
    }
    
    static 
iteam[11]
    for(
1<= g_maxplayersi++)
    {
        if(!
is_user_connected(i))
            continue
        
        
get_user_name(id,name,charsmax(name))
        
        
get_user_team(iteamcharsmax(team))
        
changeTeamInfo(icolor)
        
writeMessage(isaid)
        
changeTeamInfo(iteam)
    }
    return 
PLUGIN_HANDLED_MAIN;
}

public 
message_sayteam(id)
{    
    static 
said[192
    
read_args(saidcharsmax(said)) 
    
remove_quotes(said
    
    if (
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], name[32], alive[11]
    
get_user_team(id,color,charsmax(color))
    
get_user_name(id,name,charsmax(name))
    new 
is_adm is_user_admin(id)
    new 
tipo[32], flags get_user_flags(id)
    
    if (
flags ADMIN_LEVEL_Bformatex(tipocharsmax(tipo), "DUEÑ@")
    else if (
flags ADMIN_LEVEL_Eformatex(tipocharsmax(tipo), "SOCIO")
    else if (
flags ADMIN_LEVEL_Cformatex(tipocharsmax(tipo), "VIP")
    else if (
flags ADMIN_LEVEL_Hformatex(tipocharsmax(tipo), "Baby GirL")
    else if (
flags ADMIN_LEVEL_Dformatex(tipocharsmax(tipo), "Spammer")
    
    if (
is_user_alive (id)) {
        
alive ""
    
} else {
        
alive "*Muerto*"
    
}

    if(
is_adm) {
        
format(saidcharsmax(said), "^1%s ^3[^1%s^3]^1 ^3NOOB. ^4%s ^1~> ^3%s ^1:^4 %s"aliveplayerTeamRangos[g_rango[id]], tiponamesaid)
    } else {
        
format(saidcharsmax(said), "^1%s ^1%s ^3[^1%s^3]^1 ^3%s ^1: %s"aliveplayerTeamRangos[g_rango[id]], namesaid)
    }

    static 
iteam[11
    for (
1<= g_maxplayersi++) {
        if (!
is_user_connected(i)) continue;
        
get_user_name(id,name,charsmax(name))
        
        if (
get_user_team(i) == playerTeam || is_user_admin(i)) {
            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[]) {
    
message_begin(MSG_ONEg_msgTeamInfo_player)
    
write_byte(player)
    
write_string(team)
    
message_end()
}




public 
writeMessage(playermessage[]) {
    
message_begin(MSG_ONEg_msgSayText, {000}, player)
    
write_byte(player)
    
write_string(message)
    
message_end()
}
/* ===================================
*[GUARDADO]*
=====================================*/

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


/*
Guardar(id) {
    formatex(szKey, charsmax(szKey), "data_rangos") 
    formatex(szRangos, charsmax(szRangos), "%d %d", g_frags[id], g_rango[id])
    
    nfv_set_data(VaultRango, szKey, g_playername[id], szRangos)
}

Cargar(id) {
    new g_load_c1[25], g_load_c2[25]
    formatex(szKey, charsmax(szKey), "data_rangos") 
    
    if(!nfv_get_data(VaultRango, szKey, g_playername[id], szRangos, sizeof(szRangos) - 1)) return; 
   
    parse(szRangos, g_load_c1, charsmax(g_load_c1), g_load_c2, charsmax(g_load_c2))
    
    g_frags[id] = str_to_num(g_load_c1)
    g_rango[id] = str_to_num(g_load_c2)

*/


/* ===================================
*[STOCKS]*
=====================================*/
// stock de chatcolor
stock chatcolor(idColors:colormsg[], any:...)
{
    static 
szMsg[191], msgSayText;
    
#define teaminfo_sent(%0) (TeamInfoSent & (1<<%0))
    
    
if (!msgSayText)
        
msgSayText get_user_msgid("SayText");
    
    
vformat(szMsg190msg4);

    
replace_all(szMsg190"!g""^4");
    
replace_all(szMsg190"!n""^1");
         
replace_all(szMsg190"!color""^3");
    
replace_all(szMsg190"!t2""^0");
    
    
message_begin(id MSG_ONE_UNRELIABLE MSG_BROADCASTmsgSayText, .player id);
    
write_byte(color ? (_:color) : 33);
    
write_string(szMsg);
    
message_end();
}
// Stock para Saber Si el mensaje es valido
stock ValidMessage(text[], maxcount) {
    static 
lenicount
    len 
strlen(text)
    
count 0
    
    
if (!len)
        return 
false;
    
    for (
0leni++) {
        if (
text[i] != ' ') {
            
count++
            if (
count >= maxcount)
                return 
true;
        }
    }
    return 
false;

Corazón I dream of someday being able to have your near. Corazón
[Imagen: 76561199006140497.png]
Responder
#4
Tenes que subir el plugin de adv_vault.amxx y hacer lo que te dije arriba.
Responder
#5
Sorprendido 
(06/01/2020, 01:02 PM)Chema escribió: Tenes que subir el plugin de adv_vault.amxx y hacer lo que te dije arriba.

Ya lo hice pero no funcionó.
Corazón I dream of someday being able to have your near. Corazón
[Imagen: 76561199006140497.png]
Responder
#6
Logs, errores, leche?
Responder
#7
(06/01/2020, 01:13 PM)Chema escribió: Logs, errores, leche?

No tira logs ni nada.
Corazón I dream of someday being able to have your near. Corazón
[Imagen: 76561199006140497.png]
Responder
#8
Código PHP:
#define XD is_user_connected(id) && !is_user_bot(id) && !is_user_hltv(id) 
[Imagen: bvpq9q-6.png]

NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Responder
#9
(06/01/2020, 02:33 PM)kikizon2 escribió:
Código PHP:
#define XD is_user_connected(id) && !is_user_bot(id) && !is_user_hltv(id) 

¿Qué hay con eso kikizon?
Corazón I dream of someday being able to have your near. Corazón
[Imagen: 76561199006140497.png]
Responder
#10
La solución.Crab
[Imagen: bvpq9q-6.png]

NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Responder
#11
(06/01/2020, 05:27 PM)kikizon2 escribió: La solución.Crab

No creo que sea eso..
Corazón I dream of someday being able to have your near. Corazón
[Imagen: 76561199006140497.png]
Responder
#12
(07/01/2020, 07:09 PM)andres_1041 escribió:
(06/01/2020, 05:27 PM)kikizon2 escribió: La solución.Crab

No creo que sea eso..

siche¿
Responder
#13
(07/01/2020, 07:13 PM)Chema escribió:
(07/01/2020, 07:09 PM)andres_1041 escribió:
(06/01/2020, 05:27 PM)kikizon2 escribió: La solución.Crab

No creo que sea eso..

siche¿

AyudaTriste
Corazón I dream of someday being able to have your near. Corazón
[Imagen: 76561199006140497.png]
Responder
#14
No me leí el plugin, pero checa esa macro tiene AND y la del plugin tiene OR
[Imagen: zcsztw-4.png] [Imagen: 6u5fj2-4.png]
[Imagen: linkedin_thumb_image.png][Imagen: 76561198283253977.png][Imagen: linkedin_thumb_image.png]
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)