CAMBIAR DE KNIFES A ARMAS Y QUITARLES LOS PUNTOS
#1
BUENAS! BUENO PASO POR AQUI PARA VER SI ESTE MENU DE KNIFES SE PUEDE TRANSFORMAR EN M4A1, AK47 Y AWP SI ALGUIEN PUEDE SE LO AGRADEZCO MUCHO AQUÍ EL PLUGIN


Archivos adjuntos
.sma   Descargar AMXX / knife_shop-1.sma (Tamaño: 4.1 KB / Descargas: 55)
Corazón I dream of someday being able to have your near. Corazón
[Imagen: 76561199006140497.png]
Responder
#2
Código PHP:
/*
*
*        [ Knife Shop v 1.5 ]
*
*    * v1.0
*     - Iniciacion del plugin.
*    * v1.2
*     - Optimizacion de if's
*    * v1.3
*     - Agregada cvar para recibir puntos 
*    * v1.4
*     - Depuracion de codigo
*    * v1.5
*     - Plugin Rehecho y optimizado
*
*/

#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <hamsandwich>

new const KS_PLUGIN[] = "Knife Shop"
new const KS_VERSION[] = "1.5"
new const KS_AUTHOR[] = "zoolk"

enum DATA_KNIFES {
    
CSW,
    
NAME[40],
    
COST,
    
V_MDL[50],
    
P_MDL[50]
}

new const 
szKnifes[][DATA_KNIFES] = {
    { 
CSW_AK47"AK47"20"models/ksKnifes/gut/v_gut.mdl""models/ksKnifes/gut/p_gut.mdl" },
    { 
CSW_M4A1"M4A1"50"models/ksKnifes/flip/v_flip.mdl""models/ksKnifes/flip/p_flip.mdl" },
    { 
CSW_AWP"AWP"80"models/ksKnifes/flip/v_flip.mdl""models/ksKnifes/flip/p_flip.mdl" }
}

new const 
WEAPONENTNAMES[ ][ ] = { 
    
"""weapon_p228""""weapon_scout""weapon_hegrenade""weapon_xm1014""weapon_c4""weapon_mac10",
    
"weapon_aug""weapon_smokegrenade""weapon_elite""weapon_fiveseven""weapon_ump45""weapon_sg550",
    
"weapon_galil""weapon_famas""weapon_usp""weapon_glock18""weapon_awp""weapon_mp5navy""weapon_m249",
    
"weapon_m3""weapon_m4a1""weapon_tmp""weapon_g3sg1""weapon_flashbang""weapon_deagle""weapon_sg552",
    
"weapon_ak47""weapon_knife""weapon_p90" };

new 
g_spdknife[33][sizeof szKnifes]
new 
g_hasknife[33]
new 
g_points[33]
new 
cvr_points_per_kill

public plugin_init() {
    
register_plugin(KS_PLUGINKS_VERSIONKS_AUTHOR)
    
    
cvr_points_per_kill register_cvar("amx_puntos_muerte""1")
    
    
register_clcmd("nightvision""ShowKnifesMenu")
    
    for(new 
wpn 0wpn sizeof WEAPONENTNAMESwpn++)
        
RegisterHam(Ham_Item_DeployWEAPONENTNAMES[wpn], "fw_Ham_Item_Deploy_Post"true)
    
RegisterHam(Ham_Killed"player""fw_Ham_Killed_Post"true)
}

public 
client_putinserver(id)
{
    
g_points[id] = 0
    g_hasknife
[id] = -1
    
    
for(new 0sizeof szKnifesi++)
        
g_spdknife[id][i] = false
}

public 
plugin_precache()
{
    for(new 
0sizeof szKnifesi++)
    {
        
precache_model(szKnifes[i][V_MDL])
        
precache_model(szKnifes[i][P_MDL])
    }
}

