我正在使用生成点,但是当它编译时出现此错误:
Array index out of bounds
在这一行是错误
for(new i =0 ; i < 5 ;i++) {
SetPlayerPos(playerid, spawnpoints[i][0], spawnpoints[i][1], spawnpoints[i][2]);
}
希望有人知道错误的解决方案。
您的数组 spawnpoints 的条目少于 5 个,或者数组之一 ( spawnpoints[0]
, spawnpoints[1]
, spawnpoints[2]
, spawnpoints[3]
, spawnpoints[4]
) 的条目少于 3 个。尝试调试您的代码。
将 5 替换为sizeof(spawnpoints)
。如果在此之后仍然出现错误,那么您的 spawnpoints 数组不包含 x、y 和 z 坐标(因此结构不正确。)
生成点是用浮点数定义的吗?
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);