AmbientAICallouts for LSPDFR
Copyright (C) 2021 ziipzaaapM16A4. All rights reserved.
Any unauthorized modification, reverse engineering, or distribution (including re-uploading of any kind) is strictly prohibited.
PLEASE DO NOT POST A NEGATIVE REVIEW WITHOUT ADDRESSING THE ISSUE AS A COMMENT ON THIS PAGE.
FOR ANY SUPPORT RELATED ISSUES, PLEASE POST A COMMENT ON THIS PAGE.
Join our Discord ---> here
Need Help? Open a support ticket ---> here (discord support channel link)
Want Early Access? Become a Patreon! ---> here
Update V0.9.9.02 Released
Better late than never.
Feature/Function:
AmbientResponse system wich triggers AiCallouts.
- Get police scanner feedback.
--> Units get their own call sign. Less redundancy.
AiCallouts can turn into LSPDFR Callouts.
- 6 AiCallouts included.
- 4 LSPDFR Callouts included. ==> execution only by AiCallout
RageNativeUI Menu
- Watch over the entire Neighborhood and Start Emergency's and other stuff
with the convenience of a easy controllable Menu and a big mini map.
- Partial Settings editor
- Settings Save function
AiCallout API & documentation. Create your own AiCallouts.
--> reload AiCallouts without reloading LSPDFR.
- GrammarPolice Support: no interruption by Dispatch [Outdated API]
- Heli Assistance Support: Helicopter responding to AiCallouts.
Meet other Units while their Breake
- StandingAmbientAI has been developed to make your units more immersive.
Meet your colleagues in the street and idle for emergencies.
RejectedCalloutAI
--> If you don't take the call, AI has to Respond
- The Unit will respond to the location of the call you denied.
Ressource friendly Cop Car Pool
- Units will only be claimed and persistent while emergency's allowing them to be used by other mods.
- Units get their persistent Callsign by writing it on the License Plate.
Custom Voice Line System (API integration later)
- A Custom Voice Line System that allowed us to implement different available voice lines.
- Brian Watts (Homepage Voice Actor) is a Police Officer on Duty with custom voice lines. He drives 1-Lincoln-35.
Here is a List of all development demos & other videos:
https://www.youtube.com/watch?v=BMPmnLqKzmE - GTA V : LSPDFR - AmbientAICallouts Plugin demo
https://streamable.com/r58x7h - AAIC - Crime Fighting - development demo 2
https://streamable.com/xk4ey6 - AAIC - RejectedCalloutAI - development demo 3
https://streamable.com/81ehq7- AAIC - Crime Prankcall - development demo 4
https://streamable.com/0c15t2 - AAIC - Crime MVA - development demo 5
https://streamable.com/0xxwc6 - AAIC - Crime Shooting - development demo 6
https://streamable.com/mbpbx3 - AAIC - Heli Assistance support - development demo 7
https://www.youtube.com/watch?v=y6O7oll1BN4 - AmbientAICallouts - Teaser
How to Use:
- Automatic separate AmbientResponse System which triggers AiCallouts.
- The AI will call for Backup if they need you. It will be shown as a LSPDFR Callout. (you have to be available for calls)
- Attach yourself to an AiCallout
simply use GrammarPolice and tell dispatch "show me responding in addition"
or by pressing CTRL + X (can be changed in .ini)
- Menu for AAIC by pressing LCTRL + F8
- You cannot attach yourself to an Rejected LSPDFR Callout from the RejectectedCalloutAI Feature.
- Console Commands for...
StartRandomAiCallout => Forcing an random AiCallout,
StartAiCallout AiCalloutName => Forcing an specific AiCallout,
AbortAllRunningAiCallouts => Aborting/Cleaning up all AiCallout,
AbortAiCallout FiberNumber => Aborting/Cleanup an specific AiCallout,
ReloadAmbientAICalloutSettings => Reloading AmbientAiCallout Settings,
ReloadAiCalloutPlugins => Reloading the AiCallout dll's from /plugins/LSPDFR/AAIC
Installation:
Paste everything into your main Grand Theft Auto V folder.
Except for the READ_ME.
Requirements:
LSPD First Response.dll
RagePluginHook.dll
Recommended Addon:
Grammar Police V1.4.1.3
Heli Assistance V2.4.2
API and Documentation:
Create your own AiCallout. We provide a textual and visual documentation and template to easily create an AiCallout.
Learn from existing AiCallouts. OpenSource AiCallouts: https://github.com/ziipzaaapM16A4/Default-AiCallouts-Pack
Use the Template to jump right into development. All necessary and recommended are already there and with comments:
https://github.com/ziipzaaapM16A4/AiC_Example
Please don't forget to rate this plugin afterwards.
if you find a bug then give me the chance to take a look at it before posting a negative rating.
Attention: AAIC is penetrating the boundaries of GTA V's ability to manage/tasks objects in the GTA world objects. That doesn't mean that its likely to crash. It just means that if objects are to far from the player, GTA is more likely to prioritize things in the near. It can result in object not tasking things in the distance or GTA cleaning themselves up. This is one of the main reason why AiCallouts aborts themselves. So far this Theory could never be approved by senior developers i want to say i've reviewed the code a dozen times, i cannot find a piece of code causing vehicles to go invalid.
We do prevent crashes but we cannot prevent the abort of an AiCallout.
Important Note: The more mods that are loaded onto the game, the more the instability rises.
Large vehicle packs can greatly reduce an entity's lifetime before it is deleted from the pool by whatever visual or scripted mods.
Known Issue: Please open supportticket on our Discord if you encountered an Error.
- Most of the issues are invalid object errors but they should not lead lspdfr to crash, these errors just give back log.
The Reason might be older versions of ELS which would despawn police vehicles left alone.
Visit Changelog from Released June 28, 2024. Version 1.05
- Sometimes if you are to far from an AiCallout the process will sleep until you're nearby due to rage not executing tasks to reduce resource usage.
Edited by ziipzaaapM16A4
removed incompability statement + added PR developer to Credits
What's New in Version 0.9.9.02
Released
0.9.9.02:
- [edit] Supported GrammarPolice version
0.9.9.01:
- [added] #25 Save Settings to .ini Button for RNUI Menu
0.9.9.0:
- [fix] Aborting invalid AiCallout in RNUI leads to crash
- [fix] #24 Replacing "" string with actual no sound file. Workaround
- [improve] ExternalPluginLoader class -> limited Max Version for GrammarPolice due to missing API Feature.
- [added] RageNativeUI Menu
- [added] New Animations to StandingAmbientAI
Default-AiCallouts-Pack:
- Reworked some AICallouts for more Stability
0.9.8.8:
- [added] Additional Radio Voice -> Voice Actor: Brian Watts.
- [added] Multiple Vehicles Response.
- [added] StandingAmbientAI. Units will rest be able to rest around and standingby for incomming calls. 3 Scenarios include.
- [added] Radio Communication 10-8
- [added] Radio Communication On_Scene
currently only fixed positions. One of them is Pillbox Hill at the Local Fleeca Bank. (Do not stand to close to the bank)
- [fixed] Code 2 driving task.
- [edit] increased probability for an short radio comunitcation when giving call to unit.
- [fix] RCAI fiber crash when resquested unit from lspdfr is not valid.
- [improved] EnterAndDismiss() & AllEnterVehicle(): targeting now correct side of the vehicle before entering vehicle
- [improved] LSPDFR Callouts: when officer reports help the ai around is only able to respond before the emergency message when player near enough to the call. else they will respond until dispatch requested help.
Default-AiCallouts-Pack:
- [improved] Shots fired: compleately reworked shotsfired call.
- [added] LSPDFR Unarmed AI Arrest for MVA and Outstanding Warrant. (This feature is very new. I currently cannot handle proberly that the suspect stays on scene)
- [improved] EmergencyCall: increased timespan until unit need to be on scene when responding code 2
API:
- [added] XML which can be loaded by any lint to show what the Function does.
- [added] Multiple Vehicles Response. Calls can now contain a number of required units and AAIC will fill the Units array. -> UnitsNeeded = ...
- [edit] Units are now a type of the struct PatrolUnit(fom AAIC API) containing callsign, officers, voiceline and vehicle.
- [removed] Compability for Old third party AiC plugins. They will be depricated. -> to many changes to the api due to Multiple Vehicle Response.
0.9.8.5:
- [added] Units keep their callsign through callouts
- [added] Unit licensplates are now named like their callsign
- [added] PlayerCallsign added to .ini setting. Avoid Ai from taking your callsign
- [added] new LSPDFR API: Unit radio sounds for units instead of dispatch sounds for units
- [fixed] Arrival timout when already nearby.
- [fixed] EnterAndDissmis(): improved task assignment (i tried my best but sometimes gta fakes a task)
- [fixed] All LSPDFR Callouts: improved stability
- [fixed] RejectedCalloutAI: sometimes grabs a unit which is already in a callout when code 2
- [improved] Overall Code Refactor
- And a lot more minor changes.
Default-AiCallouts-Pack:
- All: Added OfficerReportOnScene();
- [fixed] Prankcall: different animations
- [added] OutstandingWarrant: people flee from gunpoint
API:
- [added] documentation XML file with all and up to date API functions
0.9.7.3:
- fixed random units apearing and not moving when AiCallout has been canceled at Setup() part.
- Added Code 4 Notification when LSPDFR callout ends.
- Added HeliAssistance request probability in the .ini file. Decide yourself how often a Helicopter should get requested by dispatch.
- [fixed] AmbientResponse taking HeliAssistance Helicopter from Player when in use.
- [fixed] RejectedCalloutAI validity check to prevent crashes.
- [fixed] OfficerUnderFire: End(): crash.
- Reduced unnessesary error log when fibers aborts
- Vehicles will never be dismissed now. they will be non-persistent and disapear from itself after time.
- Added Heli request when AAIC-OfficerDown Callout.
- GrammarPolice status handler has been stabilized.
- Key Watcher has been changed.
- And many other big and small changes.
API:
- AiCallouts must now match the MinimumAiCalloutDistance and MaximumAiCalloutDistance
to prevent beeing aborted by AmbientResponse.
- Added Code3 & Code2 Response difference. ResponseType can now be set in a AiCallout.
(Units will drive with lights and siren or normal) (take a look at Example_AiC online at GitHub.com for an Example)
- EnterAndDismiss() overload: can now only dismiss officers.
- EnterAndDismiss(): [fixed] can now dismiss even when original driver doesn't exist anymore and more other validity checks.
- EnterAndDismiss(): [fixed] unit not despawning when officers despawned before entering the vehicle.
- COM_OnScene(): the function which simply calls ai "OnScene" if possible has been fixed.
- IsAiTakingCare(): improved algorithm with probability in percent (take a look at AmbientAICallouts.ini)
Default-AiCallouts-Pack:
- ALL: callout distance self check added.
Each Default-AiCallout has now its own distance self check to prevent beeing aborted by AmbientResponse due to invalid callout location.
- ALL: Reduced unnessesary error log when fibers aborts.
- Fighting: is now able to handle interaction by the player.
- Example_AiC: more comments and updated Example_AiC.cs
- [fixed] MVA: checking validity before calling LSPDFR functions to prevent crashes.
- Shotfired: Reduced task assignment for the GetInCoverTask.
Short Description
- Piero for his work on the additional radio voicelines and editing almost all audio files over and over again until i was happy.
- Chris Scribner aka ChrisComposes - second voice actor.
- audiopalette for editing voicelines of the first voice actor.
- Brian Watts aka ShadowsFate - first voice actor and initially getting me to the idea to have additional radio voicelines.
- Pumpk1in for being the longest Patreon and for his advice on how to modify audio files to the quality of GTA's original audiofiles.
- Palfy & Lenny for their continuous support in testing, moderating and discussing AAIC related things.
- TheUnit for his help in my first steps of this plugin and expanding the whole idea to a master project.
People from the LSPDFR Developer Discord who helped me with problems (tell me if i forgot somebody):
LMS
PNWParksFan
Vincentsgm
sloosecaboose
Rich
alexguirre
...much more i can't remember all of them...
Thanks to Brian Watts for the Voice acting of 1-Lincoln-35.
Other Developers API that i'm using:
- opus49 - Creator of GrammarPolice - Thanks for adding features to his API in Grammar Police so AAIC is not interrupting the player when using the radio.
- OJdoesIt - Creator of HeliAssistance - Thanks for his features to control the on scene time individually for plugins.
- MarcelWRLD - Creator of Policing Redefined - Thanks for his Support in understanding his API
Recommended Comments
Possible Errors through outdated file
Recommended by ziipzaaapM16A4
Create an account or sign in to comment