Infernus ColorBug[Parking] [HELP]
#7

Well your command should look a bit more like this:
PHP код:
CMD:park(playeridparams[])
{
    if(!
IsPlayerLoggedIn(playerid)) return SendClientMessage(playeridCOLOR_GREY"You need to login first before using any command.");
    new 
vid GetPlayerVehicleID(playerid);
    if(!
vid) return SendClientMessage(playeridCOLOR_GREY"You are not in a vehicle.");
    if(
IsFamVehicle(vid) && Fam[vid] == PlayerInfo[playerid][pFam])
    {
        new 
idx PlayerInfo[playerid][pFam], veh GFVS(vid);
        
GetVehiclePos(vidFamInfo[idx][fVehCoX][veh], FamInfo[idx][fVehCoY][veh], FamInfo[idx][fVehCoZ][veh]);
        
GetVehicleZAngle(vidFamInfo[idx][fVehRot][veh]);
        if(
FamInfo[idx][fVehType][veh]) DestroyVehicle(FamInfo[idx][fVeh][veh]);
        
FamInfo[idx][fVeh][veh] = CreateVehicle(FamInfo[idx][fVehType][veh], FamInfo[idx][fVehCoX][veh], FamInfo[idx][fVehCoY][veh], FamInfo[idx][fVehCoZ][veh], FamInfo[idx][fVehRot][veh], FamInfo[idx][fVehCol1][veh], FamInfo[idx][fVehCol2][veh], 12000);
        
ChangeVehicleColor(FamInfo[idx][fVeh][veh], FamInfo[idx][fVehCol1][veh], FamInfo[idx][fVehCol2][veh]);
        
SendClientMessage(playeridCOLOR_LIGHTBLUE" You have parked your family vehicle, it will always spawn here until you park it somewhere else.");
        return 
1;
    }
    
// Owned Vehicles
    
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playeridCOLOR_GREY"You must be driving your own vehicle to park it.");
    if(
vid == PlayerInfo[playerid][pVeh])
    {
        for(new 
014i++) PlayerInfo[playerid][pVehMod][i] = GetVehicleComponentInSlot(PlayerInfo[playerid][pVeh], i);
        
GetVehiclePos(PlayerInfo[playerid][pVeh], PlayerInfo[playerid][vX], PlayerInfo[playerid][vY], PlayerInfo[playerid][vZ]);
        
GetVehicleZAngle(PlayerInfo[playerid][pVeh], PlayerInfo[playerid][vA]);
        
DestroyVehicle(PlayerInfo[playerid][pVeh]);
        
PlayerInfo[playerid][pVeh] = CreateVehicle(PlayerInfo[playerid][vModel], PlayerInfo[playerid][vX], PlayerInfo[playerid][vY], PlayerInfo[playerid][vZ], PlayerInfo[playerid][vA], PlayerInfo[playerid][vC1], PlayerInfo[playerid][vC2], 1200);
        
ChangeVehiclePaintjob(PlayerInfo[playerid][pVeh], PlayerInfo[playerid][vPJ]);
        for(new 
014i++) AddVehicleComponent(PlayerInfo[playerid][pVeh], PlayerInfo[playerid][pVehMod][i]);
    }
    else if(
vid == PlayerInfo[playerid][pVVeh])
    {
        for(new 
014i++) PlayerInfo[playerid][pVVehMod][i] = GetVehicleComponentInSlot(PlayerInfo[playerid][pVVeh], i);
        
GetVehiclePos(PlayerInfo[playerid][pVVeh], PlayerInfo[playerid][vVX], PlayerInfo[playerid][vVY], PlayerInfo[playerid][vVZ]);
        
GetVehicleZAngle(PlayerInfo[playerid][pVVeh], PlayerInfo[playerid][vVA]);
        
DestroyVehicle(PlayerInfo[playerid][pVVeh]);
        
PlayerInfo[playerid][pVVeh] = CreateVehicle(PlayerInfo[playerid][vVModel], PlayerInfo[playerid][vVX], PlayerInfo[playerid][vVY], PlayerInfo[playerid][vVZ], PlayerInfo[playerid][vVA], PlayerInfo[playerid][vVC1], PlayerInfo[playerid][vVC2], 1200);
        
ChangeVehiclePaintjob(PlayerInfo[playerid][pVVeh], PlayerInfo[playerid][vVPJ]);
        for(new 
014i++) AddVehicleComponent(PlayerInfo[playerid][pVVeh], PlayerInfo[playerid][pVVehMod][i]);
    }
    else if(
vid == PlayerInfo[playerid][pBVeh])
    {
        for(new 
014i++) PlayerInfo[playerid][pBVehMod][i] = GetVehicleComponentInSlot(PlayerInfo[playerid][pBVeh], i);
        
GetVehiclePos(PlayerInfo[playerid][pBVeh], PlayerInfo[playerid][vBX], PlayerInfo[playerid][vBY], PlayerInfo[playerid][vBZ]);
        
GetVehicleZAngle(PlayerInfo[playerid][pBVeh], PlayerInfo[playerid][vBA]);
        
DestroyVehicle(PlayerInfo[playerid][pBVeh]);
        
PlayerInfo[playerid][pBVeh] = CreateVehicle(PlayerInfo[playerid][vBModel], PlayerInfo[playerid][vBX], PlayerInfo[playerid][vBY], PlayerInfo[playerid][vBZ], PlayerInfo[playerid][vBA], PlayerInfo[playerid][vBC1], PlayerInfo[playerid][vBC2], 1200);
        
ChangeVehiclePaintjob(PlayerInfo[playerid][pBVeh], PlayerInfo[playerid][vBPJ]);
        for(new 
014i++) AddVehicleComponent(PlayerInfo[playerid][pBVeh], PlayerInfo[playerid][pBVehMod][i]);
    }
    else return 
