Jump to content
Sign in to follow this  
Murcielago_ESP

Real Damage for Arma 2

Recommended Posts

How is the work with vests going ? any progress ?

Share this post


Link to post
Share on other sites

Hi Tes!

Tomorrow I will carry on with the Real Damage project. I had a busy time last weeks and in addition I have been answering people's e-mails. But mate do not worry, when I say I'm going to do something I do it... I start all my projects like that and I always find out the way to achieve things.

By the way... my head never stops! Even when I watch a movie ideas pop-up from my head! Problem is time... I just a human being.

Thanks ended for your interest.

Murcielago

Share this post


Link to post
Share on other sites

Hi mates!

I'm back on busyness. I have been studying how I can simulate a bullet proof vest. I have been watching and reading information about bullet proof vests and now I have an idea of what I want/need to do.

Guys, remember that the idea behind Real Damage is to improve/add things without adding more issues! I want Real Damage to be a fully working code.

I want to have some feedback from you about the lethal conditions for the bullet proof vest. I found a cool way to fake the unit death without multiplayer issues. I want to use it when the unit is hit by a high calibre projectile so after being hit you will be laying on the ground for a few seconds and you will be capable to around and I will add some fade to black and may be noise... that will let the injured unit that has problems to breath as when you are hit with a big projectile the projectile may not penetrate the bullet proof vest but the energy of the bullet will crush your chest creating internal bleeding...

After I gather some information about bullet proof vests and that looks like that units in Arma 2 use a class III bullet proof vest (Not suitable for armor-piercing projectiles) we can say that wearing a class III bullet proof vest:

1. Hand guns, submachine guns and shotguns do not kill you, at any distance.

2. Standard assault rifles ammunition do not kill you at any distance.

3. Sniper rifles will kill you due to energy at close range. Long range hits may be will not kill you.

4. Anti-materiel weapons (m107 and AS50) will kill you at any distance by penetration and energy transfer.

Please share you knowledge with me to create a better gameplay.

Thanks for your time!

Murcielago

Share this post


Link to post
Share on other sites

I have no idea if this is worth of a mention, but have you ever thought about pushing this idea so its added into ACE via Sickboy? Or is it a clash of interests in terms of ACE already has its own "take" on it?

Share this post


Link to post
Share on other sites

mrcash2009,

I already told that they can use it on this thread. I will appreciative if they let me know that they are using my code, that is all I ask. I have to many more codes/missions with this level of quality or more to be published or finished!!! And I want to do it.

I still working in Real Damage project because I can see people is interested by the YouTube view count, e-mails that I received and this thread. But I love to create/fix things! If no one takes from me the Real Damage mod conversion I will do it but before I want to make public a SP mission with unique features/codes.

By the way... Real Damage with Bullet Proof Vest is real! It works perfectly... better than the original one! (I will transfer the improvements to the original code) and with some cool features! I have been doing multiplayer tests and I'm more than happy... I'm SURPRISED!! with what I saw... I only can say that from now on you will enjoy been shot! Because is so cool!

Today I will take a final look to the legs damage values. I'm more than happy with the rest of the code! This Sunday it can be done!

New features:

Bullet Proof Vest hit:

1. You will not be injured at all when being shot with: hand guns, submachine guns. You will see a white flash (To simulate pain) and your character will change its looking direction slightly.

2. Small damage or no damage when being shot with: shotguns and assault rifles. You will see a white flash (To simulate pain) and your character will change its looking direction slightly. May be the unit will receive a small amount of damage if shot does not hit the centre of the vest.

3. Slow death (Lungs failure/internal bleeding) when being shot with: rifles, sniper rifles and anti-materiel rifles. You will see a white flash (To simulate pain) and it will fall. Players will only be capable to move their heads will they can see a large fade to blacks and a choking sound will be played to let you know that you can not breath any more.

Points I need to focus on are:

1. May be rifles will kill you by energy transfer when the shooter is close to you. What you think? Powerful sniper rifles will kill you at any distance.

2. How to integrate the sound? I have a perfect sound but in order to use it you will need to have an extra file. I would like to avoid that but I do not know any arma 2 sound name to replace it so I will not need to add an extra file and the sound.

3. How I can link both codes (With and without bullet proof vest feature) or do a general solution... May be we will left this for the mod version...

Does anyone know the name of an Arma 2 sound that simulates a slow death?

Thanks for your time!

Share this post


Link to post
Share on other sites

Awesome ! lot of thinking for just one car( Murcielago,get it ?) cant wait till sunday. Few questions. Does this stop bullets only in places where you have plates in real or on whole torso ? Can plates be destroyed ? damaged plate can let well placed bullets through and if not kill you, hurt you pretty bad. Will this work in an far far future version or is to complicate ?

Share this post


Link to post
Share on other sites

Hi Tes,

I like the Murcielago cars but murcielago is also the Spanish for bat. I pick the name because it contains all the vowels (Latin languages use vowels everywhere) and I use specially my ears to track enemies... (Having a 5.1 system with a 5.1 headset makes the difference... but this is for another post)

I want to let you know that when I do codes I try to make them as best as I can (No errors, no performance issues and, if I can, I try to made them easy for users) For sure I can do many cool things with the code but nothing is free. By the moment I'm keeping it tiny and tidy, be aware that the command used in Real Damage is a little bit... tricky! That may be explain why no one find out a tiny trouble free solution like Real Damage. The Real Damage code uses the event handler called "HandleDamage" and this code is triggered 4 times per hit and in addition is not easy to use... so this event handler is not easy to handle... ;) I let you know that I played a mod and the AI was invincible because, I guess (99%), the mod has a problem with this event handler (HandleDamage)

During my testing process I find out a nice test for The Real Damage code. This test was to kill three soldiers with a grenade. At the early state of Real Damage code I noticed that killing 3 guys with a grenade creates connection issues problems even with LAN connection. That is because the code for 3 guys killed with a grenade was triggered more than 25 times. This is a "little problem" for the Arma engine even when Real Damage uses one tiny script (+ bleeding one) The current version is even better! It only fully reads a 3.5kb script 3 times! I think the Arma engine can handle that ;)

Tes, I have some knowledge of programming and some other things... but I do the codes to challenge my self and to push the envelop (Take a look to my

mission or the next COOP mission that I will release soon... High quality stuff mate!) One of my first rules in life is, I do not start something if I do not know how to finish it. A few people escape from my when I open fire in Arma! (Many times I saw them but I do not shoot to them because I do not have the right weapon...) Do not worry mate, with the time I will find out the way to make Real Damage even better! My guess is that the Arma developers are trying to make this "HandleDamage" event handler easy to use.

Thanks for your comments! They are really appreciated!

By the way, I guess no one manage to finish my

because is too... complex and realistic. That mission was a benchmark for teams of players, at the end of the mission you will see a table with the score for your team. In addition it has crazy codes/features!

Share this post


Link to post
Share on other sites

Hi, interesting project here. Noted some things:

If these attached logics are used only as bleeding counters, then perhaps for optimization purposes better would be to use just setVariable and getVariable for that purpose instead of spawning for sure more CPU-hungry logic objects? Unless there is another reason, that I missed. Perhaps also code will be a bit lighter, if instead of repeating _this select (number) will be defined once local variable and then used instead of repeating select operation on _this array again every time selection or other value is needed. Not sure, how much this will change, probably nearly nothing.

Bigger improvement of optimization can be made by replacing execVM each EH activation with spawn of once compiled and preprocessed code. So instead of

This addEventHandler ["HandleDamage", {If (Alive(_This Select 0)) 
Then {Null = _This ExecVM "Real_Damage\Damage_Detector.sqf";};}];

at the beginning of code initialization can be used:

DamageDetector = compile preprocessfile "Real_Damage\Damage_Detector.sqf";

And then such init line for unit:

This addEventHandler ["HandleDamage", {If (Alive(_This Select 0)) 
Then {Null = _This spawn DamageDetector;};}];

So you can save this way each EH activation compiling and preprocessing again and again same code, as this execVM is doing: compile, preprocess, spawn. First two steps can be done once. Same for bleeding loop.

Sometimes can also be used "call" instead of "spawn", such execution from EH is not affected by overloaded sheduler delay, but then, from within EH scope, any sleeps/waitUntils are not allowed, so rather not usable here.

Noted also, maybe not intended, restriction of some fatal wound effect only for BAF 12,7mm but not for vanila 0.5 ammo. BTW

(((_This Select 4) == "B_127x99_Ball_noTracer_BAF") Or ((_This Select 4) == "B_127x108_Ball"))

perhaps will be a bit lighter in such form:

_ammo = _this select 4;//somewhere at the script beginning, once
(_ammo in ["B_127x99_Ball_noTracer_BAF","B_127x108_Ball"])

(don't forget also about eastern/Russian special amunition types...)

Maybe even would be nice to have in the future some global init config array for adding another, custom made anti-material and shotgun ammunition classes? This would be usable that way:

MCL_AM_AMMO = ["custom_Ammo_class1","custom_Ammo_class2"];

Optional defined by user before script, and then once, at script init:

if (isNil "MCL_AM_AMMO") then {MCL_AM_AMMO = []};
MCL_ALL_AM_AMMO = MCL_AM_AMMO + ["B_127x99_Ball_noTracer_BAF","B_127x108_Ball"]; 

and then, each code activation, just simply:

_ammo = _this select 4;//somewhere at the script beginning, once
(_ammo in MCL_ALL_AM_AMMO)

Also perhaps here you will find something useful for yours project, this is similar stuff for armored vehicles also based on "HD" EH created by Nice_Boat, and kept alive by me:

NBT_TDS

I hope this will be helpful anyhow. Good job and good luck.

Edited by Rydygier

Share this post


Link to post
Share on other sites

Rydygier... T H A N K S !!!

I will try to incorporate your improvements.

After I read your post I understood that is better to use a local variable than an array element (_This Select i)? The original code used local variables but I removed them because I though that it was an improvement. I guess I was wrong.

Mate, Thanks again! I will download your code and I will study it, sure there are many things there that I can use/learn.

Thanks for your time!

Share this post


Link to post
Share on other sites
After I read your post I understood that is better to use a local variable than an array element (_This Select i)?

That's my guess, but I can be wrong here. Just tought, that even if difference is tiny, still executing several times select command on some array will need more CPU power than using local variable defined once.

EDIT: By the way made some small, but important correction to the NBT_TDS (lines 152-158 of NBTank.sqf, now should properly exit, if ammo is bulletcore and not in exception array to save many futile calculations for small ammo hits), so there is now 2.09 under same link.

Edited by Rydygier

Share this post


Link to post
Share on other sites

Does anyone know the name of an Arma 2 sound that simulates a slow death?

Thanks for your time!

Thank you for your work on this!

Re sounds, not sure if any of them will be what you are looking for but Solus made custom scream & groan sound files for SLX. When he left he donated the work to the community. The full download is on Armaholic, or there's an edited (CO)SLX_wounds file here (only some of the scripts were edited, the anims & sounds are as the original).

Cheers

Orc

Share this post


Link to post
Share on other sites

Orcinus,

Thanks mate! I will use the external sound I have. Is perfect for the script.

A guy give me that link: http://browser.six-projects.net/other_roots/CfgSounds/config?version=63

That is what I was looking but I have no time to check one by one the sounds (I rather to use my time testing the new changes) But I'm sure that in the future I will use that web.

---------- Post added at 18:34 ---------- Previous post was at 18:33 ----------

Rydygier!!!!

Thaaaanks! Again! I currently testing the last Real Damage version. I did incorporate you changes (Except the variable one, I will try to incorporate it in the future version) in addition I added some code improvements!!! The new baby feels smoother and it only triggers 4 times when you kill 4 soldiers with a grenade!!! I used the "BreackTo" command to stop the code working when is not necessary.

Thanks indeed for taking your time to help and Arma colleague.

Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime.

I hope I will end this project stage this weekend. I'm finishing the tests and I'm thinking on the video and what I will include in the zip file.

Share this post


Link to post
Share on other sites

Great, cant wait for it. Pls bring an addon version too! Ive got countless missions to play and dont want to edit all of them again...

Share this post


Link to post
Share on other sites

Like I said I will try to do it but I have other projects on my head.

If I can see many interest from the people after the new update I will think about doing the mod thing earlier.

Thanks for your time!

Share this post


Link to post
Share on other sites

This is getting better and better! I see another gameplay changing revolution coming with this (we had alot of these in the last year in the armaverse, didnt we?). The end of your new demonstration video made me feel very ... well... kind of uncomfortable, i was like "holysh.. that hurts... what a cruel death", i never had that feeling in a virtual death scene...(maybe RedOrchestra 2 was also able to deliver that atmosphere of war-is-cruel) Well done! :)

Regarding scipt or addon version - both at the same time would be best, because sometimes u need very easy and quick implemantation(many missions - like Dar said) and sometimes its better to just build it right away into the mission.

Thanks for ur work and good luck with whatever u try to do in the future. Lets hope its another genius solution for other basic problems in ArmA ;)

Share this post


Link to post
Share on other sites

Thanks RunForrest... and yes! More cool things are coming in order to try to fix basic problems in Arma 2! Stay tuned! By the way my

mission is full of these kind of details... I created that mission to put many Arma 2 basic issues fix in one amazing mission! Or take a look to my
They are solutions for Arma 2 basic problems presented as missions.

NEW REAL DAMAGE VERSION INCLUDING THE BULLET PROOF VEST FEATURE IS HERE!

The new Real Damage code not only makes Arma 2 more realistic in addition it brings the game to a new level because being injured now is more real... and feels more real! The game experience because medics and medical equipment have an important role in game play and the bullet proof vest feature add an important asset to the game.

DOWNLOAD LINK: http://www.armaholic.com/page.php?id=18305

Update 20130127:

. Included Bullet Proof Vest version.

. Improved code.

. Included direction change every time that unit is hit to simulate bullet impact.

. Code made easier to be used.

Update 20130113:

. Fixed the vehicle issue and reduced number of variables.

Real Damage Bullet Proof Vest for Arma 2

created by

[MIC] Murcielago

(mgllgm@hotmail.com)

What is Real Damage?

Real Damage is a tiny code that fix some infantry damage issues in Arma 2. Like I said Real Damage is a tiny code not a mod so you can add it to your missions and players will not need any extra files to play your missions.

Real Damage does basically two things:

1. Fix the damage for infantry units.

2. Adds a dynamic and realistic bleed out system.

1. Fix the damage for infantry units:

Real Damage fix some issues in Arma 2 making it more realistic. This increase the game experience because with Real Damage you will be afraid of being injured, like in real life, because with Real Damage being injured has realistic consequences!

The Real Damage systems makes differences between minor, critical and fatal wounds and in addition it will modify your ability to shoot.

. MINOR WOUNDS: Will slightly increase the unit damage and the bleed out process and it will have a small impact in your ability to shoot.

. CRITICAL WOUNDS: Will considerable increase the unit damage and bleed out process and it will have a bigger impact in your ability to shoot.

. FATAL WOUNDS: Will kill you straightaway. Head shot or a chest shot with a medium weapon can produce a fatal wound.

. KINETIC DEATH: This is a new feature included in the Real Damage Bullet Proof Vest version. Kinetic death or death due to energy transfer will happen when projectiles have enough energy to crush the soldier chest bones creating internal bleeding and lung failure. Close range shots from rifles and sniper rifles can create this kind of slow death. Player will die slowly in a matter of 10 seconds listening a choking sound.

In addition every time you receive a shot the screen will flash to simulate pain and your character will change direction to simulate the bullet impact.

The system has been tweaked to:

. avoid the death of a soldier by being shot twice on the foot.

. avoid the death of a soldier by being shot on the foot with a sniper rifle.

. increase the power of handguns:

Silenced pistols: You will need 2/3 shots on the chest to kill a soldier (Default is 4 shots)

Pistols: You will need 2 shots on the chest to kill a soldier (Default is 4 hots)

Revolvers: You will need 2 shots on the chest to kill a soldier (Default is 3hots)

. reduce the effective range of shotguns to around 50m (Default value is around 100m)

. make a difference between different body parts: head (Wounds: Fatal), torso (Wounds: Minor, critical and fatal) and legs (Wounds: Minor, normal and critical)

2. Adds a dynamic and realistic bleed out system to handle:

. The time left for the wounded unit (The higher the damage the less time)

. The ability to shoot for the wounded unit. The higher the damage the higher the unit's recoil coefficient)

. The bleed out rate. If the wounded unit moves his bleed out rate will be three times bigger than normal. If the wounded unit uses a vehicle it will not increase its bleed out rate.

. Visual warning. Depending of the damage and/or remaining time the code will send visual messages to let the player knows how bad his situation is. Quick flashes will indicates that the player situation is not that bad. The very long flashes will tell to the player that the time is running out and/or that the players injury is very bad.

With one normal wound (Quick flash) you will have around 7-5min to fix it if not... you will die!

3. Bullet Proof Vest version:

This version simulates that units are wearing a class III bullet proof vest (Not suitable for armor-piercing projectiles):

3.1. Hand guns, submachine guns and shotguns do not kill you, at any distance.

3.2. Standard assault rifles ammunition do not kill you at any distance.

3.3. Rifles and sniper rifles will kill you due to energy at close range. Long range hits may be will not kill you.

3.4. Anti-materiel weapons (m107 and AS50) will kill you at any distance by penetration and energy transfer.

4. How to use Real Damage?

The code is very easy to use. The same code will work in single and multiplayer modes and with players and AI (From editor or created via script!)

To use it in your missions you will need:

4.1. Pick the Real Damage mission example folder you want:

. Normal: \Missions - EDITOR\RealDamage.Chernarus

. Bullet Proof Version: \Missions - EDITOR\RealDamageBPV.Chernarus

4.2. Modify the game logic init code: Null = [This,2000,"Man"] ExecVM "RealDamage.sqf";

. 2000 is the area radius where all the units will receive the Real Damage code automatically. The game logic object will be de centre.

. "Man" is the unit types that will receive the Real Damage code. The standard values are:

"SoldierWB" -> BLUFOR

"SoldierEB" -> OPFOR

"SoldierGB" -> Guerrila

"Civilian" -> Civilian

"Man" -> All

4.3. Start creating your mission.

If you have your mission already done just take the game logic object and the scripts and add them to your mission.

Be aware that the bullet proof version has a sound so remember that the external sound needs the "description.ext" file to be used/edited.

5. Test Missions?

The Real Damage test missions (PBO files) are multiplayer missions that you can use to study/edit/learn about the Arma 2 damage system. You can find them inside "\Missions - TEST MULTIPLAYER" folder.

The soldier on the left uses the Real Damage code. The one on the middle is a dummy version (Shooting to it will allow you to know the projectile name of your weapon. This name will be copied so you can paste it as a text) The soldier on the right is the standard Arma 2 soldier.

Thanks for your time.

Special thanks to Rydygier.

Please feel free to use/edit this code and try to send me your feed back to mgllgm@hotmail.com

Today's Real Damage version is fully working and it is focused on making the game play more realistic and interesting. Soon I will improve the code to make it a complete solution for Arma 2 damage system issue.

Real Damage weak points:

1. The bleed out death of a unit is not linked to the killer.

2. Current version does not allow to use both versions of Real Damage (With and without bullet proof vest feature) Soon I will fix it. This issue is link to the mod creation.

3. People is asking for a mod release.

4. Different units have different level of protection by default. This variable will be included in the future update.

Anyone capable to help to fix these issues is welcome! Please do not hesitate to contact me, mgllgm@hotmail.com.

to be continued...

Share this post


Link to post
Share on other sites

I see the use of the logic to include all units to enable the script for them that are on the map, does that same process work for units that are spawned in later or when I trigger them in an area I am about to move in on... in other words, does your script work with dynamically generated units on the fly or do you have another option for this type of action so that this script continues to run on all units after the mission starts and when new units are spawned in at some point later on.

-Raptor

Share this post


Link to post
Share on other sites
I see the use of the logic to include all units to enable the script for them that are on the map, does that same process work for units that are spawned in later or when I trigger them in an area I am about to move in on... in other words, does your script work with dynamically generated units on the fly or do you have another option for this type of action so that this script continues to run on all units after the mission starts and when new units are spawned in at some point later on.

-Raptor

Yes VRCRaptor. Only you need to added the "handledamage" code inside the unit created via script. The Real Damage code is there now it depends of you guy how to add it to your project. If you have any problem please let me know!

How to apply the Real Damage code to a unit created via script?

We are going to use the "CreateUnit" command http://community.bistudio.com/wiki/createUnit. This command needs:

. UNIT TYPE. The best way to find your unit type is to create the unit you want on the editor and name it for example as XXX. Save the mission and go to the mission folder and open the "mission.sqm" file using the notepad. Then search for XXX inside the file. Once you find your target you will see a vehicle variable (vehicle="NameTypeObject") That is the unit type.

. UNIT POSITION. This will be the place where the unit will be created.

. UNIT GROUP. The unit needs a group to be created.

"Unit_Type" CreateUnit [unit_Position, Unit_Group, "This addEventHandler ['HandleDamage', {If (Alive(_This Select 0)) Then {Null = _This spawn DamageDetector;};}];", 1.0, "MAJOR"];

Share this post


Link to post
Share on other sites

Thanks, Murcielago - I'm really looking forward to trying this at the weekend :)

OTOH, even more likelihood of dying while the medic farts about for 10 minutes before doing anything :(

Edited by Orcinus

Share this post


Link to post
Share on other sites

Soon (When I will have some free time) I will review my

mission and another one... to include the Real Damage code...
+ Real Damage system + Some friends... could be better than a great war film.

Bloody hell! I just remember that I should create the Stealth Mode mod version included in

...Sometimes is hard to realize that you are only a human being.

Share this post


Link to post
Share on other sites

I played new version and i like realism, but this is a game and gameplay is more important. These vests are awesome but now soldiers are almost unkillable.Game is too easy now. What is my cure ? First, bleeding (just bleeding not damage) have to happen after being shot in vest with smaller calibres. We need the "death clock" to be there even if vest would stop the bullet. Now its just like nothing happens after being shot in the vest (besides recoil) instead of "dude, i was shot, i need medic !" not ASAP medical attention but still need one. My second idea is how to do the "destroyed plate" - after 2 shots taken vest just "shut off"(is that word even close ? seriously, i dunno) and let further bullets through like not wearing one. That way there will be a difference in survivability between units that have and don't have vest but not a gameplay destroing difference and guys would still crap pants not to be shot,which was the orginal goal of this game. See where im going ? "It can save you once, maybe twice but not always so watch out for those hajis boy" instead of "spray and pray for them to hit you in the chest"

Share this post


Link to post
Share on other sites

@Tes: to some extent I agree. I know someone who was shot in Iraq (one of the minority of Brits with armour - just one issue of the squalid war those drittseks Bush & Blair lied us into) & who still has flashbacks. Probably at least an AK round (7.62mm), it hit him in the back & knocked him flat on his face; stunned & winded. Took him over an hour to recover some semblance of functionality. Depends on the round & the range, but even with a good vest it hurts & physically disables; psychological impairment can be quite high in the short term, apart from longer-lasting effects including PTSD.

@Murcielago: would it over-complicate this fine script to add in something like the shakiness/visual blur that TPWCAS has? Range & muzzle velocity & round-mass could generate a kinetic energy transfer factor that would be used to scale the extent of impairment; could use a linear recovery-rate to simplify though I suspect it would be non-linear in reality.

Share this post


Link to post
Share on other sites

Might also look into Tes' idea with maybe doing something of the sort of making replacable plate armor. After it's been shot once or twice, and the soldier is still alive, he needs to start being more cautious before running out in front of the crowd....at least until he replaces the affected armor plating.

Share this post


Link to post
Share on other sites

Hi guys!

About the plate I need to say that I saw videos where you can see that plates they resist to many bullets impacts.

How I will use the Real Damage Bullet Proof Vest code... I will not use it for every enemy/soldier. I will use may be for players and for some enemies to make them harder to kill. By the way if you use a bullet proof vest it is normal that you will die less times, that's logic, may be you will need to increase the AI skills?

About including extra visual features maybe in the future. The original RD idea was to create a easy to use standard working code to allow anyone to use it in their missions. The more you add to the code the more complex and less standard it will be... normally... I will try to use some magic tricks!

And about including a more realistic features including kinetic energy, projectile shape... I let you know that I guess I'm the right guy... I created

and in addition I have some knowledge of Chemistry and Physics... Stay tuned!

I'm currently "relaxing" my self working in other cool projects like Real Damage... Soon I will public some things... then I will come back to Real Damage project with new ideas,solutions and fresh batteries!

By the way I'm answering to every comment and e-mail I received. I will have all of them in consideration.

Thanks guys for your time and interest!

Murcielago.

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  

×