Raised This Month: $ Target: $400
 0% 

[SOLVED] Run time error 4: index out of bounds


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
^SmileY
Veteran Member
Join Date: Jan 2010
Location: Brazil [<o>]
Old 04-24-2011 , 00:00   [SOLVED] Run time error 4: index out of bounds
Reply With Quote #1

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_headerid"PUG_KEYPAD_START");
}

public 
keypad_handle(idmenuitem)
{
    if( 
item ) return PLUGIN_CONTINUE;

    static 
accesscallback
    
static cmd[3], cmdname[32]
 
    
menu_item_getinfo(menuitemaccesscmd,2,cmdname,31callback);
    
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 
0check; ++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_headerid"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_headerid"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 ??
__________________
Projects:

- See my Git Hub: https://github.com/SmileYzn
PHP Code:
set_pcvar_num(pCvar, !get_pcvar_num(pCvar)); 

Last edited by ^SmileY; 04-24-2011 at 00:00. Reason: Sorry, Other Password In Conde
^SmileY is offline
Send a message via MSN to ^SmileY Send a message via Skype™ to ^SmileY
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 04-24-2011 , 01:49   Re: Run time error 4: index out of bounds
Reply With Quote #2

pug_keypad_mykey[id] is getting too large! (more than 9)
__________________
fysiks is offline
^SmileY
Veteran Member
Join Date: Jan 2010
Location: Brazil [<o>]
Old 04-24-2011 , 03:21   Re: Run time error 4: index out of bounds
Reply With Quote #3

Quote:
Originally Posted by fysiks View Post
pug_keypad_mykey[id] is getting too large! (more than 9)
I don`t understand
__________________
Projects:

- See my Git Hub: https://github.com/SmileYzn
PHP Code:
set_pcvar_num(pCvar, !get_pcvar_num(pCvar)); 
^SmileY is offline
Send a message via MSN to ^SmileY Send a message via Skype™ to ^SmileY
Arkshine
AMX Mod X Plugin Approver
Join Date: Oct 2005
Old 04-24-2011 , 04:32   Re: Run time error 4: index out of bounds
Reply With Quote #4

#define KEYPAD_MAX 10
new pug_keypad_store[33][KEYPAD_MAX]
// ...
pug_keypad_store[id][pug_keypad_mykey[id]] = str_to_num(cmd);

He says the value of pug_keypad_mykey[id] is most likely > 9 when pug_keypad_store accept only an index between 0 and 9.
__________________
Arkshine is offline
^SmileY
Veteran Member
Join Date: Jan 2010
Location: Brazil [<o>]
Old 04-24-2011 , 11:20   Re: Run time error 4: index out of bounds
Reply With Quote #5

Quote:
Originally Posted by Arkshine View Post
#define KEYPAD_MAX 10
new pug_keypad_store[33][KEYPAD_MAX]
// ...
pug_keypad_store[id][pug_keypad_mykey[id]] = str_to_num(cmd);

He says the value of pug_keypad_mykey[id] is most likely > 9 when pug_keypad_store accept only an index between 0 and 9.

Thansk fixed, but i enter the correct password the menu don't close and don't called any function
__________________
Projects:

- See my Git Hub: https://github.com/SmileYzn
PHP Code:
set_pcvar_num(pCvar, !get_pcvar_num(pCvar)); 
^SmileY is offline
Send a message via MSN to ^SmileY Send a message via Skype™ to ^SmileY
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 04-24-2011 , 11:23   Re: Run time error 4: index out of bounds
Reply With Quote #6

Quote:
Originally Posted by ^SmileY View Post
Thansk fixed, but i enter the correct password the menu don't close and don't called any function
What did you change from the original plugin. (that is where it doesn't work probably)
__________________
fysiks is offline
^SmileY
Veteran Member
Join Date: Jan 2010
Location: Brazil [<o>]
Old 04-24-2011 , 11:24   Re: Run time error 4: index out of bounds
Reply With Quote #7

Quote:
Originally Posted by fysiks View Post
What did you change from the original plugin. (that is where it doesn't work probably)

Nothing

PHP Code:
#include <amxmodx>
#include <amxmisc>

#include <yap_menu>
#include <yap_const>
#include <yap_stocks>

new const plugin_author[] = "Twilight Suzuka"
new const plugin_name[] = "YAP-KEYPAD"
new const plugin_version[] = "0.0.1"

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,plugin_version,plugin_author);
    
register_dictionary("yap.txt")
    
register_dictionary("yap_keypad.txt")

    
pug_cvar_keypad_key register_cvar("pug_keypad_key","DNE")
    
pug_cvar_keypad_num register_cvar("pug_keypad_num","0")
    
pug_cvar_keypad_admin register_cvar("pug_keypad_admin","z")

    
register_pug_clcmd("keypad","cmd_keypad",_,"[key] Checks key against server key for admin")

    
//parse_header("BOE-E",pug_header,5)
    
    
pug_keypad_menu menu_create("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_headerid"PUG_KEYPAD_START");
}

public 
keypad_handle(idmenuitem)
{
    if( 
item ) return PLUGIN_CONTINUE;

    static 
accesscallback
    
static cmd[3], cmdname[32]
 
    
menu_item_getinfo(menuitemaccesscmd,2,cmdname,31callback);
    
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 
0check; ++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_headerid"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_headerid"PUG_KEYPAD_FAILURE");

EDIT: LOL

Solved >>


Solution: Correct Cvars..


pug_keypad_key 2133 // This is the password
pug_keypad_num 4 // This is the size of password
pug_keypad_admin "abcdefghijklmnopqrstu" // This is temporary access given to correct password
__________________
Projects:

- See my Git Hub: https://github.com/SmileYzn
PHP Code:
set_pcvar_num(pCvar, !get_pcvar_num(pCvar)); 

Last edited by ^SmileY; 04-24-2011 at 12:19. Reason: SOLVED! Close
^SmileY is offline
Send a message via MSN to ^SmileY Send a message via Skype™ to ^SmileY
Old 04-24-2011, 12:17
^SmileY
This message has been deleted by ^SmileY. Reason: Sorry
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 19:57.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode