Jump to content
0Y0

Project injury reaction

Recommended Posts

On 1/28/2019 at 9:16 PM, 0Y0 said:

Grenade)

 

Holy sh*t, that is awesome. Definitely following this 😎

Share this post


Link to post
Share on other sites

I'd like to propose another addition as you progress.

If more than one AI are present and one is injured, a team-mate, preferably a medic but could be anyone, start tossing smokes to cover the injured.

 

I'm going to try this RIGHT now!

Share this post


Link to post
Share on other sites
36 minutes ago, pvt. partz said:

I'd like to propose another addition as you progress.

If more than one AI are present and one is injured, a team-mate, preferably a medic but could be anyone, start tossing smokes to cover the injured.

 

I'm going to try this RIGHT now! 

 

The smoke is already there) In 30% of cases, they throw smoke)

Share this post


Link to post
Share on other sites
Quote

The smoke is already there) In 30% of cases, they throw smoke)

....I was just testing it out in the Editor and was rushing back to edit my comment. Sorry 'bout that.

 

Man this a really is great mod!

  • Like 1

Share this post


Link to post
Share on other sites

Ok)))

Share this post


Link to post
Share on other sites

well, this is very cool 😄

 

One thing i was wondering; once a unit has gone down enemy units would continue to shoot at him in a rather merciless fashion (UN observers not happy 😠). This might be intended behaviour but it might also be cool to use setCaptive or something to stop firing on injured unarmed units...

 

anyways i'm enjoying testing this but starting to feel like a bit of a sadist zooming about in Zeus admiring all the prolonged agony 😉

 

  • Like 1

Share this post


Link to post
Share on other sites
8 hours ago, 0Y0 said:

 

Is this often repeated?

I could not create a similar situation. But I will try again)

I havnt noticed it since, could just be a rare bug or just a glitch on my end

Share this post


Link to post
Share on other sites
58 minutes ago, lordfrith said:

well, this is very cool 😄

 

One thing i was wondering; once a unit has gone down enemy units would continue to shoot at him in a rather merciless fashion (UN observers not happy 😠). This might be intended behaviour but it might also be cool to use setCaptive or something to stop firing on injured unarmed units...

 

anyways i'm enjoying testing this but starting to feel like a bit of a sadist zooming about in Zeus admiring all the prolonged agony 😉

 

 

Killing the wounded is more realistic than not killing)

Share this post


Link to post
Share on other sites
52 minutes ago, LykosMactire said:

I havnt noticed it since, could just be a rare bug or just a glitch on my end 

 

Ok) If you see again, write)

Share this post


Link to post
Share on other sites
1 hour ago, [VW]Wrath said:

You are my friggin' hero man! This looks stunning! Very well done to you! 

 

Thanks)

Share this post


Link to post
Share on other sites
2 minutes ago, CHICKENLICKEN said:

This replaces Injured AI?

Excellent mod

 

You need to run only one.

Share this post


Link to post
Share on other sites

I just played with it a little bit and it adds that much lacking feeling of pain to arma which I like. Here are some suggestions;

  • since AI doesn't care for taking prisoners maybe have AI play dead and then hold a grenade for a suicide attack,
  • have the AI run/ crawl in the direction of friendly units or back track instead of crawling into the enemy.

Thanks for this great mod and keep up the great work!

  • Like 2

Share this post


Link to post
Share on other sites
12 minutes ago, B_Fox said:

I just played with it a little bit and it adds that much lacking feeling of pain to arma which I like. Here are some suggestions;

  • since AI doesn't care for taking prisoners maybe have AI play dead and then hold a grenade for a suicide attack,
  • have the AI run/ crawl in the direction of friendly units or back track instead of crawling into the enemy.

Thanks for this great mod and keep up the great work! 

 

I tried it with grenades, but I did not like it)


Crawling in a friendly way ... he is stunned and does not understand where to crawl)))

And if you knock out weapons, the unit must run back from the direction of its movement. But in the city they sometimes choose very strange directions)) And I cannot solve this problem. Because AI in arma, very peculiar.

 

But with the dragging, I'll still work. I do not like that sometimes, they drag straight to enemies)

  • Like 1

Share this post


Link to post
Share on other sites

Made all the conditions for the player.

 

AI can help the player.

 

 

  • Like 3

Share this post


Link to post
Share on other sites

I have a question does this mod conflict with other AI mods like Vcom, ASR AI or Tactical Combat Link - TypeX mod or maybe non AI mods like RHS?

Share this post


Link to post
Share on other sites
1 minute ago, B_Fox said:

I have a question does this mod conflict with other AI mods like Vcom, ASR AI or Tactical Combat Link - TypeX mod or maybe non AI mods like RHS?

 

I use BCombat AI. Works with no problems.
With the RHS the same works.

 

I haven't tried other mods on AI.

  • Like 1

Share this post


Link to post
Share on other sites
Quote

since AI doesn't care for taking prisoners maybe have AI play dead and then hold a grenade for a suicide attack,

 

...VcomAI uses random suicide mine placements either on their body if they become near or fatally injured or in the area of combat if they remain alive (uninjured).

 

I don't mean for this post to steer away from the topic.

Share this post


Link to post
Share on other sites

So, a new version.

 

Download test version V2.

 

 

Fixed several bugs. And now effects work on the player.

If you are injured and you can crawl, you need to either wait or crawl a given distance.

 

If you drop a weapon, the principle is the same)

 

If you are unconscious, wait for help.

  • Like 1
  • Thanks 4

Share this post


Link to post
Share on other sites

Corrected the link above.

 

And slightly changed the effect of blinking. Now it is wider.

 

 

qWcexfja7Wk.jpg

  • Like 4

Share this post


Link to post
Share on other sites

With blood loss eyes open less. This is already in mod.

 

 

 

  • Like 2

Share this post


Link to post
Share on other sites
5 hours ago, 0Y0 said:

With blood loss eyes open less.

 

OYO this is really Cool !

 

Since you want to implement some realism , just for the suggestion , you could even give a half blind rsc black first for a litlle sec  and then add the blood in the screen.

This happend to me for real and took me like 45 sec to understand that i can open my eye , with a lot of blood loss from the eye and nose as well.

I almost got to loose my eye for the story from a beet rod , if the translation for this is correct .

 

This was the most extreme pain i had , nothing about braking bones or cuts.

 

You could add some bleeding blood particles on screen to make it more real .

Check abou this , it's an bleeding particle example from my :

 

Spoiler




//________________  Author : GEORGE FLOROS [GR] ___________ 06.08.18 _____________

/*
________________ GF Blood Stains and SFX LITE Script ________________

https://forums.bohemia.net/forums/topic/218538-gf-blood-stains-and-sfx-lite-script/

Please keep the Credits or add them to your Diary

https://community.bistudio.com/wiki/SQF_syntax
Don't try to open this with the simple notepad.
For everything that is with comment  //  in front  or between /* 
means that it is disabled , so there is no need to delete the extra lines. 

You can open this ex:
with notepad++
https://notepad-plus-plus.org/

and also use the extra pluggins
(this way will be better , it will give also some certain colours to be able to detect ex. problems )
http://www.armaholic.com/page.php?id=8680

or use any other program for editing .

For the Compilation List of my GF Scripts , you can search in:
https://forums.bohemia.net/forums/topic/215850-compilation-list-of-my-gf-scripts/

WARNING!!!
This AddOn increases seriously the gore factor in ArmA.
It is not recommended for use by children under the age of 15 years.
*/


diag_log "//________________ GF_Blood_Particle_Bleeding Script _____________";

systemchat "GF_Blood_Particle_Bleeding Script    I n i t i a l i z e d";

