[SOLVED] Run time error 4: index out of bounds
PHP Code:
#include <amxmodx> #include <amxmisc>
#include <pug_menu> #include <pug_const> #include <pug_stocks>
new const plugin_author[] = "Twilight Suzuka" new const plugin_name[] = "pug-KEYPAD"
public pug_keypad_menu; public pug_cvar_keypad_key public pug_cvar_keypad_num public pug_cvar_keypad_admin
public plugin_init() { register_plugin(plugin_name,AMXX_VERSION_STR,plugin_author); register_dictionary("pug.txt") register_dictionary("pug_keypad.txt")
pug_cvar_keypad_key = register_cvar("pug_keypad_key","md5_hash") pug_cvar_keypad_num = register_cvar("pug_keypad_num","2133") pug_cvar_keypad_admin = register_cvar("pug_keypad_admin","abcdefghijklmnopqrstu")
register_pug_clcmd("keypad","cmd_keypad",_,"Torna um jogador Admin")
//parse_header("BOE-E",pug_header,5) pug_keypad_menu = menu_create("Codigo do Keypad:","keypad_handle")
menu_additem(pug_keypad_menu,"One","1") menu_additem(pug_keypad_menu,"Two","2") menu_additem(pug_keypad_menu,"Three","3") menu_additem(pug_keypad_menu,"Four","4") menu_additem(pug_keypad_menu,"Five","5") menu_additem(pug_keypad_menu,"Six","6") menu_additem(pug_keypad_menu,"Seven","7") menu_additem(pug_keypad_menu,"Eight","8") menu_additem(pug_keypad_menu,"Nine","9") menu_additem(pug_keypad_menu,"Zero","0")
//menu_additem(pug_keypad_menu,"Reset/Cancel","0") menu_setprop(pug_keypad_menu,MPROP_EXIT,MEXIT_NEVER) }
#define KEYPAD_MAX 10 new pug_keypad_store[33][KEYPAD_MAX] new pug_keypad_mykey[33]
public cmd_keypad(id,level,cid) { if (!get_pcvar_num(pug_cvar_keypad_num) ) return pug_msg_tmp_empty(id,"PUG_CMD_NOTALLOWED") else if(read_argc() > 1) { static keypad_store[100] read_argv(1,keypad_store,99) } else keypad_start(id)
return PLUGIN_HANDLED; }
public keypad_start(id) { arrayset(pug_keypad_store[id],0,KEYPAD_MAX) pug_keypad_mykey[id] = 0;
pug_display_menu_single(id,pug_keypad_menu)
client_print(id,print_chat,"%s %L",pug_header, id, "PUG_KEYPAD_START"); }
public keypad_handle(id, menu, item) { if( item < 0 ) return PLUGIN_CONTINUE;
static access, callback static cmd[3], cmdname[32] menu_item_getinfo(menu, item, access, cmd,2,cmdname,31, callback); pug_keypad_store[id][pug_keypad_mykey[id]] = str_to_num(cmd);
pug_keypad_mykey[id]++
if(pug_keypad_mykey[id] >= get_pcvar_num(pug_cvar_keypad_num) ) keypad_end(id) else pug_display_menu_single(id,pug_keypad_menu)
return PLUGIN_HANDLED; }
public keypad_end(id) { static arraystr[KEYPAD_MAX * 3] arraystr[0] = '^0'
new check = pug_keypad_mykey[id]
for(new i = 0; i < check; ++i) { format(arraystr,KEYPAD_MAX * 3,"%s%d",arraystr,pug_keypad_store[id][i]) } keypad_check_input(id,arraystr) }
stock keypad_check_input(id,str[]) { static md5_hash[34], md5_hash2[34]; md5(str,md5_hash) get_pcvar_string(pug_cvar_keypad_key,md5_hash2,33)
if(equal(md5_hash,md5_hash2)) keypad_success(id) else keypad_failure(id)
arrayset(pug_keypad_store[id],0,KEYPAD_MAX) pug_keypad_mykey[id] = 0; }
stock keypad_success(id) { static admin_pawaa[33] get_pcvar_string(pug_cvar_keypad_admin,admin_pawaa,32)
client_print(id,print_chat,"%s %L",pug_header, id, "PUG_KEYPAD_SUCCESS",admin_pawaa); new pawaa = read_flags ( admin_pawaa ) set_user_flags(id,pawaa) }
stock keypad_failure(id) { client_print(id,print_chat,"%s %L",pug_header, id, "PUG_KEYPAD_FAILURE"); }
Code:
L 04/24/2011 - 00:56:26: Start of error session.
L 04/24/2011 - 00:56:26: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20110424.log")
L 04/24/2011 - 00:56:26: [AMXX] Displaying debug trace (plugin "pug_keypad.amxx")
L 04/24/2011 - 00:56:26: [AMXX] Run time error 4: index out of bounds
L 04/24/2011 - 00:56:26: [AMXX] [0] pug_keypad.sma::keypad_handle (line 83)
Any idea ?? :3
|