Crash Help! +2REP
#1

pawn Код:
forward VehicleRespawn(playerid, vehicleid, ispassenger);
public VehicleRespawn(playerid, vehicleid, ispassenger)
{
   
    GameTextForPlayer(playerid,"~r~Vehicles ~g~Respawn",5000,5);
    SendClientMessage(playerid, COLOR_BLUE, "{CFF55F}*INFO: {FFFFFF}Vehicle Respawn.");

   
    for(new i = 0; i < MAX_VEHICLES; i ++ ) {
    for(new o = 0, a = GetMaxPlayers(); o < a; o ++ ) {
    if(!IsPlayerConnected(o)) continue;
    if(IsAnyBodyInVehicle(i)) continue;
    if(CurrentSpawnedVehicle[i]) continue;
   
    SetVehicleToRespawn(i);
    DestroyVehicle(CurrentSpawnedVehicle[i]);
   

   
   
   


             
    }
    }

    return 1;
}

stock IsAnyBodyInVehicle(vid)
{
for(new i = 0; i < GetMaxPlayers(); i ++ ){
if(IsPlayerInVehicle(i, vid)) return 1;

}
return 0;
}

its got error by crashdetect plugin how to fix this problem


Код:
[13:08:09] [debug] Run time error 4: "Array index out of bounds"
[13:08:09] [debug]   Accessing element at index 500 past array upper bound 499
[13:08:09] [debug] Backtrace:
[13:08:09] [debug] #0  001bf54c in public VehicleRespawn () from Faour.amx
Reply
#2

you created many brackets
pawn Код:
forward VehicleRespawn(playerid, vehicleid, ispassenger);
public VehicleRespawn(playerid, vehicleid, ispassenger)
{
    for(new i = 0; i < MAX_VEHICLES; i ++ )
    {
         for(new o = 0, a = GetMaxPlayers(); o < a; o ++ )
         {
                if(!IsPlayerConnected(o)) continue;
                if(IsAnyBodyInVehicle(i)) continue;
                if(CurrentSpawnedVehicle[i]) continue;
                GameTextForPlayer(playerid,"~r~Vehicles ~g~Respawn",5000,5);
                SendClientMessage(playerid, COLOR_BLUE, "{CFF55F}*INFO: {FFFFFF}Vehicle Respawn.");
                SetVehicleToRespawn(i);
                DestroyVehicle(CurrentSpawnedVehicle[i]);
         }
    }
    return 1;
}

stock IsAnyBodyInVehicle(vid)
{
      for(new i = 0; i < GetMaxPlayers(); i ++ )
      {
           if(IsPlayerInVehicle(i, vid)) return 1;
      }
      return 1;
}
Reply
#3

Quote:
Originally Posted by Skaizo
Посмотреть сообщение
you created many brackets
pawn Код:
forward VehicleRespawn(playerid, vehicleid, ispassenger);
public VehicleRespawn(playerid, vehicleid, ispassenger)
{
    for(new i = 0; i < MAX_VEHICLES; i ++ )
    {
         for(new o = 0, a = GetMaxPlayers(); o < a; o ++ )
         {
                if(!IsPlayerConnected(o)) continue;
                if(IsAnyBodyInVehicle(i)) continue;
                if(CurrentSpawnedVehicle[i]) continue;
                GameTextForPlayer(playerid,"~r~Vehicles ~g~Respawn",5000,5);
                SendClientMessage(playerid, COLOR_BLUE, "{CFF55F}*INFO: {FFFFFF}Vehicle Respawn.");
                SetVehicleToRespawn(i);
                DestroyVehicle(CurrentSpawnedVehicle[i]);
         }
    }
    return 1;
}

