Allied Modders en español

Versión completa: [GUIA][C&P] Menu de Knifes
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Hola, bueno mas que enseñar les dejare un Menu de Knifes simple de 2 Formas.
La Primera es el menu gratiuto
La Segunda con Costo
Saque code de un post (Kross)

Empecemos...
[ 1 ]
Código PHP:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <cstrike>
#include <hamsandwich>

// Crear un menu pornoga :v
// Creamos las variables del menu en este caso es un menu de knifes por asi decirlo V:
new sz_knife[33// Aca definiremos el cuchillo que tendra el jugador

enum _:sz_MenuInfo // Lo que lleva el enum
{
    
Nombre_Cuchi[90], // Nombre del cuchillo
    
Model_V[50], // Model V de tu cuchillo
    
Model_P[50], // Model P de tu cuchillo
}
new const 
sz_Cuchi[][sz_MenuInfo] = // Si vas a agregar otro cuchillo pone la coma despues del }
{
    
// Nombre           // Modelo V               // Modelo P       
    
"Navaja""models/sz_cuchillos/v_knife""models/sz_cuchillos/p_knife"},
    { 
"Machete""models/sz_cuchillos/v_knife""models/sz_cuchillos/p_knife" }
}
    
public 
plugin_init()
{
    
register_plugin("Menu de Knifes""1.0""Emanuelitop15")
    
register_clcmd("say /knifes""MenuKnifes")
    
RegisterHam(Ham_Item_Deploy"weapon_knife""ham_KnifeDeployPost"true );
}
public 
plugin_precache()
{
    
// Aca hacemos que el cs reciba el modelo del cuchillo, sino se crashea    
    // Copia esto como esta porque ni yo entiendo :U
    
for (new 0sizeof sz_Cuchii++)
    {
        if (!
equal(sz_Cuchi[i][Model_V], "default"))
        
engfunc(EngFunc_PrecacheModelsz_Cuchi[i][Model_V])
        if (!
equal(sz_Cuchi[i][Model_P], "default"))
        
engfunc(EngFunc_PrecacheModelsz_Cuchi[i][Model_P])
    }
}

public 
ham_KnifeDeployPostwpn_ent )
{
    static 
kOwnerkOwner get_weapon_ent_owner(wpn_ent)
    
    if (!
pev_valid(kOwner) || !is_user_alive(kOwner)) return;
    
    
set_pev(kOwnerpev_viewmodel2sz_Cuchi[sz_knife[kOwner]][Model_V])
    
set_pev(kOwnerpev_weaponmodel2sz_Cuchi[sz_knife[kOwner]][Model_P])
}

// Menus de los knifes V:
public Menu_Knifes(id)
{
    new 
len[999] , temp[22]
    static 
Item[64]

    
formatex(Itemcharsmax(Item), "\rMenu de Cuchillos\r")
    new 
menu_Cuchi2 menu_create(Item"knifis_menu")

    for(new 
sizeof sz_Cuchi i++)
    {
        if(
sz_knife[id] == iformatex(len charsmax(len) , "\w%s \r[\yCuchillo Actual\r]" sz_Cuchi[i][Nombre_Cuchi])
        else 
formatex(len charsmax(len) , "\w%s" sz_Cuchi[i][Nombre_Cuchi])
        
num_to_str(i,temp2)
        
menu_additem(menu_Cuchi2 len temp)
    }

    
formatex(Itemcharsmax(Item), "\yVolver")
    
menu_setprop(menu_Cuchi2 MPROP_BACKNAMEItem)
    
formatex(Itemcharsmax(Item), "\ySiguiente")
    
menu_setprop(menu_Cuchi2 MPROP_NEXTNAMEItem)
    
formatex(Itemcharsmax(Item), "\ySalir")
    
menu_setprop(menu_Cuchi2 MPROP_EXITNAMEItem)
    
menu_display(idmenu_Cuchi2 0)

    return 
PLUGIN_HANDLED
}
public 
knifis_menu(id menu_models2 item)
{
    new 
pagewea
    player_menu_info
(id menu_models2 wea page)
    
    if(
sz_knife[id] == item)
    {
        
Menu_Knifes(id)
        return 
PLUGIN_HANDLED;
    }
    else
    {
        
sz_knife[id] = item
        client_print
(idprint_chat"Elegiste el Cuchillo: %s!"sz_Cuchi[item][Nombre_Cuchi])
    }
    
Menu_Knifes(id)
    return 
PLUGIN_HANDLED;
}

stock get_weapon_ent_owner(ent)
{
    if (
pev_valid(ent) != 2)
        return -
1;
        
    return 
get_pdata_cbase(ent414);    


[ 2 ]
Código PHP:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <cstrike>
#include <hamsandwich>

// Crear un menu pornoga :v
// Creamos las variables del menu en este caso es un menu de knifes por asi decirlo V:
new sz_knife[33// Aca definiremos el cuchillo que tendra el jugador

enum _:sz_MenuInfo // Lo que lleva el enum
{
    
Nombre_Cuchi[90], // Nombre del cuchillo
    
Model_V[50], // Model V de tu cuchillo
    
Model_P[50], // Model P de tu cuchillo
    
KnifesCosto // Costo del Knife, si quieres no lo pongas y hacelo gratis pero en este caso va a hacer por plata (dinero del cs) :V
}
new const 
sz_Cuchi[][sz_MenuInfo] = // Si vas a agregar otro cuchillo pone la coma despues del }
{
    
// Nombre            // Modelo V                 // Modelo P          // Costo
    
"Navaja""models/sz_cuchillos/v_knife""models/sz_cuchillos/p_knife"2000 }, // En este caso no va entre comillas porque es solo el costo y no lleva letras!
    
"Machete""models/sz_cuchillos/v_knife""models/sz_cuchillos/p_knife"3000 }
}
    
public 
plugin_init()
{
    
register_plugin("Menu de Knifes""1.0""Emanuelitop15")
    
register_clcmd("say /knifes""MenuKnifes")
    
RegisterHam(Ham_Item_Deploy"weapon_knife""ham_KnifeDeployPost"true );
}
public 
plugin_precache()
{
    
// Aca hacemos que el cs reciba el modelo del cuchillo, sino se crashea    
    // Copia esto como esta porque ni yo entiendo :U
    
for (new 0sizeof sz_Cuchii++)
    {
        if (!
equal(sz_Cuchi[i][Model_V], "default"))
        
engfunc(EngFunc_PrecacheModelsz_Cuchi[i][Model_V])
        if (!
equal(sz_Cuchi[i][Model_P], "default"))
        
engfunc(EngFunc_PrecacheModelsz_Cuchi[i][Model_P])
    }
}

public 
ham_KnifeDeployPostwpn_ent )
{
    static 
kOwnerkOwner get_weapon_ent_owner(wpn_ent)
    
    if (!
pev_valid(kOwner) || !is_user_alive(kOwner)) return;
    
    
set_pev(kOwnerpev_viewmodel2sz_Cuchi[sz_knife[kOwner]][Model_V])
    
set_pev(kOwnerpev_weaponmodel2sz_Cuchi[sz_knife[kOwner]][Model_P])
}

