AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Runtime error 5 memory access help ? (https://forums.alliedmods.net/showthread.php?t=63974)

orglee 12-04-2007 21:47

Runtime error 5 memory access help ?
 
This happens when I'm choosing weapon typeing kill in console then after respawn I see menu again and I'm choosing third option after another death when I'm about to be reborn CS i shuting down and I see below code in console. Help me please :|
Code:

SZ_GetSpace: overflow on netchan->message
SZ_GetSpace: overflow on netchan->message
SZ_GetSpace: overflow on netchan->message
SZ_GetSpace: overflow on netchan->message
SZ_GetSpace: overflow on netchan->message
SZ_GetSpace: overflow on netchan->message
SZ_GetSpace: overflow on netchan->message
SZ_GetSpace: overflow on netchan->message
SZ_GetSpace: overflow on netchan->message
SZ_GetSpace: overflow on netchan->message
SZ_GetSpace: overflow on netchan->message
SZ_GetSpace: overflow on netchan->message
L 12/05/2007 - 03:37:39: [AMXX] Displaying debug trace (plugin "guns_menu.amxx")
L 12/05/2007 - 03:37:39: [AMXX] Run time error 3: stack error
SZ_GetSpace: overflow on netchan->message
L 12/05/2007 - 03:37:40: [AMXX] Displaying debug trace (plugin "guns_menu.amxx")
L 12/05/2007 - 03:37:40: [AMXX] Run time error 5: memory access
L 12/05/2007 - 03:37:40: [AMXX]    [0] guns_menu.sma::menuMain (line 110)
L 12/05/2007 - 03:37:40: [AMXX] Displaying debug trace (plugin "guns_menu.amxx")
L 12/05/2007 - 03:37:40: [AMXX] Run time error 5: memory access
L 12/05/2007 - 03:37:40: [AMXX]    [0] guns_menu.sma::menuMain (line 110)
WARNING: reliable overflow for orglee
orglee overflowed
Reliable channel overflowed

In menuMain() I've set task cause I thought this error was caused by removing weapons while player was dead.
My plugin code:
Code:
#include <amxmodx> #include <amxmisc> #include <cstrike> #include <fun> #define PLUGIN "Guns menu" #define VERSION "1.0" #define AUTHOR "orglee" #define MSG_PREFIX "[GUNMENU]" new g_guns[31][] = {"", "", "weapon_p228", "weapon_scout", "weapon_hegrenade", "weapon_xm1014",             "weapon_c4", "weapon_mac10", "weapon_aug", "weapon_smokegrenade", "weapon_elite",             "weapon_fiveseven", "weapon_ump45", "weapon_sg550", "weapon_galil", "weapon_famas",             "weapon_usp", "weapon_glock18", "weapon_awp", "weapon_mp5navy", "weapon_m249",             "weapon_m3", "weapon_m4a1", "weapon_tmp", "weapon_g3sg1", "weapon_flashbang",             "weapon_deagle", "weapon_sg552", "weapon_ak47", "weapon_knife", "weapon_p90"} new g_pistol_names[6][] = {"Glock", "USP",             "Compact", "Deagle",             "Five-Seven", "Dual Bereta"} new g_pistol_ids[6][] = {"weapon_glock18", "weapon_usp",             "weapon_p228", "weapon_deagle",             "weapon_fiveseven", "weapon_elite"} new g_rifle_names[14][] = {"Clarion", "M4A1",             "Bullpup", "Galil",             "AK47", "Krieg",             "Scout", "AWP",             "Ingram", "Schmidt",             "UMP", "P90",             "MP5", "M249"} new g_rifle_ids[14][] = {"weapon_famas", "weapon_m4a1",             "weapon_aug", "weapon_galil",             "weapon_ak47", "weapon_sg552",             "weapon_scout", "weapon_awp",             "weapon_mac10", "weapon_tmp",             "weapon_ump45", "weapon_p90",             "weapon_mp5navy", "weapon_m249"} new menu_main_keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3 new menu_pistol_keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6 new menu_rifle_keys = MENU_KEY_0|MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9 enum E_PLAYER {     menu_status = 2,     menu_rifle_page = 3 } new g_players[33][E_PLAYER], gun_pistol[33], gun_rifle[33] public plugin_init() {     register_plugin(PLUGIN, VERSION, AUTHOR)     register_concmd("say /guns","menuDisplay")     register_concmd("say guns","menuDisplay")     register_event("ResetHUD", "menuMain", "be")     register_menucmd(register_menuid("Main_Menu"), menu_main_keys, "menuMainHandler")     register_menucmd(register_menuid("Pistol_Menu"), menu_pistol_keys, "menuPistolHandler")     register_menucmd(register_menuid("Rifle_Menu"), menu_rifle_keys, "menuRifleHandler") } public client_connect(id) {     copy(gun_rifle[id], 22, "none")     copy(gun_pistol[id], 22, "none")     g_players[id][menu_status] = 1     g_players[id][menu_rifle_page] = 1 } public menuDisplay(id) {     if(!is_user_alive(id)) {         client_print(id, print_chat, "%s Choosing allowed only while player is alive.", MSG_PREFIX)         return     }     g_players[id][menu_status] = 1     menuMain(id) } public menuTask(args[]) {     menuMain(args[0]) } public menuMain(id) {     if(!is_user_alive(id)) {         // For debuging         client_print(id, print_chat, "Menu off loading saved weapons")         new args[1]         args[0] = id         set_task(2.0, "menuTask", id, args, 1)     }     // Add kevlar after respawn     cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM)     if(g_players[id][menu_status] == 0)     {         client_print(id, print_chat, "Menu wylaczone, przywracam bron")         client_print(id, print_chat, "Pistol: %s, Rifle: %s", gun_pistol[id], gun_rifle[id])         //weaponsDrop(id) - had also troubles here         give_item(id, gun_pistol[id])         give_item(id, gun_rifle[id])     }     else     {         client_print(id, print_chat, "Wyswietlam menu")         new menutext[50]         format(menutext, 191, "\                 ^n\r1. \wNew set\                 ^n\r2. \wLoad last\                 ^n\r3. \wLoad & close")         show_menu(id, menu_main_keys, menutext, -1, "Main_Menu")     } } public menuMainHandler(id, key) {     // New Set     if(key == 0)     {         new menutext[192]         format(menutext, 191, "\^n\r1. \w%s^n\r2. \w%s^n\r3. \w%s^n\r4. \w%s^n\r5. \w%s^n\r6. \w%s",             g_pistol_names[0],             g_pistol_names[1],             g_pistol_names[2],             g_pistol_names[3],             g_pistol_names[4],             g_pistol_names[5])                 show_menu(id, menu_pistol_keys, menutext, -1, "Pistol_Menu")     }     // Load Last     else if(key == 1)     {         if(!equal(gun_rifle[id], "none") && !equal(gun_pistol[id], "none"))         {             weaponsDrop(id)             client_print(id, print_chat, "Pistol: %s, Rifle: %s", gun_pistol[id], gun_rifle[id])             give_item(id, gun_pistol[id])             give_item(id, gun_rifle[id])         }         else         {             client_print(id, print_chat, "%s You have to select weapon first.", MSG_PREFIX)             menuMain(id)         }     }     // Load Last and turn menu off     else if(key == 2)     {         if(!equal(gun_rifle[id], "none") && !equal(gun_pistol[id], "none"))         {             weaponsDrop(id)             give_item(id, gun_pistol[id])             give_item(id, gun_rifle[id])             g_players[id][menu_status] = 0             client_print(id, print_chat, "%s Type guns to enable menu.", MSG_PREFIX)         }         else         {             client_print(id, print_chat, "%s You have to select weapon first.", MSG_PREFIX)             menuMain(id)         }     }     return PLUGIN_HANDLED } public menuPistolHandler(id, key) {     weaponsDrop(id)     give_item(id, g_pistol_ids[key])     // Save pistol     copy(gun_pistol[id], 21, g_pistol_ids[key])     client_print(id, print_chat, "RiflePage: %d, MenuStatus: %d, GunPistol: %s, GunRifle: %s",         g_players[id][menu_rifle_page],         g_players[id][menu_status],         gun_pistol[id],         gun_rifle[id])     menuRifle(id) } public menuRifle(id) {     new menutext[192]     if(g_players[id][menu_rifle_page] == 1)     {         format(menutext, 191, "\^n\r1. \w%s^n\r2. \w%s^n\r3. \w%s^n\r4. \w%s^n\r5. \w%s^n\r6. \w%s^n\r7. \w%s^n\r8. \w%s^n\r9. \wNext",                 g_rifle_names[0],                 g_rifle_names[1],                 g_rifle_names[2],                 g_rifle_names[3],                 g_rifle_names[4],                 g_rifle_names[5],                 g_rifle_names[6],                 g_rifle_names[7])     }     else     {         format(menutext, 191, "\r1. \w%s^n\r2. \w%s^n\r3. \w%s^n\r4. \w%s^n\r5. \w%s^n\r6. \w%s^n\r0. \wPrevious",                      g_rifle_names[8],                 g_rifle_names[9],                 g_rifle_names[10],                 g_rifle_names[11],                 g_rifle_names[12],                 g_rifle_names[13])     }     show_menu(id, menu_rifle_keys, menutext, -1, "Rifle_Menu")     return PLUGIN_HANDLED } public menuRifleHandler(id, key) {     // Next page btn 9     if(key == 8)     {         if(g_players[id][menu_rifle_page] == 1)         {             g_players[id][menu_rifle_page] = 2         }         menuRifle(id)     }     // Back btn 0     else if(key == 9)     {         if(g_players[id][menu_rifle_page]== 2)         {             g_players[id][menu_rifle_page] = 1         }         menuRifle(id)     }     // Weapon already choosen     else     {         new gun_id;         if(g_players[id][menu_rifle_page] == 1) {             gun_id = key         } else {             gun_id = key + 8         }         give_item(id, g_rifle_ids[gun_id])         // save rifle         copy(gun_rifle[id], strlen(g_rifle_ids[gun_id]), g_rifle_ids[gun_id])         // reset meun page number         g_players[id][menu_rifle_page] = 1     }     return PLUGIN_HANDLED } public weaponsDrop(id) {     new weapons[32]     new i, num_weapons     get_user_weapons(id, weapons, num_weapons)     for(i = 0; i < num_weapons; i++)     {         if(weapons[i] != CSW_HEGRENADE && weapons[i] != CSW_FLASHBANG && weapons[i] != CSW_SMOKEGRENADE && weapons[i] != CSW_KNIFE)         {             engclient_cmd(id, "drop", g_guns[weapons[i]])         }     } }

YamiKaitou 12-04-2007 22:08

Re: Runtime error 5 memory access help ?
 
PHP Code:

        new menutext[50]
        
format(menutext191"\
                ^n\r1. \wNew set\
                ^n\r2. \wLoad last\
                ^n\r3. \wLoad & close"


Should be

PHP Code:

        new menutext[192]
        
format(menutext191"\
                ^n\r1. \wNew set\
                ^n\r2. \wLoad last\
                ^n\r3. \wLoad & close"



orglee 12-04-2007 22:20

Re: Runtime error 5 memory access help ?
 
Yeah you are right but it does not solves main problem. :(

Zenith77 12-04-2007 22:58

Re: Runtime error 5 memory access help ?
 
Quote:

Originally Posted by orglee (Post 559964)
Yeah you are right but it does not solves main problem. :(

Um you sure about that? Try restarting your server with the updated script.

orglee 12-04-2007 23:11

Re: Runtime error 5 memory access help ?
 
100 percent positive :(
Code:

SZ_GetSpace: overflow on netchan->message
SZ_GetSpace: overflow on netchan->message
SZ_GetSpace: overflow on netchan->message
SZ_GetSpace: overflow on netchan->message
SZ_GetSpace: overflow on netchan->message
SZ_GetSpace: overflow on netchan->message
SZ_GetSpace: overflow on netchan->message
SZ_GetSpace: overflow on netchan->message
SZ_GetSpace: overflow on netchan->message
SZ_GetSpace: overflow on netchan->message
SZ_GetSpace: overflow on netchan->message
SZ_GetSpace: overflow on netchan->message
L 12/05/2007 - 05:09:37: [AMXX] Displaying debug trace (plugin "guns_menu.amxx")
L 12/05/2007 - 05:09:37: [AMXX] Run time error 3: stack error
SZ_GetSpace: overflow on netchan->message
WARNING: reliable overflow for orglee
orglee overflowed
Reliable channel overflow

Any ideas how can I check whats causing this strange behavior ?

orglee 12-05-2007 10:08

Re: Runtime error 5 memory access help ?
 
Help anyone ? :(

Owyn 02-13-2009 16:44

Re: Runtime error 5 memory access help ?
 
so Run time error 5: memory access is caused by too low values inside brackets []?


All times are GMT -4. The time now is 11:00.

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