public 
ShowKnifesMenu(id)
{
    new 
menulen[100]
    
    
formatex(lencharsmax(len), "Tienda de Cuchillos^n\yPuntos: \r%d"g_points[id])
    
menu menu_create(len"CmdKnifesMenu")
    
    for(new 
0sizeof szKnifesi++)
    {
        if(
g_spdknife[id][i])
        {
            
formatex(lencharsmax(len), "%s"szKnifes[i][NAME])
            
            if(
g_hasknife[id] == i)
                
add(lencharsmax(len), " \y[ACTIVO]")
                
        }
        else
        {
            if(
g_points[id] >= szKnifes[i][COST])
                
formatex(lencharsmax(len), "%s \y[COMPRAR]"szKnifes[i][NAME])
            else
                
formatex(lencharsmax(len), "%s \r$%d"szKnifes[i][NAME], szKnifes[i][COST])
        }
        
        
menu_additem(menulen)
    }
    
    
menu_display(idmenu)
}

public 
CmdKnifesMenu(idmenuitem)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED;
    }
    
    if(
g_spdknife[id][item])
    {
        if(
g_hasknife[id] == item)
            
client_print(idprint_chat"Ya tienes este knife Activo")
        else
        {
            
g_hasknife[id] = item
            client_print
(idprint_chat"Has seleccionado el knife %s"szKnifes[item][NAME])
            
            if(
get_user_weapon(id) == szKnifes[item][CSW])
            {
                
entity_set_string(idEV_SZ_viewmodelszKnifes[item][V_MDL])
                
entity_set_string(idEV_SZ_weaponmodelszKnifes[item][P_MDL])
            }
        }
    }
    else
    {
        if(
g_points[id] >= szKnifes[item][COST])
        {
            
g_spdknife[id][item] = true
            g_points
[id] -= szKnifes[item][COST]
            
client_print(idprint_chat"Has comprado el knife %s"szKnifes[item][NAME])
            
ShowKnifesMenu(id)
        }
        else
            
client_print(idprint_chat"Te faltan %d puntos para poder compar el knife %s"szKnifes[item][COST] - g_points[id], szKnifes[item][NAME])
    }
    
    return 
PLUGIN_HANDLED;
}

public 
fw_Ham_Item_Deploy_Post(weapon_ent)
{
    new 
owner get_pdata_cbase(weapon_ent414)
    
    if(!
pev_valid(owner) || g_hasknife[owner] == -1)
        return 
HAM_IGNORED;
    
    
entity_set_string(ownerEV_SZ_viewmodelszKnifes[g_hasknife[owner]][V_MDL])
    
entity_set_string(ownerEV_SZ_weaponmodelszKnifes[g_hasknife[owner]][P_MDL])
    
    return 
HAM_IGNORED;
}

