Jump to content
Sign in to follow this  
Bon

Simple injury system. Working with JIP and respawn.

Recommended Posts

As I experienced the integrated Bohemia AIS module (Alternative Injury System) is a nice work, it is not working well with Join In Progress, respawn enabled and AI disabled.

So I tried to script my own AIS, what surprisingly did not longer than two evenings. The result is a very limited AIS clone, that is compatible to JIP, respawn and disabled AI I thought someone else could benefit from it as well, so here it goes.

ku0x0LOdZB0

As you can see in the video, it looks familiar to the integrated BIS module:

  • Receiving a deadly hit (that is, of course, not that deadly as it would be sitting on an exploding hand grenade) the player goes down on the ground, only possible to crouch and to empty the current magazine (Aiming not possible).
  • A crossroad notification appears on all machines that the certain player is down.
  • A marker appears on the map at the location of the wounded player (unless she/he is sitting in a vehicle, then the marker will be created as soon as she/he gets out of it).
  • Screen starts to blink with slowly increasing frequency to indicate bloodloss.
  • While wounded and on the floor you can call for help (stolen from norrins masterpiece :cool:).
  • Give up, i.e. skip and respawn on the usual way (ESC->Respawn)
  • Healing takes between 15 and 25 seconds for medics, 30 to 40 seconds for any other class. If a medic applies first aid, all damage will be removed, else damage remains, but bleeding stops and with a 50% chance the wounded person can use its legs afterwards.

You can download a template mission here: http://10th-community.com/index.php?site=files&file=40

Hf, Bon.

Edited by Bon

Share this post


Link to post
Share on other sites

Looks interesting.

A few recommendations.

Change the topic title to something like "Simple injury system. Working with JIP and respawn".

The second part is that you state that the BI AIS does not work well with JIP, respawn

and AI disabled. One would assume that these three work with yours, yet you are

best to state this clearly.

Share this post


Link to post
Share on other sites

Change the topic title to something like "Simple injury system. Working with JIP and respawn".

The second part is that you state that the BI AIS does not work well with JIP, respawn

and AI disabled. One would assume that these three work with yours, yet you are

best to state this clearly.

Yep, done. Thanks for the recommendations.

Share this post


Link to post
Share on other sites

I've improved and finished this little script in a way that:

  • you can drag and drop bodies
  • the healing person is now always in the correct position beneath the wounded person
  • fixed: the marker of the injured person will disappear now when the person disconnects while in agony

Note: you can simply modify this small injury system to provide a revive functionality by increasing the "rambovalue" (the threshold of a hit considered to be deadly, I think this name is appropriate :D ) in the Init.sqf to a very high number. Further details in the included readme.

An updated demonstration video will follow due to the next days.

Edited by Bon

Share this post


Link to post
Share on other sites

Sounds good Bon. I really like the fact that it takes other classes other than a medic longer to heal a person. Great for realistic missions. Thank you! I'm going to test this now.

Share this post


Link to post
Share on other sites

I cant seem to get this to work.

I tested out your sample mission, I shoot the medic, and hes dead, no option to revive etc.

I was using ace2.

Share this post


Link to post
Share on other sites
I cant seem to get this to work.

I tested out your sample mission, I shoot the medic, and hes dead, no option to revive etc.

It's not working with AI dude. It's intended to be used in missions with AI disabled. Sorry.

Share this post


Link to post
Share on other sites

Since I'm kinda desperate for an AIS working in multiplayer with JIP and respawn I wanted to give this a try, and started by just looking at the scripts and found some possible issues that I'm not sure your AIS handles as well as things that may be worth implementing:

1. What happens when the healer disconnects? Then nobody will set the "getting healed" variable to false?

2. What about taking injured soldiers out of vehicles?

3. Carry as well rather than just drag?

4. The more damage taken, the faster the bleeding. That is, use some slightly more complicated _revive_timer function that will wait until either the effect needs to be updated or the player have taken additional damage and then adjust the time remaining accordingly if extra damage was taken (and keep the randomness, just make the randomized value scale based on damage).

5. In BIS it's supposed to stop bleeding first and then "revive" (which is worth separating as you might get interrupted while healing), haven't noticed anything that does the same thing in your script.

6. Shouldn't the ability to use legs after getting healed depend mostly on if you actually got hit on the legs? And overall shouldn't the damage set to the newly-revived player depend on where and how he got hit before he got revived (in case of a non-medic revive)?

7. Isn't using setVehicleInit a bit of an odd way to get things to run on the healed person? Won't it result in damage being reset every time someone JIPs (assuming some slight damage was taken since the last revive)?

8. I just can't figure out the logic behind your handle damage function. Maybe I just don't get what you're doing there but I just can't see exactly what it's supposed to do in every situation. Does it have anything to do with the default BIS damage handling?

Share this post


Link to post
Share on other sites

Hi galzohar,

that's a lot of very good suggestions, but a bit inappropriate for a "quick&dirty" script that was supposed to do only one thing in the first place: Prevent players from dying immediately when receiving critical damage.

Furthermore it was some time ago when I made this script, my thinking wasn't that concerned about network traffic, especially during JIP synchronization.

So all in all you are completely right with all your points, but I don't have any ambitions implementing them / improving the existent, better would be to just script a new one from scratch (especially since I know more now about FSMs)...

Just to comment on some of your points:

1. Point. That would be indeed a problem.

3. Implemented carrying before, dropped it again - looks just more ridiculous than anything else, and it was rarely used.

8. You get a hit, damage handler either applies the damage to you by a factor dependent on which body part (head = factor 2, legs = factor 0.5, aso), or refuse damage but set you unconscious.

Share this post


Link to post
Share on other sites

8. You get a hit, damage handler either applies the damage to you by a factor dependent on which body part (head = factor 2, legs = factor 0.5, aso), or refuse damage but set you unconscious.

Is that how the original AIS works? I could swear that getting shot and revived multiple times would be more and more likely to result in a death. That is, damage would still be applied when you go unconscious, just not as much as normal so that you don't die and when you do get shot again after a revive you keep your old damage rather than getting it reset to a certain pre-defined value, resulting in higher chance of just outright dying.

In any case, I know a lot of people (myself included) who would very much appreciate a more complete version of BIS-like AIS system.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×