[TUT] Sistema De Rangos
#1
Gran sonrisa 
Hola a todos mi nombre es GrimmZ04, este es mi primer tutorial y espero que lo entiendan, ademas de que es muy sencillo, si hay algun error en lo que explique me avisan para arreglarlo, el plugin esta testeado y no tienen ningun error pero si ustedes consideran algo mal me lo dicen.

PD: El plugin es adaptable a cualquier modo.

Version 2.0
Código PHP:
#include <amxmodx> // Registramos el include Amxmodx por que es fundamental para cada plugin.

new g_Rangos[33], g_level[33// Registramos la variable de Rangos y de Niveles.
new const Niveles[][] = { 1234// Registramos los Niveles necesarios para los Rangos.
new Rangos[][] = { // Registramos los Nombres de los Rangos correspondiente al Nivel.
    
"Rango (1/5)"// Nombre del Rango número 1.
    
"Rango (2/5)"// Nombre del Rango número 2.
    
"Rango (3/5)"// Nombre del Rango número 3.
    
"Rango (4/5)"// Nombre del Rango número 4.
    
"Rango (5/5)" // Nombre del Rango número 5.
}
public 
plugin_init() { // Registramos contendidos del Plugin.
    
register_plugin("Sistema De Rangos""2.0"":: GrimmZ04 ::"// Registramos el plugin.
    
register_clcmd("say /rango""cmdRango"// Registramos el comando con el que se ejecutara la Función "cmdRango".
}
public 
client_putinserver(id) { // Registramos cuando se conecta al Servidor.
    
check_rango(id// Checkeamos los Rangos que tiene.
}
public 
cmdRango(id) { // Registramos el mensaje del Rango que tiene según su Nivel.
    
client_print(id3"[AMXX] - Eres Rango: %s."Rangos[g_Rangos[id]]) // Enviamos un mensaje con sus Rangos.
}
public 
check_rango(id) { // Registramos la función en la cual checkeamos el Rango que tiene según su Nivel.
    
if (g_level[id] >= Niveles[id][g_Rangos[id]]) // Verificamos si el Rango corresponde con el Nivel.
    

        
g_Rangos[id]++ // Si no es el mismo, aumentamos al Rango correspondiente.
    
}
    
set_task(0.1"check_rango"id// Repetimos la función para que se checkeen los Rangos constantemente.
    
return PLUGIN_HANDLED

Si no saben agregar Rangos se los explico:
Código PHP:
new const Niveles[][] = { 123456// Aquí agregas el Nivel que quieras para el Rango número 6.
new Rangos[][] = {
    
"Rango (1/5)",
    
"Rango (2/5)",
    
"Rango (3/5)",
    
"Rango (4/5)",
    
"Rango (5/5)"// Agregamos una coma y agregamos lo siguiente.
    
"Rango Nuevo" // Esta el siguiente Rango y se le deja sin coma por que no hay más después de este.

Para agregar los Rangos a un HUD, ponen lo siguiente:
Código PHP:
"Rango: %s"Rangos[g_Rangos[id]] 
Para los que no se les setea el rango al resetear nivel pueden agregar el siguiente if en "check_rango(id)
Código PHP:
if (g_level[id] <= 1) {
        
g_Rangos[id] = 0
    


=================================================================

Version 1.0

Código PHP:
#include <amxmodx> // En Esta Parte Registramos El Include Amxmodx Por Que Es Fundamental Para Cada Plugin.
new g_Rangos[33]
enum _:Info_Rangos RangosName[33], RangosNivel}

new const 
Rangos[][Info_Rangos] = { // Registramos El Rango Y El Nivel
    
"Rango 1"1}, // Rango Numero 1
    
"Rango 2"2}, // Rango Numero 2
    
"Rango 3"3}, // Rango Numero 3
    
"Rango 4"4}, // Rango Numero 4
    
"Rango 5"5// Rango Numero 5
}
public 
plugin_init() { // Aqui Registramos Contendidos Del Plugin
    
register_plugin("Sistema De Rangos""1.0"":: GrimmZ04 ::"// Aqui Registramos El Plugin.
    
register_clcmd("say /rango""cmdRango"// Aqui Registramos El Comando Con El Que Se Ejecutara La Función "cmdRango".
}
public 
client_putinserver(id) { // Aqui Registramos Cuando Se Conecta Al Servidor.
    
check_rango(id// Aqui Le Checkeamos Los Rangos Que Tiene.
}
public 
cmdRango(id) { // Aqui Registramos El Mensaje Del Rango Que Tiene Segun Su Nivel.
    
client_print(id3"[AMXX] - Eres Rango: %s."Rangos[g_Rangos[id]][RangosName])
}
check_rango(id) { // Registramos La Función En La Cual Checkeamos El Rango Que Tiene Segun Su Nivel.
    
if (g_level[id] >= Rangos[g_Rangos[id] + 1][RangosNivel] && g_Rangos[id] < 9// Verificamos Si El Rango Corresponde Con El Nivel.
    

        
g_Rangos[id]++ // Si No Es El Mismo, Aumentamos Al Rango Correspondiente.
    
}
    return 
PLUGIN_HANDLED


=================================================================
Archivo Adjunto - Codigo Versión 2.0 Por GrimmZ04


Archivos adjuntos
.sma   Descargar AMXX / SistemaDeRangos.sma (Tamaño: 1.83 KB / Descargas: 425)
Feel like a sir Los Programadores Del Mañana Son Los Magos Del Futuro.
Responder
#2
Buen Aporte Me sirvio de Mucho e.e Rainbow

Como pongo los Rangos en el Hud?
Responder
#3
(04/11/2014, 07:54 PM)XDDX escribió: Buen Aporte Me sirvio de Mucho e.e Rainbow

Como pongo los Rangos en el Hud?

Muy Sencillo En El Hud Agregas "Rangos: %s", Rangos[g_Rangos[id]][RangosName]
Feel like a sir Los Programadores Del Mañana Son Los Magos Del Futuro.
Responder
#4
Gracias tst y te aviso
Responder
#5
En el hud
"Rango % s", Rangos [g_Rangos [id]][RangosName]
totopizza la mejor persona del mundo.
Responder
#6
La verdad muy bueno me sorprendo por que sea tu primer tut el mio fue orrible pero mejor menos en el hud >.< la verdad lo recomiendo Fuck yeah Whatever , Estaria mejor que expliques donde va cada code no?
Responder
#7
(04/11/2014, 10:19 PM)Bazuka escribió: La verdad muy bueno me sorprendo por que sea tu primer tut el mio fue orrible pero mejor menos en el hud >.< la verdad lo recomiendo Fuck yeah Whatever , Estaria mejor que expliques donde va cada code no?

Que Quieres Que Explique Especificamente?.
Feel like a sir Los Programadores Del Mañana Son Los Magos Del Futuro.
Responder
#8
Grimm en el colegio escribes cada palabra en mayúsculas? Sólo éso... Buen aporte!
Responder
#9
(05/11/2014, 06:33 PM)xPecie escribió: Grimm en el colegio escribes cada palabra en mayúsculas? Sólo éso... Buen aporte!

Jajaja no, es la costumbre no me gusta escribir así.
Feel like a sir Los Programadores Del Mañana Son Los Magos Del Futuro.
Responder
#10
(05/11/2014, 12:16 AM)GrimmZ04 escribió:
(04/11/2014, 10:19 PM)Bazuka escribió: La verdad muy bueno me sorprendo por que sea tu primer tut el mio fue orrible pero mejor menos en el hud >.< la verdad lo recomiendo Fuck yeah Whatever , Estaria mejor que expliques donde va cada code no?

Que Quieres Que Explique Especificamente?.

Si porque si esta mas explicado es mas facil de hacerlo (Para los que comienzan) explicalo mejor
Responder
#11
(05/11/2014, 07:10 PM)Bazuka escribió:
(05/11/2014, 12:16 AM)GrimmZ04 escribió:
(04/11/2014, 10:19 PM)Bazuka escribió: La verdad muy bueno me sorprendo por que sea tu primer tut el mio fue orrible pero mejor menos en el hud >.< la verdad lo recomiendo Fuck yeah Whatever , Estaria mejor que expliques donde va cada code no?

Que Quieres Que Explique Especificamente?.

Si porque si esta mas explicado es mas facil de hacerlo (Para los que comienzan) explicalo mejor

No es un codigo para iniciados.
Feel like a sir Los Programadores Del Mañana Son Los Magos Del Futuro.
Responder
#12
Es para no iniciados y indicas como poner un hud...vale, entonces podrías explicarlo un poco sobre las posiciones o cuesta? Xd
Responder
#13
(05/11/2014, 07:51 PM)xPecie escribió: Es para no iniciados y indicas como poner un hud...vale, entonces podrías explicarlo un poco sobre las posiciones o cuesta? Xd

Hay gente que solo copia el plugin y no lo aprende y busca la manera mas facil de hacer lo que quiere, el no sabe como poner el mensaje en el hud o quizas pregunto para otros que no sepan hacerlo, entre mas ayuda, mejor.
Feel like a sir Los Programadores Del Mañana Son Los Magos Del Futuro.
Responder
#14
Perdona..me confundí...creía que no le ibas ayudar por ser novato y x eso escribí...ando al móvil y no he leído todo Lengua
Responder
#15
(05/11/2014, 07:54 PM)GrimmZ04 escribió:
(05/11/2014, 07:51 PM)xPecie escribió: Es para no iniciados y indicas como poner un hud...vale, entonces podrías explicarlo un poco sobre las posiciones o cuesta? Xd

Hay gente que solo copia el plugin y no lo aprende y busca la manera mas facil de hacer lo que quiere, el no sabe como poner el mensaje en el hud o quizas pregunto para otros que no sepan hacerlo, entre mas ayuda, mejor.

Es mejor que expliques mas, y ya se que no es para iniciados pero atraves de los tut se aprende entoces como explicas eso?
De los errores se aprende, y de no usar proteccion tambien >.<[/i]
Responder
#16
(05/11/2014, 08:01 PM)Bazuka escribió:
(05/11/2014, 07:54 PM)GrimmZ04 escribió:
(05/11/2014, 07:51 PM)xPecie escribió: Es para no iniciados y indicas como poner un hud...vale, entonces podrías explicarlo un poco sobre las posiciones o cuesta? Xd

Hay gente que solo copia el plugin y no lo aprende y busca la manera mas facil de hacer lo que quiere, el no sabe como poner el mensaje en el hud o quizas pregunto para otros que no sepan hacerlo, entre mas ayuda, mejor.

Es mejor que expliques mas, y ya se que no es para iniciados pero atraves de los tut se aprende entoces como explicas eso?

Bueno si hay gente que no pueda interpretar el codigo pues explicare las funciones que quieran si es que me dicen cuales tenga que explicar que no se entiendan, yo veo todo muy claro y eso lo supe mucho antes de saber programar.
Feel like a sir Los Programadores Del Mañana Son Los Magos Del Futuro.
Responder
#17
(05/11/2014, 08:09 PM)GrimmZ04 escribió:
(05/11/2014, 08:01 PM)Bazuka escribió:
(05/11/2014, 07:54 PM)GrimmZ04 escribió:
(05/11/2014, 07:51 PM)xPecie escribió: Es para no iniciados y indicas como poner un hud...vale, entonces podrías explicarlo un poco sobre las posiciones o cuesta? Xd

Hay gente que solo copia el plugin y no lo aprende y busca la manera mas facil de hacer lo que quiere, el no sabe como poner el mensaje en el hud o quizas pregunto para otros que no sepan hacerlo, entre mas ayuda, mejor.

Es mejor que expliques mas, y ya se que no es para iniciados pero atraves de los tut se aprende entoces como explicas eso?

Bueno si hay gente que no pueda interpretar el codigo pues explicare las funciones que quieran si es que me dicen cuales tenga que explicar que no se entiendan, yo veo todo muy claro y eso lo supe mucho antes de saber programar.

La cosa es explicar bien para que entiendan y sepan algo de amxmod

PDT: Explica bien hasta casi yo no entiendo, Lol
De los errores se aprende, y de no usar proteccion tambien >.<[/i]
Responder
#18
(05/11/2014, 08:12 PM)Bazuka escribió:
(05/11/2014, 08:09 PM)GrimmZ04 escribió:
(05/11/2014, 08:01 PM)Bazuka escribió:
(05/11/2014, 07:54 PM)GrimmZ04 escribió:
(05/11/2014, 07:51 PM)xPecie escribió: Es para no iniciados y indicas como poner un hud...vale, entonces podrías explicarlo un poco sobre las posiciones o cuesta? Xd

Hay gente que solo copia el plugin y no lo aprende y busca la manera mas facil de hacer lo que quiere, el no sabe como poner el mensaje en el hud o quizas pregunto para otros que no sepan hacerlo, entre mas ayuda, mejor.

Es mejor que expliques mas, y ya se que no es para iniciados pero atraves de los tut se aprende entoces como explicas eso?

Bueno si hay gente que no pueda interpretar el codigo pues explicare las funciones que quieran si es que me dicen cuales tenga que explicar que no se entiendan, yo veo todo muy claro y eso lo supe mucho antes de saber programar.

La cosa es explicar bien para que entiendan y sepan algo de amxmod

PDT: Explica bien hasta casi yo no entiendo, Lol

Esto es muy facil no se por que no entienden Recopilacion De Tutoriales
Feel like a sir Los Programadores Del Mañana Son Los Magos Del Futuro.
Responder
#19
Explicame ami porque acabo de hacerlo y quiero ver si lo hice bien lo puede cada code en su lugar
De los errores se aprende, y de no usar proteccion tambien >.<[/i]
Responder
#20
(05/11/2014, 08:52 PM)Bazuka escribió: Explicame ami porque acabo de hacerlo y quiero ver si lo hice bien lo puede cada code en su lugar

Mandame tu code.
Feel like a sir Los Programadores Del Mañana Son Los Magos Del Futuro.
Responder
#21
muy buen tutorial Gran sonrisa

pero podrias cambiar esto
Cita:stock print_color(const id,const input[], any:...) { // Aqui Registramo El Stock De Los Mensajes En Say Con Colores Personalizables.
new msg[191], players[32], count = 1;
vformat(msg,190,input,3);
replace_all(msg,190,"!g","^4") // Letra "!g" Es El Color Verde
replace_all(msg,190,"!y","^1") // Letra "!y" Es El Color Default Del Cliente
replace_all(msg,190,"!t","^3") // Letra "!t" Es El Color Del Equipo

if (id) players[0] = id; else get_players(players,count,"ch");
for (new i=0;i<count;i++)
if (is_user_connected(players[i])) {
message_begin(MSG_ONE_UNRELIABLE,get_user_msgid("SayText"),_,players[i]);
write_byte(players[i]);
write_string(msg);
message_end();}}

------------------------->>

Código PHP:
// Stock ChatColor
stock print_color(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 Default del CS
    
replace_all(msg190"!team""^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();
            }
        }
    }


para evitar errores Gran sonrisa
Responder
#22
Explicame todo prque lo hice y me tira error el chat color
De los errores se aprende, y de no usar proteccion tambien >.<[/i]
Responder
#23
Para ser tu primer tutorial esta bien.

Preguntas:
-¿ Como aumentas de rango ?
-¿ Por que chequeas rango al entrar al servidor?

Código PHP:
#include <amxmodx>
#include <hamsandwich>

#define s_rango(%1) (%1 * 2)

#pragma semicolon 1

new Rangos[33], XP[33];

new const 
PLUGIN[] = "RANGOS";
new const 
VERSION[] = "1.0.0";
new const 
AUTOR[] = "SIDE^^";

new const 
r_Nombres[][] = {"Nuevo""Principiante""Avanzado"};

public 
plugin_init() 
{
    
register_plugin(PLUGINVERSIONAUTOR);
    
    
RegisterHam(Ham_Killed"player""Ham_PlayerKilled"1);
}

public 
Ham_PlayerKilled(victimattacker
{
    if(!
is_user_connected(victim) || !is_user_connected(attacker))
        return 
HAM_IGNORED;
    
    if(
get_user_team(victim) == get_user_team(attacker))
        return 
HAM_IGNORED;
    
    
XP[attacker]++;
    
Chequear_Rango(attacker);
    
    return 
HAM_IGNORED;
}

public 
Chequear_Rango(id
{    
    while(
XP[id] >= s_rango(Rangos[id]))
    {
        
Rangos[id]++;
        
client_print(idprint_chat"[AMXX] Felicidades has aumentado a %s!"r_Nombres[Rangos[id]]);
    }


Un poco mas simple asi no?
[Imagen: 76561198066347799.png]
Responder
#24
(06/11/2014, 12:15 PM)Side^^ escribió: Para ser tu primer tutorial esta bien.

Preguntas:
-¿ Como aumentas de rango ?
-¿ Por que chequeas rango al entrar al servidor?

Código PHP:
#include <amxmodx>
#include <hamsandwich>

#define s_rango(%1) (%1 * 2)

#pragma semicolon 1

new Rangos[33], XP[33];

new const 
PLUGIN[] = "RANGOS";
new const 
VERSION[] = "1.0.0";
new const 
AUTOR[] = "SIDE^^";

new const 
r_Nombres[][] = {"Nuevo""Principiante""Avanzado"};

public 
plugin_init() 
{
    
register_plugin(PLUGINVERSIONAUTOR);
    
    
RegisterHam(Ham_Killed"player""Ham_PlayerKilled"1);
}

public 
Ham_PlayerKilled(victimattacker
{
    if(!
is_user_connected(victim) || !is_user_connected(attacker))
        return 
HAM_IGNORED;
    
    if(
get_user_team(victim) == get_user_team(attacker))
        return 
HAM_IGNORED;
    
    
XP[attacker]++;
    
Chequear_Rango(attacker);
    
    return 
HAM_IGNORED;
}

public 
Chequear_Rango(id
{    
    while(
XP[id] >= s_rango(Rangos[id]))
    {
        
Rangos[id]++;
        
client_print(idprint_chat"[AMXX] Felicidades has aumentado a %s!"r_Nombres[Rangos[id]]);
    }


Un poco mas simple asi no?

y si uno le da niveles al player?
queda igual?
o sube al rango?
Responder
#25
(07/11/2014, 06:47 PM)XDDX escribió: y si uno le da niveles al player?
queda igual?
o sube al rango?

Explicate no te entendi
[Imagen: 76561198066347799.png]
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)