Mensajes: 104
Temas: 40
Registro en: May 2020
Reputación:
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(ent, 41, 4) if(!is_user_admin(id)) 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[gNum[id]]) // Aqui Editas la direccion igual que en el precache entity_set_string(id, EV_SZ_weaponmodel, model) } }
Mensajes: 7,178
Temas: 93
Registro en: Aug 2014
Reputación:
63
la linea del error y todo el code como tal, index of bounds es porque excediste la matriz.
Mensajes: 104
Temas: 40
Registro en: May 2020
Reputación:
1
(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?
Mensajes: 7,178
Temas: 93
Registro en: Aug 2014
Reputación:
63
que pases el code completo y la linea de error
Mensajes: 104
Temas: 40
Registro en: May 2020
Reputación:
1
(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(model, charsmax(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 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 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)) 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[gNum[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 }
Mensajes: 7,178
Temas: 93
Registro en: Aug 2014
Reputación:
63
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_iKnife[ 33 ], HasKnife[ 33 ];
public plugin_precache() { static i, data[120];
for( i = 0; i < sizeof(szKnife); ++i ) { formatex(data, charsmax(data), "models/knifes_new/%s.mdl", szKnife[i][knife_model_v]); precache_model(data);
formatex(data, charsmax(data), "models/knifes_new/%s.mdl", szKnife[i][knife_model_p]); precache_model(data); } }
public plugin_init() { register_plugin( PLUGIN, VERSION, AUTHOR );
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(id, level, cid) { if(!cmd_access(id, level, cid, 2)) return PLUGIN_HANDLED;
new i, menu = menu_create("Menu Knife", "handler_knife");
for( i = 0; i < sizeof(szKnife); ++i ) menu_additem(menu, szKnife[i][knife_name]);
return PLUGIN_HANDLED; }
public handler_knife(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; } HasKnife[id] = 1; g_iKnife[ id ] = item; return PLUGIN_HANDLED; }
public fw_ItemDeploy_Knife(wpn) { static id; id = get_weapon_ent_owner(wpn); if (!pev_valid(id) || !is_user_alive( id ) || !HasKnife[ id ]) return; static WeaponID; WeaponID = cs_get_weapon_id(wpn); static buffer[128]; if(WeaponID == CSW_KNIFE) { formatex( buffer, charsmax( buffer ), "models/knifes_new/%s.mdl", szKnife[g_iKnife[ id ]][knife_model_v]); set_pev(id, pev_viewmodel2, buffer ); formatex( buffer, charsmax( buffer ), "models/knifes_new/%s.mdl", szKnife[g_iKnife[ id ]][knife_model_p]); set_pev(id, pev_weaponmodel2, buffer); } } stock get_weapon_ent_owner(ent) { if (pev_valid(ent) != 2) return -1; return get_pdata_cbase(ent, 41, 4); }
Mensajes: 104
Temas: 40
Registro en: May 2020
Reputación:
1
(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_iKnife[ 33 ], HasKnife[ 33 ];
public plugin_precache() { static i, data[120];
for( i = 0; i < sizeof(szKnife); ++i ) { formatex(data, charsmax(data), "models/knifes_new/%s.mdl", szKnife[i][knife_model_v]); precache_model(data);
formatex(data, charsmax(data), "models/knifes_new/%s.mdl", szKnife[i][knife_model_p]); precache_model(data); } }
public plugin_init() { register_plugin( PLUGIN, VERSION, AUTHOR );
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(id, level, cid) { if(!cmd_access(id, level, cid, 2)) return PLUGIN_HANDLED;
new i, menu = menu_create("Menu Knife", "handler_knife");
for( i = 0; i < sizeof(szKnife); ++i ) menu_additem(menu, szKnife[i][knife_name]);
return PLUGIN_HANDLED; }
public handler_knife(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; } HasKnife[id] = 1; g_iKnife[ id ] = item; return PLUGIN_HANDLED; }
public fw_ItemDeploy_Knife(wpn) { static id; id = get_weapon_ent_owner(wpn); if (!pev_valid(id) || !is_user_alive( id ) || !HasKnife[ id ]) return; static WeaponID; WeaponID = cs_get_weapon_id(wpn); static buffer[128]; if(WeaponID == CSW_KNIFE) { formatex( buffer, charsmax( buffer ), "models/knifes_new/%s.mdl", szKnife[g_iKnife[ id ]][knife_model_v]); set_pev(id, pev_viewmodel2, buffer ); formatex( buffer, charsmax( buffer ), "models/knifes_new/%s.mdl", szKnife[g_iKnife[ id ]][knife_model_p]); set_pev(id, pev_weaponmodel2, buffer); } } stock get_weapon_ent_owner(ent) { if (pev_valid(ent) != 2) return -1; return get_pdata_cbase(ent, 41, 4); }
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
Mensajes: 3,077
Temas: 33
Registro en: May 2017
Reputación:
34
(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(id, level, cid) { if(!cmd_access(id, level, cid, 2)) return PLUGIN_HANDLED;
new i, menu = menu_create("Menu Knife", "handler_knife");
for( i = 0; i < sizeof(szKnife); ++i ) menu_additem(menu, szKnife[i][knife_name]);
return PLUGIN_HANDLED; }
----- >
Código PHP: public show_knife_menu(id, level, cid) { if(!cmd_access(id, level, cid, 2)) return PLUGIN_HANDLED;
new i, menu = menu_create("Menu Knife", "handler_knife");
for( i = 0; i < sizeof(szKnife); ++i ) menu_additem(menu, szKnife[i][knife_name]);
menu_display(id, menu, 0); return PLUGIN_HANDLED; }
Mensajes: 104
Temas: 40
Registro en: May 2020
Reputación:
1
(04/07/2020, 05:52 AM)Chema escribió: Código PHP: public show_knife_menu(id, level, cid) { if(!cmd_access(id, level, cid, 2)) return PLUGIN_HANDLED;
new i, menu = menu_create("Menu Knife", "handler_knife");
for( i = 0; i < sizeof(szKnife); ++i ) menu_additem(menu, szKnife[i][knife_name]);
return PLUGIN_HANDLED; }
----- >
Código PHP: public show_knife_menu(id, level, cid) { if(!cmd_access(id, level, cid, 2)) return PLUGIN_HANDLED;
new i, menu = menu_create("Menu Knife", "handler_knife");
for( i = 0; i < sizeof(szKnife); ++i ) menu_additem(menu, szKnife[i][knife_name]);
menu_display(id, menu, 0); 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
Mensajes: 7,178
Temas: 93
Registro en: Aug 2014
Reputación:
63
chema agrego esto
Código PHP: menu_display(id, menu, 0);
ya era muy noche y ni me fije que no lo puse
Mensajes: 104
Temas: 40
Registro en: May 2020
Reputación:
1
(04/07/2020, 01:29 PM)Hypnotize escribió: chema agrego esto
Código PHP: menu_display(id, menu, 0);
ya era muy noche y ni me fije que no lo puse Funcionó perfecto, ya no hay más logs en el servidor, muchas gracias a los dos
Mensajes: 104
Temas: 40
Registro en: May 2020
Reputación:
1
(04/07/2020, 01:29 PM)Hypnotize escribió: chema agrego esto
Código PHP: menu_display(id, menu, 0);
ya era muy noche y ni me fije que no lo puse 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?
|