• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Pawn] Need assistance
#1
PHP Code:
if(strcmp(cmd, "/resfacveh", true) == 0 || strcmp(cmd, "/rffv", true) == 0) // by Mikkel Reimer
{
    if(IsPlayerConnected(playerid))
    {
        if(!IsACop(playerid))
{
    SendClientMessage(playerid, COLOR_GRAD1, "  you are not authorized to use that command!");
    return 1;
}
new 
bool:unwanted[LSPDCars];
for(new 
player=0; player<MAX_PLAYERS; player++)
    {
            if(IsPlayerInAnyVehicle(player)) { unwanted[GetPlayerVehicleID(player)]=true; }
    }
for(new 
LSPDCars = 1; LSPDCars <= 25; LSPDCars++)
{
if(!
unwanted[LSPDCars]) SetVehicleToRespawn(LSPDCars);
}
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "SERVER: "COL_WHITE"All unused vehicles were respawned by Administrator %s.", sendername);
SendClientMessageToAll(COLOR_YELLOW,string);
}
return 
1;
} 


I keep getting error with the "bool:unwanted" line trying to work out another way to to detect and avoid respawning vehicles that dont have a driver
Any help or advise would be appreciated...
[Image: preview.png]
  Reply
#2
Hey :)

I haven’t scripted in Pawn for years but im pretty sure the issue is that youre using a variable (LSPDCars) as an array size  Pawn doesnt allow dynamic array sizes at compile time, even in open.mp

The problem is caused by this line:
    new bool:unwanted[LSPDCars];

In Pawn, array sizes must be constant at compile time. That’s why you’re getting an error there.
To fix it, replace that with a constant or define a fixed size, for example:
    new bool:unwanted[26]; // or MAX_VEHICLES if you want it dynamic

Then adjust your loops accordingly.
  Reply