Русское сообщество по скриптингу

ArmyRanks Run time error 4: index out of bounds

Scripting help for english speaking users. While not very active, you still have a chance to get help here.
Правила форума
We cannot maintain english version version of our forum rules, but shortly (it's simple) - Don't be a dick. If you really want to know our rules you should check appropriate thread.

ArmyRanks Run time error 4: index out of bounds

Сообщение Ant1Lamer » 16 сен 2016, 22:35

Код: Выделить всё
L 09/15/2016 - 14:25:05: [AMXX] Run time error 4: index out of bounds
L 09/15/2016 - 14:25:05: [AMXX]    [0] army_ranks.sma::next_load_data (line 452)
L 09/15/2016 - 14:25:05: [AMXX]    [1] army_ranks.sma::load_data (line 353)

Helpppp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Ant1Lamer
 
Сообщения: 22
Зарегистрирован: 18 май 2016, 01:13
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead

Re: ArmyRanks Run time error 4: index out of bounds

Сообщение артист666 » 16 сен 2016, 23:42

Выход за пределы массива.
Нужно проверку поставить.
Аватара пользователя
артист666
 
Сообщения: 1937
Зарегистрирован: 09 апр 2013, 17:46
Благодарил (а): 261 раз.
Поблагодарили: 412 раз.
Опыт программирования: Больше трех лет

Re: ArmyRanks Run time error 4: index out of bounds

Сообщение Ant1Lamer » 17 сен 2016, 21:53

Sorry i cant speak Russian i from Bulgaria i understand you but i dont know where to set the check. Can you make it :) I try but plugin dont work normal
Аватара пользователя
Ant1Lamer
 
Сообщения: 22
Зарегистрирован: 18 май 2016, 01:13
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead

Re: ArmyRanks Run time error 4: index out of bounds

Сообщение Pafos » 18 сен 2016, 00:53

Ant1Lamer, написал так , как будто гугл-переводчик использовал.
У меня есть код , который почти всегда работает, но не ясно , что он делает :crazy:

Аватара пользователя
Pafos
 
Сообщения: 498
Зарегистрирован: 07 апр 2014, 18:03
Откуда: pfnClientConnect
Предупреждения: 1
Благодарил (а): 114 раз.
Поблагодарили: 87 раз.
Опыт программирования: Около года
Языки программирования: Pawn

Re: ArmyRanks Run time error 4: index out of bounds

Сообщение Ant1Lamer » 18 сен 2016, 01:56

Я попытался проверить, но плагин не работает, если я могу это сделать, потому что я не знаю, куда поместить этот чек
Аватара пользователя
Ant1Lamer
 
Сообщения: 22
Зарегистрирован: 18 май 2016, 01:13
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead

Re: ArmyRanks Run time error 4: index out of bounds

Сообщение артист666 » 18 сен 2016, 02:21

Код: Выделить всё
while(UserData[id][gExp] >= gLevels[UserData[id][gLevel]]) UserData[id][gLevel]++; 


Распространённая ошибка подобных плагинов.
При достижении максимального уровня, UserData[id][gLevel] становится больше размера массива gLevels, а так, как цикл прекратится лишь при невыполнении условия, то вот вам и выход за пределы.

Решение, нужно просто увеличить размер gLevels на 1 пустую ячейку.

Код: Выделить всё
new const gLevels[] = 
{
    0,15,30,60,100,180,350,750,999,1500,2200,2800,3200,3900,4500,5000,5500,6000,7000,8000
}; 

>>>
Код: Выделить всё
new const gLevels[] = 
{
    0,15,30,60,100,180,350,750,999,1500,2200,2800,3200,3900,4500,5000,5500,6000,7000,8000,0
}; 


Либо поставить дополнительное условие(что в принципе не лучший вариант):
Код: Выделить всё
while(UserData[id][gExp] >= gLevels[UserData[id][gLevel]]) 

>>>
Код: Выделить всё
while(UserData[id][gExp] < sizeof(gLevels) && UserData[id][gExp] >= gLevels[UserData[id][gLevel]]) 
Аватара пользователя
артист666
 
Сообщения: 1937
Зарегистрирован: 09 апр 2013, 17:46
Благодарил (а): 261 раз.
Поблагодарили: 412 раз.
Опыт программирования: Больше трех лет

Re: ArmyRanks Run time error 4: index out of bounds

Сообщение Ant1Lamer » 18 сен 2016, 02:48

:OO Большое спасибо теперь из других ошибок

Код: Выделить всё
L 09/18/2016 01:47:03Start of error session.
L 09/18/2016 01:47:03Info (map "de_dust2") (file "addons/amxmodx/logs/error_20160918.log")
L 09/18/2016 01:47:03: [MySQLInvalid info tuple handle0
L 09
/18/2016 01:47:03: [AMXXDisplaying debug trace (plugin "army_ranks.amxx"version "1.3.1")
L 09/18/2016 01:47:03: [AMXXRun time error 10native error (native "SQL_ThreadQuery")
L 09/18/2016 01:47:03: [AMXX]    [0army_ranks.sma::client_infochanged (line 768)
L 09/18/2016 01:47:14: [MySQLInvalid info tuple handle0
L 09
/18/2016 01:47:14: [AMXXDisplaying debug trace (plugin "army_ranks.amxx"version "1.3.1")
L 09/18/2016 01:47:14: [AMXXRun time error 10native error (native "SQL_ThreadQuery")
L 09/18/2016 01:47:15: [AMXX]    [0army_ranks.sma::client_infochanged (line 768
Аватара пользователя
Ant1Lamer
 
Сообщения: 22
Зарегистрирован: 18 май 2016, 01:13
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead

Re: ArmyRanks Run time error 4: index out of bounds

Сообщение Bos93 » 18 сен 2016, 02:55

Your plugin connect to db ?
Всем добра, любви и осознанности.

Nosce animum tuum.
Аватара пользователя
Bos93
 
Сообщения: 1423
Зарегистрирован: 03 апр 2010, 13:44
Предупреждения: 1
Благодарил (а): 149 раз.
Поблагодарили: 503 раз.

Re: ArmyRanks Run time error 4: index out of bounds

Сообщение Ant1Lamer » 18 сен 2016, 03:00

No for now with nvault

Код: Выделить всё
SaveType     = register_cvar( "save_type",         "0");// 0 - nvault, 1- mysql.  



Edit: Update modules and now no errors if have i will write
Аватара пользователя
Ant1Lamer
 
Сообщения: 22
Зарегистрирован: 18 май 2016, 01:13
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead

Re: ArmyRanks Run time error 4: index out of bounds

Сообщение Ant1Lamer » 18 сен 2016, 22:00

Помощ Помогите им в настоящее время увеличилось на 3 ранга

[Army Ranks] PLAYER [BKP]Code Name CTAMAT Se povishi na Kapitan.Pozdravleniq !
[Army Ranks] PLAYER [BKP]Code Name CTAMAT Se povishi na Maior.Pozdravleniq !
[Army Ranks] PLAYER [BKP]Code Name CTAMAT Se povishi na Podpolkovnik.Pozdravleniq

Едит: Everything is okay !
Аватара пользователя
Ant1Lamer
 
Сообщения: 22
Зарегистрирован: 18 май 2016, 01:13
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead

След.

Вернуться в Scripting

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1