Log Admin Knifes
#1
Otra vez vengo con un log diferente, no se lo que le pasa a este plugin ahora, antes creo que funcionaba bien

[AMXX] Displaying debug trace (plugin "knifepublico.amxx")
[AMXX] Run time error 4: index out of bounds
[AMXX] [0] knifepublico.sma::fw_ItemDeploy_Knife (line 104)

Código PHP:
public fw_ItemDeploy_Knife(ent) {
    
    if(!
is_valid_ent(ent))
        return
        
    new 
id get_pdata_cbase(ent414)
    
    if(!
is_user_admin(id))
        return
        
    if(
HasKnife[id] == 1) {
        static 
model[150
        
formatex(modelcharsmax(model), "models/knifes_new/%s.mdl"V_MODELS[gNum[id]]) // Aqui Editas la direccion igual que en el precache
        
entity_set_string(idEV_SZ_viewmodelmodel)
    
   
        
formatex(modelcharsmax(model), "models/knifes_new/%s.mdl"P_MODELS[gNum[id]]) // Aqui Editas la direccion igual que en el precache
        
entity_set_string(idEV_SZ_weaponmodelmodel)
    }
    

Responder
#2
la linea del error y todo el code como tal, index of bounds es porque excediste la matriz.
[Imagen: zcsztw-4.png] [Imagen: 6u5fj2-4.png]
[Imagen: linkedin_thumb_image.png][Imagen: 76561198283253977.png][Imagen: linkedin_thumb_image.png]
Responder
#3
(04/07/2020, 01:56 AM)Hypnotize escribió: la linea del error y todo el code como tal, index of bounds es porque excediste la matriz.
Como que excedí la matriz? que seria eso?
Responder
#4
que pases el code completo y la linea de error
[Imagen: zcsztw-4.png] [Imagen: 6u5fj2-4.png]
[Imagen: linkedin_thumb_image.png][Imagen: 76561198283253977.png][Imagen: linkedin_thumb_image.png]
Responder
#5
(04/07/2020, 02:13 AM)Hypnotize escribió: que pases el code completo y la linea de error
Esta es la linea del error
Código PHP:
formatex(modelcharsmax(model), "models/knifes_new/%s.mdl"V_MODELS[gNum[id]]) 

Y este es el code 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",
    
"v_karambit"
}

//Aqui van los modelos P_ de los knifes
new const P_MODELS[][] = { 
    
"p_knife4",
    
"p_karambit"


//Aqui van los nombres que se mostraran en el menu
new const szModelNames[][] = {   
    
"Oro Exclusivo",
    
"KarambitArg"


public 
plugin_precache() 

    new 
knifes[60
    for(new 
isizeof(V_MODELS); i++) 
    { 
        
formatex(knifes99"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 
isizeof(P_MODELS); i++) 
    { 
        
formatex(knifes99"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(PLUGINVERSIONAUTHOR
    
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(idlevelcid

    if(!
cmd_access(idlevelcid2)) 
        return 
PLUGIN_HANDLED
   
     
    
new len
    
new _new[100
    
    for(new 
isizeof(V_MODELS); i++) 
    { 
        
len len formatex(_new[len], charsmax(_new) - len"%s\y%d. \w%s"len "^n" "", ++bszModelNames[i]) 
    } 
     
    
formatex(gMenucharsmax(gMenu), "\rEscoge tu knife:^n%s"_new
     
    
show_menu(idgKeysgMenu15
     
    return 
PLUGIN_CONTINUE 
}  

public 
menu_handler(idkey


    
HasKnife[id] = 
    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(ent414)
    
    if(!
is_user_admin(id))
        return
        
    if(
HasKnife[id] == 1) {
        static 
model[150
        
formatex(modelcharsmax(model), "models/knifes_new/%s.mdl"V_MODELS[gNum[id]]) // Aqui Editas la direccion igual que en el precache
        
entity_set_string(idEV_SZ_viewmodelmodel)
    
   
        
formatex(modelcharsmax(model), "models/knifes_new/%s.mdl"P_MODELS[gNum[id]]) // Aqui Editas la direccion igual que en el precache
        
entity_set_string(idEV_SZ_weaponmodelmodel)
    }
    

/*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] = 
    gNum
[id] = 

public 
client_disconnect(id)
{
    
HasKnife[id] = 
    gNum
[id] = 

Responder
#6
Código PHP:
#include <amxmisc> 
#include <hamsandwich>
#include <engine>
#include <fakemeta>
#include <cstrike>

#define PLUGIN "Knife menu" 
#define VERSION "1.0" 
#define AUTHOR "kikizon" 

enum eKnife knife_model_v[80], knife_model_p[80], knife_name[80] };

new const 
szKnife[][eKnife] = 
{
    { 
"v_knife4""p_knife4""Oro Exclusivo"},
    { 
"v_karambit""p_karambit""KarambitArg"}
};

new 
g_iKnife33 ], HasKnife33 ];

public 
plugin_precache()
{
    static 
idata[120];

    for( 
0sizeof(szKnife); ++)
    {
        
formatex(datacharsmax(data), "models/knifes_new/%s.mdl"szKnife[i][knife_model_v]);
        
precache_model(data);

        
formatex(datacharsmax(data), "models/knifes_new/%s.mdl"szKnife[i][knife_model_p]);
        
precache_model(data);
    }
}

public 
plugin_init()
{
    
register_pluginPLUGINVERSIONAUTHOR );

    
register_clcmd("say /knife""show_knife_menu"ADMIN_RESERVATION);

    
RegisterHam(Ham_Item_Deploy"weapon_knife""fw_ItemDeploy_Knife"true);
}

public 
client_putinserver(id)
    
HasKnife[id] = 0;

public 
show_knife_menu(idlevelcid

    if(!
cmd_access(idlevelcid2)) 
        return 
PLUGIN_HANDLED;

    new 
imenu menu_create("Menu Knife""handler_knife");

    for( 
0sizeof(szKnife); ++)
        
menu_additem(menuszKnife[i][knife_name]);

    return 
PLUGIN_HANDLED
}

public 
handler_knife(idmenuitem)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    
HasKnife[id] = 1;
    
g_iKnifeid ] = item
    return 
PLUGIN_HANDLED;
}

public 
fw_ItemDeploy_Knife(wpn
{
    static 
idid get_weapon_ent_owner(wpn);
    
    if (!
pev_valid(id) || !is_user_aliveid ) || !HasKnifeid ]) 
        return;
    
    static 
WeaponIDWeaponID cs_get_weapon_id(wpn); 
    
    static 
buffer[128];
    
    if(
WeaponID == CSW_KNIFE)
    {
        
formatexbuffercharsmaxbuffer ), "models/knifes_new/%s.mdl"szKnife[g_iKnifeid ]][knife_model_v]);
        
set_pev(idpev_viewmodel2buffer );
        
        
formatexbuffercharsmaxbuffer ), "models/knifes_new/%s.mdl"szKnife[g_iKnifeid ]][knife_model_p]);
        
set_pev(idpev_weaponmodel2buffer);
    }
}
stock get_weapon_ent_owner(ent)
{
    if (
pev_valid(ent) != 2)
        return -
1;
    
    return 
get_pdata_cbase(ent414);

[Imagen: zcsztw-4.png] [Imagen: 6u5fj2-4.png]
[Imagen: linkedin_thumb_image.png][Imagen: 76561198283253977.png][Imagen: linkedin_thumb_image.png]
Responder
#7
(04/07/2020, 03:23 AM)Hypnotize escribió:
Código PHP:
#include <amxmisc> 
#include <hamsandwich>
#include <engine>
#include <fakemeta>
#include <cstrike>

#define PLUGIN "Knife menu" 
#define VERSION "1.0" 
#define AUTHOR "kikizon" 

enum eKnife knife_model_v[80], knife_model_p[80], knife_name[80] };

new const 
szKnife[][eKnife] = 
{
    "v_knife4""p_knife4""Oro Exclusivo"},
    "v_karambit""p_karambit""KarambitArg"}
};

new 
g_iKnife33 ], HasKnife33 ];

public 
plugin_precache()
{
    static idata[120];

    for( 0sizeof(szKnife); ++)
    {
        formatex(datacharsmax(data), "models/knifes_new/%s.mdl"szKnife[i][knife_model_v]);
        precache_model(data);

        formatex(datacharsmax(data), "models/knifes_new/%s.mdl"szKnife[i][knife_model_p]);
        precache_model(data);
    }
}

public 
plugin_init()
{
    register_pluginPLUGINVERSIONAUTHOR );

    register_clcmd("say /knife""show_knife_menu"ADMIN_RESERVATION);

    RegisterHam(Ham_Item_Deploy"weapon_knife""fw_ItemDeploy_Knife"true);
}

public 
client_putinserver(id)
    HasKnife[id] = 0;

public 
show_knife_menu(idlevelcid

    if(!cmd_access(idlevelcid2)) 
        return PLUGIN_HANDLED;

    new imenu menu_create("Menu Knife""handler_knife");

    for( 0sizeof(szKnife); ++)
        menu_additem(menuszKnife[i][knife_name]);

    return PLUGIN_HANDLED
}

public 
handler_knife(idmenuitem)
{
    if(item == MENU_EXIT)
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
    HasKnife[id] = 1;
    g_iKnifeid ] = item
    return PLUGIN_HANDLED;
}

public 
fw_ItemDeploy_Knife(wpn
{
    static idid get_weapon_ent_owner(wpn);
    
    
if (!pev_valid(id) || !is_user_aliveid ) || !HasKnifeid ]) 
        return;
    
    
static WeaponIDWeaponID cs_get_weapon_id(wpn); 
    
    
static buffer[128];
    
    
if(WeaponID == CSW_KNIFE)
    {
        formatexbuffercharsmaxbuffer ), "models/knifes_new/%s.mdl"szKnife[g_iKnifeid ]][knife_model_v]);
        set_pev(idpev_viewmodel2buffer );
        
        formatex
buffercharsmaxbuffer ), "models/knifes_new/%s.mdl"szKnife[g_iKnifeid ]][knife_model_p]);
        set_pev(idpev_weaponmodel2buffer);
    }
}
stock get_weapon_ent_owner(ent)
{
    if (pev_valid(ent) != 2)
        return -1;
    
    
return get_pdata_cbase(ent414);

Hay un problema, descarga el model del knife pero no me deja abrir el menu con /knife, o sea pongo eso en el say y es como que el menu no existiera
Responder
#8
(04/07/2020, 05:35 AM)Raemix01 escribió: Hay un problema, descarga el model del knife pero no me deja abrir el menu con /knife, o sea pongo eso en el say y es como que el menu no existiera

Código PHP:
public show_knife_menu(idlevelcid

    if(!
cmd_access(idlevelcid2)) 
        return 
PLUGIN_HANDLED;

    new 
imenu menu_create("Menu Knife""handler_knife");

    for( 
0sizeof(szKnife); ++)
        
menu_additem(menuszKnife[i][knife_name]);

    return 
PLUGIN_HANDLED


----- >

Código PHP:
public show_knife_menu(idlevelcid

    if(!
cmd_access(idlevelcid2)) 
        return 
PLUGIN_HANDLED;

    new 
imenu menu_create("Menu Knife""handler_knife");

    for( 
0sizeof(szKnife); ++)
        
menu_additem(menuszKnife[i][knife_name]);

    
menu_display(idmenu0);
    return 
PLUGIN_HANDLED

Responder
#9
(04/07/2020, 05:52 AM)Chema escribió:
Código PHP:
public show_knife_menu(idlevelcid

    if(!cmd_access(idlevelcid2)) 
        return PLUGIN_HANDLED;

    new imenu menu_create("Menu Knife""handler_knife");

    for( 0sizeof(szKnife); ++)
        menu_additem(menuszKnife[i][knife_name]);

    return PLUGIN_HANDLED


----- >

Código PHP:
public show_knife_menu(idlevelcid

    if(!cmd_access(idlevelcid2)) 
        return PLUGIN_HANDLED;

    new imenu menu_create("Menu Knife""handler_knife");

    for( 0sizeof(szKnife); ++)
        menu_additem(menuszKnife[i][knife_name]);

    menu_display(idmenu0);
    return PLUGIN_HANDLED

De nuevo muchisimas gracias a los dos hypno y chema, ya funciona perfecto, mañana les aviso si no aparecen errores de este plugin en todo el dia Cutecry
Responder
#10
chema agrego esto

Código PHP:
menu_display(idmenu0); 

ya era muy noche y ni me fije que no lo puse Roflmao Roflmao
[Imagen: zcsztw-4.png] [Imagen: 6u5fj2-4.png]
[Imagen: linkedin_thumb_image.png][Imagen: 76561198283253977.png][Imagen: linkedin_thumb_image.png]
Responder
#11
(04/07/2020, 01:29 PM)Hypnotize escribió: chema agrego esto

Código PHP:
menu_display(idmenu0); 

ya era muy noche y ni me fije que no lo puse  Roflmao  Roflmao
Funcionó perfecto, ya no hay más logs en el servidor, muchas gracias a los dos
Responder
#12
(04/07/2020, 01:29 PM)Hypnotize escribió: chema agrego esto

Código PHP:
menu_display(idmenu0); 

ya era muy noche y ni me fije que no lo puse  Roflmao  Roflmao
Ahora tengo un problema que no tenia antes, no se que pasó pero cuando los admins usan un cuchillo de los que están en el menu, a algunos usuarios se les sale el juego y a algunos admins también, por ejemplo entran al server y a los 5min se les cierra el cs, sin dejar ningun error ni nada. Porque puede ser esto?
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)