propstg / ambulance-mission

Adds an ambulance mission to FiveM/ESX.
GNU General Public License v3.0
20 stars 19 forks source link

[FEATURE] - Clean UI Version #25

Closed LordMikoda closed 2 years ago

LordMikoda commented 3 years ago

Is your feature request related to a problem? Please describe. No, just a cleaner version for RP.

Describe the solution you'd like I love this addon, and we use it on a server I am a part of, but I would like to see a version without all of the "Mission Complete" stuff, and the UI showing mission levels and such. I am sure we could rebuild it out and remove the things that make those appear, but while doing so we run into a lot of call issues and I was wondering if there could be a side release that just didnt have all of that added. I love that this is available for free, and appreciate all of the neat features!

Describe alternatives you've considered Manually removing UI elements, but we aren't amazing coers :X

Additional context Just an RP friendly No sound, so UI element version.

LordMikoda commented 3 years ago

For a little more info too - We already remove the mission time and all of that so they never time out, as we use this as a supplementary income to EMS - We do not do EMS revive pay and all of that, so its a fun timekiller that puts money in society and keeps RP rolling during slow times. (Again, thanks so much for this, its really well made!)

propstg commented 3 years ago

Hey, thanks for the kind words and detailed request. I think this sounds like a good idea.

I do have a few questions...

  1. If you don't want the level displayed, are you looking for more of a continuous mode that just repeatedly spawns a new patient every time one is dropped off, until the game is manually exited?
  2. If yes to 1., would you want the payments to increase at all for each patient? Or is a fixed amount/patient okay?
  3. Should all of the game-ending triggers remain in place? Like, exiting the ambulance or killing a patient?
  4. Are simple notifications okay to provide some amount of feedback? Like game started/ended, patient delivered/money earned, and maybe one saying a patient needs assistance. Not the arcade-style messages, just the normal rectangular notifications in the lower left.

Thanks!

LordMikoda commented 3 years ago
  1. We leave it maxed at 5 missions, with NPCs increasing by one for each level, that way it doesn't destroy the economy too much So it is pretty much fine how it is. We can modify that at a later time manually if needed, it's working really good for what we do.
  2. Payments are fine.
  3. Yes, leave those in. This adds some funny fails when people forget to put on a seatbelt or accidentally back over a patient. (We do still have an issue with the Pillbox Hill patients randomly dying after spawn, but we haven't tested with the newest updates just yet)
  4. Those I think would definitely be much nicer. We manually added the notification box style toasts in (granted they aren't always perfectly formatted) but if they were baked in I am sure you would have a good build.
propstg commented 3 years ago

Great, keeping the basic flow of the game intact should make it a lot easier. Also, I appreciate that you guys took a crack at it yourselves. :)

I'll try to get you something to test soonish.

PavilonGaming commented 3 years ago

Hey propstg, im the owner/dev on the server the LordMikoda plays on and we love your script. id be happy to shoot you a copy of what ive done to change things up to see what you can do to clean it up better. Some of the things ive changed that i can think of off the top of my head are:

removed the mission timer because we dont want EMS just flying around the city all the time

added in some math to the payouts to where they are split between the driver and the society. 30% to the driver and 70% to the society

tried to clean up the large notifications that pop up on the screen as these are pretty immersion breaking for an RP server, but i just havent had the time to dig back into it to change them over. Ideally kicking out to either a mythic notify or pNotify would be great. Chat notifications just tend to cause clutter after a while.

I do absolutely love the teleport into vehicle that the peds will do if they get hung up for too long unable to path to it. Some other ideas ive had for the script are:

making it where multiple people can do the missions in the same area without picking up a mission ped that cancels someone elses mission

While i do like the idea of the different levels, for an RP server it does promote taking the local job over a player at higher levels sometimes because people may not want to forfeit that higher pay that they spent half an hour working up to. i think a flat rate per patient dropped off, or at the least a config option to choose between the two, would be more ideal.

I like the idea of players having to stock their characters up with items, i would love to see it where when you drop them off at the hospital it also removes a bandage (or other item able to be set in the config) from the drivers inventory, and if they do not have the item in the inventory, then at that time the patient can bleed out.

If you have any other questions or want to bounce ideas around, feel free to hit me up on Discord.

propstg commented 3 years ago

Hey, @PavilonGaming. Thanks for the extra information and ideas!

Yeah, if it's not too much trouble, seeing what you've already done could be useful, to get a better idea of expectations, so my implementation isn't wildly off base.

Regarding your suggestions:

mythic/pNotify notifications

Admittedly, I don't know what either of those are. :) It's been a year or two since I've really done anything with fivem, outside of maintenance, and since I don't actively play or keep up with changes anymore, I'm hesitant to add dependencies that I'm unfamiliar with. I was planning on adding a layer to show either the standard toast notifications or the scaleforms, for this rp mode. If it works for you, I can make a singular location to update the toast notification function on your end to whatever you prefer.

making it where multiple people can do the missions in the same area without picking up a mission ped that cancels someone elses mission

Hmm, that sounds like a bug. I certainly didn't try to make it that clever. I'm wondering if this is related to the onesync issues (which are hopefully fixed in the latest commit). Let me know if this is still an issue with either the latest commit or with the changes I'll be making for this request.

While i do like the idea of the different levels, for an RP server it does promote taking the local job over a player at higher levels sometimes because people may not want to forfeit that higher pay that they spent half an hour working up to. i think a flat rate per patient dropped off, or at the least a config option to choose between the two, would be more ideal.

Yeah, that makes sense. After thinking about it a little, I think I know how to simply do this without making large changes, but I'll need to experiment with it.

I like the idea of players having to stock their characters up with items, i would love to see it where when you drop them off at the hospital it also removes a bandage (or other item able to be set in the config) from the drivers inventory, and if they do not have the item in the inventory, then at that time the patient can bleed out.

This does seem like a neat idea. I'll mull this over. The lazy part of me is wondering if this would be enough?

  1. Add a client-side event that terminates the game
  2. Add an empty server-side event that gets triggered by the client when patients are dropped off. Any logic one desires could be manually added to the empty server event handler, which could trigger the client's end game event if needed.

Let me know if either of you have any more suggestions!

Thanks

propstg commented 3 years ago

Hey @LordMikoda and @PavilonGaming, the rp-mode branch has the following added, if you want to give it a try:

  1. RP mode, to remove the timer, the overlay, the sounds, and the arcade-style UI elements.
  2. Continuous mode, to lock the game at level 1

I tested in game for a little bit and didn't see any issues (after fixing the ones I initially found), so hopefully it's good to test. :)

I added stubs for the ability to terminate a game from the server, but it didn't work when I tried it in game. I'll look into it more later. However, the bulk of the rest of the request should be functional, so I wanted to see what you guys thought.

Thanks!

LordMikoda commented 3 years ago

Awesome. I will let Pav know and we will get some test results to you as soon as we can. Thanks for so much work, I really didnt expect an update this quick XD

PavilonGaming commented 3 years ago

playing around with things and i love it so far. only thing I'm running into an issue on is the ped markers. in the original script i was able to shrink the marker down fairly small so its not so intrusive and immersion breaking. but with the new one for some reason I'm having an issue shrinking down the marker width. even tried dropping in the markers.lua from the original script. here are two screenshots as examples. the small one is from the original script. and the larger wide one is the smallest i could get the new script ambulance1 ambulance2

propstg commented 3 years ago

How strange. Could I please get the code you were using for the modified marker? I should be able to make some time to take a look tonight.

PavilonGaming commented 3 years ago

Here is a download link to my entire script EMSMission

propstg commented 3 years ago

Hmm, so using that markers.lua and the marker size config change, the marker looks good for me, with the rest of the code from the branch.

What does the config that you're using to test the changes look like?

LordMikoda commented 3 years ago

Totally forgot to post up here again.

Through further testing it seems we cannot figure out the Marker size issues, but overall the job itself is working very well. I have not run into any issues or bugs with the job itself, and the clean RP mode is amazing (I run EMS for our server so I love it :p) We ended up just turning off the ped markers and going that route for now, Pav may have more feedback from a dev standpoint

propstg commented 3 years ago

Thanks for the update!

Okay, cool. I wish I had been able to recreate the graphical issue, but that sounds like a not-horrible workaround.

I still need to work on getting the server-triggered event to end the game before I merge this into the master branch. I have been slacking.

Edit: Well, it seems the event does work, I just forgot how to trigger client events from the server and was doing it wrong before. I updated the example in the server file and will merge these changes soonish.

stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.