// Menus de los knifes V:
public Menu_Knifes(id)
{
    new 
len[999] , temp[22]
    static 
Item[64]
    static 
Dinero
    Dinero 
cs_get_user_money(id);

    
formatex(Itemcharsmax(Item), "\rMenu de Cuchillos\r")
    new 
menu_Cuchi2 menu_create(Item"knifis_menu")

    for(new 
sizeof sz_Cuchi i++)
    {
        if(
sz_knife[id] == iformatex(len charsmax(len) , "\w%s \r[\yCuchillo Actual\r]" sz_Cuchi[i][Nombre_Cuchi])
        else
        {
            if(
Dinero >= sz_Cuchi[i][KnifesCosto]) formatex(len charsmax(len) , "\w%s" sz_Cuchi[i][Nombre_Cuchi])
            else 
formatex(len charsmax(len) , "\d%s \r[Dinero Requerido: %d]" sz_Cuchi[i][Nombre_Cuchi], sz_Cuchi[i][KnifesCosto])
        }
        
num_to_str(i,temp2)
        
menu_additem(menu_Cuchi2 len temp)
    }

    
formatex(Itemcharsmax(Item), "\yVolver")
    
menu_setprop(menu_Cuchi2 MPROP_BACKNAMEItem)
    
formatex(Itemcharsmax(Item), "\ySiguiente")
    
menu_setprop(menu_Cuchi2 MPROP_NEXTNAMEItem)
    
formatex(Itemcharsmax(Item), "\ySalir")
    
menu_setprop(menu_Cuchi2 MPROP_EXITNAMEItem)
    
menu_display(idmenu_Cuchi2 0)

    return 
PLUGIN_HANDLED
}
public 
knifis_menu(id menu_models2 item)
{
    new 
pagewea
    player_menu_info
(id menu_models2 wea page)
    
    if(
sz_knife[id] == item)
    {
        
Menu_Knifes(id)
        return 
PLUGIN_HANDLED;
    }else{
        if (
cs_get_user_money(id) >= sz_Cuchi[item][KnifesCosto])
        {
            
sz_knife[id] = item
            client_print
(idprint_chat"Elegiste el Cuchillo: %s!"sz_Cuchi[item][Nombre_Cuchi])
        }
    }
    
Menu_Knifes(id)
    return 
PLUGIN_HANDLED;
}

stock get_weapon_ent_owner(ent)
{
    if (
pev_valid(ent) != 2)
        return -
1;
        
    return 
get_pdata_cbase(ent414);    


Bueno eso es todo solo es Copy y Paste xd
+10 lince a favoritos es como el amor de ella
(23/10/2019, 12:47 PM)Skylar escribió: [ -> ]No explicas nada, no es un tutorial ni una guía
(23/10/2019, 12:48 PM)Skylar escribió: [ -> ]
(23/10/2019, 12:47 PM)Skylar escribió: [ -> ]No explicas nada, no es un tutorial ni una guía