LCPDFR.com downloads may be slow, as we've had to redirect them from our CDN due to a provider fault. We hope to get them back to full speed as soon as possible.
LtFlash reacted to LMS in LSPDFR 0.4 - Activity Feed & Companion App
It is certainly something we are thinking about, however, we will need to figure out a few things first, such as limiting abuse (which will require some backend engineering), before we will make a decision on how (or whether) we make the sync services available via API.
LtFlash reacted to PNWParksFan in LSPDFR 0.4 - Activity Feed & Companion App
Will LSPDFR sync related features be added to the API at some point in the future? It would be cool for callouts/plugins to be able to add their own stats and activities to the activity feed. E.g. "Bob Vance just freed 5 hostages at the Pacific Standard Bank", "EMS just saved 2 people on Vespucci Boulevard... sadly, 3 people did not make it", etc.
LtFlash got a reaction from PNWParksFan in How can I draw a 3d circle/marker as how LSPDFR does it?
LtFlash reacted to LMS in Is there a way to turn on vehicle's hazard lights?
I'm not sure where you got that information, but it is not true. The fastest way to call a native is calling it by hash, as that removes the overhead from converting from a string to a hash first. CallByName will also still be faster than using Natives as there is no runtime binding. I am not saying that the differences are big (they are in fact almost non-existent), but dynamic invocation will always be the slowest just due to the nature of how it works. It's the same as having a static call or a VTable call, of course there is no big difference, but ultimately the indirection will cost you a few cycles.
LtFlash reacted to Sam in LSPDFR 0.4 - Information for developers
As LSPDFR 0.4 nears completion, we hope this topic will help in providing some clarification for developers who make use of our API about what the changes in 0.4 mean for them and their work.
Firstly, the significance of the changes to LSPDFR that 0.4 brings can't be overstated. LSPDFR 0.4 introduces changes to almost every aspect of the mod and will take a little getting used to. We think that the overall experience is much improved from 0.3, and a lot of the features that we introduced in 0.3, or earlier versions, have been dramatically changed, expanded upon or entirely re-worked. It's important to keep this in mind as such drastic changes will unavoidably have the potential to cause issues across the board.
In regards to our current approach, our main priority at this time is to release a public version of LSPDFR 0.4 as soon as is possible. In short, this means that our focus is and has been very much on the core experience of the mod. As a result, while we will still ship the first public release of LSPDFR 0.4 with a functioning API, it will not be substantially different from the current LSPDFR 0.3 API. Additionally, we are committed to ensuring that custom callout plugins remain compatible with LSPDFR 0.4.
We understand that this approach might cause some initial disappointment, but we think it is the most sustainable way of doing things both in terms of people being able to play 0.4 as soon as possible (which obviously is very important), but also from an API and development perspective. As said above, a lot has changed in 0.4 and we want developers to have the opportunity to properly familiarise themselves with the new version and get a feel for what sort of content they'd like to create and what sort of things they'd like to change.
Just like with previous versions of LSPDFR, we are committed to pushing post-release updates and hotfixes for 0.4, with a view to following up with a minor 0.4.1 version, which will focus primarily on extended API functionality. During this process, we will work with developers to incorporate their suggestions and requests for the 0.4.1 API, and will also provide development builds of 0.4.1 to developers for testing.
LtFlash reacted to Stealth22 in Stealth - Jumping on Albo's Open Source Train...
Due to a lack of time and inclination on my part, I have decided to make all of my LSPDFR projects open source under the GPL, effective immediately. Most of them probably don't work that well anymore, and I simply don't have the time to develop or maintain them any longer.
This will also serve as my defacto "retirement" from LSPDFR development. I may decide to pick things up again in the future, who knows. But for now, this is my way of giving back to the community, and possibly inspiring or helping other people who are trying to learn software development.
The code is old, and was written when I was still new to LSPDFR/GTA programming. It could probably use some refactoring, but again, I have no time to do any of that. Feel free to submit a pull request with any suggested improvements, and I will look at the PR's as time allows.
If there is enough activity on trying to move the project forward, I can explore doing releases in the future, and crediting any contributors. Feel free to use this repo as a resource to learn from and improve your programming skills.
This goes without saying, but this code is provided with no warranty, and I accept no liability for anything. 😛
Lastly, I would just like to say...there are a lot of people to thank for my time in the LSPDFR community, and I apologize if I miss any names, but you all know who you are.
- @Sam @LMS @Cyan @MulleDK19 You guys laid the foundation for all GTA and RPH development, and for that, the community owes you a debt of gratitude!
- @Jeff Favignano @FinKone You two are the ones who got me interested in GTA development to begin with! (Yes Jeff, I blame you for the countless hours I've spent debugging my code! 😛)
- @Jeff Favignano @Polecat324 @Bayareabuggs @Zachary Houseknecht Thanks for all the inspiration, and for all the times you guys graciously tested my plugins for me!
- @Albo1125 What can I say about Albo? NOTHING! Just kidding, Albo...you came to me when you first started learning the ropes, and you grew into a fantastic dev (*sniff* They grow up so fast...)
- @PNWParksFan You know why...keeps giving me work to do on my code... *grumble* #InsideJoke
- @LukeD @alexguirre @Fiskey111 @PNWParksFan For the countless times you bailed me out of difficult coding situations (and Luke, for showing me that C# is better than VB!)
- @khorio All of the explosions and other shenanigans you pulled for our countless entertainment
- @PeterU For all the work you did in trying to help me maintain my plugins!
- @ToastinYou Eh, you didn't do anything. I just wanted to find a reason to give you a shout-out. *snicker*
Thanks all, and enjoy the code! Or what's left of the working parts of it...?
LtFlash reacted to Hastings in The Mind-Boggling Classic Cop Car Thread
Some old school from Mothеr Яussia
Letters on the back door stand for Mobile Police Squad (or Pomogi mne Gospodi aka Help Me God)
Don't know about you, but I like seeing police cars in yellow. Brings variety.
Hello buddy, can I get some pizza at my location please
LtFlash reacted to Albo1125 in Open-Sourcing Albo1125's Mods & 'Retirement'
As many of you will have noticed, my activity in the LSPDFR scene has decreased significantly over the past few months. There are many reasons for this, the details of which I won't bore you with. It mostly comes down to being busy with other things in my life, as well as LSPDFR becoming less interesting for me having played it for so long and the introduction of frameworks allowing modded GTA5 multiplayer environments (read: FiveM).
How times have changed since when I joined the community in 2015, from me taking an interest in learning to code in C# to having multiple plugins released on the site. It's been one heck of a journey here. I recall well the first 'mod' I uploaded for the LSPDFR community, which was called 'More Jail Points' at the time. This was first published for RAGEPluginHook 0.20. This later evolved into 'More Jail Points & Prisoner Transporter' and is now known as the all-so-familiar Arrest Manager. When I was contacted by @dbock1989, who was so enthusiastic about my More Jail Points & Prisoner Transporter plugin at the time, I couldn't quite believe it. He had been so kind as to create a variety of images related to the plugin (see below)! It frankly couldn't have been a more exciting moment at the time and, alongside other overwhelmingly positive and welcoming feedback, served as a major motivation factor for me to continue learning to code and create plugins.
Following this, I was looking to give more purpose to the LSPDFR traffic stop system. And so, Traffic Policer was born - a plugin originally intended to add a few ambient events related to traffic offences. This has now grown into one of my most feature-packed plugins to date. By this time, some YouTubers started using my plugins in their videos. Not only was this a great way for me to obtain feedback on my mods' user experience, I also watched @Zachary Houseknecht with great pleasure while my ANPR Hit AI lit many of his police vehicles on fire... An absolute howler: https://youtu.be/4D8HshZzWMQ?t=606
Some weeks on and Assorted Callouts was next in line. This was originally created out of a callout idea by @CaptainSugarFree and turned into what is now known as the Pacific Bank Heist. This took about 4 weeks of intensive development to fully complete (and am I shocked at the code quality looking back at it now... works though). As the first of its kind, the callout featured voice-overs and an intense, detailed SWAT based LSPDFR callout. I was incredibly proud for this to be featured on @Jeff Favignano's channel and I see now that the video in question has amassed over 1.9 million views... breathtaking. https://www.youtube.com/watch?v=eIXKvUyzylA
Moving on again. At this point, @FinKone had managed to get me into YouTube. After having released British Policing Script, longing for an LSPDFR experience closer to home for me, many longed a version of the plugin for international and American users to incorporate the traffic stop improvements and a court system. With that, I released LSPDFR+ by doing my first ever YouTube live stream, which was quite the experience. After this, I released Siren Mastery, PoliceSmartRadio and a variety of other tools and smaller plugins. Many hours of coding, effort, stress, giving support and obtaining feedback had been put in by this point. I was absolutely chuffed to then achieve one million downloads on my published files...
This figure has since risen to over five million.
Following some negative coverage of LSPDFR in some of the Australian media, I'm also very happy that Wired UK decided to publish an overwhelmingly positive article on the whole GTA5 police modding scene: https://www.wired.co.uk/article/gta-5-mods-lsdpfr-british-police?utm_content=buffer9ca53
After PoliceSmartRadio's release - with the infamous April FoolsRadio download giving four thousand people a perhaps frustratingly good laugh - I placed the whole modding scene lower in my priority list. As mentioned previously, this has since been pushed far further down.
Some thoughts on the community's development over time
I would describe the LSPDFR community as healthy. @Sam @LMS and all the other contributors have created something very special for all the right reasons and this is largely reflected in the attitudes of the staff & moderation team and community members. With publishing mods on a popular website like this, unfortunately, comes some drama and negativity - and while I have not always agreed with the way and speed the moderation team dealt with my reports relating to me and my work, they have done a good job overall. The few issues that I experienced were all resolved. From my experience in the plugin side of the modding scene, this continues to be the case now.
One thing I noted during the months that passed is that both experienced but particularly newer modders are now frequently treated with disdain in the scene. The modding scene has grown massively since when I first started and unfortunately, in this area, it shows. Everyone starts somewhere and the fact someone is spending their free time creating something for all of you to download, for free, has become massively underappreciated and taken for granted. Sure, a new modders' release may be full of bugs and be nowhere near as feature-rich as more developed plugins, but this takes time to solve. Had I received the negative feedback I've seen on many a new modder's release page back in 2015, you can rest assured I wouldn't have continued my development here. When providing feedback, by all means, point out the issues, but do so in a friendly, constructive manner, not in an entitled, toxic one. Have a look at the first few comments on my Arrest Manager download page to see what that is like - this was a major factor for me to consider continuing development! It is essential for the development of the LSPDFR modding community that this attitude is changed back to what it was in the 'good old days'.
With all that said, I also hope the release of LSPDFR 0.4 kicks a breath of fresh air into the now somewhat stale core LSPDFR modification. With over 2 years having passed since the latest update of the core modification, I'm sure we all agree that an update would be a very welcome step. From the various preview posts released by the development team, it looks that we all have something great to look forward to there.
'Retirement'? So does that mean you're permanently done with the LSPDFR modding scene?
No, but I won't be actively developing plugins for LSPDFR any more. To be fair, nothing's really changing much now compared to the past few months. I intend to remain as a member of the LSPDFR Testing Team and I'm sure I'll be drawn back in at some point to explore some of the new development options in the 0.4 API. I'll also stay around on my discord and occasionally the forums and I intend to continue publishing occasional videos on my Youtube channel. And yes, for those that know and enjoy it, I'm also planning to continue writing blog posts on UK road safety . If my time and motivation levels allow, I may publish some minor updates to my current mods before 0.4 is released. The fact remains, however, that I would currently classify myself as 'inactive' in the scene. With so much other stuff going on, I simply don't have the time to commit that I used to. It would be a pity to say the least to let all my work slowly deteriorate and waste away. Therefore, I've decided to publish the source code to some of my plugins to https://github.com/Albo1125/. At the very least, I would like it to be a learning resource for other ambitious plugin developers in the scene. At best, I hope other developers will take it upon themselves to improve the code where necessary (yes it is very necessary!) and create pull requests to share those improvements. These can then be merged and released, with credits obviously included for contributors.
Back when I started developing for LSPDFR, very few learning resources were available bar the great example project by @LukeD . This hasn't really changed since, despite the creation of the LSPDFR API repository by LMS (https://github.com/LMSDev/LSPDFR-API) and some posts aiming to document the LSPDFR functions by myself in the API development subforum. A noteable step was the creation of the LSPDFR Developers Discord server thanks to @Stealth22 A full post with current development resources can be found here:
I'm planning to publish the source code to a number of my plugins one-by-one to improve this and give something to the community:
Arrest Manager: https://github.com/Albo1125/Arrest-Manager Assorted Callouts: https://github.com/Albo1125/Assorted-Callouts Albo1125.Common: https://github.com/Albo1125/Albo1125-Common Traffic Policer: https://github.com/Albo1125/Traffic-Policer LSPDFR+: https://github.com/Albo1125/LSPDFRPlus British Policing Script: https://github.com/Albo1125/British-Policing-Script
By no means do I claim that any of the code I post is perfect or amazing - on the contrary, far from it. With the experience I have now from studying a BSc in Computer Science, reading through some of my old code makes me want to tear my hair out. This is only to be expected, though - most of my plugins were created as part of my learning experience of C#. Prior to this, I had no coding experience or knowledge. It's fascinating to see how the quality of my code has evolved over time by looking at my various different plugins in order of initial release date.
Wrapping up. I hope this post provides some clarification and closure for those of you wondering where on earth I've been over the past few months. It's been an absolute blast and a pleasure. To all of you who were a part of my journey here, thank you.
LtFlash got a reaction from foggydewhurst in How do I actually start modding/learning how to create mods?
I'd recommend you to get familiar with RAGE Plugin Hook documentation:
http://ragepluginhook.net/ - temporarily offline, in the "Documentation" section you'll find a complete info about how to create a working plugin from scratch and a full reference of RPH. I recommend to start with writing simple scripts which tests how different functions and entities work.
and with native functions database:
which I find VERY important. It collects everything you can do with the game no matter what hook you use etc. Most of functions are not added and sooner or later you'll need a function which is not implemented by a hook.
With some knowledge about how a single plugin works and what kind of operation you can perform in the gameworld you can check the API examples of LSPD:FR.
LtFlash reacted to Sam in Our Community - What we stand for & How to get involved
With all the talk about LSPDFR 0.4, it's been a little while since we've provided a general update on our community. Of course, LSPDFR 0.4 is our main priority at the moment and we'll have more to say about it shortly, but we thought it important to also address and announce a couple of things regarding our community.
What our Community stands for
Before anything else, I'd like to take a moment to reflect on who we are, as people that run this website, and as a community.
LCPDFR was founded, back in 2009, simply because I thought it'd be a fun thing to do. To play as the police in GTA IV. It was an idea, ambitious for its time, and nothing more. I worked on LCPDFR because it was fun, I published it because I thought others might also enjoy it. LCPDFR has come a long way since then, it has evolved from one person's topic on a forum, to its own website, to its own forum, to its own community. We've spanned two games, our reach has grown massively, our community is approaching 300,000 registered members. The amount of work that goes into developing LSPDFR alone is staggering - the time that we've spent on it is measured not in days, weeks or months, but years. Likewise, the effort required to keep our website online is vastly underestimated - in the past month we've served around 30 terabytes of download traffic alone, and have done all of this despite persistent, targeted denial of service and hacking attacks against us. To put this in context, if you were to serve 30 terabytes of data through Amazon Web Services, it'd cost you $3,000 a month - and that's just one month of download traffic.
Why do we do this? Because it's fun. We love developing our community, we love developing our mod, and we love that other people - complete strangers, from all over the world, from countries you've probably never heard of, from all walks of life... we love that they love LSPDFR. Our community has achieved incredible things: we've created an entire gaming phenomenon and we've developed things that nobody ever thought would be possible. Our members have done more than simply play games or make mods: we've fought hand-in-hand against corporate giants (and won), we've transformed peoples' entire lives by sparking new careers and we've been covered everywhere from massive YouTube channels to mainstream media publications. Heck, we've even triggered out of touch government ministers in Australia.
That's not the whole story, though. Sometimes we are the story. Sometimes we make mistakes. We've had catastrophes, like the time where we had a hyped countdown on the website only to reveal a private testing version of LCPDFR that nobody could access. Our first ever livestream had to be rescued by Steve and Jeff after it started with Prophet driving a train around Los Santos and infamously stating "this is not the preview for LSPDFR 0.3" while our community manager could do nothing but watch helplessly after being accidentally disconnected. We've messed up releases, we've announced things too quickly, and sometimes we've not announced things at all.
Yet, despite all of this. Nine years later, we're still here. We're still making mods, we're still developing this community, and we've stuck true to our principles the entire time:
Our community is open to all. We treat members equally regardless of their status. Everything is completely free of charge, with no catches.
Why? It's not about fame, it's not about money, it's not about status. It's about love. We love LCPDFR, we love LSPDFR, and we love our community. We don't think that modding should be hidden in private Discord servers. We don't think that modding should be something people pay for. We don't think that modding should be an ego boost.
We just think that modding should be fun. It should be open, and it should be free. That's what we stand for, and that's what we do.
How you can get involved
Last year, we opened up applications to join our Community Team for the first time. This resulted in a couple of new faces joining our moderation team and upon reflection, we think it's a good change in approach from previously handpicking staff members ourselves. We've decided to open these applications again, and would invite anyone who is interested in volunteering some of their free time to moderating our community to apply by following the link below. Our volunteer Community Moderators are a vital part of everything that we do, and it wouldn't be possible to maintain the community without them.
To find out more and to submit an application, please visit: http://lcpd.fr/staffapp
LtFlash reacted to Sam in LSPDFR 0.4 - Ambience
This is the fifth and final part of our LSPDFR 0.4 Preview Series. Not caught up yet? Check out the rest of this series here: https://www.lcpdfr.com/forums/forum/880-news-updates/
One of the things we like most about developing new versions of LSPDFR is that with each version we have the opportunity not only to work on major new features, but also the smaller details that our mods have come to be known for over the years. Of course, 0.4 is no different in this regard and a lot has obviously changed since the early days of LSPDFR, offering us with a bunch of new ways to focus our attention to detail.
Getting straight to the point, a significant change that we're making in 0.4 relates to how the player is perceived within the game's world. Now, while this obviously isn't a sexy, new, video-worthy showstopper of a feature, it is nonetheless an important development behind-the-scenes - one that we think, despite its subtlety, will have a positive impact on your gameplay.
In 0.4, you'll notice that while on duty, other characters within the world will treat and react to you differently. As GTA V was never a game about being a cop, it's easily understandable that when you quite simplistically do become a cop - while keeping the underlying theme of the game - there's going to be things that don't feel quite right. You might notice, for example, that other characters within the world are overly aggressive towards you, itching for a fight at the slightest confrontation, or sometimes in the absence of any confrontation at all. Conversely, the opposite is often true where the most banal or routine encounter can send people hurrying away in abject panic. Both of these reactions are problematic as people generally don't just spontaneously approach a cop and proceed to cuss them out, nor do they begin hysterically fleeing at the sight of a stun gun.
Stun gun hysteria and stampedes no longer, LSPDFR 0.4 introduces more 'contemporary' reactions, like everyone summoning their inner videographer.
These adjustments to the game's core apply in a number of other cases too, of course. We thought it was pretty unlikely that the typical reaction to a police officer standing in front of someone's car would be for the driver to flip them off, and then - as if that wasn't enough - to then run them over for good measure. Likewise, it was always pretty ridiculous that you can't enter another police officer's car as a passenger without them freaking out and thinking that you're trying to steal it. All of these behaviors have been adjusted, and we think that you'll feel far more like an actual cop within the world - rather than just a retired bank robber dressing up with a badge.
And yes, while there are a number of mods out there that can help to mitigate many of the scenarios I've described above, they don't really offer a comprehensive and consistent solution simply due to technical restraints. Our changes are at a much lower level and offer us a higher degree of control on a per-character basis. This is great for flexibility and performance, and we think you'll really notice the difference when out and about on patrols.
New Interaction Menu
Sticking with the topic of small detail, increasing the level of interaction in LSPDFR is something that's very important to us - especially with the new focus on character in LSPDFR 0.4. Indeed, we previously showed off a number of new interaction options that will be available during vehicle pursuits, but we've also taken the time to make big improvements to the more general Interaction Menu, offering you most of the features currently available in GTA Online, but with an LSPDFR twist. Among the changes to the Interaction Menu are "quality of life" improvements like being able to quickly waypoint the nearest police station, as well as additions like new dialogue, actions and the ability to set your character's mood.
Similarly, you can now also change the way that your character walks, but it doesn't quite stop there as in keeping with the general idea we outlined above of making the game feel more suited towards being a cop, there's a special "Cop" walk style that not only makes your character walk around like an officer, but also completely replaces their generic "idle" animations - subtle movements that your character makes while stationary - with more appropriate police styled ones.
The more feature-complete Interaction Menu in LSPDFR 0.4 enhances your control, allowing for greater immersion.
Additionally, we've carried over this level of detail to the Police Radio options too, replacing the static animation that currently plays in this menu with a number of different options that can be cycled between instead, including a nifty new LAPD style handheld radio (as well as the option to play no animation at all). Again, this is a small detail, but we hope that the enhanced level of immersion will be welcomed - especially if playing as an FIB Agent and communicating via an earpiece instead of a shoulder mic, for example.
New technology in LSPDFR 0.4 produces incredibly lifelike scenes - you can freely move while using the police radio without any animation issues like arms being locked in place, etc.
Finally, still on the topic of detail, we've topped things off by adding a proper police flashlight to LSPDFR 0.4. Yes, we know that there's a bunch of ways to use a flashlight currently whether it be the vanilla one that looks like it's straight out of a horror movie, or through other mods which suffer from animation problems, but ours is a little different.
Already alluded to in the first preview we gave of LSPDFR 0.4, our flashlight is properly held above the head and can be used both by the player and other NPC officers. It doesn't affect player movement, and you can freely walk, run, sprint, etc. while still holding the light. If enabled, equipping it is a seamless process too - simply select the flashlight from the weapon wheel and LSPDFR will take care of the rest.
The new flashlight in LSPDFR 0.4 tops off our efforts to bring more immersion and realism to the mod.
In our previous post detailing some of the technology behind LSPDFR 0.4, we mentioned that we had added Scenarios to 0.4 - scripted events that could take place during pursuits and traffic stops. Similarly, we also noted that 0.4 introduces a new Crime System, capable of actually recognizing crimes that take place in the game world and providing functionality for the player to get involved by reporting these. Expanding upon this idea, we wanted to make sure that we fully realised the ambient world that Grand Theft Auto V provides, and to do this we've manipulated a couple of lesser-used features within the original game.
In the normal game, the player will sometimes be confronted by other characters within the world as a result of the agitation system built into the game which allows NPCs to insult or shove the player, for example. In LSPDFR 0.4, as a result of some research by @LMS, we've now been able to implement the same system, but for NPCs instead. This means that NPCs can become agitated with each other, begin trading insults, get into angry shouting matches, or eventually, physical confrontations. Plus, as these are actually 'legitimate' game events, other characters nearby will react appropriately, which also ties in really nicely with the Crime System and provides the player with something other to do than respond to dispatches or pull over vehicles - there's now hopefully much more actually happening within the world and consequently, more things for the player to notice while on patrol.
Manipulating the game's agitation system results in a much richer world - seen here are two NPCs engaging in a spontaneous confrontation.
Note that screenshots show LSPDFR player and non-player-characters wearing some outfits from EUP - which is entirely optional - special thanks to @Alex_Ashfold for his collaboration with us and for providing a development copy of EUP 8.0.
Thanks for reading the preview. We appreciate your patience as we put the finishing touches on LSPDFR 0.4 and hope to have more news soon.
LtFlash got a reaction from techgamer15 in Callout crashing LSPDFR when trying to enable a route.
For some reason entity.GetAttachedBlip() returns null ref. You should store your blip in a variable: Blip policeBlip = new Blip(police); and refer in your code to that variable.