public 
fw_Ham_Killed_Post(victimattackershouldgib)
{
    if(
victim == attacker || !is_user_alive(attacker))
        return 
HAM_IGNORED;
        
    
g_points[attacker] += get_pcvar_num(cvr_points_per_kill)
    
    return 
HAM_IGNORED;


Cambia la dirección de los models

Responder
#3
(29/10/2019, 05:24 PM)Skylar escribió:
Código PHP:
/*
*
*        [ Knife Shop v 1.5 ]
*
*    * v1.0
*     - Iniciacion del plugin.
*    * v1.2
*     - Optimizacion de if's
*    * v1.3
*     - Agregada cvar para recibir puntos 
*    * v1.4
*     - Depuracion de codigo
*    * v1.5
*     - Plugin Rehecho y optimizado
*
*/

#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <hamsandwich>

new const KS_PLUGIN[] = "Knife Shop"
new const KS_VERSION[] = "1.5"
new const KS_AUTHOR[] = "zoolk"

enum DATA_KNIFES {
    
CSW,
    
NAME[40],
    
COST,
    
V_MDL[50],
    
P_MDL[50]
}

new const 
szKnifes[][DATA_KNIFES] = {
    { 
CSW_AK47"AK47"20"models/ksKnifes/gut/v_gut.mdl""models/ksKnifes/gut/p_gut.mdl" },
    { 
CSW_M4A1"M4A1"50"models/ksKnifes/flip/v_flip.mdl""models/ksKnifes/flip/p_flip.mdl" },
    { 
CSW_AWP"AWP"80"models/ksKnifes/flip/v_flip.mdl""models/ksKnifes/flip/p_flip.mdl" }
}

new const 
WEAPONENTNAMES[ ][ ] = { 
    
"""weapon_p228""""weapon_scout""weapon_hegrenade""weapon_xm1014""weapon_c4""weapon_mac10",
    
"weapon_aug""weapon_smokegrenade""weapon_elite""weapon_fiveseven""weapon_ump45""weapon_sg550",
    
"weapon_galil""weapon_famas""weapon_usp""weapon_glock18""weapon_awp""weapon_mp5navy""weapon_m249",
    
"weapon_m3""weapon_m4a1""weapon_tmp""weapon_g3sg1""weapon_flashbang""weapon_deagle""weapon_sg552",
    
"weapon_ak47""weapon_knife""weapon_p90" };

new 
g_spdknife[33][sizeof szKnifes]
new 
g_hasknife[33]
new 
g_points[33]
new 
cvr_points_per_kill

public plugin_init() {
    
register_plugin(KS_PLUGINKS_VERSIONKS_AUTHOR)
    
    
cvr_points_per_kill register_cvar("amx_puntos_muerte""1")
    
    
register_clcmd("nightvision""ShowKnifesMenu")
    
    for(new 
wpn 0wpn sizeof WEAPONENTNAMESwpn++)
        
RegisterHam(Ham_Item_DeployWEAPONENTNAMES[wpn], "fw_Ham_Item_Deploy_Post"true)
    
RegisterHam(Ham_Killed"player""fw_Ham_Killed_Post"true)
}

public 
client_putinserver(id)
{
    
g_points[id] = 0
    g_hasknife
[id] = -1
    
    
for(new 0sizeof szKnifesi++)
        
g_spdknife[id][i] = false
}

public 
plugin_precache()
{
    for(new 
0sizeof szKnifesi++)
    {
        
precache_model(szKnifes[i][V_MDL])
        
precache_model(szKnifes[i][P_MDL])
    }
}

public 
ShowKnifesMenu(id)
{
    new 
menulen[100]
    
    
formatex(lencharsmax(len), "Tienda de Cuchillos^n\yPuntos: \r%d"g_points[id])
    
menu menu_create(len"CmdKnifesMenu")
    
    for(new 
0sizeof szKnifesi++)
    {
        if(
g_spdknife[id][i])
        {
            
formatex(lencharsmax(len), "%s"szKnifes[i][NAME])
            
            if(
g_hasknife[id] == i)
                
add(lencharsmax(len), " \y[ACTIVO]")
                
        }
        else
        {
            if(
g_points[id] >= szKnifes[i][COST])
                
formatex(lencharsmax(len), "%s \y[COMPRAR]"szKnifes[i][NAME])
            else
                
formatex(lencharsmax(len), "%s \r$%d"szKnifes[i][NAME], szKnifes[i][COST])
        }
        
        
menu_additem(menulen)
    }
    
    
menu_display(idmenu)
}

public 
CmdKnifesMenu(idmenuitem)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED;
    }
    
    if(
g_spdknife[id][item])
    {
        if(
g_hasknife[id] == item)
            
client_print(idprint_chat"Ya tienes este knife Activo")
        else
        {
            
g_hasknife[id] = item
            client_print
(idprint_chat"Has seleccionado el knife %s"szKnifes[item][NAME])
            
            if(
get_user_weapon(id) == szKnifes[item][CSW])
            {
                
entity_set_string(idEV_SZ_viewmodelszKnifes[item][V_MDL])
                
entity_set_string(idEV_SZ_weaponmodelszKnifes[item][P_MDL])
            }
        }
    }
    else
    {
        if(
g_points[id] >= szKnifes[item][COST])
        {
            
g_spdknife[id][item] = true
            g_points
[id] -= szKnifes[item][COST]
            
client_print(idprint_chat"Has comprado el knife %s"szKnifes[item][NAME])
            
ShowKnifesMenu(id)
        }
        else
            
client_print(idprint_chat"Te faltan %d puntos para poder compar el knife %s"szKnifes[item][COST] - g_points[id], szKnifes[item][NAME])
    }
    
    return 
PLUGIN_HANDLED;
}

public 
fw_Ham_Item_Deploy_Post(weapon_ent)
{
    new 
owner get_pdata_cbase(weapon_ent414)
    
    if(!
pev_valid(owner) || g_hasknife[owner] == -1)
        return 
HAM_IGNORED;
    
    
entity_set_string(ownerEV_SZ_viewmodelszKnifes[g_hasknife[owner]][V_MDL])
    
entity_set_string(ownerEV_SZ_weaponmodelszKnifes[g_hasknife[owner]][P_MDL])
    
    return 
HAM_IGNORED;
}

