11.11.2014, 08:50
Hola, lo que pasa, es que cuando estaciono, la pintura y las modificaciones del auto, se me van, y bueno yo creo que hay algo acб que estб mal, pero no se el que, me pueden ayudar
pawn Код:
stock UpdatePlayerVehicleParkPosition(playerid, playervehicleid, Float:newx, Float:newy, Float:newz, Float:newangle, Float:health)
{
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
if(PlayerVehicleInfo[playerid][playervehicleid][pvId] != INVALID_PLAYER_VEHICLE_ID)
{
new Float:oldx, Float:oldy, Float:oldz, oldfuel;
oldx = PlayerVehicleInfo[playerid][playervehicleid][pvPosX];
oldy = PlayerVehicleInfo[playerid][playervehicleid][pvPosY];
oldz = PlayerVehicleInfo[playerid][playervehicleid][pvPosZ];
if(oldx == newx && oldy == newy && oldz == newz) return 0;
PlayerVehicleInfo[playerid][playervehicleid][pvPosX] = newx;
PlayerVehicleInfo[playerid][playervehicleid][pvPosY] = newy;
PlayerVehicleInfo[playerid][playervehicleid][pvPosZ] = newz;
PlayerVehicleInfo[playerid][playervehicleid][pvPosAngle] = newangle;
PlayerVehicleInfo[playerid][playervehicleid][pvVW] = GetVehicleVirtualWorld(PlayerVehicleInfo[playerid][playervehicleid][pvId]);
oldfuel = VehicleFuel[PlayerVehicleInfo[playerid][playervehicleid][pvId]];
VehicleFuel[PlayerVehicleInfo[playerid][playervehicleid][pvId]] = 200;
UpdatePlayerVehicleMods(playerid, playervehicleid);
DestroyVehicle(PlayerVehicleInfo[playerid][playervehicleid][pvId]);
new carcreated = CreateVehicle(PlayerVehicleInfo[playerid][playervehicleid][pvModelId], PlayerVehicleInfo[playerid][playervehicleid][pvPosX], PlayerVehicleInfo[playerid][playervehicleid][pvPosY], PlayerVehicleInfo[playerid][playervehicleid][pvPosZ],
PlayerVehicleInfo[playerid][playervehicleid][pvPosAngle],PlayerVehicleInfo[playerid][playervehicleid][pvColor1], PlayerVehicleInfo[playerid][playervehicleid][pvColor2], -1);
SetVehicleVirtualWorld(carcreated, PlayerVehicleInfo[playerid][playervehicleid][pvVW]);
PlayerVehicleInfo[playerid][playervehicleid][pvId] = carcreated;
SetVehicleHealth(carcreated, health);
if(PlayerVehicleInfo[playerid][playervehicleid][pvLocked] == 1) LockPlayerVehicle(playerid, PlayerVehicleInfo[playerid][playervehicleid][pvId], PlayerVehicleInfo[playerid][playervehicleid][pvLock]);
LoadPlayerVehicleMods(playerid, playervehicleid);
return 1;
}
return 0;
}
stock UpdatePlayerVehicleMods(playerid, playervehicleid)
{
if(PlayerVehicleInfo[playerid][playervehicleid][pvImpounded] == 0) {
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
new carid = PlayerVehicleInfo[playerid][playervehicleid][pvId];
new exhaust, frontbumper, rearbumper, roof, spoilers, sideskirt1,
sideskirt2, wheels, hydraulics, nitro, hood, lamps, stereo, ventright, ventleft;
exhaust = GetVehicleComponentInSlot(carid, CARMODTYPE_EXHAUST);
frontbumper = GetVehicleComponentInSlot(carid, CARMODTYPE_FRONT_BUMPER);
rearbumper = GetVehicleComponentInSlot(carid, CARMODTYPE_REAR_BUMPER);
roof = GetVehicleComponentInSlot(carid, CARMODTYPE_ROOF);
spoilers = GetVehicleComponentInSlot(carid, CARMODTYPE_SPOILER);
sideskirt1 = GetVehicleComponentInSlot(carid, CARMODTYPE_SIDESKIRT);
sideskirt2 = GetVehicleComponentInSlot(carid, CARMODTYPE_SIDESKIRT);
wheels = GetVehicleComponentInSlot(carid, CARMODTYPE_WHEELS);
hydraulics = GetVehicleComponentInSlot(carid, CARMODTYPE_HYDRAULICS);
nitro = GetVehicleComponentInSlot(carid, CARMODTYPE_NITRO);
hood = GetVehicleComponentInSlot(carid, CARMODTYPE_HOOD);
lamps = GetVehicleComponentInSlot(carid, CARMODTYPE_LAMPS);
stereo = GetVehicleComponentInSlot(carid, CARMODTYPE_STEREO);
ventright = GetVehicleComponentInSlot(carid, CARMODTYPE_VENT_RIGHT);
ventleft = GetVehicleComponentInSlot(carid, CARMODTYPE_VENT_LEFT);
if(spoilers >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][0] = spoilers;
if(hood >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][1] = hood;
if(roof >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][2] = roof;
if(sideskirt1 >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][3] = sideskirt1;
if(lamps >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][4] = lamps;
if(nitro >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][5] = nitro;
if(exhaust >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][6] = exhaust;
if(wheels >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][7] = wheels;
if(stereo >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][8] = stereo;
if(hydraulics >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][9] = hydraulics;
if(frontbumper >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][10] = frontbumper;
if(rearbumper >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][11] = rearbumper;
if(ventright >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][12] = ventright;
if(ventleft >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][13] = ventleft;
if(sideskirt2 >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][14] = sideskirt2;
}
}
stock LoadPlayerVehicleMods(playerid, playervehicleid)
{
if(PlayerVehicleInfo[playerid][playervehicleid][pvImpounded] == 0 && PlayerVehicleInfo[playerid][playervehicleid][pvSpawned]== 1)
{
new paintjob = PlayerVehicleInfo[playerid][playervehicleid][pvPaintJob];
new color1 = PlayerVehicleInfo[playerid][playervehicleid][pvColor1];
new color2 = PlayerVehicleInfo[playerid][playervehicleid][pvColor2];
if(PlayerVehicleInfo[playerid][playervehicleid][pvPaintJob] != -1)
{
ChangeVehiclePaintjob(PlayerVehicleInfo[playerid][playervehicleid][pvId], paintjob);
ChangeVehicleColor(PlayerVehicleInfo[playerid][playervehicleid][pvId], color1, color2);
}
for(new m = 0; m < MAX_MODS; m++)
{
AddVehicleComponent(PlayerVehicleInfo[playerid][playervehicleid][pvId], PlayerVehicleInfo[playerid][playervehicleid][pvMods][m]);
}
}
}