Enviar respuesta 
[TUT] ZP sistema de niveles (Macro)
Autor Mensaje
kirito Sin conexión
Miembro Sr.


Mensajes: 474
Registro en: Oct 2013
Reputación: 4
Mensaje: #1
[TUT] ZP sistema de niveles (Macro)
Hola amigos ya que yo siempre pido hoy vengo a traerles un tutorial de niveles por experiencia de macros hay varios tutoriales pero para alguien que no sabe ni papa de pawn aquí les explico como incorporarlos a cualquier zp, ya sea 4.2, 4.3, advanced, etc.

comenzemos...
Esto lo ponen donde quieran:
Código PHP:
#define Niveles(%1)    (%1 * %1 * 15) // aqui el porcentaje de los niveles o el macro
#define   NIVEL_MAX 250 // aqui el maximo de niveles 

luego vamos a //Players Vars y creamos las siguientes variables
Código PHP:
new g_level[33// variable de nivel de 33 celdas
new g_exp[33// variable de experiencia de 33 celdas 

Luego vamos al forward donde se registrara o registraremos la experiencia que ganaremos vamos a...

Código PHP:
public fw_PlayerKilled(victimattackershouldgib)

// hacemos dos condicionales o sentencias 
if(!g_zombie[attacker] && g_zombie[victim]) // aqui decimos si el humano es el atacante
{
            
g_ammopacks[attacker]++ // se le sumaran ap
            
g_exp[attacker]+= 50 // se le dara 50 de exp esto se puede cambiar
            
check_level(attacker// chequeamos el public 
}

if(
g_zombie[attacker] && !g_zombie[victim]) // aqui decimos si el zombie es el atacante
{
            
g_ammopacks[attacker]++ 
            
g_exp[attacker]+= 50 
            check_level
(attacker)
}

/* ustedes no saben que es ++ o += bien esto es ++ sumara una cantidad indeterminada o aumentara,  en cuanto += sumara una cantidad exacta digamos 50 por mas que mates zombies nunca se pasara de esa cantidad y ++ se incrementa o aumenta */ 

Luego vamos al final de su zp y pongamos este public de nivel
Código PHP:
// check public level
public check_level(id)
{    
    
// Upload level
    
while (g_exp[id] >= Niveles(g_level[id]+1)) && g_level[id] <  NIVEL_MAX// esto es un while que nos dara el nivel si tenemos la experiencia necesaria
    
{
        
g_level[id]++ // aqui se le incrementa el nivel solo sera uno
        
zp_colored_print(id"^x03[ZP]^x04 Felicidades! Has Subido al nivel: ^x03%d^x01"g_level[id]) // mensaje de cuanto subes nivel 
    
}


y para agregar al hud vamos a:
Código PHP:
public showhud

// y agregan
^n[Nivel %d]^n[exp %d], g_level[id], g_exp[id

Cierto Para que se registre que level son al inciar van a:
Código PHP:
reset_vars(id)
g_level[id] = // en vez de += lo ponemos = 1
g_exp[id] = // ponen la exp que quieran 
Y esto ha sido todo cualquier error o duda me lo dicen. Gran sonrisa

Mientras creces maduras y luego vez que dejas de ser un bebe y quieres aprender,ayudar y no ser egoísta.
(Este mensaje fue modificado por última vez en: 15/04/2014 02:18 PM por kirito.)
14/04/2014 04:00 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Kane Sin conexión
Miembro Sr.


Mensajes: 532
Registro en: Feb 2014
Reputación: 17
Mensaje: #2
RE: [TUT] ZP sistema de niveles (Macro)
y si yo entro por primera vez, que nivel soy?
Código PHP:
/* ustedes no saben que es ++ o += bien esto es ++ sumara una cantidad indeterminada o aumentara,  en cuanto += sumara una cantidad exacta digamos 50 por mas que mates zombies nunca se pasara de esa cantidad y ++ se incrementa o aumenta */ 
No es la mejor definicion, es medio obio que cuando algo se incrementa aumente :/
Porque el check_level es public?
Porque haces Niveles((g_level[id]+1)) y no Niveles(g_level[id]+1)?
Porque la variable g_levels[33] tiene 33 celdas, si hay 250 niveles?
Código PHP:
    // hacemos dos condicionales o sentencias 
    
g_ammopacks[attacker]++ // se le sumaran ap
    
g_exp[attacker]+= 50 // se le dara 50 de exp esto se puede cambiar
    
check_level(attacker// chequeamos el public 
Como lo pusiste no tenia sentido, ademas tenes que checkar que la victima sea valida y el atacante este vivo

Bueno son algunas cositas que vi, espero que lo arregles

(19/06/2014 11:08 PM)01011001 escribió:  No tiene niveles infinitos, llega hasta 2147483648 (Y despues hace un integer overflow)

(19/06/2014 11:08 PM)[R]ak escribió:  Mis conocimientos aumentaron un 500% con este post
14/04/2014 04:37 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
kirito Sin conexión
Miembro Sr.


Mensajes: 474
Registro en: Oct 2013
Reputación: 4
Mensaje: #3
RE: [TUT] ZP sistema de niveles (Macro)
Gracias por tus observaciones Kane pero asi lo tengo yo y me anda bien pero bueno, ademas la variable tiene 33 celdas y haci 250 niveles por algo hice un define no crees?

Mientras creces maduras y luego vez que dejas de ser un bebe y quieres aprender,ayudar y no ser egoísta.
14/04/2014 04:55 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
RauliTop Sin conexión
Miembro Héroe


El protector 1k
Mensajes: 1,961
Registro en: Oct 2013
Reputación: 36
Mensaje: #4
RE: [TUT] ZP sistema de niveles (Macro)
si subo 20 niveles de golpe, me salen 20 prints.. pienso que deberías mejorar eso.

(17/04/2015 03:36 PM)Neeeeeeeeeel.- escribió:  No se va a volver a conectar a internet en toda su puta vida... nadie sube porno a mi foro y vive para contarlo.
14/04/2014 04:57 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
kirito Sin conexión
Miembro Sr.


Mensajes: 474
Registro en: Oct 2013
Reputación: 4
Mensaje: #5
RE: [TUT] ZP sistema de niveles (Macro)
Como RauliTop?

Mientras creces maduras y luego vez que dejas de ser un bebe y quieres aprender,ayudar y no ser egoísta.
14/04/2014 06:43 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Evil Spiret Sin conexión
Miembro Sr.


Mensajes: 578
Registro en: Dec 2013
Reputación: 12
Mensaje: #6
RE: [TUT] ZP sistema de niveles (Macro)
Esto tira error , pero lo veo bien, no se que es lo que puede estar mal aca
Código PHP:
while (g_exp[id] >= Niveles(g_level[id]+1)? && g_level[id] <  NIVEL_MAX// esto es un while que nos dara el nivel si tenemos la experiencia necesaria 

NUEVO ZOMBIE PLAGUE + LVLS!! UNETE A LA COMUNIDAD
Image
14/04/2014 06:59 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Kane Sin conexión
Miembro Sr.


Mensajes: 532
Registro en: Feb 2014
Reputación: 17
Mensaje: #7
RE: [TUT] ZP sistema de niveles (Macro)
Código PHP:
while (g_exp[id] >= Niveles(g_level[id]+1)? && g_level[id] <  NIVEL_MAX
--->
Código PHP:
while (g_exp[id] >= Niveles(g_level[id]+1) && g_level[id] <  NIVEL_MAX

(19/06/2014 11:08 PM)01011001 escribió:  No tiene niveles infinitos, llega hasta 2147483648 (Y despues hace un integer overflow)

(19/06/2014 11:08 PM)[R]ak escribió:  Mis conocimientos aumentaron un 500% con este post
14/04/2014 07:03 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
kirito Sin conexión
Miembro Sr.


Mensajes: 474
Registro en: Oct 2013
Reputación: 4
Mensaje: #8
RE: [TUT] ZP sistema de niveles (Macro)
Osea ya lo arregle Kane Gracias man

Mientras creces maduras y luego vez que dejas de ser un bebe y quieres aprender,ayudar y no ser egoísta.
(Este mensaje fue modificado por última vez en: 14/04/2014 07:06 PM por kirito.)
14/04/2014 07:05 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Pipa Roja Sin conexión
Miembro Sr.


Trebol purpura
Mensajes: 597
Registro en: Nov 2013
Reputación: 11
Mensaje: #9
RE: [TUT] ZP sistema de niveles (Macro)
Código PHP:
// check public level
public check_level(id
    {    
    
// Upload level
    
while (g_exp[id] >= Niveles(g_level[id]+1) && g_level[id] <  NIVEL_MAX// esto es un while que nos dara el nivel si tenemos la experiencia necesaria
    
{
        
g_level[id]++ // aqui se le incrementa el nivel solo sera uno
        
zp_colored_print(id"^x03[ZP]^x04 Felicidades! Has Subido al nivel: ^x03%d^x01"g_level[id]) // mensaje de cuanto subes nivel 
    
}

----------->
Código PHP:
public check_level(id) {    
    
    while( 
g_exp[id] >= next_level(g_level[id] ) ) 
    {
        
g_level[id]++ 
        
g_exp[id] = 0
        zp_colored_print
(id"^x03[ZP]^x04 Felicidades! Has Subido al nivel: ^x03%d^x01"g_level[id]) 
    }


(Este mensaje fue modificado por última vez en: 14/04/2014 07:46 PM por Pipa Roja.)
14/04/2014 07:44 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Evil Spiret Sin conexión
Miembro Sr.


Mensajes: 578
Registro en: Dec 2013
Reputación: 12
Mensaje: #10
RE: [TUT] ZP sistema de niveles (Macro)
cuando me subo los APS con la base de datos no me sube de LVL

Yo saque la variable g_exp y subo los lvl por aps ; y me quedo en lvl 1 por mas que tenga 10mil aps

NUEVO ZOMBIE PLAGUE + LVLS!! UNETE A LA COMUNIDAD
Image
14/04/2014 07:55 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