public 
fw_Ham_Killed_Post(victimattackershouldgib)
{
    if(
victim == attacker || !is_user_alive(attacker))
        return 
HAM_IGNORED;
        
    
g_points[attacker] += get_pcvar_num(cvr_points_per_kill)
    
    return 
HAM_IGNORED;


Cambia la dirección de los models

pero le quitaste los punto al matar
Código PHP:
        if(g_hasknife[id] == item)
            
client_print(idprint_chat"Ya tienes este knife Activo")
        else 

porque tampoco quiero que tenga eso ni esto
[/php]
if(g_hasknife[id] == i)
add(len, charsmax(len), " \y[ACTIVO]")

}
else
{
if(g_points[id] >= szKnifes[i][COST])
formatex(len, charsmax(len), "%s \y[COMPRAR]", szKnifes[i][NAME])
else
formatex(len, charsmax(len), "%s \r$%d", szKnifes[i][NAME], szKnifes[i][COST])
}[/php]
Corazón I dream of someday being able to have your near. Corazón
[Imagen: 76561199006140497.png]
Responder
#4
(29/10/2019, 05:44 PM)andres_1041 escribió:
(29/10/2019, 05:24 PM)Skylar escribió:
Código PHP:
/*
*
*        [ Knife Shop v 1.5 ]
*
*    * v1.0
*     - Iniciacion del plugin.
*    * v1.2
*     - Optimizacion de if's
*    * v1.3
*     - Agregada cvar para recibir puntos 
*    * v1.4
*     - Depuracion de codigo
*    * v1.5
*     - Plugin Rehecho y optimizado
*
*/

#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <hamsandwich>

new const KS_PLUGIN[] = "Knife Shop"
new const KS_VERSION[] = "1.5"
new const KS_AUTHOR[] = "zoolk"

enum DATA_KNIFES {
    
CSW,
    
NAME[40],
    
COST,
    
V_MDL[50],
    
P_MDL[50]
}

new const 
szKnifes[][DATA_KNIFES] = {
    { 
CSW_AK47"AK47"20"models/ksKnifes/gut/v_gut.mdl""models/ksKnifes/gut/p_gut.mdl" },
    { 
CSW_M4A1"M4A1"50"models/ksKnifes/flip/v_flip.mdl""models/ksKnifes/flip/p_flip.mdl" },
    { 
CSW_AWP"AWP"80"models/ksKnifes/flip/v_flip.mdl""models/ksKnifes/flip/p_flip.mdl" }
}

new const 
WEAPONENTNAMES[ ][ ] = { 
    
"""weapon_p228""""weapon_scout""weapon_hegrenade""weapon_xm1014""weapon_c4""weapon_mac10",
    
"weapon_aug""weapon_smokegrenade""weapon_elite""weapon_fiveseven""weapon_ump45""weapon_sg550",
    
"weapon_galil""weapon_famas""weapon_usp""weapon_glock18""weapon_awp""weapon_mp5navy""weapon_m249",
    
"weapon_m3""weapon_m4a1""weapon_tmp""weapon_g3sg1""weapon_flashbang""weapon_deagle""weapon_sg552",
    
"weapon_ak47""weapon_knife""weapon_p90" };

new 
g_spdknife[33][sizeof szKnifes]
new 
g_hasknife[33]
new 
g_points[33]
new 
cvr_points_per_kill

public plugin_init() {
    
register_plugin(KS_PLUGINKS_VERSIONKS_AUTHOR)
    
    
cvr_points_per_kill register_cvar("amx_puntos_muerte""1")
    
    
register_clcmd("nightvision""ShowKnifesMenu")
    
    for(new 
wpn 0wpn sizeof WEAPONENTNAMESwpn++)
        
RegisterHam(Ham_Item_DeployWEAPONENTNAMES[wpn], "fw_Ham_Item_Deploy_Post"true)
    
RegisterHam(Ham_Killed"player""fw_Ham_Killed_Post"true)
}

