Help /park
#1

Hello guys , i got a problem with /v park on my car ownership . Wheen i do /v park , a message appear and it says car is saving , but wheen the cars are respawning the parked car is sstyil in the place it was created. here is my /v park command :
pawn Код:
else if(strcmp(x_nr,"park",true) == 0)
                {
                    if(PlayerInfo[playerid][pCar] == 9999)
                    {
                        SendClientMessage(playerid, COLOR_GREY, "You don't own a car.");
                        return 1;
                    }
                    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
                    {
                        new carid = GetPlayerVehicleID(playerid);
                        if(carid == PlayerInfo[playerid][pCar])
                        {
                            new Float:x,Float:y,Float:z;
                            new Float:a;
                            GetPlayerName(playerid, playername, sizeof(playername));
                            GetVehiclePos(carid, x, y, z);
                            GetVehicleZAngle(carid, a);
                            CarInfo[carid][cLocationx] = x;
                            CarInfo[carid][cLocationy] = y;
                            CarInfo[carid][cLocationz] = z;
                            CarInfo[carid][cAngle] = a;
                            format(string, sizeof(string), "You have saved your vehicle at the position %f.01, %f.01, %f.01, Remember it, it will respawn here!",x,y,z);
                            SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
                            SaveCar(carid);
                        }
                        else
                        {
                            SendClientMessage(playerid, COLOR_GREY, "You'r not in your car.");
                            return 1;
                        }
                    }
                    else
                    {
                        SendClientMessage(playerid, COLOR_GREY, "You'r not in a car.");
                        return 1;
                    }
                    return 1;
                }
                else if(strcmp(x_nr,"color",true) == 0)
                {
                    if(PlayerInfo[playerid][pCar] == 9999)
                    {
                        SendClientMessage(playerid, COLOR_GREY,"* You don't have a vehicle to respray.");
                        return 1;
                    }
                    tmp = strtok(cmdtext, idx);
                    if(!strlen(tmp))
                    {
                        SendClientMessage(playerid, COLOR_WHITE, "{00A1FF}USAGE{FFFFFF}: /v color [ColorOneID] [ColorTwoID] (50.000$ cost)");
                        return 1;
                    }
                    new color1;
                    color1 = strval(tmp);
                    if(color1 < 0 && color1 > 126)
                    {
                        SendClientMessage(playerid, COLOR_GREY, "   Wrong color id!");
                        return 1;
                    }
                    tmp = strtok(cmdtext, idx);
                    if(!strlen(tmp))
                    {
                        SendClientMessage(playerid, COLOR_WHITE, "{00A1FF}USAGE{FFFFFF}: /v color [ColorOneID] [ColorTwoID] (50.000$ cost)");
                        return 1;
                    }
                    new color2;
                    color2 = strval(tmp);
                    if(color2 < 0 && color2 > 126)
                    {
                        SendClientMessage(playerid, COLOR_GREY, "   Wrong color id!");
                        return 1;
                    }
                    if(GetPlayerMoney(playerid) < 50000)
                    {
                        SendClientMessage(playerid, COLOR_GREY, "   Nu ai suficienti bani!");
                        return 1;
                    }
                    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
                    {
                        new vehid = GetPlayerVehicleID(playerid);
                        if(CarInfo[vehid][cID] == PlayerInfo[playerid][pCar])
                        {
                            CarInfo[vehid][cColorOne] = color1;
                            CarInfo[vehid][cColorTwo] = color2;
                            ChangeVehicleColor(vehid, color1, color2);
                            GivePlayerMoney(playerid, -50000);
                            SendClientMessage(playerid, COLOR_WHITE, "Ti-ai modificat culoarea!");
                            SaveCar(vehid);
                        }
                        else
                        {
                            SendClientMessage(playerid, COLOR_GREY, "You'r not in your car.");
                            return 1;
                        }
                    }
                    else
                    {
                        SendClientMessage(playerid, COLOR_GREY, "You'r not in a car.");
                        return 1;
                    }
                    return 1;
                }
                else if(strcmp(x_nr,"create",true) == 0)
                {
                    tmp = strtok(cmdtext, idx);
                    if(!strlen(tmp))
                    {
                        SendClientMessage(playerid, COLOR_GRAD2, "{00A1FF}USAGE{FFFFFF}: create [color1] [color2]");
                        return 1;
                    }
                    new color1;
                    color1 = strval(tmp);
                    if(color1 < 0 && color1 > 126)
                    {
                        SendClientMessage(playerid, COLOR_GREY, "   Wrong color id!");
                        return 1;
                    }
                    tmp = strtok(cmdtext, idx);
                    if(!strlen(tmp))
                    {
                        SendClientMessage(playerid, COLOR_GRAD2, "{00A1FF}USAGE{FFFFFF}: create [color1] [color2]");
                        return 1;
                    }
                    new color2;
                    color2 = strval(tmp);
                    if(color2 < 0 && color2 > 126)
                    {
                        SendClientMessage(playerid, COLOR_GREY, "   Wrong color id!");
                        return 1;
                    }
                    new car = 0;
                    if(PlayerInfo[playerid][pCar] == 9999) { }
                    else return SendClientMessage(playerid, COLOR_GREY,"* You already own a car!");
                    for(new h = 760; h < sizeof(CarInfo); h++)
                    {
                        if(CarInfo[h][cOwned] == 0)
                        {
                            car = h;
                            h = 1300;
                        }
                    }
                    new Float:AX,Float:AY,Float:AZ,Float:Angle;
                    GetPlayerPos(playerid, AX,AY,AZ);
                    GetPlayerFacingAngle(playerid, Angle);

                    format(string, 128, "cars/%d.ini", car);
                    new playername2[MAX_PLAYER_NAME];
                    playername2 = PlayerName(playerid);

                    if(dini_Exists(string))
                    {
                        CarInfo[car][cID] = car;
                        CarInfo[car][cOwned] = 1;
                        strmid(CarInfo[car][cOwner], playername2, 0, strlen(playername2), 999);
                        CarInfo[car][cLocationx] = AX;
                        CarInfo[car][cLocationy] = AY;
                        CarInfo[car][cLocationz] = AZ;
                        CarInfo[car][cAngle] = Angle;
                        CarInfo[car][cModel] = 522;
                        CarInfo[car][cColorOne] = color1;
                        CarInfo[car][cColorTwo] = color2;

                        SaveCar(car);
                    }
                    else
                    {
                        dini_Create(string);
                        CarInfo[car][cID] = car;
                        CarInfo[car][cOwned] = 1;
                        strmid(CarInfo[car][cOwner], playername2, 0, strlen(playername2), 999);
                        CarInfo[car][cLocationx] = AX;
                        CarInfo[car][cLocationy] = AY;
                        CarInfo[car][cLocationz] = AZ;
                        CarInfo[car][cAngle] = Angle;
                        CarInfo[car][cModel] = 522;
                        CarInfo[car][cColorOne] = color1;
                        CarInfo[car][cColorTwo] = color2;

                        SaveCar(car);
                    }

                    PlayerInfo[playerid][pCar] = car;
                    ownedcar[car] = CreateVehicle(522,CarInfo[car][cLocationx],CarInfo[car][cLocationy],CarInfo[car][cLocationz],CarInfo[car][cAngle],CarInfo[car][cColorOne],CarInfo[car][cColorTwo],300);
                    SendClientMessage(playerid, COLOR_GRAD2, "Congratulations on your new purchase!");
                    SendClientMessage(playerid, COLOR_GRAD2, "Type /vehicle to view the vehicle manual!");
                    GameTextForPlayer(playerid, "~p~Congratulations~n~~w~Don't forget where you placed you'r new ~b~car!", 5000, 3);
                }
                else
                {
                    SendClientMessage(playerid, COLOR_WHITE, "HINT: (/v)ehicle [name]");
                    SendClientMessage(playerid, COLOR_WHITE, "Available names: color, park, create");
                    return 1;
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GRAD2, "Trebuie sa ai level 3 si 36 ore pe server!");
                return 1;
            }
        }
        return 1;
    }
Reply
#2

You need to destroy that vehicle and create it at new coords, or use SetVehiclePos on veh spawn, but I would suggest to destroy it and create at new coords
Reply
#3

I'm a bit newbie to scripting .. could you explain me more detailed . or solve my command pleaze ?
Reply
#4

make new global thingy named new CarParked[MAX_VEHICLES]; somewhere where you save new car coods like CarInfo[carid][cLocationz] = z; add CarParked[carid] = 1;
and OnVehicleSpawn add
if(CarParked[vehicleid])
{

CarParked[vehicleid] = 0;
DestroyVehicle(..
CreateVehicle(..
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)