Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!: Краши - Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Тема закрыта

[ Server ]
Краши

#1
Пользователь офлайн   kyst 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию
Крашит сервер, как можно исправить?

[debug] Run time error 4: "Array index out of bounds"
[debug]  Accessing element at index 29 past array upper bound 28
[debug] AMX backtrace:
[debug] #0 011da318 in LoadOrgs () at \gamemodes\bn.pwn:76305
[debug] #1 0007e660 in public Iter_OnGameModeInit () at  \gamemodes\bn.pwn:10736
[debug] #2 native CallLocalFunction () from samp03svr
[debug] #3 000582e4 in public ac_OnGameModeInit () at  \pawno\include\foreach.inc:720
[debug] #4 0001a45c in public fo_OnGameModeInit () at  \pawno\include\nex-ac.inc:3187
[debug] #5 0000c53c in public SSCANF_OnGameModeInit () at  \pawno\include\fixobject.inc:267
[debug] #6 00005028 in public PawnCmd_OnGameModeInit () at  \pawno\include\sscanf2.inc:211
[debug] #7 00000860 in public OnGameModeInit () at  \pawno\include\Pawn.CMD.inc:127
Number of vehicle models: 0



Строка 76305:
OrgInfo[i][oID] = cache_get_row_int(i-1, 0, mysql);

Строка 10736:
LoadGangZones();
0

#2
Пользователь офлайн   MassonN 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию
В цикле уменьши количество итераций на единицу
0

#3
Пользователь офлайн   kyst 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияMassonN (01 августа 2020 - 15:12) писал:

В цикле уменьши количество итераций на единицу


Не особо понял, можешь посмотреть где?

LoadOrgs()
{
	new string[500];
	for(new i; i < 10; i ++) RankName[0][i] = "Гражданин";
	format(string, sizeof(string), "SELECT * FROM `orgsinfo`");
	new Cache:result = mysql_query(mysql, string);
	new num = cache_get_row_count(mysql);
	for(new i = 1;i <= num;i ++)
	{
		OrgInfo[i][oID] = cache_get_row_int(i-1, 0, mysql);
		cache_get_row(i-1, 1, OrgInfo[i][oName], mysql,32);
		cache_get_row(i-1, 2, OrgInfo[i][oLeader], mysql,24);
		
		OrgInfo[i][oBank] = cache_get_row_int(i-1, 3, mysql);
		OrgInfo[i][oDrugs] = cache_get_row_int(i-1, 4, mysql);
		OrgInfo[i][oMats] = cache_get_row_int(i-1, 5, mysql);
		
		OrgInfo[i][Max_Rang] = cache_get_row_int(i-1, 6, mysql);		
		cache_get_row(i-1, 7, RankName[i][0], mysql, 50);
		cache_get_row(i-1, 8, RankName[i][1], mysql, 50);
		cache_get_row(i-1, 9, RankName[i][2], mysql, 50);
		cache_get_row(i-1, 10, RankName[i][3], mysql, 50);
		cache_get_row(i-1, 11, RankName[i][4], mysql, 50);
		cache_get_row(i-1, 12, RankName[i][5], mysql, 50);
		cache_get_row(i-1, 13, RankName[i][6], mysql, 50);
		cache_get_row(i-1, 14, RankName[i][7], mysql, 50);
		cache_get_row(i-1, 15, RankName[i][8], mysql, 50);
		cache_get_row(i-1, 16, RankName[i][9], mysql, 50);
		
		OrgInfo[i][oBenz] = cache_get_row_int(i-1, 17, mysql);
		OrgInfo[i][oRemont] = cache_get_row_int(i-1, 18, mysql);
		OrgInfo[i][oMask] = cache_get_row_int(i-1, 19, mysql);
	}
	cache_delete(result, mysql);
	return true;
}


0

#4
Пользователь офлайн   DeimoS 

  • Evil Scripter
  • Вставить ник
  • Раскрыть информацию
Тебе нужно либо лишнюю строку в БД убрать, либо добавить одну ячейку к массиву OrgInfo.

Сообщение отредактировал DeimoS: 01 августа 2020 - 18:43

0

#5
Пользователь офлайн   MassonN 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию
Либо вот так:

i < num

0

#6
Пользователь офлайн   DeimoS 

  • Evil Scripter
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияMassonN (02 августа 2020 - 08:13) писал:

Либо вот так:

i < num


Тогда не загрузится одна фракция. Ты посмотри на код в цикле сначала.
0

Поделиться темой:


Страница 1 из 1
  • Вы не можете создать новую тему
  • Тема закрыта

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей


Яндекс.Метрика