[13:54:21] [debug] Run time error 4: "Array index out of bounds" [13:54:21] [debug] Accessing element at negative index -1 [13:54:21] [debug] AMX backtrace: [13:54:21] [debug] #0 0014bdec in public putInVehicle (5) from NFS.amx
SetTimerEx("putInVehicle", 1500, 0, "i", x);
callBack:: putInVehicle(playerid){ if(PlayerInfo[playerid][pInCorrida]){ PutPlayerInVehicle(playerid, PlayerInfo[playerid][pCarroId], 0); PlayerInfo[playerid][pActualCarro] = PlayerInfo[playerid][pCarroId]; new Float:v[3]; GetVehiclePos(PlayerInfo[playerid][pCarroId],v[0],v[1],v[2]); SetVehiclePos(PlayerInfo[playerid][pCarroId],v[0],v[1],v[2]); if (PlayerInfo[playerid][pCarroId] != INVALID_VEHICLE_ID) { setTunning(playerid); new corridaid = PlayerInfo[playerid][pInCorrida]; if(corridaInfo[corridaid][rTipo] == 3 && corridaInfo[corridaid][rLadrao] == playerid){ SetVehicleHealth(PlayerInfo[playerid][pCarroId], 250.0); corridaInfo[corridaid][rTempo] = 0; } } } }
Run time error 4: "Array index out of bounds"
Este erro significa que vocк estб tentando acessar um index que nгo existe dentro de uma matriz/vetor. Por exemplo: Suponha que vocк tem a variбvel PlayerInfo[100][100] e vocк estб tentando acessar PlayerInfo[101][101]; Um index que nгo existe no range da matriz criada, que vai de 0 atй 99. Faz um debug nesse seu cуdigo, usa print mesmo, e tenta ver se quando tu chama essa funзгo, tu passa algum valor que nгo existe na matriz, negativo ou positivo. |
SetTimerEx("putInVehicle", 1500, 0, "i", x);
Pode ser que nessa parte do cуdigo playerid assuma -1
Код:
SetTimerEx("putInVehicle", 1500, 0, "i", x); |
Provavelmente o time tб jogando um playerid inexistente na sua call back, posta o cуdigo completo de onde o settimer й executado
|
new Float:v[3]; GetVehiclePos(PlayerInfo[x][pCarroId],v[0],v[1],v[2]); new corridaid = PlayerInfo[x][pInCorrida]; // Checar se o carro estб abaixo do nнvel do mar if (v[2] <= 0.1 && (corridaid != -1 && corridaInfo[corridaid][rTipo] != 4)){ SetPVarInt(x, "varTeleport", gettime() + 10); // Setar o carro a -150 metros abaixo do mar // Ele volta automaticamente pra superfieie SetVehiclePos(PlayerInfo[x][pCarroId],v[0],v[1],-150.0); PutPlayerInVehicle(x, PlayerInfo[x][pCarroId], 0); GetPlayerPos(x, PlayerInfo[x][pCheckPos][0], PlayerInfo[x][pCheckPos][1], PlayerInfo[x][pCheckPos][2]); SetTimerEx("putInVehicle", 1500, 0, "i", x); }