Rei_anami

ExitVehicle.cs

Sep 18th, 2022
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Windows.Forms;
  3. using GTA;
  4.  
  5. public class ExitVehicle : Script
  6. {
  7.     public ExitVehicle()
  8.     {
  9.         Tick += OnTick;
  10.     }
  11.  
  12.     const float _HOLD_THRESHOLD = 0.25f;
  13.     float holdTime = 0;
  14.  
  15.     void OnTick(object sender, EventArgs e)
  16.     {
  17.         Ped player = Game.Player.Character;
  18.  
  19.         if (player.IsAlive && player.IsInVehicle())
  20.         {
  21.             if (Game.IsControlPressed(2, GTA.Control.INPUT_VEH_EXIT))
  22.             {
  23.                 holdTime += Game.LastFrameTime;
  24.             }
  25.             else if (holdTime > 0)
  26.             {
  27.                 Vehicle vehicle = player.CurrentVehicle;
  28.                 if (holdTime >= _HOLD_THRESHOLD)
  29.                 {
  30.                     // Exit vehicle, close car door, turn off engine
  31.                     player.Task.LeaveVehicle(vehicle, true);
  32.                 }
  33.                 else
  34.                 {
  35.                     // Exit vehicle, don't close car door, leave engine running (if player is driver)
  36.                     player.Task.LeaveVehicle(vehicle, false);
  37.                     bool isDriver = vehicle.GetPedOnSeat(VehicleSeat.Driver) == player;
  38.                     if (isDriver)
  39.                     {
  40.                         vehicle.EngineRunning = true;
  41.                     }
  42.                 }
  43.  
  44.                 holdTime = 0;
  45.             }
  46.         }
  47.     }
  48. }
Add Comment
Please, Sign In to add comment