SendClientMessage(playeridCOLOR_GREY"You are not in a vehicle that you can park.");
    
SendClientMessage(playeridCOLOR_LIGHTBLUE"You have parked your vehicle, it will always spawn here until you park it somewhere else.");
    return 
1;

Then you would need to update your color variables every time you use the transfender or other mod shops. Note that this does not account for pay 'n' sprays.

PHP код:
public OnVehicleRespray(playeridvehicleidcolor1color2)
{
    if(
vehicleid == PlayerInfo[playerid][pVeh])
        
PlayerInfo[playerid][vC1] = color1PlayerInfo[playerid][vC2] = color2;
    else if(
vehicleid == PlayerInfo[playerid][pVVeh])
        
PlayerInfo[playerid][vVC1] = color1PlayerInfo[playerid][vVC2] = color2;
    else if(
vehicleid == PlayerInfo[playerid][pBVeh])
        
PlayerInfo[playerid][vBC1] = color1PlayerInfo[playerid][vBC2] = color2;
    return 
1;

You should technically subtract 1 from every array that uses vehicle IDs, because if you happen to get vehicle ID 2000, then you can expect an out of bounds error. Vehicle IDs start at 1, not 0. But that's a story for another time
Reply


Messages In This Thread
Infernus ColorBug[Parking] [HELP] - by catal4n - 27.10.2016, 13:54
Re: Infernus ColorBug[Parking] [HELP] - by HoangNam - 27.10.2016, 14:17
Re: Infernus ColorBug[Parking] [HELP] - by catal4n - 27.10.2016, 14:37
Re: Infernus ColorBug[Parking] [HELP] - by catal4n - 28.10.2016, 16:05
Re: Infernus ColorBug[Parking] [HELP] - by Threshold - 28.10.2016, 16:44
Re: Infernus ColorBug[Parking] [HELP] - by catal4n - 28.10.2016, 20:03
Re: Infernus ColorBug[Parking] [HELP] - by Threshold - 29.10.2016, 03:54
Re: Infernus ColorBug[Parking] [HELP] - by catal4n - 29.10.2016, 08:04
Re: Infernus ColorBug[Parking] [HELP] - by Threshold - 29.10.2016, 10:28

Forum Jump:


Users browsing this thread: 1 Guest(s)