Ошибка индекса массива вне границ Pawn
Я использую точки появления, но когда он компилируется, я получаю эту ошибку:
Array index out of bounds
На этой строке ошибка
for(new i =0 ; i < 5 ;i++) {
SetPlayerPos(playerid, spawnpoints[i][0], spawnpoints[i][1], spawnpoints[i][2]);
}
Надеюсь, кто-нибудь знает решение ошибки.
4 ответа
Решение
Ваши точки появления массива имеют менее 5 записей или один из массивов (spawnpoints[0]
, spawnpoints[1]
, spawnpoints[2]
, spawnpoints[3]
, spawnpoints[4]
) имеет менее 3 записей. Попробуйте отладить ваш код.
Заменить 5 на sizeof(spawnpoints)
, Если после этого вы все равно получите ошибку, то ваш массив spawnpoints не содержит координаты x, y и z (и поэтому неправильно структурирован).
Определяются ли точки появления с помощью Float?
new Float:OldPos[MAX_PLAYERS][3];
Попробуйте с этим примером:
new Float:OldPos[MAX_PLAYERS][3];
GetPlayerPos(i, OldPos[i][0], OldPos[i][1], OldPos[i][2]);