stock IsAnyBodyInVehicle(vid)
{
      for(new i = 0; i < GetMaxPlayers(); i ++ )
      {
           if(IsPlayerInVehicle(i, vid)) return 1;
      }
      return 1;
}
Код:
C:\Users\Abed\Desktop\stunt 0.3e\gamemodes\Faour.pwn(20771) : error 017: undefined symbol "ModCar"
C:\Users\Abed\Desktop\stunt 0.3e\gamemodes\Faour.pwn(20909) : warning 217: loose indentation
C:\Users\Abed\Desktop\stunt 0.3e\gamemodes\Faour.pwn(20909) : error 029: invalid expression, assumed zero
C:\Users\Abed\Desktop\stunt 0.3e\gamemodes\Faour.pwn(20909) : error 004: function "OnPlayerExitVehicle" is not implemented
C:\Users\Abed\Desktop\stunt 0.3e\gamemodes\Faour.pwn(20915) : warning 225: unreachable code
C:\Users\Abed\Desktop\stunt 0.3e\gamemodes\Faour.pwn(20915) : error 029: invalid expression, assumed zero
C:\Users\Abed\Desktop\stunt 0.3e\gamemodes\Faour.pwn(20915) : error 017: undefined symbol "ModCar"
C:\Users\Abed\Desktop\stunt 0.3e\gamemodes\Faour.pwn(20916) : error 029: invalid expression, assumed zero
C:\Users\Abed\Desktop\stunt 0.3e\gamemodes\Faour.pwn(20916) : error 017: undefined symbol "ModCar"
C:\Users\Abed\Desktop\stunt 0.3e\gamemodes\Faour.pwn(20917) : error 017: undefined symbol "playerid"
C:\Users\Abed\Desktop\stunt 0.3e\gamemodes\Faour.pwn(20924) : error 017: undefined symbol "playerid"
C:\Users\Abed\Desktop\stunt 0.3e\gamemodes\Faour.pwn(20925) : error 017: undefined symbol "playerid"
C:\Users\Abed\Desktop\stunt 0.3e\gamemodes\Faour.pwn(20927) : error 017: undefined symbol "playerid"
C:\Users\Abed\Desktop\stunt 0.3e\gamemodes\Faour.pwn(20935) : warning 225: unreachable code
C:\Users\Abed\Desktop\stunt 0.3e\gamemodes\Faour.pwn(20935) : error 029: invalid expression, assumed zero
C:\Users\Abed\Desktop\stunt 0.3e\gamemodes\Faour.pwn(20935) : error 004: function "OnPlayerText" is not implemented
C:\Users\Abed\Desktop\stunt 0.3e\gamemodes\Faour.pwn(20938) : error 017: undefined symbol "playerid"
C:\Users\Abed\Desktop\stunt 0.3e\gamemodes\Faour.pwn(20939) : error 017: undefined symbol "playerid"
C:\Users\Abed\Desktop\stunt 0.3e\gamemodes\Faour.pwn(20940) : error 017: undefined symbol "playerid"
C:\Users\Abed\Desktop\stunt 0.3e\gamemodes\Faour.pwn(20942) : error 017: undefined symbol "playerid"
C:\Users\Abed\Desktop\stunt 0.3e\gamemodes\Faour.pwn(20950) : warning 225: unreachable code
C:\Users\Abed\Desktop\stunt 0.3e\gamemodes\Faour.pwn(20950) : error 029: invalid expression, assumed zero
C:\Users\Abed\Desktop\stunt 0.3e\gamemodes\Faour.pwn(20950) : error 004: function "Streamer_OnPlayerEnterCP" is not implemented
C:\Users\Abed\Desktop\stunt 0.3e\gamemodes\Faour.pwn(20955) : warning 225: unreachable code
C:\Users\Abed\Desktop\stunt 0.3e\gamemodes\Faour.pwn(20955) : error 029: invalid expression, assumed zero
C:\Users\Abed\Desktop\stunt 0.3e\gamemodes\Faour.pwn(20955) : error 004: function "Streamer_OnPlayerLeaveCP" is not implemented
C:\Users\Abed\Desktop\stunt 0.3e\gamemodes\Faour.pwn(20960) : warning 225: unreachable code
C:\Users\Abed\Desktop\stunt 0.3e\gamemodes\Faour.pwn(20960) : error 029: invalid expression, assumed zero
C:\Users\Abed\Desktop\stunt 0.3e\gamemodes\Faour.pwn(20960) : error 004: function "Streamer_OnPlayerEnterRaceCP" is not implemented
C:\Users\Abed\Desktop\stunt 0.3e\gamemodes\Faour.pwn(20965) : warning 225: unreachable code
C:\Users\Abed\Desktop\stunt 0.3e\gamemodes\Faour.pwn(20965) : error 029: invalid expression, assumed zero
C:\Users\Abed\Desktop\stunt 0.3e\gamemodes\Faour.pwn(20965) : error 004: function "Streamer_OnPlayerLeaveRaceCP" is not implemented
C:\Users\Abed\Desktop\stunt 0.3e\gamemodes\Faour.pwn(20970) : warning 225: unreachable code
C:\Users\Abed\Desktop\stunt 0.3e\gamemodes\Faour.pwn(20970) : error 029: invalid expression, assumed zero

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


26 Errors.
Reply
#4

pawn Код:
forward VehicleRespawn(playerid, vehicleid, ispassenger);
public VehicleRespawn(playerid, vehicleid, ispassenger)
{
    GameTextForPlayer(playerid,"~r~Vehicles ~g~Respawn",5000,5);
    SendClientMessage(playerid, COLOR_BLUE, "{CFF55F}*INFO: {FFFFFF}Vehicle Respawn.");

    for(new i = 0; i < MAX_VEHICLES; i++ )
    {
        for(new o = 0; o < GetMaxPlayers(); o++ )
        {
            if(!IsPlayerConnected(o)) continue;
            if(IsAnyBodyInVehicle(i)) continue;
            if(CurrentSpawnedVehicle[i]) continue;

            SetVehicleToRespawn(i);
            DestroyVehicle(CurrentSpawnedVehicle[i]);
        }
    }

    return 1;
}

stock IsAnyBodyInVehicle(vid)
{
    for(new i = 0; i < GetMaxPlayers(); i++ )
    {
        if(IsPlayerInVehicle(i, vid)) return 1;
    }
    return 0;
}[
The code is fine.
Reply
#5

pawn Код:
forward VehicleRespawn(playerid, vehicleid, ispassenger);
public VehicleRespawn(playerid, vehicleid, ispassenger)
{
    for(new i = 0; i < MAX_VEHICLES; i ++ )
    {
         for(new o = 0, a = GetMaxPlayers(); o < a; o ++ )
         {
                if(!IsPlayerConnected(o)) continue;
                if(IsAnyBodyInVehicle(i)) continue;
                if(CurrentSpawnedVehicle[i]) continue;
                GameTextForPlayer(playerid,"~r~Vehicles ~g~Respawn",5000,5);
                SendClientMessage(playerid, COLOR_BLUE, "{CFF55F}*INFO: {FFFFFF}Vehicle Respawn.");
                SetVehicleToRespawn(i);
                DestroyVehicle(CurrentSpawnedVehicle[i]);
         }
    }
    return 1;
}

stock IsAnyBodyInVehicle(vid)
{
      for(new i = 0; i < GetMaxPlayers(); i ++ )
      {
           if(IsPlayerInVehicle(i, vid)) return 1;
      }
      return 1;
}
Are you aware of the fact that you have a loop in a loop in a loop?


You do not need any of that shit. Stop thinking your script is "cool" and "unique." What you are going to do now is replace all of that shit with this:

pawn Код:
//.........
for(new i=0; i<=MAX_VEHICLES; i++) SetVehicleToRespawn(i);
//.....
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)