Enviar respuesta 
[ZA] Agregar una Categoria por natives facil y sencilla
Autor Mensaje
luxor xD Sin conexión
Miembro Junior


Mensajes: 38
Registro en: Feb 2017
Reputación: 0
Mensaje: #1
[ZA] Agregar una Categoria por natives facil y sencilla
Buenos dias...
Hoy vengo a dejar un pequeño aporte para las personas que estan comenzando como yo, hice este tutorial porque queria apreder a agregar una categoria de armas al ZA 4.6 y buscaba... y encontre unas formas las cuales no las supe usar o no, no las entendia haci que me puse a inventar hasta que lo logre de una forma facil para mi ya que soy nuevo de agregar las categorias la menu y haora lo quiero compartir con ustedes pero mas que todo para la personas que estan comenzando.

Primero les recomiendo ver el tuto de como agregar armas por native.
no recuerdo de donde lo saque pero bueno los creditos van a esa persona
Whatever
   
   
ahora buscamos esta parte en nuestro plugin

aqui agregaremos la parte visual de nuestra nueva categoria
Código PHP:
// Category Weapons Menu
show_menu_category(id)
{
    
// Player dead?
    
if (!g_isalive[id]) return;
    
    
// Zombies, survivors or wesker get no guns
    
if (g_class[id] >= SURVIVOR) return;
    
    
// Bots pick their weapons randomly / Random weapons setting enabled
    
if (get_pcvar_num(cvar_randweapons) || g_isbot[id])
    {
        
buy_primary_weapon(idrandom_num(0ArraySize(g_primary_items) - 1))
        
menu_buy2(idrandom_num(0ArraySize(g_secondary_items) - 1))
        return;
    }
    
    static 
lenuserflags
    len 
0
    userflags 
get_user_flags(id)
    
    
// Title
    
len += formatex(g_menu[len], charsmax(g_menu) - len"\rCategoria de armas^n^n")
    
    
// 1. Category A
    
len += formatex(g_menu[len], charsmax(g_menu) - len"\r1.\w Categoria \rA \y[Nivel: 1 ~ %d]^n"g_max_level)
    
    
// 2. Category B
    
if (g_fame[id] >= g_fame_category[0] || (userflags g_access_flag[ACCESS_WEAPONS_FREE]))
        
len += formatex(g_menu[len], charsmax(g_menu) - len"\r2.\w Categoria \rB \y[Fama: %d ~ %d]^n"g_fame[id],  g_fame_category[0])
    else
        
len += formatex(g_menu[len], charsmax(g_menu) - len"\r2.\d Categoria \rB \y[Fama: %d ~ %d]^n"g_fame[id], g_fame_category[0])
        
    
// 3. Category E
    
if (g_fame[id] >= g_fame_category[1] || (userflags g_access_flag[ACCESS_WEAPONS_FREE]))
        
len += formatex(g_menu[len], charsmax(g_menu) - len"\r3.\w Categoria \rE \y[Fama: %d ~ %d]^n^n"g_fame[id], g_fame_category[1])
    else
        
len += formatex(g_menu[len], charsmax(g_menu) - len"\r3.\d Categoria \rE \y[Fama: %d ~ %d]^n^n"g_fame[id], g_fame_category[1])

    
// 4. Esta es la categoria que estamos agregando
    
if (g_fame[id] >= Aqui pondreomos la fama necesaria para usar el menu || (userflags g_access_flag[ACCESS_WEAPONS_FREE]))
        
len += formatex(g_menu[len], charsmax(g_menu) - len"\r3.\w Categoria \rNueva \y[Fama: %d ~ %d]^n^n"g_fame[id], fama necesaria)
    else
        
len += formatex(g_menu[len], charsmax(g_menu) - len"\r3.\d Categoria \rNueva \y[Fama: %d ~ %d]^n^n"g_fame[id], fama necesaria)
    
    
// Note - 0. Exit
    
len += formatex(g_menu[len], charsmax(g_menu) - len"\rNota: \wLas armas de Categoria B hacen +50% daño^n^n\r0.\y Salir")
    
    
show_menu(idKEYSMENUg_menu, -1"Category Menu")

haora vamos para la segunda parte que es donde llamaremos a nuestra nueva categoria

Código PHP:
// Category Weapons Menu
public menu_category(idkey)
{
    
// Player dead?
    
if (!g_isalive[id]) return PLUGIN_HANDLED;
    
    
// Not normal human
    
if (g_class[id] >= SURVIVOR) return PLUGIN_HANDLED;
    
    switch (
key)
    {
        case 
0// Category A
        
{
            
g_categoryb[id] = false
            show_menu_buy1
(id)
        }
        case 
1// Category B
        
{
            if (
g_fame[id] >= g_fame_category[0] || (get_user_flags(id) & g_access_flag[ACCESS_WEAPONS_FREE]))
            {
                
g_categoryb[id] = true
                show_menu_buy1
(id)
            }
            else
                
show_menu_category(id)
        }
        case 
2// Category E
        
{
            if (
g_fame[id] >= g_fame_category[1] || (get_user_flags(id) & g_access_flag[ACCESS_WEAPONS_FREE]))
            {
                
g_categoryb[id] = false
                show_menu_special
(id)
            }
            else
                
show_menu_category(id)
        }
case 
2// Esta es la nueva categoria que estamos agregando
        
{
            if (
g_fame[id] >= fama necesaria para poder usar el menu || (get_user_flags(id) & g_access_flag[ACCESS_WEAPONS_FREE]))
            {
                
g_categoryb[id] = false
                show_nueva_categoria
(id// aqui llamaremos a nuestra categoria nueva el nombre que pongan aqui lo deven poner en el public de nuestra categotia
            
}
            else
                
show_menu_category(id)
        }

    }
    
    return 
PLUGIN_HANDLED;

es hora de agregar nuestro menu...
recuerden usar el mismo nombre que usaron anteriormente.
Código PHP:
public show_nueva_categoria(id//ojo  aqui es donde usan el nombre anterior
{  
    new 
iMenu menu_create"\yNOMBRE DE TU MENU""categoria_nueva"/*aqui va el nombre del public de abaja-aqui llamamos a los items registrados*/ );
    
if(
g_level[id] >= aqui ponen el level que se necesita para el arma)
    
menu_additemiMenu"\wBalrog-I [Desbloqueado]""1" );//haci se agregan los items al menu de esta forma se pueden agregar mas
else
menu_additemiMenu"\dBalrog-I [Nivel: x]""1" );//esto es solo para hacer el efecto de que no la tienes desbloqueada por tu level
   
if(g_level[id] >= 5)
    
menu_additemiMenu"\wSkulls-4 [Desbloqueado]""1" );
          else
   
menu_additemiMenu"\dSkulls-4 [Nivel: 5]""1" );

    
menu_displayidiMenu);
}
public 
categoria_nuevaidmenuitem)//recuerden poner el mismo nombre que pusimos en las lineas de arriba
{
    switch(
item)
    {
        case 
0:
        {
          if(
g_level[id] >= x level)// aqui volvemos a ponerle nivel
            
give_b1(id// aqui damos el arma por native
               
else
          
show_nueva_categoria(id//y si no se comple eso simplemente devolvemos al menu
        
}
        case 
1:
        {
          if(
g_level[id] >= 5)
             
give_weapon_skull4(id)
             else
       
open_menu_armas(id)
        }
        case 
MENU_EXIT:
        {
            
menu_destroy(menu);
            return 
PLUGIN_HANDLED;
        }
    }
    
    
menu_destroy(menu);
    return 
PLUGIN_HANDLED;

eso es todo.
me falto ponerle que cuando compren el arma ya no puedan volver a abrir el menu
pero espero que les ayude mucho.

aqui les dejo el .inc que use y los plugins que use para este tuto ó aporte ni se que hice xD.
Mariodance

Tuto.rar (Tamaño: 1.52 MB / Descargas: 3)

Dime y lo olvido, enséñame y lo recuerdo, involucrarme y lo aprendo.
La educación ayuda a la persona a aprender a ser lo que es capaz de ser.
12/04/2018 10:44 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