Detect_Bullet_Hit_Particle_Bleeding = {

	_target			= _this select 0;
	_Detect_Hit		= _this select 5;
	
    //	systemChat format ["%1", _Detect_Hit];
	
	//"spine3","head","body","hands","legs"
	
	_target setBleedingRemaining 0;   
	if ((damage _target > 0.20		//	the code will run in 80% Life (0.20) , 1 is dead
	) && (damage _target < 0.99 )	//	don't run the code if dead
	)then {
	
call {


	//________________	1.	head	________________
	
	if ("head" in _Detect_Hit) exitWith {
	
	//https://community.bistudio.com/wiki/ParticleArray 	\a3\Data_f\ParticleEffects\Universal\Universal
	GF_Blood_Particle_Bleeding = "#particlesource" createVehicleLocal Position CursorTarget;
	GF_Blood_Particle_Bleeding setParticleParams	[
	["\a3\Data_f\ParticleEffects\Universal\Universal", 16, 14, 0, 0],	
	"",
	"Billboard",
	1,																	
	0.4,																	
	[0,0,0],															
	[(0.4 - (random 0.6)),(0.4 - (random 0.6)),(0.4 + (random 0.6))],	
	1,0.32,0.2,0.05,												
	[0.03,0.25],														
	[[0.3,0.01,0.01,1],[0.2,0.01,0.01,0]],								
	[0.1],																
	1,																	
	0.5,															
	"",																	
	"",																	
	GF_Blood_Particle_Bleeding															
	];
	
	
	//https://community.bistudio.com/wiki/setParticleRandom
	GF_Blood_Particle_Bleeding setParticleRandom	[
	3,					
	[0, 0, 0],			
	[0.0, 0.0, 0.0],	
	0,					
	0.1,					
	[0, 0, 0, 1],		
	1,					
	1,					
	10					
	];

	
	GF_Blood_Particle_Bleeding setDropInterval 0.02;		
	GF_Blood_Particle_Bleeding attachTo [_target,[0,0,0.1],"head"];	
	_target setVariable ["GF_Blood_Particle_Bleeding_Source", GF_Blood_Particle_Bleeding];		
	_target execVM "GF_Blood_Stains_LITE\GF_Particles\GF_Set_time_to_delete_Particle.sqf";		
	};

	
	//________________	2.	spine1 and spine3	________________
	//________________	otherwise spine1 doesn't attach	________________
	
	if (("spine1" in _Detect_Hit) or ("spine3" in _Detect_Hit)) exitWith {
		
	GF_Blood_Particle_Bleeding = "#particlesource" createVehicleLocal Position CursorTarget;
	GF_Blood_Particle_Bleeding setParticleParams	[
	["\a3\Data_f\ParticleEffects\Universal\Universal", 16, 14, 0, 0],	
	"",
	"Billboard",
	1,																	
	0.4,																	
	[0,0,0],															
	[(0.4 - (random 0.4)),(0.4 - (random 0.4)),(0.4 + (random 0.4))],	
	1,0.32,0.2,0.05,												
	[0.03,0.25],														
	[[0.3,0.01,0.01,1],[0.2,0.01,0.01,0]],								
	[0.1],																
	1,																	
	0.5,															
	"",																	
	"",																	
	GF_Blood_Particle_Bleeding															
	];
	
	
	//https://community.bistudio.com/wiki/setParticleRandom
	GF_Blood_Particle_Bleeding setParticleRandom	[
	3,					
	[0, 0, 0],			
	[0.0, 0.0, 0.0],	
	0,					
	0.1,					
	[0, 0, 0, 1],		
	1,					
	1,					
	10					
	];

	
	GF_Blood_Particle_Bleeding setDropInterval 0.02;		
	GF_Blood_Particle_Bleeding attachTo [_target,[0,0,0.1],"spine3"];	
	_target setVariable ["GF_Blood_Particle_Bleeding_Source", GF_Blood_Particle_Bleeding];		
	_target execVM "GF_Blood_Stains_LITE\GF_Particles\GF_Set_time_to_delete_Particle.sqf";		
	
	};

	
	//________________	3.	rightarm and rightforearm == rightforearm	________________
	//________________	otherwise it doesn't attach to arms	________________
	
	if (("rightarm" in _Detect_Hit) or ("rightforearm" in _Detect_Hit)) exitWith {
		
	GF_Blood_Particle_Bleeding = "#particlesource" createVehicleLocal Position CursorTarget;
	GF_Blood_Particle_Bleeding setParticleParams	[
	["\a3\Data_f\ParticleEffects\Universal\Universal", 16, 14, 0, 0],	
	"",
	"Billboard",
	1,																	
	0.4,																	
	[0,0,0],															
	[(0.2 - (random 0.4)),(0.2 - (random 0.4)),(0.2 + (random 0.4))],	
	1,0.32,0.2,0.05,												
	[0.03,0.25],														
	[[0.3,0.01,0.01,1],[0.2,0.01,0.01,0]],								
	[0.1],																
	1,																	
	0.5,															
	"",																	
	"",																	
	GF_Blood_Particle_Bleeding															
	];
	
	
	//https://community.bistudio.com/wiki/setParticleRandom
	GF_Blood_Particle_Bleeding setParticleRandom	[
	3,					
	[0, 0, 0],			
	[0.0, 0.0, 0.0],	
	0,					
	0.1,					
	[0, 0, 0, 1],		
	1,					
	1,					
	10					
	];

	
	GF_Blood_Particle_Bleeding setDropInterval 0.02;		
	GF_Blood_Particle_Bleeding attachTo [_target,[0,0,0.1],"rightforearm"];	
	_target setVariable ["GF_Blood_Particle_Bleeding_Source", GF_Blood_Particle_Bleeding];		
	_target execVM "GF_Blood_Stains_LITE\GF_Particles\GF_Set_time_to_delete_Particle.sqf";
	
	};

	
	//________________	4.	leftarm and leftforearm == leftforearm	________________
	//________________	otherwise it doesn't attach to arms	________________
	
	if (("leftarm" in _Detect_Hit) or ("leftforearm" in _Detect_Hit)) exitWith {
		
	GF_Blood_Particle_Bleeding = "#particlesource" createVehicleLocal Position CursorTarget;
	GF_Blood_Particle_Bleeding setParticleParams	[
	["\a3\Data_f\ParticleEffects\Universal\Universal", 16, 14, 0, 0],	
	"",
	"Billboard",
	1,																	
	0.4,																	
	[0,0,0],															
	[(0.2 - (random 0.4)),(0.2 - (random 0.4)),(0.2 + (random 0.4))],	
	1,0.32,0.2,0.05,												
	[0.03,0.25],														
	[[0.3,0.01,0.01,1],[0.2,0.01,0.01,0]],								
	[0.1],																
	1,																	
	0.5,															
	"",																	
	"",																	
	GF_Blood_Particle_Bleeding															
	];
	
	
	//https://community.bistudio.com/wiki/setParticleRandom
	GF_Blood_Particle_Bleeding setParticleRandom	[
	3,					
	[0, 0, 0],			
	[0.0, 0.0, 0.0],	
	0,					
	0.1,					
	[0, 0, 0, 1],		
	1,					
	1,					
	10					
	];

	
	GF_Blood_Particle_Bleeding setDropInterval 0.02;		
	GF_Blood_Particle_Bleeding attachTo [_target,[0,0,0.1],"leftforearm"];	
	_target setVariable ["GF_Blood_Particle_Bleeding_Source", GF_Blood_Particle_Bleeding];		
	_target execVM "GF_Blood_Stains_LITE\GF_Particles\GF_Set_time_to_delete_Particle.sqf";
	
	};
	
	
	//________________	5.	leftupleg 	________________
		
	if ("leftupleg" in _Detect_Hit) exitWith {
		
	GF_Blood_Particle_Bleeding = "#particlesource" createVehicleLocal Position CursorTarget;
	GF_Blood_Particle_Bleeding setParticleParams	[
	["\a3\Data_f\ParticleEffects\Universal\Universal", 16, 14, 0, 0],	
	"",
	"Billboard",
	1,																	
	0.4,																	
	[0,0,0],															
	[(0.2 - (random 0.4)),(0.2 - (random 0.4)),(0.2 + (random 0.4))],	
	1,0.32,0.2,0.05,												
	[0.03,0.25],														
	[[0.3,0.01,0.01,1],[0.2,0.01,0.01,0]],								
	[0.1],																
	1,																	
	0.5,															
	"",																	
	"",																	
	GF_Blood_Particle_Bleeding															
	];
	
	
	//https://community.bistudio.com/wiki/setParticleRandom
	GF_Blood_Particle_Bleeding setParticleRandom	[
	3,					
	[0, 0, 0],			
	[0.0, 0.0, 0.0],	
	0,					
	0.1,					
	[0, 0, 0, 1],		
	1,					
	1,					
	10					
	];

	
	GF_Blood_Particle_Bleeding setDropInterval 0.02;		
	GF_Blood_Particle_Bleeding attachTo [_target,[0,0,0.1],"leftupleg"];	
	_target setVariable ["GF_Blood_Particle_Bleeding_Source", GF_Blood_Particle_Bleeding];		
	_target execVM "GF_Blood_Stains_LITE\GF_Particles\GF_Set_time_to_delete_Particle.sqf";
	
	};	
	

	//________________	6.	leftleg	________________
	
	if ("leftleg" in _Detect_Hit) exitWith {
		
	GF_Blood_Particle_Bleeding = "#particlesource" createVehicleLocal Position CursorTarget;
	GF_Blood_Particle_Bleeding setParticleParams	[
	["\a3\Data_f\ParticleEffects\Universal\Universal", 16, 14, 0, 0],	
	"",
	"Billboard",
	1,																	
	0.4,																	
	[0,0,0],															
	[(0.2 - (random 0.4)),(0.2 - (random 0.4)),(0.2 + (random 0.4))],	
	1,0.32,0.2,0.05,												
	[0.03,0.25],														
	[[0.3,0.01,0.01,1],[0.2,0.01,0.01,0]],								
	[0.1],																
	1,																	
	0.5,															
	"",																	
	"",																	
	GF_Blood_Particle_Bleeding															
	];
	
	
	//https://community.bistudio.com/wiki/setParticleRandom
	GF_Blood_Particle_Bleeding setParticleRandom	[
	3,					
	[0, 0, 0],			
	[0.0, 0.0, 0.0],	
	0,					
	0.1,					
	[0, 0, 0, 1],		
	1,					
	1,					
	10					
	];

	
	GF_Blood_Particle_Bleeding setDropInterval 0.02;		
	GF_Blood_Particle_Bleeding attachTo [_target,[0,0,0.1],"leftleg"];	
	_target setVariable ["GF_Blood_Particle_Bleeding_Source", GF_Blood_Particle_Bleeding];		
	_target execVM "GF_Blood_Stains_LITE\GF_Particles\GF_Set_time_to_delete_Particle.sqf";
	
	};	
	
	//________________	7.	rightupleg 	________________
		
	if ("rightupleg" in _Detect_Hit) exitWith {
		
	GF_Blood_Particle_Bleeding = "#particlesource" createVehicleLocal Position CursorTarget;
	GF_Blood_Particle_Bleeding setParticleParams	[
	["\a3\Data_f\ParticleEffects\Universal\Universal", 16, 14, 0, 0],	
	"",
	"Billboard",
	1,																	
	0.4,																	
	[0,0,0],															
	[(0.2 - (random 0.4)),(0.2 - (random 0.4)),(0.2 + (random 0.4))],	
	1,0.32,0.2,0.05,												
	[0.03,0.25],														
	[[0.3,0.01,0.01,1],[0.2,0.01,0.01,0]],								
	[0.1],																
	1,																	
	0.5,															
	"",																	
	"",																	
	GF_Blood_Particle_Bleeding															
	];
	
	
	//https://community.bistudio.com/wiki/setParticleRandom
	GF_Blood_Particle_Bleeding setParticleRandom	[
	3,					
	[0, 0, 0],			
	[0.0, 0.0, 0.0],	
	0,					
	0.1,					
	[0, 0, 0, 1],		
	1,					
	1,					
	10					
	];

	
	GF_Blood_Particle_Bleeding setDropInterval 0.02;		
	GF_Blood_Particle_Bleeding attachTo [_target,[0,0,0.1],"rightupleg"];	
	_target setVariable ["GF_Blood_Particle_Bleeding_Source", GF_Blood_Particle_Bleeding];		
	_target execVM "GF_Blood_Stains_LITE\GF_Particles\GF_Set_time_to_delete_Particle.sqf";
	
	};	
	

	//________________	8.	rightleg	________________
	
	if ("rightleg" in _Detect_Hit) exitWith {
		
	GF_Blood_Particle_Bleeding = "#particlesource" createVehicleLocal Position CursorTarget;
	GF_Blood_Particle_Bleeding setParticleParams	[
	["\a3\Data_f\ParticleEffects\Universal\Universal", 16, 14, 0, 0],	
	"",
	"Billboard",
	1,																	
	0.4,																	
	[0,0,0],															
	[(0.2 - (random 0.4)),(0.2 - (random 0.4)),(0.2 + (random 0.4))],	
	1,0.32,0.2,0.05,												
	[0.03,0.25],														
	[[0.3,0.01,0.01,1],[0.2,0.01,0.01,0]],								
	[0.1],																
	1,																	
	0.5,															
	"",																	
	"",																	
	GF_Blood_Particle_Bleeding															
	];
	
	
	//https://community.bistudio.com/wiki/setParticleRandom
	GF_Blood_Particle_Bleeding setParticleRandom	[
	3,					
	[0, 0, 0],			
	[0.0, 0.0, 0.0],	
	0,					
	0.1,					
	[0, 0, 0, 1],		
	1,					
	1,					
	10					
	];

	
	GF_Blood_Particle_Bleeding setDropInterval 0.02;		
	GF_Blood_Particle_Bleeding attachTo [_target,[0,0,0.1],"rightleg"];	
	_target setVariable ["GF_Blood_Particle_Bleeding_Source", GF_Blood_Particle_Bleeding];		
	_target execVM "GF_Blood_Stains_LITE\GF_Particles\GF_Set_time_to_delete_Particle.sqf";
	
	};		
	
	
		//________________	9.	leftfoot 	________________
		
	if ("leftfoot" in _Detect_Hit) exitWith {
		
	GF_Blood_Particle_Bleeding = "#particlesource" createVehicleLocal Position CursorTarget;
	GF_Blood_Particle_Bleeding setParticleParams	[
	["\a3\Data_f\ParticleEffects\Universal\Universal", 16, 14, 0, 0],	
	"",
	"Billboard",
	1,																	
	0.4,																	
	[0,0,0],															
	[(0.2 - (random 0.4)),(0.2 - (random 0.4)),(0.2 + (random 0.4))],	
	1,0.32,0.2,0.05,												
	[0.03,0.25],														
	[[0.3,0.01,0.01,1],[0.2,0.01,0.01,0]],								
	[0.1],																
	1,																	
	0.5,															
	"",																	
	"",																	
	GF_Blood_Particle_Bleeding															
	];
	
	
	//https://community.bistudio.com/wiki/setParticleRandom
	GF_Blood_Particle_Bleeding setParticleRandom	[
	3,					
	[0, 0, 0],			
	[0.0, 0.0, 0.0],	
	0,					
	0.1,					
	[0, 0, 0, 1],		
	1,					
	1,					
	10					
	];

	
	GF_Blood_Particle_Bleeding setDropInterval 0.02;		
	GF_Blood_Particle_Bleeding attachTo [_target,[0,0,0.1],"leftfoot"];	
	_target setVariable ["GF_Blood_Particle_Bleeding_Source", GF_Blood_Particle_Bleeding];		
	_target execVM "GF_Blood_Stains_LITE\GF_Particles\GF_Set_time_to_delete_Particle.sqf";
	
	};	
	

	//________________	8.	rightfoot	________________
	
	if ("rightfoot" in _Detect_Hit) exitWith {
		
	GF_Blood_Particle_Bleeding = "#particlesource" createVehicleLocal Position CursorTarget;
	GF_Blood_Particle_Bleeding setParticleParams	[
	["\a3\Data_f\ParticleEffects\Universal\Universal", 16, 14, 0, 0],	
	"",
	"Billboard",
	1,																	
	0.4,																	
	[0,0,0],															
	[(0.2 - (random 0.4)),(0.2 - (random 0.4)),(0.2 + (random 0.4))],	
	1,0.32,0.2,0.05,												
	[0.03,0.25],														
	[[0.3,0.01,0.01,1],[0.2,0.01,0.01,0]],								
	[0.1],																
	1,																	
	0.5,															
	"",																	
	"",																	
	GF_Blood_Particle_Bleeding															
	];
	
	
	//https://community.bistudio.com/wiki/setParticleRandom
	GF_Blood_Particle_Bleeding setParticleRandom	[
	3,					
	[0, 0, 0],			
	[0.0, 0.0, 0.0],	
	0,					
	0.1,					
	[0, 0, 0, 1],		
	1,					
	1,					
	10					
	];

	
	GF_Blood_Particle_Bleeding setDropInterval 0.02;		
	GF_Blood_Particle_Bleeding attachTo [_target,[0,0,0.1],"rightfoot"];	
	_target setVariable ["GF_Blood_Particle_Bleeding_Source", GF_Blood_Particle_Bleeding];		
	_target execVM "GF_Blood_Stains_LITE\GF_Particles\GF_Set_time_to_delete_Particle.sqf";
	
	};	
	
	
};	
};
};


