sergeyshibaev
Умник
Когда водитель авто выеезжает из гаража, пассажир остается в виртуальном мире гаража и не на месте пассажира:
PHP:
GarageMovement(playerid) {
if(PlayerInfo[playerid][pHouseKey] == -1) return false;
new veh_id = GetPlayerVehicleID(playerid);
if(GarageEntered[playerid] == -1) {
for(new i = 0; i < MAX_HOUSES; i++) {
if(i == PlayerInfo[playerid][pHouseKey] && HouseInfo[i][hGarage]) {
if(IsPlayerInRangeOfPoint(playerid, 5.0, HouseInfo[i][hGarage_X], HouseInfo[i][hGarage_Y], HouseInfo[i][hGarage_Z])) {
if(veh_id != 0) {
J_SetVehiclePos(
veh_id,
GaragesInteriors[HouseInfo[i][hKlass]][e_GARAGE_INTERIOR_X],
GaragesInteriors[HouseInfo[i][hKlass]][e_GARAGE_INTERIOR_Y],
GaragesInteriors[HouseInfo[i][hKlass]][e_GARAGE_INTERIOR_Z]
);
LinkVehicleToInterior(veh_id, GaragesInteriors[HouseInfo[i][hKlass]][e_GARAGE_INTERIOR_INT]);
SetVehicleVirtualWorld(veh_id, i+50);
}
J_SetPlayerPos(
playerid,
GaragesInteriors[HouseInfo[i][hKlass]][e_GARAGE_INTERIOR_X],
GaragesInteriors[HouseInfo[i][hKlass]][e_GARAGE_INTERIOR_Y],
GaragesInteriors[HouseInfo[i][hKlass]][e_GARAGE_INTERIOR_Z]+2.5
);
SetPlayerInterior(playerid, GaragesInteriors[HouseInfo[i][hKlass]][e_GARAGE_INTERIOR_INT]);
SetPlayerVirtualWorld(playerid, i+50);
if(veh_id != 0) PutPlayerInVehicle(playerid, veh_id, 0);
GarageEntered[playerid] = i;
return 1;
} else {
continue;
}
}
}
}
else
{
if(IsPlayerInRangeOfPoint(
playerid,
2.5,
GaragesInteriors[HouseInfo[GarageEntered[playerid]][hKlass]][e_GARAGE_INTERIOR_X],
GaragesInteriors[HouseInfo[GarageEntered[playerid]][hKlass]][e_GARAGE_INTERIOR_Y],
GaragesInteriors[HouseInfo[GarageEntered[playerid]][hKlass]][e_GARAGE_INTERIOR_Z]))
{
if(GetPlayerVirtualWorld(playerid) == (GarageEntered[playerid] + 50))
{
if(veh_id != 0) {
J_SetVehiclePos(
veh_id,
HouseInfo[GarageEntered[playerid]][hGarage_X],
HouseInfo[GarageEntered[playerid]][hGarage_Y],
HouseInfo[GarageEntered[playerid]][hGarage_Z]+2.5
);
LinkVehicleToInterior(veh_id, 0);
SetVehicleVirtualWorld(veh_id, 0);
}
}
J_SetPlayerPos(
playerid,
HouseInfo[GarageEntered[playerid]][hGarage_X],
HouseInfo[GarageEntered[playerid]][hGarage_Y],
HouseInfo[GarageEntered[playerid]][hGarage_Z]+2.5
);
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
if(veh_id != 0) PutPlayerInVehicle(playerid, veh_id, 0);
GarageEntered[playerid] = -1;
return 1;
}
}
return false;
}
