PHP код:
enum Parking{
Float:parkPosX,
Float:parkPosY,
Float:parkPosZ,
Float:parkPosA,
parkINTExt,
parkVWExt,
Float:parkPosXX,
Float:parkPosYY,
Float:parkPosZZ,
Float:parkPosAA,
parkINTInt,
};
static ParkInfo[][Parking] = {
// EXTERIOR - INTERIOR
// X Y Z A INT VW XX YY ZZ A INT
{1764.6896, -2031.9556, 14.0931, 0.0, 0, 0, 614.0005, -74.8299, 997.9922, 270.0. 2}, // Parking Taller LS 1
{1764.6918, -2048.8484, 14.1053, 0.0, 0, 0, 614.0005, -74.8299, 997.9922, 270.0. 2}, // Parking Taller LS 2
{1751.4443, -2053.9902, 14.1225, 0.0, 0, 0, 614.0005, -74.8299, 997.9922, 270.0. 2}, // Parking Taller LS 3
{1768.6816, -2019.7382, 14.1368, 0.0, 0, 0, 614.0005, -74.8299, 997.9922, 270.0. 2} // Parking Taller LS 4
};
stock PlayerIsNearParking(playerid)
{
for(new i; i != sizeof(ParkInfo); i++)
{
if(!IsPlayerInRangeOfPoint(playerid, 5.0, ParkInfo[i][parkPosX], ParkInfo[i][parkPosY], ParkInfo[i][parkPosZ]))
continue;
if(GetPlayerVirtualWorld(playerid) != ParkInfo[i][parkVWExt])
continue;
if(GetPlayerInterior(playerid) != ParkInfo[i][parkINTExt])
continue;
return i;
}
return -1;
}
stock PlayerIsNearExitParking(playerid)
{
for(new i; i != sizeof(ParkInfo); i++)
{
if(!IsPlayerInRangeOfPoint(playerid, 5.0, ParkInfo[i][parkPosXX], ParkInfo[i][parkPosYY], ParkInfo[i][parkPosZZ]))
continue;
if(GetPlayerVirtualWorld(playerid) != i + 20)
continue;
if(GetPlayerInterior(playerid) != ParkInfo[i][parkINTInt])
continue;
return i;
}
return -1;
}
if(strcmp(cmd, "/parking", true) == 0) //Entrar a un parking pъblico o privado
{
new
vehicleid = GetPlayerVehicleID(playerid),
id = -1;
if((id = PlayerIsNearParking(playerid)) != -1)
{
SetVehiclePos(vehicleid, ParkInfo[id][parkPosXX], ParkInfo[id][parkPosYY], ParkInfo[id][parkPosZZ]);
SetVehicleZAngle(vehicleid, ParkInfo[id][parkPosAA]);
SetVehicleVirtualWorld(vehicleid, id + 20);
SetPlayerVirtualWorld(playerid, id + 20);
LinkVehicleToInteriorEx(vehicleid, ParkInfo[id][parkINTInt]);
SetPlayerInterior(playerid, ParkInfo[id][parkINTInt]);
}
else if((id = PlayerIsNearExitParking(playerid)) != -1){
SetVehiclePos(vehicleid, ParkInfo[id][parkPosX], ParkInfo[id][parkPosY], ParkInfo[id][parkPosZ]);
SetVehicleZAngle(vehicleid, ParkInfo[id][parkPosA]);
SetVehicleVirtualWorld(vehicleid, ParkInfo[id][parkVWExt]);
SetPlayerVirtualWorld(playerid, ParkInfo[id][parkVWExt]);
LinkVehicleToInteriorEx(vehicleid, ParkInfo[id][parkINTExt]);
SetPlayerInterior(playerid, ParkInfo[id][parkINTExt]);
}
else
{
SendClientMessage(playerid, Rojo, "* No estбs en la puerta de un parking.");
}
return 1;
}