Raised This Month: $51 Target: $400
 12% 

[ZP] Crear Niveles por AmmoPacks


  
 
 
Thread Tools Display Modes
Author Message
Kiske
Veteran Member
Join Date: May 2009
Old 12-20-2009 , 16:03   [ZP] Crear Niveles por AmmoPacks
#1

ATENCIÓN: No doy más soporte a esto y probablemente esté desactualizado y genere errores!




Descripcion: Si queres crear Niveles por AmmoPacks de una Forma Completa y Buena, entonces este Tutorial es para vos.

Nota:
Este Tutorial lo recopile de varias partes, no es completamente mio, ni siquiera hize un 5% del Code de este Tutorial ^^
Yo lo hacia de otra forma, pero esta me resultaron mejores.

Nota2: Este Tutorial fue echo en el ZombiePlague 4.2
No se si anda en la 4.3

PHP Code:
// Abajo de los Includes de tu ZombiePlague, pones:
new const NIVELES[5] = { 05102050 }
// Como veran, ahi estamos Creando una Constante con el Nombre "NIVELES" que abarcara (Para Explicarlo de una Manera que lo Entiendan), unos 5 Niveles.
// Si van a poner mas Niveles, deberan cambiar ese "5" por la Cantidad de Niveles que vayan a poner.


// Abajo de esa Constante creamos una Variable que contendra 33 Lugares.
new g_level[33]


// Nos dirigimos a la Forward:
public fw_PlayerKilled(victimattackershouldgib)
{

// Adentro de este Public, buscamos la siguiente linea:
if (g_zombie[attacker] && (!g_nemesis[attacker] || !get_pcvar_num(cvar_nemignoreammo)))
        
g_ammopacks[attacker] += get_pcvar_num(cvar_ammoinfect)
// Y lo reemplazamos por esto:
if (g_zombie[attacker] && (!g_nemesis[attacker] || !get_pcvar_num(cvar_nemignoreammo)))
        
update_ap(attackerget_pcvar_num(cvar_ammoinfect), 0)

// La Funcion "update_ap" la llamaremos mas tarde.

}