public 
client_putinserver(id)
{
    
g_points[id] = 0
    g_hasknife
[id] = -1
    
    
for(new 0sizeof szKnifesi++)
        
g_spdknife[id][i] = false
}

public 
plugin_precache()
{
    for(new 
0sizeof szKnifesi++)
    {
        
precache_model(szKnifes[i][V_MDL])
        
precache_model(szKnifes[i][P_MDL])
    }
}

public 
ShowKnifesMenu(id)
{
    new 
menulen[100]
    
    
formatex(lencharsmax(len), "Tienda de Cuchillos^n\yPuntos: \r%d"g_points[id])
    
menu menu_create(len"CmdKnifesMenu")
    
    for(new 
0sizeof szKnifesi++)
    {
        if(
g_spdknife[id][i])
        {
            
formatex(lencharsmax(len), "%s"szKnifes[i][NAME])
            
            if(
g_hasknife[id] == i)
                
add(lencharsmax(len), " \y[ACTIVO]")
                
        }
        else
        {
            if(
g_points[id] >= szKnifes[i][COST])
                
formatex(lencharsmax(len), "%s \y[COMPRAR]"szKnifes[i][NAME])
            else
                
formatex(lencharsmax(len), "%s \r$%d"szKnifes[i][NAME], szKnifes[i][COST])
        }
        
        
menu_additem(menulen)
    }
    
    
menu_display(idmenu)
}

public 
CmdKnifesMenu(idmenuitem)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED;
    }
    
    if(
g_spdknife[id][item])
    {
        if(
g_hasknife[id] == item)
            
client_print(idprint_chat"Ya tienes este knife Activo")
        else
        {
            
g_hasknife[id] = item
            client_print
(idprint_chat"Has seleccionado el knife %s"szKnifes[item][NAME])
            
            if(
get_user_weapon(id) == szKnifes[item][CSW])
            {
                
entity_set_string(idEV_SZ_viewmodelszKnifes[item][V_MDL])
                
entity_set_string(idEV_SZ_weaponmodelszKnifes[item][P_MDL])
            }
        }
    }
    else
    {
        if(
g_points[id] >= szKnifes[item][COST])
        {
            
g_spdknife[id][item] = true
            g_points
[id] -= szKnifes[item][COST]
            
client_print(idprint_chat"Has comprado el knife %s"szKnifes[item][NAME])
            
ShowKnifesMenu(id)
        }
        else
            
client_print(idprint_chat"Te faltan %d puntos para poder compar el knife %s"szKnifes[item][COST] - g_points[id], szKnifes[item][NAME])
    }
    
    return 
PLUGIN_HANDLED;
}

public 
fw_Ham_Item_Deploy_Post(weapon_ent)
{
    new 
owner get_pdata_cbase(weapon_ent414)
    
    if(!
pev_valid(owner) || g_hasknife[owner] == -1)
        return 
HAM_IGNORED;
    
    
entity_set_string(ownerEV_SZ_viewmodelszKnifes[g_hasknife[owner]][V_MDL])
    
entity_set_string(ownerEV_SZ_weaponmodelszKnifes[g_hasknife[owner]][P_MDL])
    
    return 
HAM_IGNORED;
}

public 
fw_Ham_Killed_Post(victimattackershouldgib)
{
    if(
victim == attacker || !is_user_alive(attacker))
        return 
HAM_IGNORED;
        
    
g_points[attacker] += get_pcvar_num(cvr_points_per_kill)
    
    return 
HAM_IGNORED;


Cambia la dirección de los models

pero le quitaste los punto al matar
Código PHP:
        if(g_hasknife[id] == item)
            
client_print(idprint_chat"Ya tienes este knife Activo")
        else 

porque tampoco quiero que tenga eso ni esto
[/php]
if(g_hasknife[id] == i)
add(len, charsmax(len), " \y[ACTIVO]")

}
else
{
if(g_points[id] >= szKnifes[i][COST])
formatex(len, charsmax(len), "%s \y[COMPRAR]", szKnifes[i][NAME])
else
formatex(len, charsmax(len), "%s \r$%d", szKnifes[i][NAME], szKnifes[i][COST])
}[/php]

Y sacalo vos, parece que ya sabes cómo

Responder
#5
quiero quitarle esto de los puntos
Código PHP:
formatex(lencharsmax(len), "%s"szKnifes[i][NAME])
            
            if(
g_hasknife[id] == i)
                
