Enviar respuesta 
Guia definitiva de Sistemas de Niveles (Zombie Plague y Normal) [ 10/11/18 ]
Autor Mensaje
kikizon2 Sin conexión
Miembro Héroe


Plugin developer Donador Regalo Beta Tester Trebol purpura 1k Plugin popular
Mensajes: 3,540
Registro en: Jan 2014
Reputación: 60
Mensaje: #1
Estrella Guia definitiva de Sistemas de Niveles (Zombie Plague y Normal) [ 10/11/18 ]
Guia definitiva de Sistemas de Niveles (Zombie Plague y Normal)


A tomar en cuenta:
  • La lista se estara actualizando constantemente para agregar diferentes sistemas de subida de nivel, se hara la version para ZP, y la version normal.
  • Los titulos de sistemas tendran diferentes colores para diferenciar dificultad de subida de nivel: VERDE = Facil | Naranja: Medio | Rojo = Dificil
  • Los adjuntos estaran al final de la lista.
  • Estos codigos fueron creados en la version AMX 1.9.0, deberia funcionar en AMX 1.8.3. No se dara soporte a versiones anteriores.
  • Tema original: AQUI




1.- Sistema de niveles + resets por daño acumulado:

Zombie Plague:

Paso 1 - Declarar variables:

- 1.1 Declarar:
Código PHP:
#define MAX_LEVEL 30 // Maximo nivel
#define DEFAULT_DAMAGE 1200 // Daño requerido por default

// Si no quieres HappyHour Borra/Comenta la siguiente linea
#define HAPPYHOUR

#if defined HAPPYHOUR
    
new bool:g_bHappyTimeg_iHappyMulti;

    
enum _:__HappyData HH_HOUR[3], HH_DAMAGEHH_MULTI };
    new const 
_HappyHour[][__HappyData] =
    {
        
// HORA  // DAÑO REQUERIDO  // MULTIPLICADOR
        
"00",     700,                 },
        { 
"04",     400,                 },
        { 
"15",     100,                 }
    }
#endif

/* 
    Ejemplos de exp requerida:

    Nivel 0: 9
    Nivel 1: 12
    Nivel 2: 15

    Formula:

    (N + 3) x 3

    Donde N es el nivel actual

*/
#define RequiredExp(%1) (%1 + 3 * 3)


new g_iDamage[33], g_iExp[33], g_iLevel[33], g_iReset[33];
new 
cvar_expg_iDefaultDamage

- 1.2 Funcion extra en Plugin init:

Buscamos la funcion:
Código PHP:
public plugin_init() 

y dentro agregamos las siguientes lineas:
Código PHP:
register_clcmd("say /reset""FuncReset");
cvar_exp register_cvar("exp_damage""1"); // Exp al alcanzar el daño requerido
g_iDefaultDamage DEFAULT_DAMAGE

-1.3 Funcion extra en round_start:

Buscamos la funcion:
Código PHP:
public round_start() 

y dentro agregamos las siguientes lineas:
Código PHP:
#if defined HAPPYHOUR
    
RefreshHH();
#endif 



Paso 2 - Formatear variables:

- 2.1 Buscamos la siguiente funcion:
Código PHP:
reset_vars(idresetall

-2.2 Dentro de la funcion, buscamos la siguiente condicion:
Código PHP:
if (resetall)


-2.3 Reseteamos las variables dentro de esa condicion
Código PHP:
g_iDamage[id] = g_iExp[id] = g_iLevel[id] = g_iReset[id] = 0



Paso 3 - Funciones en TakeDamage:

- 3.1 Buscamos la funcion:
Código PHP:
public fw_TakeDamage(victiminflictorattackerFloat:damagedamage_type

- 3.2 Buscamos la condicion:
Código PHP:
if(!g_zombie[attacker])


- 3.3 IMPORTANTE (Si quieres que el daño solo sea para humanos, ingresa el codigo dentro de la condicion, si quieres que aplique tambien para zombies, ingresa el codigo antes de la condicion anterior)
Código PHP:
g_iDamage[attacker] += floatround(damage);
while(
g_iDamage[attacker] >= g_iDefaultDamage)
{
    
g_iDamage[attacker] -= g_iDefaultDamage;
    
SetExp(attackerget_pcvar_num(cvar_exp));




Paso 4 - Agregar demas funciones:

- 4.1: Pasamos al final del plugin y agregamos el siguiente codigo:
Código PHP:
SetExp(indexiExp)
{
    if(!
index || !is_user_connected(index) || g_iLevel[index] >= MAX_LEVEL) return;        

    static 
iLeveliLevel g_iLevel[index];

    
#if defined HAPPYHOUR 
        
g_iExp[index] += (iExp*g_iHappyMulti);
    
#else 
        
g_iExp[index] += iExp;
    
#endif

    
while(g_iExp[index] >= RequiredExp(g_iLevel[index]) && g_iLevel[index] < MAX_LEVEL) ++g_iLevel[index];

    if(
g_iLevel[index] > iLevelclient_print_color(indexprint_team_default"Felicidades! Subiste al nivel ^4%d ^1:D"g_iLevel[index]);
}

public 
FuncReset(index)
{
    if(
g_iLevel[index] < MAX_LEVEL)
    {
        
client_print_color(indexprint_team_default"Necesitas ser nivel ^4%d ^1para poder resetear!"MAX_LEVEL);
        return 
PLUGIN_HANDLED;
    }

    ++
g_iReset[index];
    
g_iExp[index] = g_iLevel[index] = 0;

    
client_print_color(indexprint_team_default"Felicidades! Reseteaste tu cuenta, ahora eres reset ^4%d"g_iReset[index]);
    return 
PLUGIN_HANDLED;
}

#if defined HAPPYHOUR
RefreshHH()
{
    
g_bHappyTime false;
    
g_iDefaultDamage DEFAULT_DAMAGE;

    static 
icurrent_hour[3]; get_time("%H"current_hour2);
    for( 
sizeof _HappyHour ; ++)
    {
        if(
equal(_HappyHour[i][HH_HOUR], current_hour))
        {
            
g_bHappyTime true;
            
g_iHappyMulti _HappyHour[i][HH_MULTI];
            
g_iDefaultDamage _HappyHour[i][HH_DAMAGE];

            
client_print_color(0print_team_default"^4HORA FELIZ ACTIVA!!! ^3Daño requerido: ^1%d ^3Multiplicador: ^1%d"g_iDefaultDamageg_iHappyMulti);
            break;
        }
    }
}
#endif 



Paso 5 - Editar el HUD:

Buscamos la funcion:
Código PHP:
public ShowHUD(taskid

y la reemplazamos por la siguiente:
Código PHP:
public ShowHUD(taskid)
{
    static 
id
    id 
ID_SHOWHUD;
    
    if (!
g_isalive[id])
    {
        
id pev(idPEV_SPEC_TARGET)
        if (!
g_isalive[id]) return;
    }
    
    static class[
32], redgreenblue
    
    
if (g_zombie[id])
    {
        
red 200
        green 
250
        blue 
0
        
        
if (g_nemesis[id])
            
formatex(class, charsmax(class), "%L"ID_SHOWHUD"CLASS_NEMESIS")
        else
            
copy(class, charsmax(class), g_zombie_classname[id])
    }
    else 
    {
        
red 255
        green 
255
        blue 
0
        
        
if (g_survivor[id])
            
formatex(class, charsmax(class), "%L"ID_SHOWHUD"CLASS_SURVIVOR")
        else
            
copy(class, charsmax(class), g_human_classname[id])
    }
    
    if (
id != ID_SHOWHUD)
    {
        
set_hudmessage(255255255HUD_SPECT_XHUD_SPECT_Y06.01.10.00.0, -1)
        
ShowSyncHudMsg(ID_SHOWHUDg_MsgSync2"%L: %s^nHP: %d|%L: %s |%L: %d|Nivel: %d|Reset: %d"ID_SHOWHUD"SPECTATING"g_playername[id], pev(idpev_health), ID_SHOWHUD"CLASS_CLASS", class, ID_SHOWHUD"AMMO_PACKS1"g_ammopacks[id], g_iLevel[id], g_iReset[id])
    }
    else
    {
        
set_hudmessage(redgreenblueHUD_STATS_XHUD_STATS_Y06.01.10.00.0, -1)

        
#if defined HAPPYHOUR
        
ShowSyncHudMsg(ID_SHOWHUDg_MsgSync2"%L: %d|%L: %s|%L %d|Nivel: %d/%d|Exp: %d/%d|Dmg: %d/%d|Reset: %d|HORA FELIZ: %s"id"ZOMBIE_ATTRIB1"pev(ID_SHOWHUDpev_health), ID_SHOWHUD"CLASS_CLASS", class, ID_SHOWHUD"AMMO_PACKS1"g_ammopacks[ID_SHOWHUD], g_iLevel[id], MAX_LEVELg_iExp[id], RequiredExp(g_iLevel[id]), g_iDamage[id], g_iDefaultDamageg_iReset[id], g_bHappyTime "Activada" "Desactivada")
        
#else
        
ShowSyncHudMsg(ID_SHOWHUDg_MsgSync2"%L: %d|%L: %s|%L %d|Nivel: %d/%d|Exp: %d/%d|Dmg: %d/%d|Reset: %d|"id"ZOMBIE_ATTRIB1"pev(ID_SHOWHUDpev_health), ID_SHOWHUD"CLASS_CLASS", class, ID_SHOWHUD"AMMO_PACKS1"g_ammopacks[ID_SHOWHUD], g_iLevel[id], MAX_LEVELg_iExp[id], RequiredExp(g_iLevel[id]), g_iDamage[id], g_iDefaultDamageg_iReset[id])
        
#endif
    
}



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

#define MAX_LEVEL 30 // Maximo nivel
#define DEFAULT_DAMAGE 1200 // Daño requerido por default

#define TASK_HUD 134763
#define ID_HUD (task_id - TASK_HUD)

// Si no quieres HappyHour Borra/Comenta la siguiente linea
#define HAPPYHOUR

#if defined HAPPYHOUR
    
new bool:g_bHappyTimeg_iHappyMulti;

    
enum _:__HappyData HH_HOUR[3], HH_DAMAGEHH_MULTI };
    new const 
_HappyHour[][__HappyData] =
    {
        
// HORA  // DAÑO REQUERIDO  // MULTIPLICADOR
        
"00",     700,                 },
        { 
"04",     400,                 },
        { 
"15",     100,                 }
    }
#endif

/*
    Ejemplos de exp requerida:

    Nivel 0: 9
    Nivel 1: 12
    Nivel 2: 15

    Formula:

    (N + 3) x 3

    Donde N es el nivel actual

*/
#define RequiredExp(%1) (%1 + 3 * 3)


new g_iDamage[33], g_iExp[33], g_iLevel[33], g_iReset[33];
new 
g_iSynccvar_expg_iDefaultDamage;

#define VERSION "1.0"

public plugin_init()
{
    
register_plugin("Niveles + Resets por daño"VERSION"kikizon / LSSTUDIOS.XYZ");
    
    
RegisterHam(Ham_TakeDamage"player""PlayerDamagePost"true);

    
register_clcmd("say /reset""FuncReset");

    
cvar_exp register_cvar("exp_damage""1");

    
g_iSync CreateHudSyncObj();
    
g_iDefaultDamage DEFAULT_DAMAGE;

    
#if defined HAPPYHOUR 
        
register_event("HLTV""RoundStart""a""1=0""2=0");
    
#endif
}

public 
client_putinserver(index)
{
    
g_iDamage[index] = g_iExp[index] = g_iLevel[index] = g_iReset[index] = 0;

    
set_task(1.0"LevelHud"index+TASK_HUD, .flags="b");
}

public 
client_disconnected(indexremove_task(index+TASK_HUD);

public 
PlayerDamagePost(victiminflictorattackerFloat:damagedamage_type)
{
    if(!
attacker || !is_user_connected(attacker) || !is_user_connected(victim) || attacker == victim) return;

    
g_iDamage[attacker] += floatround(damage);
    while(
g_iDamage[attacker] >= g_iDefaultDamage)
    {
        
g_iDamage[attacker] -= g_iDefaultDamage;
        
SetExp(attackerget_pcvar_num(cvar_exp));
    }
}

SetExp(indexiExp)
{
    if(!
index || !is_user_connected(index) || g_iLevel[index] >= MAX_LEVEL) return;        

    static 
iLeveliLevel g_iLevel[index];

    
#if defined HAPPYHOUR 
        
g_iExp[index] += (iExp*g_iHappyMulti);
    
#else 
        
g_iExp[index] += iExp;
    
#endif

    
while(g_iExp[index] >= RequiredExp(g_iLevel[index]) && g_iLevel[index] < MAX_LEVEL) ++g_iLevel[index];

    if(
g_iLevel[index] > iLevelclient_print_color(indexprint_team_default"Felicidades! Subiste al nivel ^4%d ^1:D"g_iLevel[index]);
}

public 
FuncReset(index)
{
    if(
g_iLevel[index] < MAX_LEVEL)
    {
        
client_print_color(indexprint_team_default"Necesitas ser nivel ^4%d ^1para poder resetear!"MAX_LEVEL);
        return 
PLUGIN_HANDLED;
    }

    ++
g_iReset[index];
    
g_iExp[index] = g_iLevel[index] = 0;

    
client_print_color(indexprint_team_default"Felicidades! Reseteaste tu cuenta, ahora eres reset ^4%d"g_iReset[index]);
    return 
PLUGIN_HANDLED;
}

public 
LevelHud(task_id)
{
    if(!
is_user_alive(ID_HUD)) return;

    
set_hudmessage(2502502500.00.95);
    
    
#if defined HAPPYHOUR
        
ShowSyncHudMsg(ID_HUDg_iSync"Daño acumulado: %d de %d - Exp: %d de %d | Nivel: %d de %d - Reset %d - Hora Feliz: %s"g_iDamage[ID_HUD], g_iDefaultDamageg_iExp[ID_HUD], RequiredExp(g_iLevel[ID_HUD]), g_iLevel[ID_HUD], MAX_LEVELg_iReset[ID_HUD], g_bHappyTime "Activada" "Desactivada");
    
#else 
        
ShowSyncHudMsg(ID_HUDg_iSync"Daño acumulado: %d de %d - Exp: %d de %d | Nivel: %d de %d - Reset %d"g_iDamage[ID_HUD], g_iDefaultDamageg_iExp[ID_HUD], RequiredExp(g_iLevel[ID_HUD]), g_iLevel[ID_HUD], MAX_LEVELg_iReset[ID_HUD]);
    
#endif
}

#if defined HAPPYHOUR
public RoundStart(indexRefreshHH();

RefreshHH()
{
    
g_bHappyTime false;
    
g_iDefaultDamage DEFAULT_DAMAGE;

    static 
icurrent_hour[3]; get_time("%H"current_hour2);
    for( 
sizeof _HappyHour ; ++)
    {
        if(
equal(_HappyHour[i][HH_HOUR], current_hour))
        {
            
g_bHappyTime true;
            
g_iHappyMulti _HappyHour[i][HH_MULTI];
            
g_iDefaultDamage _HappyHour[i][HH_DAMAGE];

            
client_print_color(0print_team_default"^4HORA FELIZ ACTIVA!!! ^3Daño requerido: ^1%d ^3Multiplicador: ^1%d"g_iDefaultDamageg_iHappyMulti);
            break;
        }
    }
}
#endif 


2.- Sistema de niveles por frags e infecciones (Niveles "infinitos" Sin reset)

Zombie Plague:

Paso 1 - Declarar variables:

- 1.1 Declaramos:
Código PHP:
/* 
    Ejemplos de exp requerida:

    Nivel 0: 9
    Nivel 1: 12
    Nivel 2: 15

    Formula:

    (N + 3) x 3

    Donde N es el nivel actual

    PD: Las formulas son distintas, para poder manejar distintos valores
    en caso de que los frags o infecciones se hagan mas dificiles.
*/

#define RequiredFrags(%1) (%1 * 3 * 3)
#define RequiredInfects(%1) (%1 * 2 * 2)

new g_iFrags[33], g_iInfects[33], g_iLevel[33];
new 
cvar_frags_by_killcvar_frags_by_infect

- 1.2 Codigo extra en plugin_init()
Código PHP:
cvar_frags_by_kill register_cvar("frags_by_kill""1");
cvar_frags_by_infect register_cvar("frags_by_infect""1"); 



Paso 2 - Formatear variables:

- 2.1 Buscamos la siguiente funcion:
Código PHP:
reset_vars(idresetall

-2.2 Dentro de la funcion, buscamos la siguiente condicion:
Código PHP:
if (resetall)


-2.3 Reseteamos las variables dentro de esa condicion:
Código PHP:
g_iFrags[id] = g_iInfects[id] = g_iLevel[id] = 0



Paso 3 - Funciones en Player Killed y Player Infected:

- 2.1 Buscamos la siguiente funcion:
Código PHP:
public fw_PlayerKilled(victimattackershouldgib

-2.2 Agregamos el siguiente codigo al final de la funcion:
Código PHP:
SetFrags(attackerget_pcvar_num(cvar_frags_by_kill), 0); 

-2.3 Buscamos la siguiente funcion:
Código PHP:
zombieme(idinfectornemesissilentmoderewards

-2.4 Dentro de la funcion buscamos la siguiente condicion:
Código PHP:
if (rewards && infector)


-2.5 Dentro de la condicion agregamos el siguiente codigo:
Código PHP:
SetFrags(infector0get_pcvar_num(cvar_frags_by_infect)); 



Paso 4 - Agregar demas funciones:

-4.1 Pasamos al final del plugin y agregamos el siguiente codigo:
Código PHP:
SetFrags(indexiFragsiInfects)
{
    if(!
index || !is_user_connected(index)) return;

    
g_iFrags[index] += iFrags;
    
g_iInfects[index] += iInfects;

    static 
iLeveliLevel g_iLevel[index];
    while(
g_iFrags[index] >= RequiredFrags(g_iLevel[index]) && g_iInfects[index] >= RequiredInfects(g_iLevel[index])) ++g_iLevel[index];

    if(
g_iLevel[index] > iLevelclient_print_color(indexprint_team_default"Felicidades! Subiste al nivel ^4%d"g_iLevel[index]);




Paso 5 - Editar HUD:

-5.1 Buscar la funcion:
Código PHP:
public ShowHUD(taskid

-5.2 Reemplazar la funcion, por esta:
Código PHP:
// Show HUD Task
public ShowHUD(taskid)
{
    static 
id
    id 
ID_SHOWHUD;
    
    
// Player died?
    
if (!g_isalive[id])
    {
        
// Get spectating target
        
id pev(idPEV_SPEC_TARGET)
        
        
// Target not alive
        
if (!g_isalive[id]) return;
    }
    
    
// Format classname
    
static class[32], redgreenblue
    
    
if (g_zombie[id]) // zombies
    
{
        
red 200
        green 
250
        blue 
0
        
        
if (g_nemesis[id])
            
formatex(class, charsmax(class), "%L"ID_SHOWHUD"CLASS_NEMESIS")
        else
            
copy(class, charsmax(class), g_zombie_classname[id])
    }
    else 
// humans
    
{
        
red 0
        green 
0
        blue 
255
        
        
if (g_survivor[id])
            
formatex(class, charsmax(class), "%L"ID_SHOWHUD"CLASS_SURVIVOR")
        else
            
formatex(class, charsmax(class), "%L"ID_SHOWHUD"CLASS_HUMAN")
    }
    
    
// Spectating someone else?
    
if (id != ID_SHOWHUD)
    {        
        
// Show name, health, class, and ammo packs
        
set_hudmessage(255255255HUD_SPECT_XHUD_SPECT_Y06.01.10.00.0, -1)
        
ShowSyncHudMsg(ID_SHOWHUDg_MsgSync2"%L %s^nHP: %d - %L %s - %L %d - Frags: %s - Infecciones: %s - Nivel: %d"ID_SHOWHUD"SPECTATING"g_playername[id], pev(idpev_health), ID_SHOWHUD"CLASS_CLASS", class, ID_SHOWHUD"AMMO_PACKS1"g_ammopacks[id], g_iFrags[id] >= RequiredFrags(g_iLevel[id]) ? fmt("COMPLETADO") : fmt("%d de %d"g_iFrags[id], RequiredFrags(g_iLevel[id])), g_iInfects[id] >= RequiredInfects(g_iLevel[id]) ? fmt("COMPLETADO") : fmt("%d de %d"g_iInfects[id], RequiredInfects(g_iLevel[id])), g_iLevel[id])
    }
    else
    {
        
// Show health, class and ammo packs
        
set_hudmessage(redgreenblueHUD_STATS_XHUD_STATS_Y06.01.10.00.0, -1)
        
ShowSyncHudMsg(ID_SHOWHUDg_MsgSync2"%L: %d - %L %s - %L %d - Frags: %s - Infecciones: %s - Nivel: %d"id"ZOMBIE_ATTRIB1"pev(ID_SHOWHUDpev_health), ID_SHOWHUD"CLASS_CLASS", class, ID_SHOWHUD"AMMO_PACKS1"g_ammopacks[ID_SHOWHUD], g_iFrags[ID_SHOWHUD] >= RequiredFrags(g_iLevel[ID_SHOWHUD]) ? fmt("COMPLETADO") : fmt("%d de %d"g_iFrags[ID_SHOWHUD], RequiredFrags(g_iLevel[ID_SHOWHUD])), g_iInfects[ID_SHOWHUD] >= RequiredInfects(g_iLevel[ID_SHOWHUD]) ? fmt("COMPLETADO") : fmt("%d de %d"g_iInfects[ID_SHOWHUD], RequiredInfects(g_iLevel[ID_SHOWHUD])), g_iLevel[ID_SHOWHUD])
    }


Normal (Solo frags):
Código PHP:
#include <amxmodx>
#include <hamsandwich>

#define TASK_HUD 13247
#define ID_HUD (task_id - TASK_HUD)

/* 
    Ejemplos de exp requerida:

    Nivel 0: 9
    Nivel 1: 12
    Nivel 2: 15

    Formula:

    (N + 3) x 3

    Donde N es el nivel actual

*/

#define RequiredFrags(%1) (%1 * 3 * 3)

#define VERSION "1.0"

new g_iFrags[33], g_iLevel[33];
new 
g_iSynccvar_frags_by_kill;

public 
plugin_init()
{
    
register_plugin("Niveles por frags"VERSION"kikizon / LSSTUDIOS.XYZ");
    
    
RegisterHam(Ham_Killed"player""PlayerKilledPost"true);

    
cvar_frags_by_kill register_cvar("frags_by_kill""1");
    
g_iSync CreateHudSyncObj();
}

public 
client_putinserver(index)
{
    
g_iFrags[index] = g_iLevel[index] = 0;

    
set_task(1.0"LevelHud"index+TASK_HUD, .flags="b");    
}

public 
client_disconnected(indexremove_task(index+TASK_HUD);

public 
PlayerKilledPost(victimattacker)
{
    if(!
attacker || !is_user_connected(attacker) || !is_user_connected(victim) || victim == attacker)

    
SetFrags(attackerget_pcvar_num(cvar_frags_by_kill));
}

SetFrags(indexiFrags)
{
    if(!
index || !is_user_connected(index)) return;

    
g_iFrags[index] += iFrags;

    static 
iLeveliLevel g_iLevel[index];
    while(
g_iFrags[index] >= RequiredFrags(g_iLevel[index])) ++g_iLevel[index];

    if(
g_iLevel[index] > iLevelclient_print_color(indexprint_team_default"Felicidades! Subiste al nivel ^4%d"g_iLevel[index]);
}

public 
LevelHud(task_id)
{
    if(!
is_user_alive(ID_HUD)) return;

    
set_hudmessage(2002002000.00.95);

    
ShowSyncHudMsg(ID_HUDg_iSync"Frags: %d de %d - Nivel: %d"g_iFrags[ID_HUD], RequiredFrags(g_iLevel[ID_HUD]), g_iLevel[ID_HUD]);




Adjuntos del tema (Modos normales):


Niveles por daño requerido:
NORMAL_pordamage.sma (Descargar compilado / Tamaño: 4.16 KB / Descargas: 1)
Niveles por frags:
NORMAL_porfrags.sma (Descargar compilado / Tamaño: 1.68 KB / Descargas: 3)


Visita: Mi blog Y algo mas Whatever -- No ayudo por MP || A los 4k post me voy Nothingdohere

(03/05/2017 10:56 PM)FreDDy escribió:  Estás muy desinformado sobre como actuamos, aquí es una mafia, nosotros mandamos y punto. Si no te cabe puñalada, tiro, tiro, puñalada.
(Este mensaje fue modificado por última vez en: 11/11/2018 02:57 AM por kikizon2.)
05/09/2014 11:41 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
meTaLiCroSS Sin conexión
Miembro Destacado


Buen Tutorial AMXX Support Pensador Trebol verde 1k
Mensajes: 1,393
Registro en: Oct 2013
Reputación: 52
Mensaje: #2
RE: Crear niveles por experiencia con daño acumulado
Código PHP:
new const NIVEL_MAXIMO[] = "25" // Nivel Maximo :genius:
new const DMG_NECESARIO[] = "1200" 

...y porqué las guardas como un string y las comparas como enteros?
06/09/2014 01:14 AM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
kikizon2 Sin conexión
Miembro Héroe


Plugin developer Donador Regalo Beta Tester Trebol purpura 1k Plugin popular
Mensajes: 3,540
Registro en: Jan 2014
Reputación: 60
Mensaje: #3
RE: Crear niveles por experiencia con daño acumulado
(06/09/2014 01:14 AM)meTaLiCroSS escribió:  
Código PHP:
new const NIVEL_MAXIMO[] = "25" // Nivel Maximo :genius:
new const DMG_NECESARIO[] = "1200" 

...y porqué las guardas como un string y las comparas como enteros?

:o no me di cuenta esto es parte de otra cosa en el tuto original lo tengo como definiciones ahi editoGuiño gracias metalicross :3

edit: cuando este en pc edito ya que no me abre tapatalk :c

Visita: Mi blog Y algo mas Whatever -- No ayudo por MP || A los 4k post me voy Nothingdohere

(03/05/2017 10:56 PM)FreDDy escribió:  Estás muy desinformado sobre como actuamos, aquí es una mafia, nosotros mandamos y punto. Si no te cabe puñalada, tiro, tiro, puñalada.
(Este mensaje fue modificado por última vez en: 06/09/2014 01:27 AM por kikizon2.)
06/09/2014 01:20 AM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Evil Spiret Sin conexión
Miembro Sr.


Mensajes: 577
Registro en: Dec 2013
Reputación: 12
Mensaje: #4
RE: Crear niveles por experiencia con daño acumulado
Tuve que leer el code para saber como era , no entendí tu explicación jaja.

Haber si leí bien , llegas a 1200 de daño hecho y te empieza a subir la exp?

Este sistema me gustaría para el BaseBuilder

Buen tuto.

El Dproto es de GAYS!
Doy soporte por MP, si es que tengo ganas.
Whatever
(11/04/2015 03:36 PM)Mario AR. escribió: #pid77607" class="quick_jump"> Qué joda, y tu firma fuera de lugar, DPROTO DE GAYS? erikmav94 es gay y no es dproto...
(Este mensaje fue modificado por última vez en: 06/09/2014 10:55 AM por Evil Spiret.)
06/09/2014 10:54 AM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
kikizon2 Sin conexión
Miembro Héroe


Plugin developer Donador Regalo Beta Tester Trebol purpura 1k Plugin popular
Mensajes: 3,540
Registro en: Jan 2014
Reputación: 60
Mensaje: #5
RE: Crear niveles por experiencia con daño acumulado
(06/09/2014 10:54 AM)Evil Spiret escribió:  Tuve que leer el code para saber como era , no entendí tu explicación jaja.

Haber si leí bien , llegas a 1200 de daño hecho y te empieza a subir la exp?

Este sistema me gustaría para el BaseBuilder

Buen tuto.

It's easy :3 por cada 1200 de daño infligido te aumenta 1 punto de exp :3


y créeme es muy buen sistema esto vicia a los users, o por lo menos a la mayoría pacman

Visita: Mi blog Y algo mas Whatever -- No ayudo por MP || A los 4k post me voy Nothingdohere

(03/05/2017 10:56 PM)FreDDy escribió:  Estás muy desinformado sobre como actuamos, aquí es una mafia, nosotros mandamos y punto. Si no te cabe puñalada, tiro, tiro, puñalada.
06/09/2014 11:52 AM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Lito Sin conexión
Miembro


Mensajes: 122
Registro en: Mar 2014
Reputación: 0
Mensaje: #6
RE: Crear niveles por experiencia con daño acumulado
buen tuto grax =)

Sé humilde en tu enfoque.
06/09/2014 12:29 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Metrikcz Sin conexión
Miembro Destacado


Plugin developer
Mensajes: 823
Registro en: Oct 2013
Reputación: 19
Mensaje: #7
RE: Crear niveles por experiencia con daño acumulado
El zp ya tiene una variable que cachea el damage

Todos los MODS VHL totalmente gratuitos Descarga Aqui

Mis plugins:
FB: fb.com/rwoong
Venta plugins a pedido en México mándame MP
08/09/2014 04:12 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
kikizon2 Sin conexión
Miembro Héroe


Plugin developer Donador Regalo Beta Tester Trebol purpura 1k Plugin popular
Mensajes: 3,540
Registro en: Jan 2014
Reputación: 60
Mensaje: #8
RE: Crear niveles por experiencia con daño acumulado
si, "g_damagedealt" pero tal vez quieran desactivar la ganancia de aps por daño que para eso es la variable o quieran ganar 1 ap por cada 100 de dmg, así que mejor este sistema aparte Guiño

Visita: Mi blog Y algo mas Whatever -- No ayudo por MP || A los 4k post me voy Nothingdohere

(03/05/2017 10:56 PM)FreDDy escribió:  Estás muy desinformado sobre como actuamos, aquí es una mafia, nosotros mandamos y punto. Si no te cabe puñalada, tiro, tiro, puñalada.
08/09/2014 04:56 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Hackeloff Sin conexión
Miembro


Mensajes: 106
Registro en: Feb 2014
Reputación: 0
Mensaje: #9
RE: Crear niveles por experiencia con daño acumulado
Código PHP:
public actualizar_nivel(id) {
    new 
subido false
    
while(g_exp[id] >= nivel_sig(g_nivel[id]) && g_nivel[id] < NIVEL_MAXIMO) {  // Mientras la exp, sea igual o mayor a la requerida y el nivel sea menor al nivel máximo
        
g_level[id]++ // Subimos de nivel
        
subido true
    
}
    if(
subido) {
        
client_print(idprint_center"Subiste al nivel: %d"g_nivel[id]) // Mandamos un mensaje al centro de la pantalla informando que subió de nivel
        
subido false
    
}


----->

Código PHP:
public actualizar_nivel(id) {
    new 
subido false
    
while(g_exp[id] >= nivel_sig(g_nivel[id]) && g_nivel[id] < NIVEL_MAXIMO) {  // Mientras la exp, sea igual o mayor a la requerida y el nivel sea menor al nivel máximo
        
g_nivel[id]++ // ...
        
subido true
    
}
    if(
subido) {
        
client_print(idprint_center"Subiste al nivel: %d"g_nivel[id]) // Mandamos un mensaje al centro de la pantalla informando que subió de nivel
        
subido false
    
}


"El camino de pies y manos" Tae Kwon Do
(Este mensaje fue modificado por última vez en: 21/09/2014 02:09 AM por Hackeloff.)
21/09/2014 02:09 AM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
kikizon2 Sin conexión
Miembro Héroe


Plugin developer Donador Regalo Beta Tester Trebol purpura 1k Plugin popular
Mensajes: 3,540
Registro en: Jan 2014
Reputación: 60
Mensaje: #10
RE: Crear niveles por experiencia con daño acumulado
(21/09/2014 02:09 AM)Hackeloff escribió:  
Código PHP:
public actualizar_nivel(id) {
    new 
subido false
    
while(g_exp[id] >= nivel_sig(g_nivel[id]) && g_nivel[id] < NIVEL_MAXIMO) {  // Mientras la exp, sea igual o mayor a la requerida y el nivel sea menor al nivel máximo
        
g_level[id]++ // Subimos de nivel
        
subido true
    
}
    if(
subido) {
        
client_print(idprint_center"Subiste al nivel: %d"g_nivel[id]) // Mandamos un mensaje al centro de la pantalla informando que subió de nivel
        
subido false
    
}


----->

Código PHP:
public actualizar_nivel(id) {
    new 
subido false
    
while(g_exp[id] >= nivel_sig(g_nivel[id]) && g_nivel[id] < NIVEL_MAXIMO) {  // Mientras la exp, sea igual o mayor a la requerida y el nivel sea menor al nivel máximo
        
g_nivel[id]++ // ...
        
subido true
    
}
    if(
subido) {
        
client_print(idprint_center"Subiste al nivel: %d"g_nivel[id]) // Mandamos un mensaje al centro de la pantalla informando que subió de nivel
        
subido false
    
}


pacman pacman error de dedo >.< Ahi arreglo thanks

Visita: Mi blog Y algo mas Whatever -- No ayudo por MP || A los 4k post me voy Nothingdohere

(03/05/2017 10:56 PM)FreDDy escribió:  Estás muy desinformado sobre como actuamos, aquí es una mafia, nosotros mandamos y punto. Si no te cabe puñalada, tiro, tiro, puñalada.
21/09/2014 02:37 AM
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