GF_Set_Blood_Particle_Bleeding = { 
_this addEventHandler ["hitpart", {(_this select 0) call Detect_Bullet_Hit_Particle_Bleeding}];
};


[] spawn {
	while {true} do {
    _time = diag_tickTime + 1;
    _i = 0;
    waitUntil {
	sleep 2;
        _i = _i + 1;		
        diag_tickTime >= _time
    };	
    //	hint format ["Code executed %1 times per second", _i];
	
	{	
		if (((alive _x)) && (!(_x getVariable ["EΗ_GF_Set_Blood_Particle_Bleeding",false]))) then {
			_x call GF_Set_Blood_Particle_Bleeding};						
			_x setVariable ["EΗ_GF_Set_Blood_Particle_Bleeding",true];	

			{waitUntil {!alive _x};
			_x setVariable ["EΗ_GF_Set_Blood_Particle_Bleeding",false];				
		};
	}forEach allUnits;	

	};
};

 

 

Share this post


Link to post
Share on other sites
9 minutes ago, GEORGE FLOROS GR said:

 

OYO this is really Cool !

 

Since you want to implement some realism , just for the suggestion , you could even give a half blind rsc black first for a litlle sec  and then add the blood in the screen.

This happend to me for real and took me like 45 sec to understand that i can open my eye , with a lot of blood loss from the eye and nose as well.

I almost got to loose my eye for the story from a beet rod , if the translation for this is correct .

 

This was the most extreme pain i had , nothing about braking bones or cuts.

 

You could add some bleeding blood particles on screen to make it more real .

Check abou this , it's an bleeding particle example from my : 

 

  Reveal hidden contents





//________________  Author : GEORGE FLOROS [GR] ___________ 06.08.18 _____________

/*
________________ GF Blood Stains and SFX LITE Script ________________

https://forums.bohemia.net/forums/topic/218538-gf-blood-stains-and-sfx-lite-script/

Please keep the Credits or add them to your Diary

https://community.bistudio.com/wiki/SQF_syntax
Don't try to open this with the simple notepad.
For everything that is with comment  //  in front  or between /* 
means that it is disabled , so there is no need to delete the extra lines. 

You can open this ex:
with notepad++
https://notepad-plus-plus.org/

and also use the extra pluggins
(this way will be better , it will give also some certain colours to be able to detect ex. problems )
http://www.armaholic.com/page.php?id=8680

or use any other program for editing .

For the Compilation List of my GF Scripts , you can search in:
https://forums.bohemia.net/forums/topic/215850-compilation-list-of-my-gf-scripts/

WARNING!!!
This AddOn increases seriously the gore factor in ArmA.
It is not recommended for use by children under the age of 15 years.
*/


diag_log "//________________ GF_Blood_Particle_Bleeding Script _____________";

systemchat "GF_Blood_Particle_Bleeding Script    I n i t i a l i z e d";

Detect_Bullet_Hit_Particle_Bleeding = {

	_target			= _this select 0;
	_Detect_Hit		= _this select 5;
	
    //	systemChat format ["%1", _Detect_Hit];
	
	//"spine3","head","body","hands","legs"
	
	_target setBleedingRemaining 0;   
	if ((damage _target > 0.20		//	the code will run in 80% Life (0.20) , 1 is dead
	) && (damage _target < 0.99 )	//	don't run the code if dead
	)then {
	
call {


	//________________	1.	head	________________
	
	if ("head" in _Detect_Hit) exitWith {
	
	//https://community.bistudio.com/wiki/ParticleArray 	\a3\Data_f\ParticleEffects\Universal\Universal
	GF_Blood_Particle_Bleeding = "#particlesource" createVehicleLocal Position CursorTarget;
	GF_Blood_Particle_Bleeding setParticleParams	[
	["\a3\Data_f\ParticleEffects\Universal\Universal", 16, 14, 0, 0],	
	"",
	"Billboard",
	1,																	
	0.4,																	
	[0,0,0],															
	[(0.4 - (random 0.6)),(0.4 - (random 0.6)),(0.4 + (random 0.6))],	
	1,0.32,0.2,0.05,												
	[0.03,0.25],														
	[[0.3,0.01,0.01,1],[0.2,0.01,0.01,0]],								
	[0.1],																
	1,																	
	0.5,															
	"",																	
	"",																	
	GF_Blood_Particle_Bleeding															
	];
	
	
	//https://community.bistudio.com/wiki/setParticleRandom
	GF_Blood_Particle_Bleeding setParticleRandom	[
	3,					
	[0, 0, 0],			
	[0.0, 0.0, 0.0],	
	0,					
	0.1,					
	[0, 0, 0, 1],		
	1,					
	1,					
	10					
	];

	
	GF_Blood_Particle_Bleeding setDropInterval 0.02;		
	GF_Blood_Particle_Bleeding attachTo [_target,[0,0,0.1],"head"];	
	_target setVariable ["GF_Blood_Particle_Bleeding_Source", GF_Blood_Particle_Bleeding];		
	_target execVM "GF_Blood_Stains_LITE\GF_Particles\GF_Set_time_to_delete_Particle.sqf";		
	};

	
	//________________	2.	spine1 and spine3	________________
	//________________	otherwise spine1 doesn't attach	________________
	
	if (("spine1" in _Detect_Hit) or ("spine3" in _Detect_Hit)) exitWith {
		
	GF_Blood_Particle_Bleeding = "#particlesource" createVehicleLocal Position CursorTarget;
	GF_Blood_Particle_Bleeding setParticleParams	[
	["\a3\Data_f\ParticleEffects\Universal\Universal", 16, 14, 0, 0],	
	"",
	"Billboard",
	1,																	
	0.4,																	
	[0,0,0],															
	[(0.4 - (random 0.4)),(0.4 - (random 0.4)),(0.4 + (random 0.4))],	
	1,0.32,0.2,0.05,												
	[0.03,0.25],														
	[[0.3,0.01,0.01,1],[0.2,0.01,0.01,0]],								
	[0.1],																
	1,																	
	0.5,															
	"",																	
	"",																	
	GF_Blood_Particle_Bleeding															
	];
	
	
	//https://community.bistudio.com/wiki/setParticleRandom
	GF_Blood_Particle_Bleeding setParticleRandom	[
	3,					
	[0, 0, 0],			
	[0.0, 0.0, 0.0],	
	0,					
	0.1,					
	[0, 0, 0, 1],		
	1,					
	1,					
	10					
	];

	
	GF_Blood_Particle_Bleeding setDropInterval 0.02;		
	GF_Blood_Particle_Bleeding attachTo [_target,[0,0,0.1],"spine3"];	
	_target setVariable ["GF_Blood_Particle_Bleeding_Source", GF_Blood_Particle_Bleeding];		
	_target execVM "GF_Blood_Stains_LITE\GF_Particles\GF_Set_time_to_delete_Particle.sqf";		
	
	};

	
	//________________	3.	rightarm and rightforearm == rightforearm	________________
	//________________	otherwise it doesn't attach to arms	________________
	
	if (("rightarm" in _Detect_Hit) or ("rightforearm" in _Detect_Hit)) exitWith {
		
	GF_Blood_Particle_Bleeding = "#particlesource" createVehicleLocal Position CursorTarget;
	GF_Blood_Particle_Bleeding setParticleParams	[
	["\a3\Data_f\ParticleEffects\Universal\Universal", 16, 14, 0, 0],	
	"",
	"Billboard",
	1,																	
	0.4,																	
	[0,0,0],															
	[(0.2 - (random 0.4)),(0.2 - (random 0.4)),(0.2 + (random 0.4))],	
	1,0.32,0.2,0.05,												
	[0.03,0.25],														
	[[0.3,0.01,0.01,1],[0.2,0.01,0.01,0]],								
	[0.1],																
	1,																	
	0.5,															
	"",																	
	"",																	
	GF_Blood_Particle_Bleeding															
	];
	
	
	//https://community.bistudio.com/wiki/setParticleRandom
	GF_Blood_Particle_Bleeding setParticleRandom	[
	3,					
	[0, 0, 0],			
	[0.0, 0.0, 0.0],	
	0,					
	0.1,					
	[0, 0, 0, 1],		
	1,					
	1,					
	10					
	];

	
	GF_Blood_Particle_Bleeding setDropInterval 0.02;		
	GF_Blood_Particle_Bleeding attachTo [_target,[0,0,0.1],"rightforearm"];	
	_target setVariable ["GF_Blood_Particle_Bleeding_Source", GF_Blood_Particle_Bleeding];		
	_target execVM "GF_Blood_Stains_LITE\GF_Particles\GF_Set_time_to_delete_Particle.sqf";
	
	};

	
	//________________	4.	leftarm and leftforearm == leftforearm	________________
	//________________	otherwise it doesn't attach to arms	________________
	
	if (("leftarm" in _Detect_Hit) or ("leftforearm" in _Detect_Hit)) exitWith {
		
	GF_Blood_Particle_Bleeding = "#particlesource" createVehicleLocal Position CursorTarget;
	GF_Blood_Particle_Bleeding setParticleParams	[
	["\a3\Data_f\ParticleEffects\Universal\Universal", 16, 14, 0, 0],	
	"",
	"Billboard",
	1,																	
	0.4,																	
	[0,0,0],															
	[(0.2 - (random 0.4)),(0.2 - (random 0.4)),(0.2 + (random 0.4))],	
	1,0.32,0.2,0.05,												
	[0.03,0.25],														
	[[0.3,0.01,0.01,1],[0.2,0.01,0.01,0]],								
	[0.1],																
	1,																	
	0.5,															
	"",																	
	"",																	
	GF_Blood_Particle_Bleeding															
	];
	
	
	//https://community.bistudio.com/wiki/setParticleRandom
	GF_Blood_Particle_Bleeding setParticleRandom	[
	3,					
	[0, 0, 0],			
	[0.0, 0.0, 0.0],	
	0,					
	0.1,					
	[0, 0, 0, 1],		
	1,					
	1,					
	10					
	];

	
	GF_Blood_Particle_Bleeding setDropInterval 0.02;		
	GF_Blood_Particle_Bleeding attachTo [_target,[0,0,0.1],"leftforearm"];	
	_target setVariable ["GF_Blood_Particle_Bleeding_Source", GF_Blood_Particle_Bleeding];		
	_target execVM "GF_Blood_Stains_LITE\GF_Particles\GF_Set_time_to_delete_Particle.sqf";
	
	};
	
	
	//________________	5.	leftupleg 	________________
		
	if ("leftupleg" in _Detect_Hit) exitWith {
		
	GF_Blood_Particle_Bleeding = "#particlesource" createVehicleLocal Position CursorTarget;
	GF_Blood_Particle_Bleeding setParticleParams	[
	["\a3\Data_f\ParticleEffects\Universal\Universal", 16, 14, 0, 0],	
	"",
	"Billboard",
	1,																	
	0.4,																	
	[0,0,0],															
	[(0.2 - (random 0.4)),(0.2 - (random 0.4)),(0.2 + (random 0.4))],	
	1,0.32,0.2,0.05,												
	[0.03,0.25],														
	[[0.3,0.01,0.01,1],[0.2,0.01,0.01,0]],								
	[0.1],																
	1,																	
	0.5,															
	"",																	
	"",																	
	GF_Blood_Particle_Bleeding															
	];
	
	
	//https://community.bistudio.com/wiki/setParticleRandom
	GF_Blood_Particle_Bleeding setParticleRandom	[
	3,					
	[0, 0, 0],			
	[0.0, 0.0, 0.0],	
	0,					
	0.1,					
	[0, 0, 0, 1],		
	1,					
	1,					
	10					
	];

	
	GF_Blood_Particle_Bleeding setDropInterval 0.02;		
	GF_Blood_Particle_Bleeding attachTo [_target,[0,0,0.1],"leftupleg"];	
	_target setVariable ["GF_Blood_Particle_Bleeding_Source", GF_Blood_Particle_Bleeding];		
	_target execVM "GF_Blood_Stains_LITE\GF_Particles\GF_Set_time_to_delete_Particle.sqf";
	
	};	
	

	//________________	6.	leftleg	________________
	
	if ("leftleg" in _Detect_Hit) exitWith {
		
	GF_Blood_Particle_Bleeding = "#particlesource" createVehicleLocal Position CursorTarget;
	GF_Blood_Particle_Bleeding setParticleParams	[
	["\a3\Data_f\ParticleEffects\Universal\Universal", 16, 14, 0, 0],	
	"",
	"Billboard",
	1,																	
	0.4,																	
	[0,0,0],															
	[(0.2 - (random 0.4)),(0.2 - (random 0.4)),(0.2 + (random 0.4))],	
	1,0.32,0.2,0.05,												
	[0.03,0.25],														
	[[0.3,0.01,0.01,1],[0.2,0.01,0.01,0]],								
	[0.1],																
	1,																	
	0.5,															
	"",																	
	"",																	
	GF_Blood_Particle_Bleeding															
	];
	
	
	//https://community.bistudio.com/wiki/setParticleRandom
	GF_Blood_Particle_Bleeding setParticleRandom	[
	3,					
	[0, 0, 0],			
	[0.0, 0.0, 0.0],	
	0,					
	0.1,					
	[0, 0, 0, 1],		
	1,					
	1,					
	10					
	];

	
	GF_Blood_Particle_Bleeding setDropInterval 0.02;		
	GF_Blood_Particle_Bleeding attachTo [_target,[0,0,0.1],"leftleg"];	
	_target setVariable ["GF_Blood_Particle_Bleeding_Source", GF_Blood_Particle_Bleeding];		
	_target execVM "GF_Blood_Stains_LITE\GF_Particles\GF_Set_time_to_delete_Particle.sqf";
	
	};	
	
	//________________	7.	rightupleg 	________________
		
	if ("rightupleg" in _Detect_Hit) exitWith {
		
	GF_Blood_Particle_Bleeding = "#particlesource" createVehicleLocal Position CursorTarget;
	GF_Blood_Particle_Bleeding setParticleParams	[
	["\a3\Data_f\ParticleEffects\Universal\Universal", 16, 14, 0, 0],	
	"",
	"Billboard",
	1,																	
	0.4,																	
	[0,0,0],															
	[(0.2 - (random 0.4)),(0.2 - (random 0.4)),(0.2 + (random 0.4))],	
	1,0.32,0.2,0.05,												
	[0.03,0.25],														
	[[0.3,0.01,0.01,1],[0.2,0.01,0.01,0]],								
	[0.1],																
	1,																	
	0.5,															
	"",																	
	"",																	
	GF_Blood_Particle_Bleeding															
	];
	
	
	//https://community.bistudio.com/wiki/setParticleRandom
	GF_Blood_Particle_Bleeding setParticleRandom	[
	3,					
	[0, 0, 0],			
	[0.0, 0.0, 0.0],	
	0,					
	0.1,					
	[0, 0, 0, 1],		
	1,					
	1,					
	10					
	];

	
	GF_Blood_Particle_Bleeding setDropInterval 0.02;		
	GF_Blood_Particle_Bleeding attachTo [_target,[0,0,0.1],"rightupleg"];	
	_target setVariable ["GF_Blood_Particle_Bleeding_Source", GF_Blood_Particle_Bleeding];		
	_target execVM "GF_Blood_Stains_LITE\GF_Particles\GF_Set_time_to_delete_Particle.sqf";
	
	};	
	

	//________________	8.	rightleg	________________
	
	if ("rightleg" in _Detect_Hit) exitWith {
		
	GF_Blood_Particle_Bleeding = "#particlesource" createVehicleLocal Position CursorTarget;
	GF_Blood_Particle_Bleeding setParticleParams	[
	["\a3\Data_f\ParticleEffects\Universal\Universal", 16, 14, 0, 0],	
	"",
	"Billboard",
	1,																	
	0.4,																	
	[0,0,0],															
	[(0.2 - (random 0.4)),(0.2 - (random 0.4)),(0.2 + (random 0.4))],	
	1,0.32,0.2,0.05,												
	[0.03,0.25],														
	[[0.3,0.01,0.01,1],[0.2,0.01,0.01,0]],								
	[0.1],																
	1,																	
	0.5,															
	"",																	
	"",																	
	GF_Blood_Particle_Bleeding															
	];
	
	
	//https://community.bistudio.com/wiki/setParticleRandom
	GF_Blood_Particle_Bleeding setParticleRandom	[
	3,					
	[0, 0, 0],			
	[0.0, 0.0, 0.0],	
	0,					
	0.1,					
	[0, 0, 0, 1],		
	1,					
	1,					
	10					
	];

	
	GF_Blood_Particle_Bleeding setDropInterval 0.02;		
	GF_Blood_Particle_Bleeding attachTo [_target,[0,0,0.1],"rightleg"];	
	_target setVariable ["GF_Blood_Particle_Bleeding_Source", GF_Blood_Particle_Bleeding];		
	_target execVM "GF_Blood_Stains_LITE\GF_Particles\GF_Set_time_to_delete_Particle.sqf";
	
	};		
	
	
		//________________	9.	leftfoot 	________________
		
	if ("leftfoot" in _Detect_Hit) exitWith {
		
	GF_Blood_Particle_Bleeding = "#particlesource" createVehicleLocal Position CursorTarget;
	GF_Blood_Particle_Bleeding setParticleParams	[
	["\a3\Data_f\ParticleEffects\Universal\Universal", 16, 14, 0, 0],	
	"",
	"Billboard",
	1,																	
	0.4,																	
	[0,0,0],															
	[(0.2 - (random 0.4)),(0.2 - (random 0.4)),(0.2 + (random 0.4))],	
	1,0.32,0.2,0.05,												
	[0.03,0.25],														
	[[0.3,0.01,0.01,1],[0.2,0.01,0.01,0]],								
	[0.1],																
	1,																	
	0.5,															
	"",																	
	"",																	
	GF_Blood_Particle_Bleeding															
	];
	
	
	//https://community.bistudio.com/wiki/setParticleRandom
	GF_Blood_Particle_Bleeding setParticleRandom	[
	3,					
	[0, 0, 0],			
	[0.0, 0.0, 0.0],	
	0,					
	0.1,					
	[0, 0, 0, 1],		
	1,					
	1,					
	10					
	];

	
	GF_Blood_Particle_Bleeding setDropInterval 0.02;		
	GF_Blood_Particle_Bleeding attachTo [_target,[0,0,0.1],"leftfoot"];	
	_target setVariable ["GF_Blood_Particle_Bleeding_Source", GF_Blood_Particle_Bleeding];		
	_target execVM "GF_Blood_Stains_LITE\GF_Particles\GF_Set_time_to_delete_Particle.sqf";
	
	};	
	

	//________________	8.	rightfoot	________________
	
	if ("rightfoot" in _Detect_Hit) exitWith {
		
	GF_Blood_Particle_Bleeding = "#particlesource" createVehicleLocal Position CursorTarget;
	GF_Blood_Particle_Bleeding setParticleParams	[
	["\a3\Data_f\ParticleEffects\Universal\Universal", 16, 14, 0, 0],	
	"",
	"Billboard",
	1,																	
	0.4,																	
	[0,0,0],															
	[(0.2 - (random 0.4)),(0.2 - (random 0.4)),(0.2 + (random 0.4))],	
	1,0.32,0.2,0.05,												
	[0.03,0.25],														
	[[0.3,0.01,0.01,1],[0.2,0.01,0.01,0]],								
	[0.1],																
	1,																	
	0.5,															
	"",																	
	"",																	
	GF_Blood_Particle_Bleeding															
	];
	
	
	//https://community.bistudio.com/wiki/setParticleRandom
	GF_Blood_Particle_Bleeding setParticleRandom	[
	3,					
	[0, 0, 0],			
	[0.0, 0.0, 0.0],	
	0,					
	0.1,					
	[0, 0, 0, 1],		
	1,					
	1,					
	10					
	];

	
	GF_Blood_Particle_Bleeding setDropInterval 0.02;		
	GF_Blood_Particle_Bleeding attachTo [_target,[0,0,0.1],"rightfoot"];	
	_target setVariable ["GF_Blood_Particle_Bleeding_Source", GF_Blood_Particle_Bleeding];		
	_target execVM "GF_Blood_Stains_LITE\GF_Particles\GF_Set_time_to_delete_Particle.sqf";
	
	};	
	
	
};	
};
};


