Debugs and run time errors - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (
https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (
https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Debugs and run time errors (
/showthread.php?tid=456693)
Debugs and run time errors -
mirou123 - 07.08.2013
Each time a player logs in I get these errors
Код:
[18:13:19] Incoming connection: 41.227.56.26:59801
[18:13:19] [debug] Run time error 4: "Array index out of bounds"
[18:13:19] [debug] Accessing element at negative index -1
[18:13:19] [debug] AMX backtrace:
[18:13:19] [debug] #0 0006122c in public Audio_OnPlayerDisconnect (playerid=0, reason=1) at C:\Users\SU Gaming\Documents\Casey's Server\Crimson Streets Roleplay [ENG]2\Crimson Streets Roleplay [ENG]\gamemodes\CSRP.pwn:9792
[18:13:19] [debug] #1 native CallLocalFunction () [080d2870] from samp03svr
[18:13:19] [debug] #2 00015480 in public SSCANF_OnPlayerDisconnect (... <2 arguments>) at C:\Users\SU Gaming\Documents\Casey's Server\Crimson Streets Roleplay [ENG]2\Crimson Streets Roleplay [ENG]\pawno\include\audio.inc:166
[18:13:19] [debug] #3 0000e7c0 in public Itter_OnPlayerDisconnect (playerid=0, reason=1) at C:\Users\SU Gaming\Documents\Casey's Server\Crimson Streets Roleplay [ENG]2\Crimson Streets Roleplay [ENG]\pawno\include\sscanf2.inc:184
[18:13:19] [debug] #4 native CallLocalFunction () [080d2870] from samp03svr
[18:13:19] [debug] #5 00002248 in public Streamer_OnPlayerDisconnect (playerid=0, reason=1) at C:\Users\SU Gaming\Documents\Casey's Server\Crimson Streets Roleplay [ENG]2\Crimson Streets Roleplay [ENG]\pawno\include\foreach.inc:715
[18:13:19] [debug] #6 native CallLocalFunction () [080d2870] from samp03svr
[18:13:19] [debug] #7 00000dd4 in public OnPlayerDisconnect (playerid=0, reason=1) at C:\Users\SU Gaming\Documents\Casey's Server\Crimson Streets Roleplay [ENG]2\Crimson Streets Roleplay [ENG]\pawno\include\streamer.inc:361
[18:13:19] [part] Star_Bontano has left the server (0:1)
[18:13:26] Incoming connection: 41.227.56.26:59802
[18:13:30] [join] Amir_Bontano has joined the server (0:41.227.56.26)
[18:13:39] Amir_Bontano has logged in.
[18:13:39] Loading Amir_Bontano's vehicles.
[18:13:39] Loading all vehicles mods.
[18:13:40] [debug] Run time error 4: "Array index out of bounds"
[18:13:40] [debug] Accessing element at index 999 past array upper bound 499
[18:13:40] [debug] AMX backtrace:
[18:13:40] [debug] #0 000883e8 in public OnPlayerStateChange (playerid=0, newstate=8, oldstate=0) at C:\Users\SU Gaming\Documents\Casey's Server\Crimson Streets Roleplay [ENG]2\Crimson Streets Roleplay [ENG]\gamemodes\CSRP.pwn:13219
[18:13:40] [debug] Run time error 4: "Array index out of bounds"
[18:13:40] [debug] Accessing element at negative index -1
[18:13:40] [debug] AMX backtrace:
[18:13:40] [debug] #0 000889ec in public OnPlayerStateChange (playerid=0, newstate=1, oldstate=8) at C:\Users\SU Gaming\Documents\Casey's Server\Crimson Streets Roleplay [ENG]2\Crimson Streets Roleplay [ENG]\gamemodes\CSRP.pwn:13250
This is my code
Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate != 2) NOPTrigger[playerid] = 0;
if(IsPlayerNPC(playerid))
{
if(newstate == PLAYER_STATE_SPECTATING)
{
TogglePlayerSpectating(playerid, false);
}
return 1;
}
if(GettingSpectated[playerid] != -1)
{
new spectator = GettingSpectated[playerid];
if(!IsPlayerConnected(spectator))
{
GettingSpectated[playerid] = -1;
Spectate[spectator] = -1;
}
if(newstate == PLAYER_STATE_DRIVER && PlayerInfo[spectator][pAdmin] >= 2 || newstate == PLAYER_STATE_PASSENGER && PlayerInfo[spectator][pAdmin] >= 2)
{
TogglePlayerSpectating(spectator, true);
new carid = GetPlayerVehicleID( playerid );
PlayerSpectateVehicle( spectator, carid );
SetPVarInt(spectator, "SpecState", newstate);
}
else if(newstate == PLAYER_STATE_ONFOOT && PlayerInfo[spectator][pAdmin] >= 2)
{
TogglePlayerSpectating(spectator, true);
PlayerSpectatePlayer( spectator, playerid );
SetPlayerInterior( spectator, GetPlayerInterior( playerid ) );
SetPVarInt(spectator, "SpecState", newstate);
}
}
if(newstate == PLAYER_STATE_ONFOOT)
{
if(Audio_IsClientConnected(playerid))
{
Audio_Stop(playerid, stationidp[playerid]);
stationidp[playerid] = 0;
}
new spectator = GettingSpectated[playerid];
if(!IsPlayerConnected(spectator))
{
GettingSpectated[playerid] = -1;
Spectate[spectator] = -1;
}
if(newstate == PLAYER_STATE_DRIVER && PlayerInfo[spectator][pAdmin] >= 2 || newstate == PLAYER_STATE_PASSENGER && PlayerInfo[spectator][pAdmin] >= 2)
{
SetPlayerWeaponsEx(playerid);
}
else if(oldstate == PLAYER_STATE_PASSENGER) SetPlayerWeaponsEx(playerid);
Re : Debugs and run time errors -
mirou123 - 07.08.2013
The errors are at
Код:
spectate[spectator] = -1
Re : Debugs and run time errors -
mirou123 - 07.08.2013
Please help me...Many views no replies :/
Re: Debugs and run time errors -
Konstantinos - 07.08.2013
When you declare for example
[MAX_PLAYERS], it's from 0 to 499 (if MAX_PLAYERS equals to 500). So, doing
pawn Код:
new
something[ MAX_PLAYERS ]
;
// somewhere
if(something[-1] == value)
// OR
new
sth = -1
;
if(something[sth] == value)
makes it:
Run time error 4: "Array index out of bounds"
Accessing element at negative index -1
In order to prevent this, check if the value is not -1 and do the rest. If it's -1 and you continue, the run time error will be appeared again.
Re : Debugs and run time errors -
mirou123 - 07.08.2013
I changed -1 to 498 and sent the script to my friend but she didn't test it.Do you think it will work?