14/06/2020, 07:34 AM
Hola gente, queria saber como podria modifical este .sma para que el cuchillo lo tengan los ct y los tt (ya que solo los pueden tener los ct) y también les queria comentar ese error que me sale en la consola, y no se porque será
[AMXX] Displaying debug trace (plugin "knifepublico.amxx")
[AMXX] Run time error 4: index out of bounds
[AMXX] [0] knifepublico.sma::fw_ItemDeploy_Knife (line 107)
Esto es lo que me aparece en donde esta el error:
Y esto es todo el .sma completo
[AMXX] Displaying debug trace (plugin "knifepublico.amxx")
[AMXX] Run time error 4: index out of bounds
[AMXX] [0] knifepublico.sma::fw_ItemDeploy_Knife (line 107)
Esto es lo que me aparece en donde esta el error:
Código PHP:
public fw_ItemDeploy_Knife(ent) {
if(!is_valid_ent(ent))
return
new id = get_pdata_cbase(ent, 41, 4)
if(!is_user_admin(id) || get_user_team(id) != 2)
return
if(HasKnife[id] == 1) {
static model[150]
formatex(model, charsmax(model), "models/knifes_new/%s.mdl", V_MODELS[gNum[id]]) // Aqui Editas la direccion igual que en el precache
entity_set_string(id, EV_SZ_viewmodel, model)
formatex(model, charsmax(model), "models/knifes_new/%s.mdl", P_MODELS[HasKnife[id]]) // Aqui Editas la direccion igual que en el precache
entity_set_string(id, EV_SZ_weaponmodel, model)
}
Y esto es todo el .sma completo
Código PHP:
#include <amxmisc>
#include <hamsandwich>
#include <engine>
#define PLUGIN "Knife menu"
#define VERSION "1.0"
#define AUTHOR "kikizon"
// Flag para otorgar el Knife
#define FLAG ADMIN_RESERVATION
new gKeys = ( (1<<0) | (1<<1) | (1<<2) | (1<<3) )
new gMenu[200], HasKnife[33]
new gNum[33]
//Aqui Van los modelos V_ de los knifes
new V_MODELS[][] = {
"v_knife4"
}
//Aqui van los modelos P_ de los knifes
new const P_MODELS[][] = {
"p_knife4"
}
//Aqui van los nombres que se mostraran en el menu
new const szModelNames[][] = {
"Oro Exclusivo"
}
public plugin_precache()
{
new knifes[60]
for(new i; i < sizeof(V_MODELS); i++)
{
formatex(knifes, 99, "models/knifes_new/%s.mdl", V_MODELS[i]) // Aqui se puede editar la direccion de donde se encontraran los models
precache_model(knifes)
}
for(new i; i < sizeof(P_MODELS); i++)
{
formatex(knifes, 99, "models/knifes_new/%s.mdl", P_MODELS[i]) // Aqui se puede editar la direccion de donde se encontraran los models
precache_model(knifes)
}
}
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /knife", "show_knife_menu", FLAG)
register_menucmd(register_menuid("\rEscoge tu knife:^n"), gKeys, "menu_handler")
//register_event("CurWeapon", "check_model", "be")
RegisterHam(Ham_Item_Deploy, "weapon_knife", "fw_ItemDeploy_Knife", true)
}
public show_knife_menu(id, level, cid)
{
if(!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED
if(get_user_team(id) != 2)
return PLUGIN_HANDLED;
new len, b
new _new[100]
for(new i; i < sizeof(V_MODELS); i++)
{
len = len + formatex(_new[len], charsmax(_new) - len, "%s\y%d. \w%s", len ? "^n" : "", ++b, szModelNames[i])
}
formatex(gMenu, charsmax(gMenu), "\rEscoge tu knife:^n%s", _new)
show_menu(id, gKeys, gMenu, 15)
return PLUGIN_CONTINUE
}
public menu_handler(id, key)
{
HasKnife[id] = 1
gNum[id] = key
engclient_cmd(id, "weapon_knife")
return PLUGIN_CONTINUE
}
public fw_ItemDeploy_Knife(ent) {
if(!is_valid_ent(ent))
return
new id = get_pdata_cbase(ent, 41, 4)
if(!is_user_admin(id) || get_user_team(id) != 2)
return
if(HasKnife[id] == 1) {
static model[150]
formatex(model, charsmax(model), "models/knifes_new/%s.mdl", V_MODELS[gNum[id]]) // Aqui Editas la direccion igual que en el precache
entity_set_string(id, EV_SZ_viewmodel, model)
formatex(model, charsmax(model), "models/knifes_new/%s.mdl", P_MODELS[HasKnife[id]]) // Aqui Editas la direccion igual que en el precache
entity_set_string(id, EV_SZ_weaponmodel, model)
}
}
/*public check_model(id)
{
if(!is_user_alive(id))
return PLUGIN_HANDLED
new weapon = read_data(2)
if(weapon == CSW_KNIFE && read_data(1) == 1 && HasKnife[id] == 1)
{
static model[150]
formatex(model, charsmax(model), "models/knifes_new/%s.mdl", V_MODELS[gNum[id]]) // Aqui Editas la direccion igual que en el precache
set_pev(id, pev_viewmodel2, model)
formatex(model, charsmax(model), "models/knifes_new/%s.mdl", P_MODELS[HasKnife[id]]) // Aqui Editas la direccion igual que en el precache
set_pev(id, pev_weaponmodel2, model)
}
return PLUGIN_HANDLED
} */
public client_putinserver(id)
{
HasKnife[id] = 0
gNum[id] = 0
}
public client_disconnect(id)
{
HasKnife[id] = 0
gNum[id] = 0
}