Need help with spawning a vehicle
#1

Thanks,

Kind regards,

Mickos
Reply
#2

There are many unneded 'if' with the same clause repeated in this script, check out:

pawn Код:
if(PlayerAcc[playerid][Log] == 0) return SendClientMessage(playerid, COLOR_ORANGE, "** You are not logged in, please login first.");
    if(PlayerAcc[playerid][Admin] == 3)
    {
        if(PlayerAcc[playerid][Log] == 0) return SendClientMessage(playerid, COLOR_RED, "** You are not logged in, please login first.");
        if(PlayerAcc[playerid][Admin] == 0) return SendClientMessage(playerid, -1,""orange"** Sorry, admins level 3+ can use that command!");
        if(PlayerAcc[playerid][Admin] >= 3)
Then, you're probably with an higher admin level then 3, but this 'if' won't let you pass:

pawn Код:
if(PlayerAcc[playerid][Admin] == 3)
    {
Correct it with '>= 3'. And also correct the rest of the code!
Reply
#3

pawn Код:
CMD:rhino(playerid, params[])
{
    if(!PlayerAcc[playerid][Log]) return SendClientMessage(playerid, COLOR_ORANGE, "** You are not logged in, please login first.");
    if(PlayerAcc[playerid][Admin] < 3) return SendClientMessage(playerid, -1,""orange"** Sorry, admins level 3+ can use that command!");
    if(IsCaged[playerid] || IsJailed[playerid] || IsFreezed[playerid]) return SendClientMessage(playerid, -1, ""red"You are currently in your punishment... You must be wait to use any command!");
    if(InMinigame[playerid]) return SendClientMessage(playerid, -1, ""orange"You must type /kill to exit the minigame.") &&
    GameTextForPlayer(playerid, "~y~Type ~r~/kill ~y~to exit the minigame!", 2000, 5);
    if(PlayerCar[playerid] != INVALID_VEHICLE_ID)
    {
        DestroyVehicle(PlayerCar[playerid]);
        PlayerCar[playerid] = INVALID_VEHICLE_ID;
    }
    new Float:x, Float:y, Float:z, Float:angle;
    GetPlayerPos(playerid, x, y, z);
    if(IsPlayerInAnyVehicle(playerid)) GetVehicleZAngle(GetPlayerVehicleID(playerid), angle);
    else GetPlayerFacingAngle(playerid, angle);
    LinkVehicleToInterior(PlayerCar[playerid] = CreateVehicle(432, x, y, z + 2, angle, -1, -1, 0), GetPlayerInterior(playerid));
    SetVehicleVirtualWorld(PlayerCar[playerid], GetPlayerVirtualWorld(playerid));
    PutPlayerInVehicle(playerid, PlayerCar[playerid], 0); //PutPlayerInVehicle moet als laatste, want interior & virtual world moet nog updaten
    SendClientMessage(playerid, 0x20C92EFF, "* You spawned a Rhino.");
    InMinigame[playerid] = 0;
    IsCaged[playerid] = 0;
    IsJailed[playerid] = 0;
    IsFreezed[playerid] = 0;
    return 1;
}
??
Reply
#4

Sorry!
Reply
#5

pawn Код:
CMD:rhino(playerid, params[])
{
    if(PlayerAcc[playerid][Log] == 0) return SendClientMessage(playerid, COLOR_ORANGE, "** You are not logged in, please login first.");
    if(PlayerAcc[playerid][Admin] == 3)
        {
        if(PlayerAcc[playerid][Log] == 0) return SendClientMessage(playerid, COLOR_RED, "** You are not logged in, please login first.");
        if(PlayerAcc[playerid][Admin] == 0) return SendClientMessage(playerid, -1,""orange"** Sorry, admins level 3+ can use that command!");
        if(PlayerAcc[playerid][Admin] >= 3)
            {
            if(IsCaged[playerid] == 1 || IsJailed[playerid] == 1|| IsFreezed[playerid] == 1) return SendClientMessage(playerid, -1, ""red"You are currently in your punishment... You must be wait to use any command!");
            if(InMinigame[playerid] == 1) return SendClientMessage(playerid, -1, ""orange"You must type /kill to exit the minigame.") && GameTextForPlayer(playerid, "~y~Type ~r~/kill ~y~to exit the minigame!", 2000, 5);
            if(GetVehicleModel(PlayerCar[playerid]) != 0) DestroyVehicle(PlayerCar[playerid]);
            new Float:x, Float:y, Float:z, Float:angle;
            GetPlayerPos(playerid, x, y, z);
            if(IsPlayerInAnyVehicle(playerid)) GetVehicleZAngle(GetPlayerVehicleID(playerid), angle);
            else GetPlayerFacingAngle(playerid, angle);
            PlayerCar[playerid] = CreateVehicle(432, x, y, z+2.00, angle, -1, -1, 0);
            LinkVehicleToInterior(PlayerCar[playerid], GetPlayerInterior(playerid));
            SetVehicleVirtualWorld(PlayerCar[playerid], GetPlayerVirtualWorld(playerid));
            PutPlayerInVehicle(playerid, PlayerCar[playerid], 0);
            SendClientMessage(playerid, 0x20C92EFF, "* You spawned a Rhino.");
            InMinigame[playerid] = 0;
            IsCaged[playerid] = 0;
            IsJailed[playerid] = 0;
            }
        }  
    IsFreezed[playerid] = 0;
    return 1;
}
This was your original code a little more indented and all curley brackets added, now I am thinking that you're probably level 9999 Admin and that's the reason it won't do anything, I would use the code this way;

pawn Код:
CMD:rhino(playerid, params[])
{
    if(PlayerAcc[playerid][Log] == 0) return SendClientMessage(playerid, COLOR_ORANGE, "** You are not logged in, please login first.");
    if(PlayerAcc[playerid][Admin] >= 3)
        {
        if(PlayerAcc[playerid][Log] == 0) return SendClientMessage(playerid, COLOR_RED, "** You are not logged in, please login first.");
        if(PlayerAcc[playerid][Admin] == 0) return SendClientMessage(playerid, -1,""orange"** Sorry, admins level 3+ can use that command!");
        if(IsCaged[playerid] == 1 || IsJailed[playerid] == 1|| IsFreezed[playerid] == 1) return SendClientMessage(playerid, -1, ""red"You are currently in your punishment... You must be wait to use any command!");
        if(InMinigame[playerid] == 1) return SendClientMessage(playerid, -1, ""orange"You must type /kill to exit the minigame.") && GameTextForPlayer(playerid, "~y~Type ~r~/kill ~y~to exit the minigame!", 2000, 5);
        if(GetVehicleModel(PlayerCar[playerid]) != 0) DestroyVehicle(PlayerCar[playerid]);
        new Float:x, Float:y, Float:z, Float:angle;
        GetPlayerPos(playerid, x, y, z);
        if(IsPlayerInAnyVehicle(playerid)) GetVehicleZAngle(GetPlayerVehicleID(playerid), angle);
        else GetPlayerFacingAngle(playerid, angle);
        PlayerCar[playerid] = CreateVehicle(432, x, y, z+2.00, angle, -1, -1, 0);
        LinkVehicleToInterior(PlayerCar[playerid], GetPlayerInterior(playerid));
        SetVehicleVirtualWorld(PlayerCar[playerid], GetPlayerVirtualWorld(playerid));
        PutPlayerInVehicle(playerid, PlayerCar[playerid], 0);
        SendClientMessage(playerid, 0x20C92EFF, "* You spawned a Rhino.");
        InMinigame[playerid] = 0;
        IsCaged[playerid] = 0;
        IsJailed[playerid] = 0;
        }
    else return SendClientMessage(playerid, COLOR_RED, "** Only Administrator level 3 or higher can use this command!");
    IsFreezed[playerid] = 0;
    return 1;
}
This way it should ALWAYS give you a message back and I also removed the double Admin level check, I hope this works for you!

Best regards,
Jesse
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)