add(lencharsmax(len), " \y[ACTIVO]")
                
        }
        else
        {
            if(
g_points[id] >= szKnifes[i][COST])
                
formatex(lencharsmax(len), "%s \y[COMPRAR]"szKnifes[i][NAME])
            else
                
formatex(lencharsmax(len), "%s \r$%d"szKnifes[i][NAME], szKnifes[i][COST])
        }
        
        
menu_additem(menulen)
    }
    
    
menu_display(idmenu)


(29/10/2019, 06:36 PM)Skylar escribió:
(29/10/2019, 05:44 PM)andres_1041 escribió:
(29/10/2019, 05:24 PM)Skylar escribió:
Código PHP:
/*
*
*        [ Knife Shop v 1.5 ]
*
*    * v1.0
*     - Iniciacion del plugin.
*    * v1.2
*     - Optimizacion de if's
*    * v1.3
*     - Agregada cvar para recibir puntos 
*    * v1.4
*     - Depuracion de codigo
*    * v1.5
*     - Plugin Rehecho y optimizado
*
*/

#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <hamsandwich>

new const KS_PLUGIN[] = "Knife Shop"
new const KS_VERSION[] = "1.5"
new const KS_AUTHOR[] = "zoolk"

enum DATA_KNIFES {
    
CSW,
    
NAME[40],
    
COST,
    
V_MDL[50],
    
P_MDL[50]
}

new const 
szKnifes[][DATA_KNIFES] = {
    { 
CSW_AK47"AK47"20"models/ksKnifes/gut/v_gut.mdl""models/ksKnifes/gut/p_gut.mdl" },
    { 
CSW_M4A1"M4A1"50"models/ksKnifes/flip/v_flip.mdl""models/ksKnifes/flip/p_flip.mdl" },
    { 
CSW_AWP"AWP"80"models/ksKnifes/flip/v_flip.mdl""models/ksKnifes/flip/p_flip.mdl" }
}

new const 
WEAPONENTNAMES[ ][ ] = { 
    
"""weapon_p228""""weapon_scout""weapon_hegrenade""weapon_xm1014""weapon_c4""weapon_mac10",
    
"weapon_aug""weapon_smokegrenade""weapon_elite""weapon_fiveseven""weapon_ump45""weapon_sg550",
    
"weapon_galil""weapon_famas""weapon_usp""weapon_glock18""weapon_awp""weapon_mp5navy""weapon_m249",
    
"weapon_m3""weapon_m4a1""weapon_tmp""weapon_g3sg1""weapon_flashbang""weapon_deagle""weapon_sg552",
    
"weapon_ak47""weapon_knife""weapon_p90" };

new 
g_spdknife[33][sizeof szKnifes]
new 
g_hasknife[33]
new 
g_points[33]
new 
cvr_points_per_kill

public plugin_init() {
    
register_plugin(KS_PLUGINKS_VERSIONKS_AUTHOR)
    
    
cvr_points_per_kill register_cvar("amx_puntos_muerte""1")
    
    
register_clcmd("nightvision""ShowKnifesMenu")
    
    for(new 
wpn 0wpn sizeof WEAPONENTNAMESwpn++)
        
RegisterHam(Ham_Item_DeployWEAPONENTNAMES[wpn], "fw_Ham_Item_Deploy_Post"true)
    
RegisterHam(Ham_Killed"player""fw_Ham_Killed_Post"true)
}

public 
client_putinserver(id)
{
    
g_points[id] = 0
    g_hasknife
[id] = -1
    
    
for(new 0sizeof szKnifesi++)
        
g_spdknife[id][i] = false
}

public 
plugin_precache()
{
    for(new 
0sizeof szKnifesi++)
    {
        
precache_model(szKnifes[i][V_MDL])
        
precache_model(szKnifes[i][P_MDL])
    }
}