// Ahora nos dirigimos a la Forward:
public fw_TakeDamage(victiminflictorattackerFloat:damagedamage_type)
{

// Y adentro de este Public buscamos esta linea:
g_ammopacks[attacker]++
// La reemplazamos por:
update_ap(attacker10)
// El primer numero(1), que esta despues del Index(attacker), son los AmmoPacks que recibira el Index(attacker=atacante).
// El otro numero no nos servira por ahora.

// En este mismo Public buscamos esta linea que se encuentra mas abajo:
g_ammopacks[attacker] += get_pcvar_num(cvar_ammoinfect// ammo packs given to zombie for infection
// La reemplazamos por:
update_ap(attackerget_pcvar_num(cvar_ammoinfect), 0// ammo packs given to zombie for infection

}


// Buscamos el CLCMD:
public clcmd_buyammo(id)
{

// Y adentro de este Public buscamos esta linea:
g_ammopacks[id]--
// Y la reemplazamos por:
update_ap(id, -10)

}


// Ahora buscamos lo siguiente en el Plugin:
buy_extra_item(iditemid)
{

// Aca adentro buscamos una linea que diga lo siguiente:
// Deduce item cost
g_ammopacks[id] -= g_extraitem_cost[itemid]
// La reemplazamos por:
update_ap(idg_extraitem_cost[itemid], 0)

}


// Ahora buscamos la Funcion:
infection_explode(ent)
{

// Aca adentro buscamos la siguiente Linea:
g_ammopacks[attacker] += get_pcvar_num(cvar_ammoinfect// ammo packs given to zombie for infection
// Y la reemplazamos por:
update_ap(attackerget_pcvar_num(cvar_ammoinfect), 0// ammo packs given to zombie for infection

}


// Buscamos la Native:
public native_set_user_ammo_packs(idamount)
{

// Reemplazamos todo lo que esta aca adentro por:
return update_ap(idg_ammopacks[id] + amount0)

}


// Ahora nos vamos al FINAL DEL PLUGIN, incluso abajo de un: "#endif", y ponemos lo siguiente:

// FORMA DE SPEED! [CON EL "goto"]
// FORMA DE SPEED! [CON EL "goto"]
// FORMA DE SPEED! [CON EL "goto"]
public update_ap(idamountcheck)
{
    if (
check) goto check2 // Lo que hace el "goto" es, si la Funcion esta se llamo desde "check", el Plugin lo que hara, es llamar directamente a "check2".
   
    // Aca detectamos que si es Nivel Maximo no suba mas.
    
if (g_ammopacks[id] + amount NIVELES[sizeof NIVELES 1] - 1)
        return 
PLUGIN_HANDLED
    
    
// Le damos los APs correspondientes.
    
g_ammopacks[id] += amount
    
    
// Ya lo dijimos antes ^^.
    
check2:
    if(
amount 0)
    {
        if(
g_ammopacks[id] < NIVELES[g_level[id]] )
        {
            
g_level[id]--
            
client_print(idprint_center"Bajaste de nivel")
            
update_ap(id, -11)
        }

    }
    else
    {
        if(
g_ammopacks[id] >= NIVELES[g_level[id]] )
        {
            
g_level[id]++
            
client_print(idprint_center"Subiste de nivel")
            
update_ap(id01
        }
    }
    
    return 
PLUGIN_HANDLED
}



// FORMA DE CAPOSTRIKE93! [SIN EL "goto"]
// FORMA DE CAPOSTRIKE93! [SIN EL "goto"]
// FORMA DE CAPOSTRIKE93! [SIN EL "goto"]
public update_ap(idamountcheck)
{    
    if (!
check)
    {    
        if (
g_ammopacks[id] + amount NIVELES[sizeof NIVELES 1] - 1)
            return 
PLUGIN_HANDLED
    
        g_ammopacks
[id] += amount
    
}
    else
    {
        if(
amount 0)
        {
            if(
g_ammopacks[id] < NIVELES[g_level[id]])
            {
                
g_level[id]--
                
client_print(idprint_center"Bajaste de nivel")
                
update_ap(id, -11)
            }
        }
        else
        {
            if(
g_ammopacks[id] >= NIVELES[g_level[id]])
            {
                
g_level[id]++
                
client_print(idprint_center"Subiste de nivel")
                
update_ap(id01
            }
        }
    }
    
    return 
PLUGIN_HANDLED

Listo esto fue todo para hacer Niveles.


Esto Fue Todo!
__________________


Last edited by Kiske; 03-02-2014 at 08:57.
Kiske is offline
Send a message via Skype™ to Kiske
01101101
BANNED
Join Date: Nov 2009
Location: 9`su 09`n0n7e`r0f76a
Old 12-20-2009 , 16:08   Re: [ES][ZP][TUT] Crear Niveles por AmmoPacks [Forma Completa y Buena]
#2

No entiendo porque no usar el goto, para que consuma mas?
01101101 is offline
Kiske
Veteran Member
Join Date: May 2009
Old 12-20-2009 , 16:10   Re: [ES][ZP][TUT] Crear Niveles por AmmoPacks [Forma Completa y Buena]
#3

Quote:
Originally Posted by 01101101 View Post
No entiendo porque no usar el goto, para que consuma mas?
Puse las 2 Formas para que queden a su Eleccion, yo no hize el Tutorial para que sepan cual Gasta mas CPU, sino que lo hize para todos aquellos que tienen los Niveles de una forma muy FEA !
Como la que mostraste unos Threads mas Atras!
__________________

Kiske is offline
Send a message via Skype™ to Kiske
[L]oL
Senior Member
Join Date: Dec 2009
Old 12-20-2009 , 16:33   Re: [ES][ZP][TUT] Crear Niveles por AmmoPacks [Forma Completa y Buena]
#4

Muchisimas gracias kiske te mereces un recontra +k
[L]oL is offline
meTaLiCroSS
Gaze Upon My Hat
Join Date: Feb 2009
Location: Viña del Mar, Chile
Old 12-20-2009 , 16:41   Re: [ES][ZP][TUT] Crear Niveles por AmmoPacks [Forma Completa y Buena]
#5

Quote:
Originally Posted by [L]oL View Post
Muchisimas gracias kiske te mereces un recontra +k
Cuantos mas van a decir "+k, "+karma para vos", el Karma no funciona, que no se dan cuenta?
__________________
Quote:
Originally Posted by joropito View Post
You're right Metalicross
meTaLiCroSS is offline
[L]oL
Senior Member
Join Date: Dec 2009
Old 12-20-2009 , 16:51   Re: [ES][ZP][TUT] Crear Niveles por AmmoPacks [Forma Completa y Buena]
#6

Para quedar bien (?)

XD, no arruinemos el topic
[L]oL is offline
capostrike93
Veteran Member
Join Date: Feb 2009
Location: adios y??
Old 12-20-2009 , 16:59   Re: [ES][ZP][TUT] Crear Niveles por AmmoPacks [Forma Completa y Buena]
#7

no me hagas reir, esa es una buena forma? xD

y como e dicho FUCKING GOTO
__________________
capostrike93 is offline
meTaLiCroSS
Gaze Upon My Hat
Join Date: Feb 2009
Location: Viña del Mar, Chile
Old 12-20-2009 , 17:14   Re: [ES][ZP][TUT] Crear Niveles por AmmoPacks [Forma Completa y Buena]
#8

Qe era GOTO?
__________________
Quote:
Originally Posted by joropito View Post
You're right Metalicross
meTaLiCroSS is offline
Raddish
BANNED
Join Date: Jul 2008
Location: Argentina
Old 12-20-2009 , 17:20   Re: [ES][ZP][TUT] Crear Niveles por AmmoPacks [Forma Completa y Buena]
#9

GO TO
IR A
Raddish is offline
meTaLiCroSS
Gaze Upon My Hat
Join Date: Feb 2009
Location: Viña del Mar, Chile
Old 12-20-2009 , 17:21   Re: [ES][ZP][TUT] Crear Niveles por AmmoPacks [Forma Completa y Buena]
#10

Quote:
Originally Posted by Raddish View Post
GO TO
IR A
Decime donde Kiske esta haciendo un "Ir A" -.-

Estoy pidiendo la explicacion cientifica $&%#@$.
__________________
Quote:
Originally Posted by joropito View Post
You're right Metalicross
meTaLiCroSS is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 21:36.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode