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

OJdoesIt

Members Author

(edited)

36 minutes ago, LtRob said:

Is there a way to have the heli roam indefinitely until I press again the button used to spawn it?

That's the Enable Persistence option. If true, the heli will roam around the map when dimissed. It will go to its target when it is requested again. Test it out and open the Start Menu map. I made it to where its blip only shows on the minimap if within range of the player, when roaming. So it may appear as if it's not roaming when you're testing it.

Edited by OJdoesIt

David Funda

Members

I have a problem with pursuit heli backup. It appears but doens't follow the suspect... it just goes away... any reason for that? Thanks 😉

OJdoesIt

Members Author

5 hours ago, David Funda said:

I have a problem with pursuit heli backup. It appears but doens't follow the suspect... it just goes away... any reason for that? Thanks 😉

Probably ultimate backup causing issue.

Do you have a log?

David Funda

Members

I don't use ultimate backup. i have it installed, but i prefer using lspdfr backup

OJdoesIt

Members Author

2 hours ago, David Funda said:

I don't use ultimate backup. i have it installed, but i prefer using lspdfr backup

If it's installed, then it's active, regardless of you using backup from it's menu. So it could still mess with this mod.

Send me a log next time you try calling for the heli.

Foxlabs

Members

very nice work

 

how to open the heli assistance menu in game ? 

OJdoesIt

Members Author

2 hours ago, Foxlabs said:

very nice work

 

how to open the heli assistance menu in game ? 

Default keys are CTRL and H. Make sure to view the INI file so you can change the keys.

Foxlabs

Members

(edited)

23 hours ago, OJdoesIt said:

Default keys are CTRL and H. Make sure to view the INI file so you can change the keys.

 

Thank you, I'll try this ! I checked the ini file.

 

edit : it worked CTLR H

I love the mod

Edited by Foxlabs

CptLuckyStar

Members

(edited)

Is the POV from the heli feature that was in Heliorbit gone? That made it so much more immersive. Also is there no button for Smartradio?

Edited by CptLuckyStar

OJdoesIt

Members Author

8 hours ago, CptLuckyStar said:

Is the POV from the heli feature that was in Heliorbit gone? That made it so much more immersive. Also is here no button for Smartradio?

Yes, both of those are gone. Idk if I plan on implementing them again.

CptLuckyStar

Members

(edited)

It sure would be great if they were, anyway thanks for bringing it back to life!

Edited by CptLuckyStar

celticcross989

Members

how do i use this with police radio? i dont see a button

OJdoesIt

Members Author

1 hour ago, celticcross989 said:

how do i use this with police radio? i dont see a button

The latest version is not integrated with police radio.

Gunny 78

Members

Hello there! this is really a great mod but it looks like it's causing lspdfr to crash during pursuits sometimes. last two times was almost same situation. vehicle pursuit with heli assistance called in- lost sight of suspects and could not find em again,and after a while lspdfr crashed. it looks to me that it happens at the point the pursuit is "failing". i hope this is understandable enough because english is not my native language. i will attach crash log too

RagePluginHook.log

OJdoesIt

Members Author

1 hour ago, Gunny 78 said:

Hello there! this is really a great mod but it looks like it's causing lspdfr to crash during pursuits sometimes. last two times was almost same situation. vehicle pursuit with heli assistance called in- lost sight of suspects and could not find em again,and after a while lspdfr crashed. it looks to me that it happens at the point the pursuit is "failing". i hope this is understandable enough because english is not my native language. i will attach crash log too

RagePluginHook.logFetching info...

It is with the mod. I will try to get an update soon, as I'm working on callouts currently.

XxCaptxJOEXx

Members

Is anyone else having a issue with the menu not coming up? I had to reinstall everything a few days ago and now I can't get the menu back up. I have even checked the INI  file to make sure I didnt' change anything. Great mod by the way.

OJdoesIt

Members Author

10 hours ago, XxCaptxJOEXx said:

Is anyone else having a issue with the menu not coming up? I had to reinstall everything a few days ago and now I can't get the menu back up. I have even checked the INI  file to make sure I didnt' change anything. Great mod by the way.

Make sure to have RageNativeUI installed.

Firefighterboy

Members

I love the immersion and realism this implements into the game, however I do have one issue. The helicopter will follow the suspect, however it won't actually "locate" them. Let's say there was a pursuit, they got away and I could no longer see the suspect, the helicopter would follow, but won't locate them. I hope you know what I mean. 😛

OJdoesIt

Members Author

1 hour ago, Firefighterboy said:

I love the immersion and realism this implements into the game, however I do have one issue. The helicopter will follow the suspect, however it won't actually "locate" them. Let's say there was a pursuit, they got away and I could no longer see the suspect, the helicopter would follow, but won't locate them. I hope you know what I mean. 😛

I'll make note of this for me to test.

mattterry3

Members

On 5/16/2020 at 1:24 AM, OJdoesIt said:

Make sure to have RageNativeUI installed.

I have it installed and my menu doesnt open either.

mattterry3

Members

Also on mine they dont even come they are on map just stopped and wont move

jrchaves

Members

Amazing PLUGIN! I really enjoy it during the pursuits. Did you know why the SPOTLIGHT doesn´t appear in the Rockstar Editor (after recorded the clip)? I just see the helicopter ... i listen its sound ... but the lights reflection upon the car are not visible. Cheers!

OJdoesIt

Members Author

9 hours ago, jrchaves said:

Amazing PLUGIN! I really enjoy it during the pursuits. Did you know why the SPOTLIGHT doesn´t appear in the Rockstar Editor (after recorded the clip)? I just see the helicopter ... i listen its sound ... but the lights reflection upon the car are not visible. Cheers!

The spotlights, via this mod, are currently not supported for Rockstar Editor.

jrchaves

Members

Thank you man for clarifying. I really enjoy this MOD. Really!

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.