10.11.2013, 22:08
Lo que pasa es que en mi GM siempre antes de desconectarte tenes que poner en el vehiculo /estacionar para que despues cuando te conectes aparesca en ese mismo lugar, y la verdad que no me gusta, quisiera que cuando entren el vehiculo este en el ultimo lugar donde lo dejaron sin poner /estacionar ...Nose si me explico 
Aca les paso algunas cosas de mi gm aver si me pueden ayudar
el comando estacionar
Algunas variables
Bueno creo que me sarpe poniendo cosas, el que me ayude con esto es un groxo porque yo nunca lo pude aser y si se algo de pawno :C Si quieren que les pase mas cosas de mi gm solo avisen

Aca les paso algunas cosas de mi gm aver si me pueden ayudar
pawn Код:
case CARSPAWN:
{
if (response == 1)
{
if(PlayerVehicleInfo[playerid][listitem][pvImpounded] == 1) return SendClientMessageEx(playerid,COLOR_WHITE,"El auto que intenta spawnear estб embargado.");
if(PlayerVehicleInfo[playerid][listitem][pvImpounded] >= 2) PlayerVehicleInfo[playerid][listitem][pvImpounded] = 0;
if(PlayerVehicleInfo[playerid][listitem][pvModelId] != 0 && PlayerVehicleInfo[playerid][listitem][pvImpounded] == 0 && PlayerVehicleInfo[playerid][listitem][pvSpawned]== 0)
{
if(carsforplayer[playerid] == 8) return SendClientMessageEx(playerid,COLOR_WHITE,"Todos Tus Coches Fueron Spawneados");
PlayerCars++;
carsforplayer[playerid]++;
new carcreated = CreateVehicle(PlayerVehicleInfo[playerid][listitem][pvModelId], PlayerVehicleInfo[playerid][listitem][pvPosX], PlayerVehicleInfo[playerid][listitem][pvPosY], PlayerVehicleInfo[playerid][listitem][pvPosZ], PlayerVehicleInfo[playerid][listitem][pvPosAngle],PlayerVehicleInfo[playerid][listitem][pvColor1], PlayerVehicleInfo[playerid][listitem][pvColor2], -1);
PlayerVehicleInfo[playerid][listitem][pvId] = carcreated;
VehicleFuel[carcreated] = PlayerVehicleInfo[playerid][listitem][pvFuel];
SetVehicleHealth(carcreated, PlayerVehicleInfo[playerid][listitem][pvHealth]);
SetVehicleVirtualWorld(carcreated, PlayerVehicleInfo[playerid][listitem][pvVW]);
LoadAllPlayerVehicleMods(playerid);
PlayerVehicleInfo[playerid][listitem][pvSpawned] = 1;
SendClientMessageEx(playerid,COLOR_WHITE,"Vehiculo spawneado correctamente, en la ъltima posiciуn que lo estacionaste. (/gps)");
if(PlayerVehicleInfo[playerid][listitem][pvLocked] == 1)
LockPlayerVehicle(playerid, PlayerVehicleInfo[playerid][listitem][pvId], PlayerVehicleInfo[playerid][listitem][pvLock]);
LoadPlayerVehicleMods(playerid, listitem);
return 1;
}
else if(PlayerVehicleInfo[playerid][listitem][pvSpawned] == 1)
{
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
//printf(" Unloading %s's vehicles.", playername);
new Float:health;
GetVehicleHealth(PlayerVehicleInfo[playerid][listitem][pvId], health);
if(health < 500) return SendClientMessageEx(playerid, COLOR_GREY, " El vehiculo estб muy daсado para ser guardado.");
if(IsVehicleBusy(PlayerVehicleInfo[playerid][listitem][pvId])) return SendClientMessageEx(playerid, COLOR_GREY, " El vehiculo estб ocupado por otra persona y no puede ser guardado.");
if(PlayerVehicleInfo[playerid][listitem][pvImpounded] >= 2) PlayerVehicleInfo[playerid][listitem][pvImpounded] = 0;
if(PlayerVehicleInfo[playerid][listitem][pvId] != INVALID_PLAYER_VEHICLE_ID && PlayerVehicleInfo[playerid][listitem][pvImpounded] == 0 && PlayerVehicleInfo[playerid][listitem][pvSpawned]== 1)
{
PlayerCars--;
carsforplayer[playerid]--;
if(LockStatus[PlayerVehicleInfo[playerid][listitem][pvId]] != 0) LockStatus[PlayerVehicleInfo[playerid][listitem][pvId]] = 0;
UpdatePlayerVehicleMods(playerid, listitem);
DestroyVehicle(PlayerVehicleInfo[playerid][listitem][pvId]);
VehicleFuel[PlayerVehicleInfo[playerid][listitem][pvId]] = 1000;
PlayerVehicleInfo[playerid][listitem][pvId] = INVALID_PLAYER_VEHICLE_ID;
PlayerVehicleInfo[playerid][listitem][pvSpawned] = 0;
SendClientMessageEx(playerid,COLOR_WHITE,"Vehiculo fue guardado correctamente.");
if(PlayerVehicleInfo[playerid][listitem][pvAllowedPlayerId] != INVALID_PLAYER_ID)
{
Info[PlayerVehicleInfo[playerid][listitem][pvAllowedPlayerId]][pVehicleKeys] = INVALID_PLAYER_VEHICLE_ID;
Info[PlayerVehicleInfo[playerid][listitem][pvAllowedPlayerId]][pVehicleKeysFrom] = INVALID_PLAYER_ID;
PlayerVehicleInfo[playerid][listitem][pvAllowedPlayerId] = INVALID_PLAYER_ID;
}
}
}
}
}
}
return 1;
}
IsVehicleBusy(vehicleid) // The_Chaoz ї?ї?ї
{
for(new i; i<GetMaxPlayers(); i++)
if(IsPlayerConnected(i) && IsPlayerInVehicle(i, vehicleid))
return 1;
return 0;
}
el comando estacionar
pawn Код:
CMD:estacionar(playerid, params[])
{
if(Info[playerid][pVehicleKeysFrom] != INVALID_PLAYER_ID)
{
new ownerid = Info[playerid][pVehicleKeysFrom];
if(IsPlayerConnected(ownerid))
{
new d = Info[playerid][pVehicleKeys];
if(IsPlayerInVehicle(playerid, PlayerVehicleInfo[ownerid][d][pvId]))
{
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessageEx(playerid, COLOR_GREY, "Tu debes ser el conductor.");
new Float:x, Float:y, Float:z, Float:angle, Float:health;
GetVehicleHealth(PlayerVehicleInfo[ownerid][d][pvId], health);
PlayerVehicleInfo[ownerid][d][pvHealth] = health;
//if(health < 800) return SendClientMessageEx(playerid, COLOR_GREY, " Tu vehнculo estб demasiado daсado para estacionarlo.");
if(Info[playerid][pLockCar] == GetPlayerVehicleID(playerid)) Info[playerid][pLockCar] = INVALID_VEHICLE_ID;
GetVehicleZAngle(PlayerVehicleInfo[ownerid][d][pvId], angle);
SurfingCheck(GetPlayerVehicleID(playerid));
UpdatePlayerVehicleParkPosition(ownerid, d, x, y, z, angle, health);
PutPlayerInVehicle(playerid, GetPlayerVehicleID(playerid), 0);
SetPlayerArmedWeapon(playerid, 0);
LoadAllPlayerVehicleMods(playerid);
new string[29 + (MAX_PLAYER_NAME * 2)];
format(string, sizeof(string), "* %s ha estacionado el vehiculo de %s.", GetPlayerNameEx(playerid), GetPlayerNameEx(ownerid));
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
fVehSpeed[playerid] = 0.0;
return 1;
}
}
}
for(new d = 0 ; d < MAX_PLAYERVEHICLES; d++)
{
if(IsPlayerInVehicle(playerid, PlayerVehicleInfo[playerid][d][pvId]))
{
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessageEx(playerid, COLOR_GREY, "Tu debes ser el conductor.");
new Float:x, Float:y, Float:z, Float:angle, Float:health;
GetVehicleHealth(PlayerVehicleInfo[playerid][d][pvId], health);
PlayerVehicleInfo[playerid][d][pvHealth] = health;
//if(health < 800) return SendClientMessageEx(playerid, COLOR_GREY, " Tu vehiculo estб muy daсado para estacionarlo.");
if(Info[playerid][pLockCar] == GetPlayerVehicleID(playerid)) Info[playerid][pLockCar] = INVALID_VEHICLE_ID;
GetVehiclePos(PlayerVehicleInfo[playerid][d][pvId], x, y, z);
GetVehicleZAngle(PlayerVehicleInfo[playerid][d][pvId], angle);
SurfingCheck(GetPlayerVehicleID(playerid));
UpdatePlayerVehicleParkPosition(playerid, d, x, y, z, angle, health);
PutPlayerInVehicle(playerid, PlayerVehicleInfo[playerid][d][pvId], 0);
SetPlayerArmedWeapon(playerid, 0);
new string[30 + (MAX_PLAYER_NAME * 2)];
format(string, sizeof(string), "* %s ha estacionado su vehiculo.", GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
fVehSpeed[playerid] = 0.0;
return 1;
}
}
SendClientMessageEx(playerid, COLOR_GREY, "Tu necesitas estar dentro de tu vehiculo para hacer esto.");
return 1;
}
pawn Код:
Info[playerid][pLevel] = 0; Info[playerid][pAdminZC] = 0;
Info[playerid][pFactionModerator] = 0; Info[playerid][pGangModerator] = 0;
Info[playerid][pLvlAdminZC] = 0; Info[playerid][pHelper] = 0;
Info[playerid][pBanAppealer] = 0; Info[playerid][pConnectTime] = 0;
Info[playerid][pReg] = 0; Info[playerid][pSex] = 0;
Info[playerid][pAge] = 0; Info[playerid][pOrigin] = 0;
Info[playerid][pExp] = 0; Info[playerid][pAccount] = 0;
Info[playerid][pDeaths] = 0; Info[playerid][pArrested] = 0;
Info[playerid][pJailAdmin] = 0; Info[playerid][pOrder] = 0;
Info[playerid][pTempVIP] = 0; Info[playerid][pBuddyInvited] = 0;
Info[playerid][pVIPInviteDay] = 0; Info[playerid][pVTokens] = 0;
Info[playerid][pJob2] = 0; Info[playerid][pTypeSpawn] = 0;
Info[playerid][pShopTech] = 0; Info[playerid][pEstado] = 0;
Info[playerid][pVIPDateM] = -1; Info[playerid][pVIPDateD] = -1;
Info[playerid][pRegalo] = -1; Info[playerid][pPayCheck] = 0;
Info[playerid][pTimePayDay] = 0; Info[playerid][pLottoNr] = 0;
Info[playerid][pJob] = 0; Info[playerid][pNMute] = 0;
Info[playerid][pNMuteTotal] = 0; Info[playerid][pWarn] = 0;
Info[playerid][pWRestricted] = 0; Info[playerid][pJailed] = 0;
Info[playerid][pJailTime] = 0; Info[playerid][pMats] = 0;
Info[playerid][pDrugs] = 0; Info[playerid][pCosecha] = 0;
Info[playerid][pCrack] = 0; Info[playerid][pPot] = 0;
Info[playerid][pAdiccion] = 0; Info[playerid][pPackages] = 0;
Info[playerid][pLeader] = 0; Info[playerid][pMember] = 0;
Info[playerid][pDivision] = 0; Info[playerid][pFMember] = 255;
Info[playerid][pDPHours] = 0; Info[playerid][pDPTime] = -1;
Info[playerid][pDPTotal] = 0; Info[playerid][pRank] = 0;
Info[playerid][pChar] = 0; Info[playerid][pHealth] = 50.0;
Info[playerid][pArmour] = 0.0; Info[playerid][pPos_x] = 16132.3240;
Info[playerid][pPos_y] = -2330.1670; Info[playerid][pPos_z] = 1443.5469;
Info[playerid][pInt] = 0; Info[playerid][pTeam] = 3;
Info[playerid][pModel] = 7; Info[playerid][pSprunk] = 0;
Info[playerid][pPnumber] = 0; Info[playerid][pPhoneBook] = 0;
Info[playerid][pPhousekey]=INVALID_HOUSE_ID;Info[playerid][pPhousekey2] = INVALID_HOUSE_ID;
Info[playerid][pCarLic] = 0; Info[playerid][pFlyLic] = 0;
Info[playerid][pBoatLic] = 0; Info[playerid][pGunLic] = 0;
Info[playerid][pGafas] = 0; Info[playerid][pTut] = 0;
Info[playerid][pTestTut] = 0; Info[playerid][pLighter] = 0;
Info[playerid][pCigarettes] = 0; Info[playerid][pMask] = 0;
Info[playerid][pMaskuse] = 0; Info[playerid][pHideNumber] = 0;
Info[playerid][pSpeaker] = 0; Info[playerid][pBannedZC] = 0;
Info[playerid][pDisabledZC] = 0; Info[playerid][pBlockBug] = 0;
new dni = 100000 + random(899999); Info[playerid][pDNI] = dni;
Info[playerid][pArmsSkill] = 0; Info[playerid][pTruckSkill] = 0;
Info[playerid][pSmugSkill] = 0; Info[playerid][pDrugsSkill] = 0;
Info[playerid][pRequestingBackup] = 0; Info[playerid][pSIDA] = 0;
Info[playerid][pCancer] = 0; Info[playerid][pEpilepsia] = 0;
Info[playerid][pDengue] = 0; Info[playerid][pWantedLevel] = 0;
Info[playerid][pAntiSIDA] = 0; Info[playerid][pAntiCancer] = 0;
Info[playerid][pAntiEpilepsia] = 0; Info[playerid][pRenting] = INVALID_HOUSE_ID;
Info[playerid][p_Pr_Money] = 0; Info[playerid][p_Pr_Time] = 0;
Info[playerid][pRob] = 0; Info[playerid][pVIP] = 0;
Info[playerid][pBanDuda] = 0; Info[playerid][pRMuted] = 0;
Info[playerid][pRMutedTotal] = 0; Info[playerid][pRMutedTime] = 0;
Info[playerid][pPasaporte] = 0; Info[playerid][pRadio] = 0;
Info[playerid][pRadioFreq] = 0; Info[playerid][pIpadMusic] = 0;
Info[playerid][pGiftTime] = 0; Info[playerid][pAccent] = 0;
Info[playerid][pPaintTeam] = 0; Info[playerid][pPaintTokens] = 0;
Info[playerid][pUndercover] = 0; Info[playerid][pVehicleKeysFrom] = INVALID_PLAYER_ID;
Info[playerid][pVIPCHAT] = 0; Info[playerid][pLockCar] = INVALID_VEHICLE_ID;
Info[playerid][pSpraycan] = 0; Info[playerid][pCarKey2]=INVALID_PLAYER_VEHICLE_ID;
Info[playerid][pServiceTime] = 0; Info[playerid][pTriageTime] = 0;
Info[playerid][pTaxiLicense] = 0; Info[playerid][pLock] = 0;
Info[playerid][pHead] = 0; Info[playerid][pVehicleKeys] = INVALID_PLAYER_VEHICLE_ID;
Info[playerid][pCHits] = 0; Info[playerid][pFHits] = 0;
Info[playerid][pJudgeJailTime] = 0; Info[playerid][pJudgeJailType] = 0;
Info[playerid][pBeingSentenced] = 0; Info[playerid][pProbationTime] = 0;
Info[playerid][pWExists] = 0; Info[playerid][pWX] = 0;
Info[playerid][pWY] = 0; Info[playerid][pWZ] = 0;
Info[playerid][pWVW] = 0; Info[playerid][pWInt] = 0;
Info[playerid][pWValue] = -1; Info[playerid][pWTimer] = -1;
Info[playerid][pWSeeds] = 0; Info[playerid][YaCobre] = 0;
Info[playerid][pADMute] = 0; Info[playerid][pADMuteTotal] = 0;
Info[playerid][pFishSkill] = 0; Info[playerid][pFishes] = 0;
Info[playerid][pBiggestFish] = 0; Info[playerid][pRHours] = 0;
Info[playerid][pADTime] = 0; Info[playerid][pOther] = 5;
Info[playerid][pGTokens] = 0; Info[playerid][pDobleExp] = 0;
Info[playerid][pAdverID] = -1; Info[playerid][pTimePlay] = 0;
Info[playerid][pScrewdriver] = 0; Info[playerid][pFirstaid] = 0;
Info[playerid][pSurveillance] = 0;
format(Info[playerid][pAutoTextReply], 64, "Nada");
format(Info[playerid][pContractBy], 32, "");
format(Info[playerid][pContractDetail], 64, "");
format(Info[playerid][pWarrant], 128, "");
for(new v = 0; v < MAX_PLAYERVEHICLES; v++)
{
PlayerVehicleInfo[playerid][v][pvModelId] = 0;
PlayerVehicleInfo[playerid][v][pvPosX] = 0.0;
PlayerVehicleInfo[playerid][v][pvPosY] = 0.0;
PlayerVehicleInfo[playerid][v][pvPosZ] = 0.0;
PlayerVehicleInfo[playerid][v][pvPosAngle] = 0.0;
PlayerVehicleInfo[playerid][v][pvVW] = 0;
PlayerVehicleInfo[playerid][v][pvLock] = 0;
PlayerVehicleInfo[playerid][v][pvLocked] = 0;
PlayerVehicleInfo[playerid][v][pvPaintJob] = -1;
PlayerVehicleInfo[playerid][v][pvColor1] = 0;
PlayerVehicleInfo[playerid][v][pvImpounded] = 0;
PlayerVehicleInfo[playerid][v][pvColor2] = 0;
PlayerVehicleInfo[playerid][v][pvPrice] = 0;
PlayerVehicleInfo[playerid][v][pvTicket] = 0;
PlayerVehicleInfo[playerid][v][pvWeapons][0] = 0;
PlayerVehicleInfo[playerid][v][pvWeapons][1] = 0;
PlayerVehicleInfo[playerid][v][pvWeapons][2] = 0;
PlayerVehicleInfo[playerid][v][pvWepUpgrade] = -1;
PlayerVehicleInfo[playerid][v][pvFuel] = 1000;
PlayerVehicleInfo[playerid][v][pvSpawned]= 0;
PlayerVehicleInfo[playerid][v][pvHealth] = 1000.0;
//format(PlayerVehicleInfo[playerid][v][pvNumberPlate], 32, "ZCRP {FF0000}FTW"); // Numeric attempt for "NGG FTW" with extra spaces.
strcpy(PlayerVehicleInfo[playerid][v][pvAllowPlayer], "Nadie", MAX_PLAYER_NAME);
PlayerVehicleInfo[playerid][v][pvAllowedPlayerId] = INVALID_PLAYER_ID;
PlayerVehicleInfo[playerid][v][pvPark] = 0;
for(new m = 0; m < MAX_MODS; m++)
{
PlayerVehicleInfo[playerid][v][pvMods][m] = 0;
}
}
GiveKeysTo[playerid] = INVALID_PLAYER_ID; CancelReport[playerid] = -1;
return true;
}
pawn Код:
StopAudioStreamForPlayer(playerid);
SetPlayerSkillLevel ( playerid, WEAPONSKILL_PISTOL, 1 ) ;
SetPlayerSkillLevel ( playerid, WEAPONSKILL_PISTOL_SILENCED, 1 ) ;
SetPlayerSkillLevel ( playerid, WEAPONSKILL_SAWNOFF_SHOTGUN, 1 ) ;
SetPlayerSkillLevel ( playerid, WEAPONSKILL_MICRO_UZI, 1 ) ;
SetPlayerSkillLevel ( playerid, WEAPONSKILL_SNIPERRIFLE, 1 ) ;
SetPlayerWantedLevel(playerid, Info[playerid][pWantedLevel]);
gTeam[playerid] = Info[playerid][pTeam]; //Set the Team
SetPlayerSpawn(playerid);
SetPlayerWeapons(playerid);
OnDuty[playerid] = 0;
SetPlayerToTeamColor(playerid);
SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL, 1);
SetPlayerSkillLevel(playerid, WEAPONSKILL_MICRO_UZI, 1);
SyncPlayerTime(playerid);
if(GetPVarInt(playerid, "spawneadoc") == 0) // solo si es la primera vez que spawneas desde q te conectaste
{
SetPVarInt(playerid, "spawneadoc", 1); // esto es para que no vuelva a spawnearlos si vos moris
for(new listitem = 0; listitem < 10; listitem++) // 10 para 10 slots si tenes muchos coches
{
if(PlayerVehicleInfo[playerid][listitem][pvImpounded] >= 2) PlayerVehicleInfo[playerid][listitem][pvImpounded] = 0;
if(PlayerVehicleInfo[playerid][listitem][pvModelId] != 0 && PlayerVehicleInfo[playerid][listitem][pvImpounded] == 0 && PlayerVehicleInfo[playerid][listitem][pvSpawned]== 0)
{
PlayerCars++;
carsforplayer[playerid]++;
new carcreated = CreateVehicle(PlayerVehicleInfo[playerid][listitem][pvModelId], PlayerVehicleInfo[playerid][listitem][pvPosX], PlayerVehicleInfo[playerid][listitem][pvPosY], PlayerVehicleInfo[playerid][listitem][pvPosZ], PlayerVehicleInfo[playerid][listitem][pvPosAngle],PlayerVehicleInfo[playerid][listitem][pvColor1], PlayerVehicleInfo[playerid][listitem][pvColor2], -1);
PlayerVehicleInfo[playerid][listitem][pvId] = carcreated;
VehicleFuel[carcreated] = PlayerVehicleInfo[playerid][listitem][pvFuel];
SetVehicleHealth(carcreated, PlayerVehicleInfo[playerid][listitem][pvHealth]);
SetVehicleVirtualWorld(carcreated, PlayerVehicleInfo[playerid][listitem][pvVW]);
PlayerVehicleInfo[playerid][listitem][pvSpawned] = 1;
if(PlayerVehicleInfo[playerid][listitem][pvLocked] == 1)
LockPlayerVehicle(playerid, PlayerVehicleInfo[playerid][listitem][pvId], PlayerVehicleInfo[playerid][listitem][pvLock]);
LoadPlayerVehicleMods(playerid, listitem);
return 1;
}
else if(PlayerVehicleInfo[playerid][listitem][pvSpawned] == 1)
{
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
//printf(" Unloading %s's vehicles.", playername);
new Float:health;
GetVehicleHealth(PlayerVehicleInfo[playerid][listitem][pvId], health);
if(health < 500) return SendClientMessageEx(playerid, COLOR_GREY, " El vehiculo estб muy daсado para ser guardado.");
if(IsVehicleBusy(PlayerVehicleInfo[playerid][listitem][pvId])) return SendClientMessageEx(playerid, COLOR_GREY, " El vehiculo estб ocupado por otra persona y no puede ser guardado.");
if(PlayerVehicleInfo[playerid][listitem][pvImpounded] >= 2) PlayerVehicleInfo[playerid][listitem][pvImpounded] = 0;
if(PlayerVehicleInfo[playerid][listitem][pvId] != INVALID_PLAYER_VEHICLE_ID && PlayerVehicleInfo[playerid][listitem][pvImpounded] == 0 && PlayerVehicleInfo[playerid][listitem][pvSpawned]== 1)
{
PlayerCars--;
carsforplayer[playerid]--;
if(LockStatus[PlayerVehicleInfo[playerid][listitem][pvId]] != 0) LockStatus[PlayerVehicleInfo[playerid][listitem][pvId]] = 0;
UpdatePlayerVehicleMods(playerid, listitem);
DestroyVehicle(PlayerVehicleInfo[playerid][listitem][pvId]);
VehicleFuel[PlayerVehicleInfo[playerid][listitem][pvId]] = 1000;
PlayerVehicleInfo[playerid][listitem][pvId] = INVALID_PLAYER_VEHICLE_ID;
PlayerVehicleInfo[playerid][listitem][pvSpawned] = 0;
SendClientMessageEx(playerid,COLOR_WHITE,"Vehiculo fue guardado correctamente.");
if(PlayerVehicleInfo[playerid][listitem][pvAllowedPlayerId] != INVALID_PLAYER_ID)
{
Info[PlayerVehicleInfo[playerid][listitem][pvAllowedPlayerId]][pVehicleKeys] = INVALID_PLAYER_VEHICLE_ID;
Info[PlayerVehicleInfo[playerid][listitem][pvAllowedPlayerId]][pVehicleKeysFrom] = INVALID_PLAYER_ID;
PlayerVehicleInfo[playerid][listitem][pvAllowedPlayerId] = INVALID_PLAYER_ID;
}
}
}
}
}
return 1;
pawn Код:
public OnVehicleSpawn(vehicleid)
{
ABS_UpdateVehiclePosition(vehicleid);
if(Lamp[vehicleid] == 1)
{
DestroyObject(light[vehicleid]);
Lamp[vehicleid] = 0;
}
VehicleStatus{vehicleid} = 0;
estacionveh[vehicleid] = 0;
foreach(Player, i)
{
new v;
v = GetPlayerVehicle(i, vehicleid);
if (v != -1)
{
if(PlayerVehicleInfo[i][v][pvId] == vehicleid && GetVehicleModel(vehicleid) != PlayerVehicleInfo[i][v][pvModelId])
{
DestroyVehicle(vehicleid);
PlayerVehicleInfo[i][v][pvId] = CreateVehicle(PlayerVehicleInfo[i][v][pvModelId], PlayerVehicleInfo[i][v][pvPosX], PlayerVehicleInfo[i][v][pvPosY], PlayerVehicleInfo[i][v][pvPosZ], PlayerVehicleInfo[i][v][pvPosAngle],PlayerVehicleInfo[i][v][pvColor1], PlayerVehicleInfo[i][v][pvColor2], -1);
if(PlayerVehicleInfo[i][v][pvLocked] == 1) LockPlayerVehicle(i, PlayerVehicleInfo[i][v][pvId], PlayerVehicleInfo[i][v][pvLock]);
ChangeVehiclePaintjob(PlayerVehicleInfo[i][v][pvId], PlayerVehicleInfo[i][v][pvPaintJob]);
ChangeVehicleColor(PlayerVehicleInfo[i][v][pvId], PlayerVehicleInfo[i][v][pvColor1], PlayerVehicleInfo[i][v][pvColor2]);
SetVehicleVirtualWorld(PlayerVehicleInfo[i][v][pvId], PlayerVehicleInfo[i][v][pvVW]);
SetVehicleHealth(PlayerVehicleInfo[i][v][pvId], PlayerVehicleInfo[i][v][pvHealth]);
//SetVehicleNumberPlate(PlayerVehicleInfo[i][v][pvId], PlayerVehicleInfo[i][v][pvNumberPlate]);
for(new m = 0; m < MAX_MODS; m++)
{
//if (PlayerVehicleInfo[i][v][pvMods][m] >= 1000 && PlayerVehicleInfo[i][v][pvMods][m] <= 1193)
//{
//if (InvalidModCheck(GetVehicleModel(vehicleid), PlayerVehicleInfo[i][v][pvMods][m]))
//{
AddVehicleComponent(PlayerVehicleInfo[i][v][pvId], PlayerVehicleInfo[i][v][pvMods][m]);
//}
/*else
{
printf("Removing invalid mod %d from %d of %s", PlayerVehicleInfo[i][v][pvMods][m], GetVehicleModel(vehicleid), GetPlayerNameEx(i));
PlayerVehicleInfo[i][v][pvMods][m] = 0;
}*/
//}
}
}
else
{
//DestroyVehicle(vehicleid);
//PlayerVehicleInfo[i][v][pvId] = CreateVehicle(PlayerVehicleInfo[i][v][pvModelId], PlayerVehicleInfo[i][v][pvPosX], PlayerVehicleInfo[i][v][pvPosY], PlayerVehicleInfo[i][v][pvPosZ], PlayerVehicleInfo[i][v][pvPosAngle],PlayerVehicleInfo[i][v][pvColor1], PlayerVehicleInfo[i][v][pvColor2], -1);
//if(PlayerVehicleInfo[i][v][pvLocked] == 1) LockPlayerVehicle(i, PlayerVehicleInfo[i][v][pvId], PlayerVehicleInfo[i][v][pvLock]);
ChangeVehiclePaintjob(vehicleid, PlayerVehicleInfo[i][v][pvPaintJob]);
ChangeVehicleColor(vehicleid, PlayerVehicleInfo[i][v][pvColor1], PlayerVehicleInfo[i][v][pvColor2]);
SetVehicleVirtualWorld(vehicleid, PlayerVehicleInfo[i][v][pvVW]);
SetVehicleHealth(vehicleid, PlayerVehicleInfo[i][v][pvHealth]);
//SetVehicleNumberPlate(PlayerVehicleInfo[i][v][pvId], PlayerVehicleInfo[i][v][pvNumberPlate]);
for(new m = 0; m < MAX_MODS; m++)
{
AddVehicleComponent(PlayerVehicleInfo[i][v][pvId], PlayerVehicleInfo[i][v][pvMods][m]);
}
if(PlayerVehicleInfo[i][v][pvLocked] == 1) LockPlayerVehicle(i, PlayerVehicleInfo[i][v][pvId], PlayerVehicleInfo[i][v][pvLock]);
}
new string[128];
format(string,sizeof(string),"Tu %s ha sido enviado a la ъltima posiciуn donde lo aparcaste.",GetVehicleName(vehicleid));
SendClientMessageEx(i, COLOR_GRAD1, string);
}
}
if(LockStatus[vehicleid])
{
foreach(Player, i)
{
if(Info[i][pLockCar] == vehicleid)
{
Info[i][pLockCar] = INVALID_VEHICLE_ID;
}
}
}
arr_Engine{vehicleid} = 0;
VehicleFuel[vehicleid] = 500;
TruckContents[vehicleid] = 0;
}
function SetPlayerJoinCamera(playerid)
{
SetPlayerPos(playerid, 1451.9435,-807.9184,84.2758);
SetPlayerFacingAngle(playerid, 186.2128);
SetPlayerCameraPos(playerid,-141.000,-1465.000,65.000);
SetPlayerCameraLookAt(playerid,-119.000,-1445.000,49.000);
}

