IsVehicleOccupied
#1

Hi, i am wanting to put a player in a car onplayerspawn. But when i connect to the server, it just crashes.

:
pawn Code:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/ready", cmdtext, true, 10) == 0)
    {
        if(IsVehicleOccupied(car1))
        {
            PutPlayerInVehicle(playerid, car2);
        }
        else
        {
            PutPlayerInVehicle(playerid, car1);
            TogglePlayerControllable(playerid, 0);
            return 1;
            }
        return 1;
    }
    return 0;
}
This is the script that i want to work when a player spawns, but when i do this:

pawn Code:
public OnPlayerSpawn(playerid)
    {
        if(IsVehicleOccupied(car1))
        {
            PutPlayerInVehicle(playerid, car2);
        }
        else
        {
            PutPlayerInVehicle(playerid, car1);
            TogglePlayerControllable(playerid, 0);
            return 1;
            }
        return 1;
    }
    return 0;
}
The server just crashes. Please can someone correct my mistakes, Thank you very much
Reply
#2

may we see the IsVehicleOccupied function?
Reply
#3

pawn Code:
stock IsVehicleOccupied(vehicleid) // Returns 1 if there is anyone in the vehicle
{
    foreach(Player,i)
    {
        if(IsPlayerInAnyVehicle(i))
        {
            if(GetPlayerVehicleID(i)==vehicleid)
            {
                return 1;
            }
            else
            {
                return 0;
            }
        }
    }
}
Reply
#4

If someone cant do it for me, could someone even tell me how to do it myself? Please!
Reply
#5

The PutPlayerInVehicle function have to have 3 parameters, and you put only 2

I think that car1 and car2 are global variables, so, let's go.

Look, i fixed it for you:

pawn Code:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(strcmp("/ready",cmdtext,true,6)==0)
    {
        if(IsVehicleOccupied(car1))
        {
            PutPlayerInVehicle(playerid, car2, 0);//There was only 2 parameters
        }
        else
        {
            PutPlayerInVehicle(playerid, car1, 0);//There was only 2 parameters
            TogglePlayerControllable(playerid, 0);//This line freezes the player that used the command
            return 1;
        }
        return 1;
    }
    return 0;
}
I hope that i have helped
Reply
#6

Thanks!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)