public 
ShowKnifesMenu(id)
{
    new 
menulen[100]
    
    
formatex(lencharsmax(len), "Tienda de Cuchillos^n\yPuntos: \r%d"g_points[id])
    
menu menu_create(len"CmdKnifesMenu")
    
    for(new 
0sizeof szKnifesi++)
    {
        if(
g_spdknife[id][i])
        {
            
formatex(lencharsmax(len), "%s"szKnifes[i][NAME])
            
            if(
g_hasknife[id] == i)
                
add(lencharsmax(len), " \y[ACTIVO]")
                
        }
        else
        {
            if(
g_points[id] >= szKnifes[i][COST])
                
formatex(lencharsmax(len), "%s \y[COMPRAR]"szKnifes[i][NAME])
            else
                
formatex(lencharsmax(len), "%s \r$%d"szKnifes[i][NAME], szKnifes[i][COST])
        }
        
        
menu_additem(menulen)
    }
    
    
menu_display(idmenu)
}

public 
CmdKnifesMenu(idmenuitem)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED;
    }
    
    if(
g_spdknife[id][item])
    {
        if(
g_hasknife[id] == item)
            
client_print(idprint_chat"Ya tienes este knife Activo")
        else
        {
            
g_hasknife[id] = item
            client_print
(idprint_chat"Has seleccionado el knife %s"szKnifes[item][NAME])
            
            if(
get_user_weapon(id) == szKnifes[item][CSW])
            {
                
entity_set_string(idEV_SZ_viewmodelszKnifes[item][V_MDL])
                
entity_set_string(idEV_SZ_weaponmodelszKnifes[item][P_MDL])
            }
        }
    }
    else
    {
        if(
g_points[id] >= szKnifes[item][COST])
        {
            
g_spdknife[id][item] = true
            g_points
[id] -= szKnifes[item][COST]
            
client_print(idprint_chat"Has comprado el knife %s"szKnifes[item][NAME])
            
ShowKnifesMenu(id)
        }
        else
            
client_print(idprint_chat"Te faltan %d puntos para poder compar el knife %s"szKnifes[item][COST] - g_points[id], szKnifes[item][NAME])
    }
    
    return 
PLUGIN_HANDLED;
}

public 
fw_Ham_Item_Deploy_Post(weapon_ent)
{
    new 
owner get_pdata_cbase(weapon_ent414)
    
    if(!
pev_valid(owner) || g_hasknife[owner] == -1)
        return 
HAM_IGNORED;
    
    
entity_set_string(ownerEV_SZ_viewmodelszKnifes[g_hasknife[owner]][V_MDL])
    
entity_set_string(ownerEV_SZ_weaponmodelszKnifes[g_hasknife[owner]][P_MDL])
    
    return 
HAM_IGNORED;
}

public 
fw_Ham_Killed_Post(victimattackershouldgib)
{
    if(
victim == attacker || !is_user_alive(attacker))
        return 
HAM_IGNORED;
        
    
g_points[attacker] += get_pcvar_num(cvr_points_per_kill)
    
    return 
HAM_IGNORED;


Cambia la dirección de los models

pero le quitaste los punto al matar
Código PHP:
        if(g_hasknife[id] == item)
            
client_print(idprint_chat"Ya tienes este knife Activo")
        else 

porque tampoco quiero que tenga eso ni esto
[/php]
if(g_hasknife[id] == i)
add(len, charsmax(len), " \y[ACTIVO]")

}
else
{
if(g_points[id] >= szKnifes[i][COST])
formatex(len, charsmax(len), "%s \y[COMPRAR]", szKnifes[i][NAME])
else
formatex(len, charsmax(len), "%s \r$%d", szKnifes[i][NAME], szKnifes[i][COST])
}[/php]

Y sacalo vos, parece que ya sabes cómo

Amigo no lo que te dire no es forma de regaño ni nada de eso pero en realidad si yo supiese no te preguntara como se hace
Corazón I dream of someday being able to have your near. Corazón
[Imagen: 76561199006140497.png]
Responder
#6
Código PHP:
/*
*
*        [ Knife Shop v 1.5 ]
*
*    * v1.0
*     - Iniciacion del plugin.
*    * v1.2
*     - Optimizacion de if's
*    * v1.3
*     - Agregada cvar para recibir puntos 
*    * v1.4
*     - Depuracion de codigo
*    * v1.5
*     - Plugin Rehecho y optimizado
*
*/

#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <hamsandwich>

new const KS_PLUGIN[] = "Knife Shop"
new const KS_VERSION[] = "1.5"
new const KS_AUTHOR[] = "zoolk"

