Sistema de rango
#26
Vos si vas a hacer un Sistema de Rangos (Como ejemplo, ya que usamos varios recursos). Usamos un enum para guardar los datos en una constante.

Por ejemplo esto
Código PHP:
enum _:DATA_RANGOS
{
    
NOMBRE_RANGOS[32], // Dato que guarda valores de string con un máximo de 32 caracteres. 
    
COSTO_RANGOS// Datos que guardará valores enteros
}; 

DATA_RANGOS: Es el nombre para poder utilizar los datos en nuestra constante de esta forma
Código PHP:
new const szRangos[][DATA_RANGOS] = {
    { 
"Rango 1"50 }, // Lugar 1
    
"Rango 2"150 }, // Lugar 2
    
"Rango 3"500 // Lugar 3
}; 

Verás que en la primera matriz (Si se dice así), no tiene nada, lo que lleva el LUGAR o posición de cada rango. Y en el segundo pondremos los datos que contiene el enum. Así la constante lee que "Rango 1" Pertenece a NOMBRE_RANGOS y 50 pertenece a COSTO_RANGOS

Es una pavada eso. Y te ahorras muchas constantes.
Free agent - Vendo plugins, mods o apps del foro IPB (Invision community)
Contactarme vía Discord >>> AtselTV#8202
Responder
#27
ok ahora para chekear el rango? cuando ba a subir como le ago?

porque yo lo ago asi
Código PHP:
while(g_frags[id] >= szRangos[id][COSTO_RANGO]
{
         
g_rango[id]++
         
client_print(idprint_chat"Subistes al rango: %s"szRangos[id][NOMBRE_RANGOS]

[Imagen: b_350_20_323957_202743_f19a15_111111.png]

Estudia siempre; el tiempo es oro, lo material se puede recuperar pero el tiempo no se puede recuperar.
(02/10/2016, 05:05 PM)meTaLiCroSS escribió: Siempre me gusta ayudar cuando alguien esta interesado realmente en ver que esta programando.
(08/08/2019, 05:32 PM)meTaLiCroSS escribió: grax x el dato cr4ck


Mis aportes

PLUGINS
MAPAS
Menú LANG [SF] Sistema de Frags
Say System (Admin Prefix)
Responder
#28
Si vas a chequear el rango, es simplemente con la variable (g_rango, o como la tengas declarada), al igual que aumentarla.

Después para aumentar el rango (O sea chequear)
Código PHP:
if /** o while **/ (g_rango[id] >= szRangos[g_nivel[id]][COSTO_RANGOS]]) 

Lo demás es una pavada.
Free agent - Vendo plugins, mods o apps del foro IPB (Invision community)
Contactarme vía Discord >>> AtselTV#8202
Responder
#29
Haber si te entendi vengo yo y ago esto
Código PHP:
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"

new g_rango[33], g_general[33]

enum _:DATA_RANGO
{
    
NOMBRE[16],
    
GENERAL
}
new const 
Rangos[][DATA_RANGO] = {
    
    
/*Rango               General*/
    
{"Nuevo",         0},
    {
"Nobato",         4},
    {
"Principiante",     8},
    {
"Intermedio",         16},
    {
"Super",         30},
    {
"Pro",         50}
};

public 
plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
RegisterHam(Ham_Killed"player""HamKilled"1)
    
register_clcmd("say /rango""mostrar_rango")
}
public 
HamKilled(attackervictim)
{
    if(!
is_user_connected(attacker))
    {
        return 
HAM_IGNORED;
    }
    
g_general[attacker]++
    
checkrango(attacker);
    return 
HAM_IGNORED;
}
checkrango(id)
{
    if(
g_general[id] >= Rangos[g_rango[id]][GENERAL])
    
//while(g_general[id] >= Rangos[g_rango[id]][GENERAL])
    
{
        
g_rango[id]++
        
client_print(idprint_chat"Has subido al rango %s",Rangos[g_rango[id]][NOMBRE])
    }
}

public 
mostrar_rango(id)
{
    
client_print(idprint_chat"Tu rango es %s"Rangos[g_rango[id]][NOMBRE])

[Imagen: b_350_20_323957_202743_f19a15_111111.png]

Estudia siempre; el tiempo es oro, lo material se puede recuperar pero el tiempo no se puede recuperar.
(02/10/2016, 05:05 PM)meTaLiCroSS escribió: Siempre me gusta ayudar cuando alguien esta interesado realmente en ver que esta programando.
(08/08/2019, 05:32 PM)meTaLiCroSS escribió: grax x el dato cr4ck


Mis aportes

PLUGINS
MAPAS
Menú LANG [SF] Sistema de Frags
Say System (Admin Prefix)
Responder
#30
while en el check
[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
#31
(28/08/2014, 04:49 PM)kikizon2 escribió: while en el check

Cual esl a diferencia entre el while y el if? [Imagen: 41.gif]
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

Estudia siempre; el tiempo es oro, lo material se puede recuperar pero el tiempo no se puede recuperar.
(02/10/2016, 05:05 PM)meTaLiCroSS escribió: Siempre me gusta ayudar cuando alguien esta interesado realmente en ver que esta programando.
(08/08/2019, 05:32 PM)meTaLiCroSS escribió: grax x el dato cr4ck


Mis aportes

PLUGINS
MAPAS
Menú LANG [SF] Sistema de Frags
Say System (Admin Prefix)
Responder
#32
if es para condicionar y while es igual solo que lo hara siempre que la condicion se repita
Código:
if ("lo que sea")
{
hace x cosa;
}
while("lo que sea")
{
hace x cosa;
e informas para que rompa la condicion
si no sera continuo
};

Espero que haya sido claro :S
[Imagen: 76561198066347799.png]
Responder
#33
While es un ciclo infinito en cambio el If no, solamente chequeas x variantes.
Free agent - Vendo plugins, mods o apps del foro IPB (Invision community)
Contactarme vía Discord >>> AtselTV#8202
Responder
#34
No es un ciclo infinito.

Pasate por acá:
https://amxmodx-es.com/Thread-Programaci...ncipiantes

Ni te molestes en enviarme un mensaje privado para pedirme ayuda porque NO lo voy a contestar.
Gracias por su atención.
Responder
#35
(28/08/2014, 09:10 PM)alan_el_more escribió: No es un ciclo infinito.

Pasate por acá:
https://amxmodx-es.com/Thread-Programaci...ncipiantes
Habré vivido una mentira toda mi puta vida ??
WhatdoneWhatdoneWhatdoneWhatdoneWhatdone
Free agent - Vendo plugins, mods o apps del foro IPB (Invision community)
Contactarme vía Discord >>> AtselTV#8202
Responder
#36
Puede ser un bucle infinito. Así:
Código PHP:
while(1){}
while(
true){} 

Pero no es si o si infinito.

Ni te molestes en enviarme un mensaje privado para pedirme ayuda porque NO lo voy a contestar.
Gracias por su atención.
Responder
#37
Me habían enseñado que el ciclo while es infinito, hasta chequear para poder detener su ciclo infinito.
Free agent - Vendo plugins, mods o apps del foro IPB (Invision community)
Contactarme vía Discord >>> AtselTV#8202
Responder
#38
:o Oye @CSAxel, se puede dar glow por switch?
porque yo lo tengo asi
Código PHP:
public Player_Spawn_Post(id)
{
    if(!
is_user_connected(id))
    {
        return 
PLUGIN_HANDLED
    
}
    else if(
equal(RANGOS[g_rango[id]], "Nuevo"))
    {
        
set_user_rendering(idkRenderFxGlowShell25500kRenderNormal)

    }
    else if(
equal(RANGOS[g_rango[id]], "Nobato"))
    {
        
set_user_rendering(idkRenderFxGlowShell25500kRenderNormal)

    }
    else if(
equal(RANGOS[g_rango[id]], "Principiante"))
    {
        
set_user_rendering(idkRenderFxGlowShell25500kRenderNormal)

    }
    else if(
equal(RANGOS[g_rango[id]], "Intermedio"))
    {
        
set_user_rendering(idkRenderFxGlowShell25500kRenderNormal)

    }
    else if(
equal(RANGOS[g_rango[id]], "Pro"))
    {
        
set_user_rendering(idkRenderFxGlowShell25500kRenderNormal)

    }
    else if(
equal(RANGOS[g_rango[id]], "Super"))
    {
        
set_user_rendering(idkRenderFxGlowShell25500kRenderNormal)

    }
    else if(
equal(RANGOS[g_rango[id]], "Comandante"))
    {
        
set_user_rendering(idkRenderFxGlowShell02550kRenderNormal

    }
    else if(
equal(RANGOS[g_rango[id]], "Comandante II"))
    {
        
set_user_rendering(idkRenderFxGlowShell02550kRenderNormal

    }
    else if(
equal(RANGOS[g_rango[id]], "Comandante III"))
    {
        
set_user_rendering(idkRenderFxGlowShell02550kRenderNormal

    }
    else if(
equal(RANGOS[g_rango[id]], "Capitan"))
    {
        
set_user_rendering(idkRenderFxGlowShell00255kRenderNormal

    }
    else if(
equal(RANGOS[g_rango[id]], "Capitan II"))
    {
        
set_user_rendering(idkRenderFxGlowShell00255kRenderNormal

    }
    else if(
equal(RANGOS[g_rango[id]], "Capitan III"))
    {
        
set_user_rendering(idkRenderFxGlowShell00255kRenderNormal

    }
    else if(
equal(RANGOS[g_rango[id]], "Jefe"))
    {
        
set_user_rendering(idkRenderFxGlowShell0255255kRenderNormal

    }
    else if(
equal(RANGOS[g_rango[id]], "Jefe II"))
    {
        
set_user_rendering(idkRenderFxGlowShell0255255kRenderNormal

    }
    else if(
equal(RANGOS[g_rango[id]], "Jefe III"))
    {
        
set_user_rendering(idkRenderFxGlowShell0255255kRenderNormal

    }
    else if(
equal(RANGOS[g_rango[id]], "Mayor"))
    {
        
set_user_rendering(idkRenderFxGlowShell2552550kRenderNormal

    }
    else if(
equal(RANGOS[g_rango[id]], "Mayor II"))
    {
        
set_user_rendering(idkRenderFxGlowShell2552550kRenderNormal

    }
    else if(
equal(RANGOS[g_rango[id]], "Mayor III"))
    {
        
set_user_rendering(idkRenderFxGlowShell2552550kRenderNormal

    }
    else if(
equal(RANGOS[g_rango[id]], "Vip"))
    {
        
set_user_rendering(idkRenderFxGlowShell192192192kRenderNormal

    }
    else if(
equal(RANGOS[g_rango[id]], "Gold"))
    {
        
set_user_rendering(idkRenderFxGlowShell25018030kRenderNormal

    }
    else if(
equal(RANGOS[g_rango[id]], "Platinum"))
    {
        
set_user_rendering(idkRenderFxNone000kRenderTransAlpha10
    }
    
set_task(10.0"remove_glow"id)
    return 
PLUGIN_HANDLED

}
public 
remove_glow(id)
{
    if(!
is_user_connected(id))
    {
        return 
PLUGIN_HANDLED
    
}
    
set_user_rendering(idkRenderFxGlowShell000kRenderNormal)
    
set_user_rendering(idkRenderFxNone000kRenderTransAlpha255
    return 
PLUGIN_HANDLED


PD: no se si asi es la forma correcta de hacerlo, ya que este seria mi primer plugin de ese nivel
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

Estudia siempre; el tiempo es oro, lo material se puede recuperar pero el tiempo no se puede recuperar.
(02/10/2016, 05:05 PM)meTaLiCroSS escribió: Siempre me gusta ayudar cuando alguien esta interesado realmente en ver que esta programando.
(08/08/2019, 05:32 PM)meTaLiCroSS escribió: grax x el dato cr4ck


Mis aportes

PLUGINS
MAPAS
Menú LANG [SF] Sistema de Frags
Say System (Admin Prefix)
Responder
#39
Código PHP:
public Player_Spawn_Post(id)
{
    if(!
is_user_connected(id))
        return 
PLUGIN_HANDLED
    
    
switch (g_rango[id]) {
        case 
1set_user_rendering(idkRenderFxGlowShell25500kRenderNormal// nuevo
        
case 2set_user_rendering(idkRenderFxGlowShell25500kRenderNormal)
        case 
3set_user_rendering(idkRenderFxGlowShell25500kRenderNormal)
        case 
4set_user_rendering(idkRenderFxGlowShell25500kRenderNormal)
    }
    
    
    
//Etc etc

[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
#40
ahi ese es el numero de rango?
osea el Pro es el numero 5 en la lista, tendria que poner case 5: para que me de el glow de color que yo quiera ? te entendi
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

Estudia siempre; el tiempo es oro, lo material se puede recuperar pero el tiempo no se puede recuperar.
(02/10/2016, 05:05 PM)meTaLiCroSS escribió: Siempre me gusta ayudar cuando alguien esta interesado realmente en ver que esta programando.
(08/08/2019, 05:32 PM)meTaLiCroSS escribió: grax x el dato cr4ck


Mis aportes

PLUGINS
MAPAS
Menú LANG [SF] Sistema de Frags
Say System (Admin Prefix)
Responder
#41
si es depende de como tengas el sistema Sonrisa
[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
#42
ok gracias CutecryExcitedeyes
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

Estudia siempre; el tiempo es oro, lo material se puede recuperar pero el tiempo no se puede recuperar.
(02/10/2016, 05:05 PM)meTaLiCroSS escribió: Siempre me gusta ayudar cuando alguien esta interesado realmente en ver que esta programando.
(08/08/2019, 05:32 PM)meTaLiCroSS escribió: grax x el dato cr4ck


Mis aportes

PLUGINS
MAPAS
Menú LANG [SF] Sistema de Frags
Say System (Admin Prefix)
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)