Witajcie, przychodzę zapewne z drobnym problemem no ale cóż nie potrafię go rozwiązać otóż przekraczam "limit" tablicy ale nie potrafię odnaleźć błędu
z logów to
L 11/24/2016 - 01:16:18: [AMXX] Displaying debug trace (plugin "csgomod.amxx") L 11/24/2016 - 01:16:18: [AMXX] Run time error 4: index out of bounds L 11/24/2016 - 01:16:18: [AMXX] [0] csgomod.sma::plugin_precache (line 97)
oraz
L 11/24/2016 - 01:18:09: [AMXX] Run time error 4: index out of bounds L 11/24/2016 - 01:18:09: [AMXX] [0] csgomod.sma::ChestOpen (line 358) L 11/24/2016 - 01:18:09: [AMXX] [1] csgomod.sma::MenuHandler (line 734) L 11/24/2016 - 01:18:09: [AMXX] Displaying debug trace (plugin "csgomod.amxx")
PLIK CHESTOPEN chodzi o linijkę if(WeaponDrop[rWeapon] >= random_num(1, 100))
public ChestOpen(id) { new rWeapon = random_num(1, AllWeapon); if(WeaponDrop[rWeapon] >= random_num(1, 100)) { ColorChat(id, GREY, "^4[CSGO]%L", LANG_SERVER, "FOUNDITEM", g_iPlayerData[id][DATA_NICK], WeaponNames[rWeapon]); g_iPlayerData[id][DATA_WEAPONS][rWeapon]++; SQL_FormatQuery("UPDATE `csgo` SET `keys` = (`keys` - 1) WHERE `id` = %i", g_iPlayerData[id][DATA_INDEX]); SQL_ThreadQuery(g_hSqlTuple, "HandleNullRoute", g_szQuery); SQL_FormatQuery("UPDATE `csgo` SET `chest` = (`chest` - 1) WHERE `id` = %i", g_iPlayerData[id][DATA_INDEX]); SQL_ThreadQuery(g_hSqlTuple, "HandleNullRoute", g_szQuery); SQL_FormatQuery("UPDATE `csgo` SET `%s` = (`%s` + 1) WHERE `id` = %i", g_szWeaponTableName[rWeapon], g_szWeaponTableName[rWeapon], g_iPlayerData[id][DATA_INDEX]); SQL_ThreadQuery(g_hSqlTuple, "HandleNullRoute", g_szQuery); } else { set_task(0.1, "ChestOpen", id); } }
tablice
g_szWeaponTableName[][] = { "", "knife_1", "knife_2", "knife_3", "knife_4", "knife_5", "knife_6", "knife_7", "knife_8", "knife_9", "knife_10", "knife_11", "knife_12", "knife_13", "knife_14", "knife_15", "knife_16", "knife_17", "knife_18", "knife_19", "knife_20", "knife_21", "knife_22", "knife_23", "knife_24", "glock16_1", "glock16_2", "glock16_3", "glock16_4", "glock16_5", "glock16_6", "usp_1", "usp_2", "usp_3", "usp_4", "p228_1", "p228_2", "p228_3", "p228_4", "deagle_1", "deagle_2", "deagle_3", "deagle_4", "fiveseven_1", "fiveseven_2", "fiveseven_3", "fiveseven_4", "elite_1", "elite_2", "elite_3", "ak47_1", "ak47_2", "ak47_3", "ak47_4", "ak47_5", "aug_1", "aug_2", "aug_3", "awp_1", "awp_2", "awp_3", "awp_4", "famas_1", "famas_2", "famas_3", "g3sg1_1", "g3sg1_2", "g3sg1_3", "galil_1", "galil_2", "galil_3", "m4a1_1", "m4a1_2", "m4a1_3", "m4a1_4", "m4a1_5", "scout_1", "scout_2", "scout_3", "sg550_1", "sg550_2", "sg550_3", "sg552_1", "sg552_2", "sg552_3", "m3_1", "m3_2", "m3_3", "mac10_1", "mac10_2", "mac10_3", "mp5_1", "mp5_2", "mp5_3", "p90_1", "p90_2", "p90_3", "tmp_1", "tmp_2", "ump45_1", "ump45_2", "m249_1" }; new const eWeapon[][] = { "weapon_p228", "weapon_scout", "weapon_xm1014", "weapon_mac10", "weapon_aug", "weapon_elite", "weapon_fiveseven", "weapon_ump45", "weapon_sg550", "weapon_galil", "weapon_famas", "weapon_m4a1", "weapon_usp", "weapon_glock18", "weapon_awp", "weapon_mp5navy", "weapon_m249", "weapon_m3", "weapon_tmp", "weapon_g3sg1", "weapon_deagle", "weapon_sg552", "weapon_ak47", "weapon_p90", "weapon_c4", "weapon_hegrenade", "weapon_flashbang", "weapon_smokegrenade", "weapon_knife" };
błąd z precache to
Weapons[AllWeapon] = str_to_num(Data[0]);
błąd z HanndlePlayerConnect
L 11/24/2016 - 01:22:05: [AMXX] [0] csgomod.sma::HandlePlayerConnect (line 936) L 11/24/2016 - 01:22:06: [AMXX] Displaying debug trace (plugin "csgomod.amxx") L 11/24/2016 - 01:22:06: [AMXX] Run time error 4: index out of bounds
kod ( linijka g_iPlayerData[id][DATA_WEAPONS][i] = SQL_ReadResult(hQuery, i + 6); )
for(new i; i < sizeof g_szWeaponTableName; i++) { g_iPlayerData[id][DATA_WEAPONS][i] = SQL_ReadResult(hQuery, i + 6); }