Dudas sobre sistema de rangos por niveles
#1
hola, adapte el siguiente sistema de rangos a mi mod y queria saber como podria hacer para que cada vez que reviva el jugador se le checkee el rango osea por que se que es con el evento de spawn pero lo que no se bien es como hacer para que chequee el rango

pasa que tengo un menu para setear niveles etc y cuando le seteo al nivel qsy
por ejemplo 16 no se le cambia el rango ya que no pasa por el checkeo de rango
por eso queria que chekee cada vez que reviva.



SISTEMA DE RANGO
Código PHP:
new const ListaRango[][] = {
    
"Aprendiz""Novato""Novato II""Cazador",
    
"Soldado""Comandante""General""Carnicero",
    
"Matador""Aniquilador""Sangriento""Terminator",
    
"Vicio""Friki""Pro""Ultimate""Dios"
    
}
new const 
NivelNecesarios[] = {
    
15102030405060708090100110120130140150


new 
g_Rango[33]
new 
g_Nivel[33]


public 
check_nivel(id)
{
    if(
g_Nivel[id] >= max_level || g_estadoid ] != LOGUEADO)
    {
        return 
PLUGIN_HANDLED
    
}
    while(
g_Frags[id] >= next_level(g_Nivel[id]))
    {
        
g_Nivel[id]++
        
g_Frags[id] = 0
        ColorChat
(idGREEN"%s Felicidades!! Subiste al Nivel ^4[^1 %d ^4]"TAGg_Nivel[id])
        
client_cmd(id"spk ^"%s^""Sonido_Nivel)
        new 
Name[32]
        
get_user_name(idNamecharsmax(Name))
        
ColorChat(0GREEN"%s El Jugador^4 %s ^1Subio al Nivel ^4[^1 %d ^4]"TAGNameg_Nivel[id])
    }
    while(
g_Nivel[id] >= NivelNecesarios[g_Rangos[id]]) 
    {
        
ColorChat(idGREEN"%s Felicidades!! Ganaste 5 puntos y 5 pandoras por subir al Rango ^4[^1 %s ^4]"TAGListaRango[g_Rangos[id]])
        new 
Name[32]
        
get_user_name(idNamecharsmax(Name))
        
ColorChat(0GREEN"%s El Jugador^4 %s -^1gano ^4[^15^4] puntos y 4[^15^4] pandoras por subir al Rango ^4[^1 %s ^4]"TAGNameListaRango[g_Rangos[id]])
        
g_Rangos[id]++
    }
        
    return 
PLUGIN_HANDLED

Nothingdohere <===| Aprendiendo Con Cada Momento |===> Nothingdohere
<==| Aportes |==>
Sistema de Carnages + Menu para Mandarlos
Responder
#2
en cada parte donde quieras chekear....Whatever Whatever Whatever

check_nivel(id)

y el evento creo q era
Código PHP:
RegisterHam(Ham_Spawn"player""playerspawn"1)

public 
playerSpawn(id)
{
    if (!
is_user_alive(id))
        return;
        
    
check_nivel(id)

Responder
#3
si eso ya lo se pero el problema es si el numero no es ninguno de los dos pedidos por ejemplo
nivel 1 y en nivel 5 te da el rango
pero no en el nivel 2 3 y 4 entendes? lo que yo quiero saber hacer es que cuando yo lo deje a un jugador en un nivel que no es de los que pide el rango que le deje el rango anterior osea por ejemplo
si era nivel 5 iva a tener rango nivel 5 no?
bueno si lo deje en nivel 4 va a tener el rango que te da el nivel 1 por que no llega al nivel 5
Nothingdohere <===| Aprendiendo Con Cada Momento |===> Nothingdohere
<==| Aportes |==>
Sistema de Carnages + Menu para Mandarlos
Responder
#4
por que estas haciendo 2 chekeos segun lo q veo y para mostrar el rango tambien esta mal
Código PHP:
public check_nivel(id)
{
    if(
g_Nivel[id] >= max_level || g_estadoid ] != LOGUEADO)
    {
        return 
PLUGIN_HANDLED
    
}
    while(
g_Frags[id] >= next_level(g_Nivel[id]))
    {
        
g_Nivel[id]++
        
g_Frags[id] = 0
        ColorChat
(idGREEN"%s Felicidades!! Subiste al Nivel ^4[^1 %d ^4]"TAGg_Nivel[id])
        
client_cmd(id"spk ^"%s^""Sonido_Nivel)
        new 
Name[32]
        
get_user_name(idNamecharsmax(Name))
        
ColorChat(0GREEN"%s El Jugador^4 %s ^1Subio al Nivel ^4[^1 %d ^4]"TAGNameg_Nivel[id])
    }
    while(
g_Nivel[id] >= NivelNecesarios[g_Rangos[id]]) 
    {
        
ColorChat(idGREEN"%s Felicidades!! Ganaste 5 puntos y 5 pandoras por subir al Rango ^4[^1 %s ^4]"TAGListaRango[g_Rangos[id]])
        new 
Name[32]
        
get_user_name(idNamecharsmax(Name))
        
ColorChat(0GREEN"%s El Jugador^4 %s -^1gano ^4[^15^4] puntos y 4[^15^4] pandoras por subir al Rango ^4[^1 %s ^4]"TAGNameListaRango[g_Rangos[id]])
        
g_Rangos[id]++
    }
        
    return 
PLUGIN_HANDLED


-----------------------------------------------------------
Código PHP:
new const ListaRango[][] = {
    
"Aprendiz""Novato""Novato II""Cazador",
    
"Soldado""Comandante""General""Carnicero",
    
"Matador""Aniquilador""Sangriento""Terminator",
    
"Vicio""Friki""Pro""Ultimate""Dios"
    
}
new const 
NivelNecesarios[] = {
    
15102030405060708090100110120130140150



new 
g_Nivel[33]


public 
check_nivel(id)
{
    if(
g_Nivel[id] >= max_level || g_estadoid ] != LOGUEADO)
    {
        return 
PLUGIN_HANDLED
    
}
    while(
g_Frags[id] >= next_level(g_Nivel[id]))
    {
        
g_Nivel[id]++
        
ColorChat(idGREEN"%s Felicidades!! Subiste al Nivel ^4[^1 %d ^4] y Rango ^4[^1 %s ^4]"TAGg_Nivel[id], ListaRango[g_Nivel[id]])
        
client_cmd(id"spk ^"%s^""Sonido_Nivel)
        new 
Name[32]
        
get_user_name(idNamecharsmax(Name))
        
ColorChat(0GREEN"%s El Jugador^4 %s ^1Subio al Nivel ^4[^1 %d ^4]"TAGNameg_Nivel[id])
        
ColorChat(idGREEN"%s Felicidades!! Ganaste 5 puntos y 5 pandoras por subir al Rango ^4[^1 %s ^4]"TAGListaRango[g_Nivel[id]])
    }

    
    return 
PLUGIN_HANDLED


si no te anda el chekeo decimelo
Responder
#5
(06/06/2019, 07:57 PM)GoldenCosta escribió: por que estas haciendo 2 chekeos segun lo q veo y para mostrar el rango tambien esta mal
Código PHP:
public check_nivel(id)
{
    if(
g_Nivel[id] >= max_level || g_estadoid ] != LOGUEADO)
    {
        return 
PLUGIN_HANDLED
    
}
    while(
g_Frags[id] >= next_level(g_Nivel[id]))
    {
        
g_Nivel[id]++
        
g_Frags[id] = 0
        ColorChat
(idGREEN"%s Felicidades!! Subiste al Nivel ^4[^1 %d ^4]"TAGg_Nivel[id])
        
client_cmd(id"spk ^"%s^""Sonido_Nivel)
        new 
Name[32]
        
get_user_name(idNamecharsmax(Name))
        
ColorChat(0GREEN"%s El Jugador^4 %s ^1Subio al Nivel ^4[^1 %d ^4]"TAGNameg_Nivel[id])
    }
    while(
g_Nivel[id] >= NivelNecesarios[g_Rangos[id]]) 
    {
        
ColorChat(idGREEN"%s Felicidades!! Ganaste 5 puntos y 5 pandoras por subir al Rango ^4[^1 %s ^4]"TAGListaRango[g_Rangos[id]])
        new 
Name[32]
        
get_user_name(idNamecharsmax(Name))
        
ColorChat(0GREEN"%s El Jugador^4 %s -^1gano ^4[^15^4] puntos y 4[^15^4] pandoras por subir al Rango ^4[^1 %s ^4]"TAGNameListaRango[g_Rangos[id]])
        
g_Rangos[id]++
    }
        
    return 
PLUGIN_HANDLED


-----------------------------------------------------------
Código PHP:
new const ListaRango[][] = {
    
"Aprendiz""Novato""Novato II""Cazador",
    
"Soldado""Comandante""General""Carnicero",
    
"Matador""Aniquilador""Sangriento""Terminator",
    
"Vicio""Friki""Pro""Ultimate""Dios"
    
}
new const 
NivelNecesarios[] = {
    
15102030405060708090100110120130140150



new 
g_Nivel[33]


public 
check_nivel(id)
{
    if(
g_Nivel[id] >= max_level || g_estadoid ] != LOGUEADO)
    {
        return 
PLUGIN_HANDLED
    
}
    while(
g_Frags[id] >= next_level(g_Nivel[id]))
    {
        
g_Nivel[id]++
        
ColorChat(idGREEN"%s Felicidades!! Subiste al Nivel ^4[^1 %d ^4] y Rango ^4[^1 %s ^4]"TAGg_Nivel[id], ListaRango[g_Nivel[id]])
        
client_cmd(id"spk ^"%s^""Sonido_Nivel)
        new 
Name[32]
        
get_user_name(idNamecharsmax(Name))
        
ColorChat(0GREEN"%s El Jugador^4 %s ^1Subio al Nivel ^4[^1 %d ^4]"TAGNameg_Nivel[id])
        
ColorChat(idGREEN"%s Felicidades!! Ganaste 5 puntos y 5 pandoras por subir al Rango ^4[^1 %s ^4]"TAGListaRango[g_Nivel[id]])
    }

    
    return 
PLUGIN_HANDLED


si no te anda el chekeo decimelo

No entendiste nada bro

EDIT: Proba metiendo el chequeo de los rangos dentro del while de los niveles

Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)