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

[ZP] Clases de Zombies por Level 4.3


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
rak
Veteran Member
Join Date: Oct 2011
Location: banned country
Old 10-30-2011 , 20:22   [ZP] Clases de Zombies por Level 4.3
#1

Buenas por lo que estube viendo no hay un tuto de Clases de Zombies por levels para el Zombie Plague 4.3 y yo adapte el tuto de kiske y decidí mostrarles como hacerlo..

Creditos:

Kiske - Por su tutorial de Clases de Zombie por level
Paoliita - Por un ejemplo de Arrays ( me sirvió mucho xD )

Hay que cambiar el nombre de "VARIABLE_DE_LEVEL" por la que tengan
Bueno, primero que nada abrimos el Zombie Plague y buscamos
PHP Code:
// Zombie Classes vars 
Abajo de
PHP Code:
new Array:g_zclass_kb // knockback 
Agregamos
PHP Code:
new Array:g_zclass_lvl // Level 
Ahora buscamos la siguiente linea
PHP Code:
public plugin_precache() 
Ahí buscamos
PHP Code:
g_zclass_kb ArrayCreate(11
Debajo de esa linea agregamos
PHP Code:
g_zclass_lvl ArrayCreate(11
Buscamos la linea
PHP Code:
public show_menu_zclass(id
Ahora hacemos 2 cosas, 1ro le agregamos a un Buffer mas a esta linea
PHP Code:
static menuidmenu[128], class, buffer[32], buffer2[32

PHP Code:
static menuidmenu[128], class, buffer[32], buffer2[32], buffer3[32
2do, todo lo que esta adentro del
PHP Code:
for (class = 0; class < g_zclass_i; class++) 
Lo remplazamos por esto
PHP Code:
// Retrieve name and info
        
ArrayGetString(g_zclass_name, class, buffercharsmax(buffer))
        
ArrayGetString(g_zclass_info, class, buffer2charsmax(buffer2))
        
ArrayGetString(g_zclass_lvl, class, buffer3charsmax(buffer3))
        
        if(
VARIABLE_DE_LEVEL[id] >= ArrayGetCell(g_zclass_lvl, class))
        {        
                        
            
// Add to menu
            
if (class == g_zombieclassnext[id])
                
formatex(menucharsmax(menu), "\d%s %s"bufferbuffer2)
            else
                
formatex(menucharsmax(menu), "%s \y%s"bufferbuffer2)
        }
        else 
        {            
            
formatex(menucharsmax(menu), "\d%s %s (Nivel Requerido: %d)"buffer,buffer2,  buffer3)
        }
        
buffer[0] = class
        
buffer[1] = 0
        buffer
[2] = 0
        menu_additem
(menuidmenubuffer
Nos queda asi
PHP Code:
// Class List
    
for (class = 0; class < g_zclass_i; class++)
    {
        
        
// Retrieve name and info
        
ArrayGetString(g_zclass_name, class, buffercharsmax(buffer))
        
ArrayGetString(g_zclass_info, class, buffer2charsmax(buffer2))
        
ArrayGetString(g_zclass_lvl, class, buffer3charsmax(buffer3))
        
        if(
VARIABLE_DE_LEVEL[id] >= ArrayGetCell(g_zclass_lvl, class))
        {        
                        
            
// Add to menu
            
if (class == g_zombieclassnext[id])
                
formatex(menucharsmax(menu), "\d%s %s"bufferbuffer2)
            else
                
formatex(menucharsmax(menu), "%s \y%s"bufferbuffer2)
        }
        else 
        {            
            
formatex(menucharsmax(menu), "\d%s %s (Nivel Requerido: %d)"buffer,buffer2,  buffer3)
        }
        
buffer[0] = class
        
buffer[1] = 0
        buffer
[2] = 0
        menu_additem
(menuidmenubuffer)
    } 
Ahora buscamos la linea
PHP Code:
public menu_zclass(idmenuiditem
En donde dice
PHP Code:
// Retrieve zombie class id
    
static buffer[2], dummyclassid
    menu_item_getinfo
(menuiditemdummybuffercharsmax(buffer), __dummy)
    
classid buffer[0]
    
    
// Store selection for the next infection
    
g_zombieclassnext[id] = classid
    
    
static name[32]
    
ArrayGetString(g_zclass_nameg_zombieclassnext[id], namecharsmax(name))
    
    
// Show selected zombie class info and stats
    
zp_colored_print(id"^x04[ZP]^x01 %L: %s"id"ZOMBIE_SELECT"name)
    
zp_colored_print(id"^x04[ZP]^x01 %L: %d %L: %d %L: %d %L: %d%%"id"ZOMBIE_ATTRIB1"ArrayGetCell(g_zclass_hpg_zombieclassnext[id]), id"ZOMBIE_ATTRIB2"ArrayGetCell(g_zclass_spdg_zombieclassnext[id]),
    
id"ZOMBIE_ATTRIB3"floatround(Float:ArrayGetCell(g_zclass_gravg_zombieclassnext[id]) * 800.0), id"ZOMBIE_ATTRIB4"floatround(Float:ArrayGetCell(g_zclass_kbg_zombieclassnext[id]) * 100.0))
    
    
menu_destroy(menuid)
    return 
PLUGIN_HANDLED
Lo remplazamos todo por esto
PHP Code:
// Retrieve zombie class id
    
static buffer[2], dummyclassid
    menu_item_getinfo
(menuiditemdummybuffercharsmax(buffer), __dummy)
    
classid buffer[0]
    
    if (
VARIABLE_DE_LEVEL[id] >=ArrayGetCellg_zclass_lvlclassid))
    {
        
// Store selection for the next infection
        
g_zombieclassnext[id] = classid
        
        
static name[32]
        
ArrayGetString(g_zclass_nameg_zombieclassnext[id], namecharsmax(name))
        
        
// Show selected zombie class info and stats
        
zp_colored_print(id"^x04[ZP]^x01 %L: %s"id"ZOMBIE_SELECT"name)
        
zp_colored_print(id"^x04[ZP]^x01 %L: %d %L: %d %L: %d %L: %d%%"id"ZOMBIE_ATTRIB1"ArrayGetCell(g_zclass_hpg_zombieclassnext[id]), id"ZOMBIE_ATTRIB2"ArrayGetCell(g_zclass_spdg_zombieclassnext[id]),
        
id"ZOMBIE_ATTRIB3"floatround(Float:ArrayGetCell(g_zclass_gravg_zombieclassnext[id]) * 800.0), id"ZOMBIE_ATTRIB4"floatround(Float:ArrayGetCell(g_zclass_kbg_zombieclassnext[id]) * 100.0))
    }
    
menu_destroy(menuid)
    return 
PLUGIN_HANDLED
Ahora vamos a la linea
PHP Code:
public native_register_zombie_class 
Editamos la esa native
PHP Code:
public native_register_zombie_class(const name[], const info[], const model[], const clawmodel[], hpspeedFloat:gravityFloat:knockback

PHP Code:
public native_register_zombie_class(const name[], const info[], const model[], const clawmodel[], hpspeedFloat:gravityFloat:knockbackLevel
Abajo de
PHP Code:
ArrayPushCell(g_zclass_kbknockback
Agregamos
PHP Code:
ArrayPushCell(g_zclass_lvlLevel
Bueno, ahora abrimos el zombieplague.inc y buscamos la linea
PHP Code:
native zp_register_zombie_class(const name[], const info[], const model[], const clawmodel[], hpspeedFloat:gravityFloat:knockback
y la cambiamos por
PHP Code:
native zp_register_zombie_class(const name[], const info[], const model[], const clawmodel[], hpspeedFloat:gravityFloat:knockbackLevels
Ahora tenemos que editar zp_zclasses40 y agregarle a los stats de cada zombie abajo de
PHP Code:
const Float:zclass1_knockback 1.0 
Agregamos
PHP Code:
const zclass1_lvl = % 
Donde esta el % ponen el nivel que quieran.
Por ultimo en
PHP Code:
public plugin_precache() 
Hay que agregarle en
PHP Code:
zp_register_zombie_class(zclass1_namezclass1_infozclass1_modelzclass1_clawmodelzclass1_healthzclass1_speedzclass1_gravityzclass1_knockback

PHP Code:
zp_register_zombie_class(zclass1_namezclass1_infozclass1_modelzclass1_clawmodelzclass1_healthzclass1_speedzclass1_gravityzclass1_knockbackzclass1_lvl
Listo xD eso es todo... cualquier error me avisan xD
Saludos
__________________

www.amxmodx-es.com

Steam: Luchokoldo

Last edited by rak; 10-31-2011 at 10:33. Reason: fix
rak is offline
Send a message via MSN to rak Send a message via Skype™ to rak
 



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 01:09.


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