Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import alt from "alt-client";
- import native from "natives";
- let enterSeat = alt.everyTick(() => {
- native.disableControlAction(0, 58, true);
- if (native.isDisabledControlJustPressed(0, 58)) {
- enterVehicleAsPassenger();
- return;
- }
- native.disableControlAction(0, 23, true);
- if (native.isDisabledControlJustPressed(0, 23)) {
- enterVehicleAsDriver();
- return;
- }
- });
- function enterVehicleAsDriver() {
- if (alt.Player.local.vehicle == null) {
- const player = alt.Player.local;
- var vehicles = alt.Vehicle.all;
- var closestVehicle;
- var playerPos = alt.Player.local.pos;
- var lastDistance = 5;
- vehicles.forEach(vehicle => {
- var vehiclePosition = vehicle.pos;
- var distance = playerPos.distanceTo(vehiclePosition);
- if (distance < lastDistance) {
- closestVehicle = vehicle;
- lastDistance = distance;
- }
- });
- if (closestVehicle == undefined) return;
- var vehicle = closestVehicle.scriptID;
- let boneFLDoor = native.getEntityBoneIndexByName(vehicle, 'door_dside_f');
- const posFLDoor = native.getWorldPositionOfEntityBone(vehicle, boneFLDoor);
- const distFLDoor = distance({ x: posFLDoor.x, y: posFLDoor.y, z: posFLDoor.z }, alt.Player.local.pos);
- let boneFRDoor = native.getEntityBoneIndexByName(vehicle, 'door_pside_f');
- const posFRDoor = native.getWorldPositionOfEntityBone(vehicle, boneFRDoor);
- const distFRDoor = distance({ x: posFRDoor.x, y: posFRDoor.y, z: posFRDoor.z }, alt.Player.local.pos);
- if (native.isVehicleSeatFree(vehicle, -1, false)) {
- let vehicleClass = native.getVehicleClass(vehicle);
- if (vehicleClass == 14) {
- native.setPedIntoVehicle(player.scriptID, vehicle, -1);
- } else {
- native.taskEnterVehicle(alt.Player.local.scriptID, vehicle, 5000, -1, 2, 1, 0,0);
- }
- } else {
- if (distFRDoor < distFLDoor) return;
- native.taskEnterVehicle(alt.Player.local.scriptID, vehicle, 5000, -1, 2, 1, 0,0);
- }
- }
- }
- function enterVehicleAsPassenger() {
- if (alt.Player.local.vehicle) return;
- var vehicles = alt.Vehicle.all;
- var closestVehicle;
- var playerPos = alt.Player.local.pos;
- var lastDistance = 5;
- vehicles.forEach(vehicle => {
- var vehiclePosition = vehicle.pos;
- var distance = playerPos.distanceTo(vehiclePosition);
- if (distance < lastDistance) {
- closestVehicle = vehicle;
- lastDistance = distance;
- }
- });
- if (closestVehicle == undefined) return;
- var vehicle = closestVehicle.scriptID;
- if (!native.isVehicleSeatFree(vehicle, 0, false) && !native.isVehicleSeatFree(vehicle, 1, false) && !native.isVehicleSeatFree(vehicle, 2, false)) return;
- let boneFRDoor = native.getEntityBoneIndexByName(vehicle, 'door_pside_f');
- const posFRDoor = native.getWorldPositionOfEntityBone(vehicle, boneFRDoor);
- const distFRDoor = distance({ x: posFRDoor.x, y: posFRDoor.y, z: posFRDoor.z }, alt.Player.local.pos);
- let boneBLDoor = native.getEntityBoneIndexByName(vehicle, 'door_dside_r');
- const posBLDoor = native.getWorldPositionOfEntityBone(vehicle, boneBLDoor);
- const distBLDoor = distance({ x: posBLDoor.x, y: posBLDoor.y, z: posBLDoor.z }, alt.Player.local.pos);
- let boneBRDoor = native.getEntityBoneIndexByName(vehicle, 'door_pside_r');
- const posBRDoor = native.getWorldPositionOfEntityBone(vehicle, boneBRDoor);
- const distBRDoor = distance({ x: posBRDoor.x, y: posBRDoor.y, z: posBRDoor.z }, alt.Player.local.pos);
- let minDist = Math.min(distFRDoor, distBLDoor, distBRDoor);
- if (minDist == distFRDoor) {
- if (minDist > 1.8) return;
- if (native.isVehicleSeatFree(vehicle, 0, false)) {
- native.taskEnterVehicle(alt.Player.local.scriptID, vehicle, 5000, 0, 2, 1, 0,0);
- } else if (native.isVehicleSeatFree(vehicle, 2, false)) {
- native.taskEnterVehicle(alt.Player.local.scriptID, vehicle, 5000, 2, 2, 1, 0,0);
- }
- else {
- return;
- }
- }
- if (minDist == distBLDoor) {
- if (minDist > 1.8) return;
- if (native.isVehicleSeatFree(vehicle, 1, false)) {
- native.taskEnterVehicle(alt.Player.local.scriptID, vehicle, 5000, 1, 2, 1, 0,0);
- } else {
- return;
- }
- }
- if (minDist == distBRDoor) {
- if (minDist > 1.8) return;
- if (native.isVehicleSeatFree(vehicle, 2, false)) {
- native.taskEnterVehicle(alt.Player.local.scriptID, vehicle, 5000, 2, 2, 1, 0,0);
- } else if (native.isVehicleSeatFree(vehicle, 0, false)) {
- native.taskEnterVehicle(alt.Player.local.scriptID, vehicle, 5000, 0, 2, 1, 0,0);
- } else {
- return;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement