Skip to content
View in the app

A better way to browse. Learn more.

LCPDFR.com

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Heli Assistance - Observer Mode, Customizable Searchlight, More Features 2.4.2

(33 reviews)

7 Screenshots

This mod simulates the flight patterns of Southern California (more specifically, Los Angeles area) law enforcement air support helicopters. That is, they will orbit around a target entity or position instead of just hovering above. A spotlight will track the subject when night-time. You may also call for a backup heli anytime while on-duty.

 

 

 

A Must-Have For Realistic Gameplay!

 

 

 

 

Make sure to put HeliAssistance.dll and HeliAssistance.ini and HeliAssistance.pdb into \Plugins\LSPDFR folder.

Make sure you have the latest RageNativeUI installed. And make sure you have Spotlight installed.

 

API for Developers (for usage with v2.4.2)

Spoiler
namespace HeliAssistanceAPI
{
	using LSPD_First_Response.Mod.API;
	using Rage;
    using Functions = HeliAssistance.API.Functions;

    internal static class HeliAssistanceWrapper
	{
		private const string DllPath = @"Plugins\LSPDFR\HeliAssistance.dll";
		private static readonly bool DllExists = System.IO.File.Exists(DllPath);

		/// <summary>
		/// One more wrapper to prevent <see cref="CanBeUsed"/> from trying to load the HeliAssistance assembly.
		/// </summary>
		private static class IsLoadedWrapper
		{
			public static bool IsLoaded => Functions.IsLoaded;
		}

		/// <summary>
		/// Checks if the plugin is loaded within LSPDFR (i.e. LSPDFR is loaded and the player is on duty).
		/// </summary>
		public static bool CanBeUsed => DllExists ? IsLoadedWrapper.IsLoaded : false;

		/// <summary>
		/// Determines whether the menu can be toggled by the player. If set to false, the menu will be closed if it is visible.
		/// </summary>
		public static bool CanPlayerUseMenu
        {
			get => Functions.CanPlayerUseMenu;
			set => Functions.CanPlayerUseMenu = value;
        }

		/// <summary>
		/// Requests the air unit to be created and respond to the <see cref="Entity"/> target. If the air unit is already active and/or alive, then it will merely have the air unit respond to the target.
		/// </summary>
		public static void RequestAirUnit(Entity target) => Functions.RequestAirUnit(target);

		/// <summary>
		/// Requests the air unit to be created and respond to the <see cref="Vector3"/> target. If the air unit is already active and/or alive, then it will merely have the air unit respond to the target.
		/// </summary>
		public static void RequestAirUnit(Vector3 target) => Functions.RequestAirUnit(target);

		/// <summary>
		/// Dismisses the air unit from any active player-requested task.
		/// </summary>
		public static void DismissAirUnit() => Functions.DismissAirUnit();

		/// <summary>
		/// Attaches the active air unit to the <see cref="LHandle"/> pursuit.
		/// </summary>
		public static void AssignAirUnitToPursuit(LHandle pursuit) => Functions.AssignAirUnitToPursuit(pursuit);
		
		/// <summary>
		/// Removes the air unit from the <see cref="LHandle"/> pursuit.
		/// </summary>
		public static void RemoveAirUnitFromPursuit() => Functions.RemoveAirUnitFromPursuit();

		/// <summary>
		/// Checks if the air unit exists, regardless of its current assigned task.
		/// </summary>
		public static bool IsAirUnitAlive() => Functions.IsAirUnitAlive();

		[System.Obsolete("Use IsAirUnitInService()")]
		public static bool IsAirUnitActive() => Functions.IsAirUnitActive();

		/// <summary>
		/// Checks if the air unit exists and is currently assigned to a player-assigned task.
		/// </summary>
		public static bool IsAirUnitInService() => Functions.IsAirUnitInService();

		/// <summary>
		/// Assigns a new <see cref="Entity"/> target to the air unit, if it is active in service.
		/// </summary>
		public static void UpdateTarget(Entity target) => Functions.UpdateTarget(target);

		/// <summary>
		/// Assigns a new <see cref="Vector3"/> target to the air unit, if it is active in service.
		/// </summary>
		public static void UpdateTarget(Vector3 target) => Functions.UpdateTarget(target);

		/// <summary>
		/// Updates the air unit's flight characteristics. Pass a value <= 0 to a parameter to restore the default value of the respective flight behavior.
		/// </summary>
		/// <param name="flightAltitude">The altitude the air unit will fly when responding or following a target.</param>
		/// <param name="flightSpeed">The speed the air unit fly when responding or following a target. Value should be in GTA's default measurement, m/s.</param>
		/// <param name="orbitRadius">The radius the air unit will orbit.</param>
		/// <param name="orbitSpeed">The speed the air unit will orbit. Value should be in GTA's default measurement, m/s.</param>
		public static void UpdateFlightCharacteristics(float flightAltitude = -1f, float flightSpeed = -1f, float orbitRadius = -1f, float orbitSpeed = -1f) => Functions.UpdateFlightCharacteristics(flightAltitude, flightSpeed, orbitRadius, orbitSpeed);

		/// <summary>
		/// Sets the on-scene duration to the given <paramref name="duration"/>. If the air unit is already in the on-scene task, then it will extend the duration to the given <paramref name="duration"/>.
		/// </summary>
		/// <param name="duration">In milliseconds</param>
		public static void UpdateOnsceneDuration(int duration) => Functions.UpdateOnsceneDuration(duration);

		/// <summary>
		/// Checks if the target of the air unit is the given <see cref="Entity"/>. <br/>Note: Make sure to call <see cref="IsAirUnitInService"/> to verify the air unit is active before calling this.
		/// </summary>
		public static bool IsCurrentTarget(Entity pedToCheck) => Functions.IsCurrentTarget(pedToCheck);

		/// <summary>
		/// Checks if the target of the air unit is the given <see cref="Vector3"/>. <br/>Note: Make sure to call <see cref="IsAirUnitInService"/> to verify the air unit is active before calling this.
		/// </summary>
		public static bool IsCurrentTarget(Vector3 posToCheck) => Functions.IsCurrentTarget(posToCheck);

		/// <summary>
		/// Retrieves the <see cref="Entity"/> the air unit is targeting. <br/>Note: Make sure to call <see cref="IsAirUnitInService"/> to verify the air unit is active before calling this.
		/// </summary>
		public static Entity GetCurrentTarget() => Functions.GetCurrentTarget();

		/// <summary>
		/// Retrieves the <see cref="Vector3"/> the air unit is targeting. <br/>Note: Make sure to call <see cref="IsAirUnitInService"/> to verify the air unit is active before calling this.
		/// </summary>
		public static Vector3 GetCurrentTargetPosition() => Functions.GetCurrentTargetPosition();

		/// <summary>
		/// Checks if the air unit is active, but not assigned to the player's request. In other words, is the air unit currently roaming around.
		/// </summary>
		/// <returns></returns>
		public static bool IsCurrentlyRoaming() => Functions.IsCurrentlyRoaming();
	}
}

 

Take a look at the INI at least once to make sure you are satisfied with the settings. 

 

Special Thanks:

@alexguirre

@DiamondTKG

@NorthKing

@Echooo

LSPDFR Developer Discord

Edited by OJdoesIt
Update

What's New in Version 2.4.2

Released

- Added feature to modify the jerk rate and distance (shakiness) of the searchlight
- Improved the accuracy of ETA
- Updated API to allow an Entity object to be targeted instead of just a Ped object
- Made minor updates to the API methods


Short Description

helicopter helicopter helicopter helicopter

User Feedback

Recommended Comments

iiDetroitLaw

Members

3 hours ago, bondi9mm said:

Want to delete this comment 

 

I know I’m gutted after i uninstalled this  even my default helicopter has no searchlight in pursuits now , such a shame creator won’t update there is no other mod like it gutted 😞 

Now THAT... Blows!

CriminalJustice

Members

Can you please update this plugin?

Marc Hamilton

Members

every time heli gets called whilst im in a chase i dont call then lspdfr.dll crashes i had a look through the ragehook text and found this anyone know how to resolve this please its irritating as hell

Could contain: text, screenshot, number

Marc Hamilton

Members

Hi to all

Hope someone can assist me with this, so I had issues with lspdfr and did a complete clean new installation with most of my mods and a few new callouts and all works fine so issues, BUT

if I am on patrol and a get a call and the call escalates to the point when air 1 gets called in and NOT me using heli assist then lspdfr.dll crashes what can be causing this issue has anyone had this and found a fix for it let me know please thanks in advance

Gelse16

Members

On 12/30/2023 at 5:30 PM, Marc Hamilton said:

every time heli gets called whilst im in a chase i dont call then lspdfr.dll crashes i had a look through the ragehook text and found this anyone know how to resolve this please its irritating as hell

Could contain: text, screenshot, number

if you take a look at your rph.log you could read clearly the reason. it tells you the exception type (file missing) and specifies the file (spotlight plugin).

maybe you should solve this issue to make heli assistance work again.

Mikeystayon2TTV

Members

too bad the game doesnt recognize the spotlight plugin anymore just constantly says its missing 

  • Community Team

There is an issue where this plugin will crash the game saying it cannot find spotlight, even though spotlight is installed. Here is a log from someone with this issue.

RagePluginHook.log

formulonix

Members

I have the same error, Spotlight is installed but the plugin cannot find it and crashes 

Hi Guys!

I really like this mod, cool! 😁🤗 😎 A big win for the creators!

Been addicted to the Coastal Callots addon for a while now, I'm a big fan of 🛟  USCG. 😎 🛟️ 

I had such a perverse idea that there might be a chance to replace the police helicopter with a 🚁Eurocopter MH-65 Dolphin🚁 type helicopter? 😆😳

marvinblue

Members

Can you update this so you can choose the model helicopter? I don't use polmav as my in-game chopper.

 

Thanks heaps for making this script!!

 

volten8720

Members

for some  reason lately its crashing lspdfr. says can't find  spotlight but i just reinstalled that.  i even unlocked it because windows blocks it when its installed. its not all the time but likely its more often than not

RagePluginHook.log

ZADDYSteve

Members

(edited)

On 4/7/2025 at 12:14 PM, volten8720 said:

for some  reason lately its crashing lspdfr. says can't find  spotlight but i just reinstalled that.  i even unlocked it because windows blocks it when its installed. its not all the time but likely its more often than not

RagePluginHook.log 495.27 kB · 0 downloads

Here are your issues based on your log.

 

-Update RAGEPluginHook (if not already done)

-Update GTAV (if not already done)

-Update LSPDFR (if not already done)

-You are missing the following file for one of your plugins: plugins\LSPDFR\HWYCallouts.xml

-This file does NOT belong in GTAV/plugins/LSPDFR.  Reinstall/move them in your main GTA folder. >> Microsoft.Expression.Drawing

-Update CompuLite (if not already done)

 

As @SuperPyroManiac mentioned in an earlier comment:

Quote

There is an issue where this plugin will crash the game saying it cannot find spotlight, even though spotlight is installed. Here is a log from someone with this issue.


Lastly, this plugin it is known to cause random crashes when it can't find the Spotlight plugin (dependency) although the player obviously has it installed and loaded. Typically, reinstalling both this and spotlight will fix the issue. 

 

Hope this helps.  🙂 

Edited by ZADDYSteve

volten8720

Members

I must have  accidently copied it or moved it.  There is one  in the main directory already.  I have stopped using heli assist anyway but thanks for trying to help. 

UpperMidnight

Members

(edited)

my game keeps on crashing (more than usual) ever since I installed this mod and my rage.log keeps telling me:

 

:alert: Remove These Plugins:

 
These are either known to cause issue, or are installed incorrectly.
Use /CheckPlugin for more info!
HeliAssistance

 

is there something wrong with it? I dont have the spotlight issue but I'd rather not remove this mod. anyone been through the same?

Edited by UpperMidnight

Kaariim

Members

hello , 2026 , UPDATE IT PLEAS !! and add more fonction like SWAT rappeling from helicopter and Gunner from helicopter

Create an account or sign in to comment

Latest Mods

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.