14/04/2014, 04:00 PM
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:
luego vamos a //Players Vars y creamos las siguientes variables
Luego vamos al forward donde se registrara o registraremos la experiencia que ganaremos vamos a...
Luego vamos al final de su zp y pongamos este public de nivel
y para agregar al hud vamos a:
Cierto Para que se registre que level son al inciar van a:
Y esto ha sido todo cualquier error o duda me lo dicen.
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(victim, attacker, shouldgib)
// 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] = 1 // en vez de += lo ponemos = 1
g_exp[id] = 0 // ponen la exp que quieran