Discussion: Roleplay Frameworks

True. Let’s do it right this time. And more secure. When I’ve been looking through advices how to code, I was loosing it with looking backwards how some ESX plugins are made. No vision, structure, lazy coding, copy pasting…

I say F the compatibility, let’s make the best and optimized functioning of the framework No. 1 priority.

1 Like

I’ve been thinking about integrating more of GTA’s native hud like the bank and cash elements, some of the menus and the cloud loading transition for loading into a server. What would you guys think of this?

1 Like

Jaymo, you are catching a lot of eyes here with this idea, defiantly starting to look like you have back up for this to happen. Hopefully with all this positive feedback you are receiving, we are hyping up your hopes to make this idea come true.

1 Like

You all sure are I can tell you that much :smiley:

Another important thing we shouldn’t miss would be neat framework wiki or any kind of easy-to-follow tutorial for anyone who wants to dive in and contribute!

Agreed, esx wiki is like really annoying nothing is documentated. for example “this function returns a job” without saying if it’s the jobname or an job object

1 Like

Have you started on this project yet?

1 Like

nah, the only way to fix this is by kicking the esx devs off their high horse, the mentality “quantity over quality” is exactly the reason its so shit, and also the same reason why i was banned from their repo, for cricising exactly that.

ESX needs some competent people completely fixing it and making a good, usable, stable platform.

having another framework that does the same as x other frameworks is just another new problem people throw on their servers

Yes, I have started working but I don’t have anything worth showing at the moment. School is also taking precedence over everything at the moment and I have other projects more personally rewarding to work on than this one but I haven’t given up!

ESX is the only public framework which is actually liked by players and people are used to it. Also, many server owners find it difficult to find developers to make a RP framework for them or even optimize ESX. Most of them expect to join a team which has already been established. You can’t really blame owners for using ESX when there isn’t anyone else willing to make another framework or optimized version of it.

Yes that is most definitely true, I am by no means blaming server owners for what has happened, who I blame is the ESX developers and the developers of ESX addons who seem to have all copy pasted the worst code from each other. Many of the addons running on nearly all FiveM server’s have easily avoidable exploits or a complete lack of competent code all together. Not to mention the appalling attitude of the current ESX developers. The whole ecosystem needs to be burnt to the ground and started from fresh.

I’m all for a ESX revamp or whatever you want to call or maybe even a new RP framework but who would do that kind of work. It takes a very long time to create the framework alone but then making the addons, providing constant support and updates is just a waste of time if you don’t receive any “money” or “respect” from it.

Warning; semi-naive post.

I’ve been having a long hard think on this.

But it would be super ideal, to have mirroring editions of a framework or even core, thats build off all languages FiveM supports. Running individually or in tandem to be called upon.

The core of them would be identical, function names and registered events etc.

It would take coordination from members sure, but will allow for a greater sence of union.

Based on community prefferance, it would allow them potentially link into eachother or call the same functions within different versions of community scripts.

Or at least, minimise the edits required to share code/resources between the community members.

Right now, Lua, C# and JS are the most common and have the native references guide, right?

So whats stopping people for still using their prefferance of code while maintaining the core construction of shared functions?

I personally went with ESX for it’s pre existing functions. I just dont like re-inventing the wheel and repeating code. So it suited my needs.

But I’ve hit the point that I can see inconvenience and limitations of it.

I’ve laid the keel for Limbo RP Framework, but it’s nowhere near useful yet. It’s in Lua. Mostly.
I’ve squished together a Discord guild, too, if you want to drop by and discuss it.

As I see it, the biggest problem with the existing stuff is that everything is completely job-centric.
For example, under ESX, there is policejob, mafia, bikerjob and cartel. They are copy/paste the same script, mostly. By default, they each track their own item/weapon storage locker, their own purchase/ordering and separate handcuff/drag code.

That means that a dupe bug would have to be fixed in each storage code separately, and that if you are cuffed by biker you can’t be uncuffed by the police. It’s just plain dumb.

What I’m aiming to build into Limbo is that each function is a separate resource, but it’s common to all the jobs/groups/whatever. The item/weapon storage would exist as it’s own resource, so all the different “jobs” would just have to tell the storage resource to provide storage at some location to anyone with the character flag/permission/whatever relevant for that storage. If there is a dupe bug (…or whatever), it just needs fixing in that specific code, and not in 18 different “job scripts”

This means it’s easier to optimize, too.

Oh, and I plan to expose a very generic octree implementation, so the inevitable shop resource doesn’t have to iterate over a list of 300 shops every frame. Cheesus, who thought that was a good idea?

2 Likes

Any progress to note as of yet?

I must admit I’ve already started a grounds for my own in anticipation and excitement.

Just got through most of the workflows and event trees I would think are ideal for my style frame I mentioned above.

Just finished/made a server side UniqueID generator for the initial connection, to assign to the connecting client to utilize as the identifier between tables in le DB.

Holla at me if you you have use for it, it can be to any length. Alphanumeric lowercase styles bae.

Limbo is looking pretty good from first glance, nice work!

Thanks! I hope it becomes something useful.

I like the idea Limbo RP framework presents.

To have some job based framework in order to just configure it into whatever you need. I am just not sure how would I implement additional code for specific custom jobs. You know, we don’t necessarily want everything feel copy pasted. Sure, main structure like hiring/boss menu, maybe something like

on/off duty = true/false
job garages = true/false
garages  = {
    x=111, y=222, z=333,
    x=444, y=555, z=666 }

and other things like this would be neat as hell! Literally would save time and resources as this is what many people are copy pasting all the time anyway!

I think another problem is that many of the people who use ESX don’t actually know how to script. This is of course based on what I’ve seen in scripting/help channels so the numbers are definitely skewed. From my experience i’ve mostly encounted sub-15 y/o teens who don’t want to actually script or contribute to any opensource project.

@Darkzy is the one who I believe is making his own “Darkzy” framework too. Looks like it might be decent. I think the best luck would be something that is new and remastered however has compatibility for legacy esx scripts.