Ошибка индекса массива вне границ 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]);
SetPlayerPos(playerid, Float:x, Float:y, Float:z);
Другие вопросы по тегам