Everything posted by TheMaybeast
-
Dynamic Lighting System
DLSv2 is in active development. With the new update, we are focusing on making Dynamic Lighting System truly dynamic. We have gone away with the hard-coded concept of light stages and predefined features, allowing vehicle developers and enthusiasts to freely develop a vehicle's feature set within DLSv2, while also making their setup easier. One of the major features in DLSv2 is the use of triggers that can activate specific lighting modes automatically, with a negligible performance penalty. As a quick tease, here's a sample for @PNWParksFan's automatic TA using DLSv2's Road Position trigger. Keep in mind DLSv2 is still under heavy development and a lot may still change between now and the release. No ETAs as of now, it will be done when its done.
- 272 comments
- 20 reviews
-
Dynamic Siren System (DSS)
- 2,275 downloads
- Version 1.0.0
Dynamic Siren System (DSS) v1.0.0 Discord Server for pre-release versions, bug reporting, and other ways to talk with people interested in DSS! GitHub Repository for access to DSS's source code. Welcome to Dynamic Siren System, a simple and lightweight siren control system. REQUIREMENTS RagePluginHook version .78+ OVERVIEW OF FEATURES Fully fledged siren control for non-ELS vehicles; Easy to setup and customize; Allows for siren hashes change on a vehicle-to-vehicle basis or for full packs; DO YOU HAVE PROBLEMS WITH DSS? Read all documentation included with DSS and verify any custom XMLs you made to make sure you haven't made a mistake while editing/creating configurations. If still giving errors, post it here or on my Discord Server or as an issue on the GitHub repository. DSS IS OPEN-SOURCE! DSS is and will always be an open-source project and nothing around it will be behind a paywall. If you're someone with C# experience or programming experience in general and feel like contributing to DSS the help would be surely appreciated. IMPORTANT INFORMATION DSS is not compatible with ELS vehicles as of release and there are no plans to support them. DSS is not compatible with DLS. All siren configurations are set up in an external .xml file and allows for vehicle developers to still share the vehicle as functional non-ELS vehicles with all regular features. DSS, as the name indicates, is designed to be extremely lightweight and simply control lights and sirens. That being said, suggestions for small tweaks and changes will be considered, while new features likely won't. Do not post questions as Reviews as I'll not be able to answer it properly that way. CREDITS @PNWParksFan, w.. [w/#7263] and @Lieutenant Dan for helping immensely in the development process. AlexanderLB for designing a siren controller that inspired the one used in DSS.- 9 comments
-
- rph
- open source
- legacy
- rph
-
Tagged with:
-
Dynamic Lighting System
- 272 comments
- 20 reviews
-
How would I get the actual name of the primary color of a vehicle?
@OfficerJohnnyShumway Implement both files from Vehicle Extensions and name it according to your namespace. When trying to get a vehicle color name do something like this: Game.LogTrivial("The color is " + vehicle.GetColors().PrimaryColorName);
-
How would I get the actual name of the primary color of a vehicle?
Not sure what solution other developers utilize, but I personally use this solution by LMS: https://github.com/LMSDev/LSPDFR-API/blob/master/Extensions/VehicleExtension/VehicleExtension.cs
-
[Request] API Additions
Since this is already an open discussion I'll append here a few other QoL additions to the API that would be extremely useful: // Makes ped provide ID to the player like on the stop menu (w/o dispatch information as warrants/license validity). void DisplayPedId(Ped ped); // Rename existing DisplayPedId to DisplayRecordsCheck to avoid confusion. void DisplayPedId(Ped ped, bool noDelay) = void DisplayRecordsCheck(Ped ped, bool noDelay); // Makes ped frisk ped. void StartPedFrisk(Ped cop, Ped suspect, bool force); // Gets called when a ped gets frisked. Event OnPedFrisked; // Gets called when a ped gets dismissed from a stop. Event OnPedReleasedFromStop; // More options for vehicle/ped spawning, w/o actually acting like backup units (Perfect for creating units already on scene for callouts) Vehicle GetEmergencyVehicle(Vector3 position, EBackupUnitType backupUnitType, string agencyScriptName); Vehicle GetEmergencyVehicleWithFlag(Vector3 position, EBackupUnitType backupUnitType, string agencyScriptName, string flag, bool hasFallback); // Implement search/contraband to Vehicle. // More complex, would require some sort of vehicle inventory system. void AddVehicleContraband(Vehicle vehicle, ContrabandType contrabandType, string name); void ClearVehicleContraband(Vehicle vehicle); List<VehicleContraband> GetVehicleContraband(Vehicle vehicle); bool IsVehicleCarryingContraband(Vehicle vehicle); void RemoveVehicleContraband(Vehicle vehicle, VehicleContraband contraband); // Makes ped search vehicle. void StartVehicleSearch(Ped cop, Vehicle vehicle, bool force); // Gets called when a vehicle gets searched. Event OnVehicleSearched; @LMS
-
[Request] API Additions
An alternative to adding those parameters and possibly bloating the RequestBackup API function might be adding something like: Vehicle RequestBackupWithFlag(Vector3 position, EBackupResponseType responseType, EBackupUnitType backupUnitType, string agencyScriptName, string flags, bool hasFallback = true); Vehicle RequestBackupWithFlag(Vector3 position, EBackupResponseType responseType, EBackupUnitType backupUnitType, string agencyScriptName, bool exactLocation, bool noResponseTask, string flags, bool hasFallback = true); Vehicle RequestBackupWithFlag(Vector3 position, EBackupResponseType responseType, EBackupUnitType backupUnitType, string flags, bool hasFallback = true); Vehicle RequestBackupWithFlag(Vector3 position, EBackupResponseType responseType, EBackupUnitType backupUnitType, string agencyScriptName, bool exactLocation, bool noResponseTask, int? occupants, string flags, bool hasFallback = true); The flags being separated by a comma in the "flags" string and including the "hasFallback" boolean parameter to decide if a fallback model is sent or null. That seems in fact a good idea. void RandomizeMPPed(Ped ped) Internally, figures out if male/female MP Ped. Or if you believe it's a smarter idea to add something like a boolean "isMale" parameter it also would maintain the same core idea. Every way LSPDFR deals with lights/sirens for the player vehicle. Including the J key to toggle siren sounds on/off and it toggling on automatically post-traffic stops.
-
[Request] API Additions
LSPDFR 0.4 introduced an incredible set of features regarding customizeability with the data folder. To completely integrate such features third-party modifications without having modders create their own interpreter for LSPDFR's data files I suggest the following API additions: Vehicle RequestBackup(Vector3 position, EBackupResponseType responseType, EBackupUnitType backupUnitType, string agencyScriptName, string flag); Vehicle RequestBackup(Vector3 position, EBackupResponseType responseType, EBackupUnitType backupUnitType, string agencyScriptName, bool exactLocation, bool noResponseTask, string flag); Vehicle RequestBackup(Vector3 position, EBackupResponseType responseType, EBackupUnitType backupUnitType, string flag); Vehicle RequestBackup(Vector3 position, EBackupResponseType responseType, EBackupUnitType backupUnitType, string agencyScriptName, bool exactLocation, bool noResponseTask, int? occupants, string flag); Implement another fuction argument "flag" (or possibly a function overload) that allows the use of either the default LSPDFR flags, or of custom flags added onto the XML. In case there is no vehicle with that flag, return as if the flag was not an argument. Would allow for usage of LSPDFR's own system for managing extra units instead on relying on each plugin implementing their own system to get units customized for a given necessity. Ped CreateMPPed(bool isMale, Vector3 position, float heading); Ped CreateMPPed(bool isMale, Vector3 position); Implement a function to utilize LSPDFR's built-in ability to spawn a randomized mp_m/f_freemode_01 ped with distinct facial/hair features. Would allow the use of semi-random characters in callouts instead of built-in peds. void ReleasePed(Ped ped); Implement a function allowing plugins to release an arrested Ped. Apart from these requests regarding the API, I'd also love to see a way to disable LSPDFR's control of the sirens with possibly something like: Main.DisableSirenControl=false
-
Dynamic Lighting System
That is still being worked on, still requires some internal changes to allow for that. Same as Non-ELS, DLS just allows you to switch between different carcols.
- 272 comments
- 20 reviews
-
Dynamic Lighting System
If you're not on the Discord Server I'd suggest joining it. We share a bunch of configuration files and whenever I see some nice ones I attach them to the download. Any and all configs are greatly appreciated!
- 272 comments
- 20 reviews
-
Dynamic Lighting System
- 272 comments
- 20 reviews
-
Dynamic Lighting System
- 272 comments
- 20 reviews
-
Dynamic Lighting System
- 272 comments
- 20 reviews
-
Dynamic Lighting System
Not sure about compatibility with Siren Mastery. Might break the mod to use both at the same time. The sound edits on the vehicle xml only apply to the player vehicle and never to the AI vehicles. Regarding the sound getting decreased I’d suggest asking w.. on the Discord server as he is extremely knowledgeable in how GTA V’s sound system works.
- 272 comments
- 20 reviews
-
Dynamic Lighting System
You sure can, just set the sequence for the sirens that are on the upper bar to 00000000000000000000000000000000.
- 272 comments
- 20 reviews
-
Dynamic Lighting System
The specifics on how it works can be understood with the GitHub repo presented in the description, but a more general explanation is that it switches between different sirensettings that are placed in the vehicle configuration file. Non-ELS developers don't need to modify their vehicles or the meta files included if they don't want to and because of that anyone can make configuration files for any non-ELS vehicles. Currently the method this uses is not available in FiveM, it would require the CFX team to add that in.
- 272 comments
- 20 reviews
-
Dynamic Lighting System
Not yet, the whole controls part of DLS might be reworked internally for performance reasons and to allow for that
- 272 comments
- 20 reviews
-
Dynamic Lighting System
You can utilize both with different vehicles as long as you disable siren control for AI and siren control for non DLS vehicles on the .ini.
- 272 comments
- 20 reviews
-
Dynamic Lighting System
Oh okay, it's just the way I set it up for that vehicle. You can have however many siren tones (up to 4) enabled, to disable them just remove the entry for it (which is what I did to the other ones).
- 272 comments
- 20 reviews
-
Dynamic Lighting System
Is there any entries with <Tone1>, <Tone2>... for the other xmls? I might have forgotten to configure the sirens properly on the other xmls. If not, just copy the sound settings block to the affected xml files.
- 272 comments
- 20 reviews
-
Dynamic Lighting System
It gives siren control to any non-ELS vehicles if you have that option enabled in the .ini file. For the lights features it requires some setting up, it's all pretty much documented in there.
- 272 comments
- 20 reviews
-
Dynamic Lighting System
In the first ones I'm pretty sure it was just vanilla + https://www.lcpdfr.com/downloads/gta5mods/datafile/18520-better-emergency-lights-16/
- 272 comments
- 20 reviews
-
Dynamic Lighting System
- 272 comments
- 20 reviews
-
Dynamic Lighting System
The custom patterns do in fact require being set up, but only require creating a configuration file (w/o editing the model or the .meta files). If you don't want custom patterns and just a basic siren controller it still works fine without having to create configuration files.
- 272 comments
- 20 reviews
-
Dynamic Lighting System
- 272 comments
- 20 reviews