GF_Set_Blood_Particle_Bleeding = { 
_this addEventHandler ["hitpart", {(_this select 0) call Detect_Bullet_Hit_Particle_Bleeding}];
};


[] spawn {
	while {true} do {
    _time = diag_tickTime + 1;
    _i = 0;
    waitUntil {
	sleep 2;
        _i = _i + 1;		
        diag_tickTime >= _time
    };	
    //	hint format ["Code executed %1 times per second", _i];
	
	{	
		if (((alive _x)) && (!(_x getVariable ["EΗ_GF_Set_Blood_Particle_Bleeding",false]))) then {
			_x call GF_Set_Blood_Particle_Bleeding};						
			_x setVariable ["EΗ_GF_Set_Blood_Particle_Bleeding",true];	

			{waitUntil {!alive _x};
			_x setVariable ["EΗ_GF_Set_Blood_Particle_Bleeding",false];				
		};
	}forEach allUnits;	

	};
};

 

 

 

Yes, I know that in reality you see either a white or a black screen)) You also have ringing in your ears and you are completely disoriented)

 

Now I am adding features so that the player can assist the AI.
When I'm done, I will work with the effects again.

I don’t understand about blood) Can I make blood flow across the screen? Or that blood stains remain on the ground?

  • Like 2

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

×