enum DATA_KNIFES {
    
CSW,
    
NAME[40],
    
V_MDL[50],
    
P_MDL[50]
}

new const 
szKnifes[][DATA_KNIFES] = {
    { 
CSW_AK47"AK47""models/ksKnifes/gut/v_gut.mdl""models/ksKnifes/gut/p_gut.mdl" },
    { 
CSW_M4A1"M4A1""models/ksKnifes/flip/v_flip.mdl""models/ksKnifes/flip/p_flip.mdl" },
    { 
CSW_AWP"AWP""models/ksKnifes/flip/v_flip.mdl""models/ksKnifes/flip/p_flip.mdl" }
}

new const 
WEAPONENTNAMES[ ][ ] = { 
    
"""weapon_p228""""weapon_scout""weapon_hegrenade""weapon_xm1014""weapon_c4""weapon_mac10",
    
"weapon_aug""weapon_smokegrenade""weapon_elite""weapon_fiveseven""weapon_ump45""weapon_sg550",
    
"weapon_galil""weapon_famas""weapon_usp""weapon_glock18""weapon_awp""weapon_mp5navy""weapon_m249",
    
"weapon_m3""weapon_m4a1""weapon_tmp""weapon_g3sg1""weapon_flashbang""weapon_deagle""weapon_sg552",
    
"weapon_ak47""weapon_knife""weapon_p90" };

new 
g_spdknife[33][sizeof szKnifes]
new 
g_hasknife[33]

public 
plugin_init() {
    
register_plugin(KS_PLUGINKS_VERSIONKS_AUTHOR)
    
    
register_clcmd("nightvision""ShowKnifesMenu")
    
    for(new 
wpn 0wpn sizeof WEAPONENTNAMESwpn++)
        
RegisterHam(Ham_Item_DeployWEAPONENTNAMES[wpn], "fw_Ham_Item_Deploy_Post"true)
}

public 
client_putinserver(id)
{
    
g_hasknife[id] = -1
    
    
for(new 0sizeof szKnifesi++)
        
g_spdknife[id][i] = false
}

public 
plugin_precache()
{
    for(new 
0sizeof szKnifesi++)
    {
        
precache_model(szKnifes[i][V_MDL])
        
precache_model(szKnifes[i][P_MDL])
    }
}

public 
ShowKnifesMenu(id)
{
    new 
menulen[100]
    
    
formatex(lencharsmax(len), "Tienda de Cuchillos")
    
menu menu_create(len"CmdKnifesMenu")
    
    for(new 
0sizeof szKnifesi++)
    {
        if(
g_spdknife[id][i])
        {
            
formatex(lencharsmax(len), "%s"szKnifes[i][NAME])
            
            if(
g_hasknife[id] == i)
                
add(lencharsmax(len), " \y[ACTIVO]")
                
        }
        
        
menu_additem(menulen)
    }
    
    
menu_display(idmenu)
}

public 
CmdKnifesMenu(idmenuitem)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED;
    }
    
    if(
g_spdknife[id][item])
    {
        if(
g_hasknife[id] == item)
            
client_print(idprint_chat"Ya tienes este knife Activo")
        else
        {
            
g_hasknife[id] = item
            client_print
(idprint_chat"Has seleccionado el knife %s"szKnifes[item][NAME])
            
            if(
get_user_weapon(id) == szKnifes[item][CSW])
            {
                
entity_set_string(idEV_SZ_viewmodelszKnifes[item][V_MDL])
                
entity_set_string(idEV_SZ_weaponmodelszKnifes[item][P_MDL])
            }
        }
    }
    
    return 
PLUGIN_HANDLED;
}

public 
fw_Ham_Item_Deploy_Post(weapon_ent)
{
    new 
owner get_pdata_cbase(weapon_ent414)
    
    if(!
pev_valid(owner) || g_hasknife[owner] == -1)
        return 
HAM_IGNORED;
    
    
entity_set_string(ownerEV_SZ_viewmodelszKnifes[g_hasknife[owner]][V_MDL])
    
entity_set_string(ownerEV_SZ_weaponmodelszKnifes[g_hasknife[owner]][P_MDL])
    
    return 
HAM_IGNORED;


Ahí está

Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)