Jump to content
tpw

TPW MODS: enhanced realism and immersion for Arma 3 SP.

Recommended Posts

 

TPW MODS 20160224: https://dl.dropboxusercontent.com/u/481663/TPW_MODS_20160224.zip

 

Changes:

  • [bLEEDOUT 1.20] Units can be excluded from TPW BLEEDOUT by adding to their init: this setvariable ["tpw_bleedout_ignore",1].
  • [HUD 1.53] Fixed issue with optics identified units being counted multiple times.

 

TPW, you're a machine!! Thanks for the update. Would you mind if I shared the edits I made to tpw_bleedout.sqf on this thread for Heroes? 

  • Like 1

Share this post


Link to post
Share on other sites

TPW, you're a machine!! Thanks for the update. Would you mind if I shared the edits I made to tpw_bleedout.sqf on this thread for Heroes?

I'd actually be interested in a full TPW setup that's compatible with MP if that's allowed here. This is one of my favorite mods that I don't use. LOL! I have the Java setup thingy and everything. :)

Share this post


Link to post
Share on other sites

I'd actually be interested in a full TPW setup that's compatible with MP if that's allowed here. This is one of my favorite mods that I don't use. LOL! I have the Java setup thingy and everything. :)

I have no idea how to convert all of TPW mods to MP... struggled enough with just bleedout! 

  • Like 1

Share this post


Link to post
Share on other sites

I use TPW like this

 

In my mission folder i have

tpw (folder)

mission.sqm

init.sqf

 

In the TPW folder i have

tpw_air.sqf

tpw_boats.sqf

tpw_cars.sqf

tpw_civs.sqf

tpw_core.sqf

tpw_park.sqf

 

In the init.sqf

0 = [] execvm "tpw\tpw_core.sqf";

0 = [10,300,2,[50,250,500],0] execvm "tpw\tpw_air.sqf";

0 = [5,1000,15,2] execvm "tpw\tpw_boats.sqf";

0 = [5,1000,15,2,0] execvm "tpw\tpw_cars.sqf";

0 = [5,150,15,5,4,50,0,10,15,0] execvm "tpw\tpw_civs.sqf";

0 = [25,300,150,20,10] execvm "tpw\tpw_park.sqf";

 

When you lunch your mission (without addon, just scripts) the map make alive :)

 

Thanks alot!!! 

 

I am using this ambient radio chatter: 0 = [0.5,1,30] execvm "tpw\tpw_radio.sqf"; but i hear nothing inside vehicles. I have put it in my init file and put it in my mission map

Share this post


Link to post
Share on other sites

Thanks alot!!! What do the numbers between the comma stand for? So I know what numbers to increase or decrease if i want to tweak it :)

 

Open your @TPW_MODS folder > open the scripts folder > here you will find all the tpw SQF files > double click the relevant SQF file for your needs > you will find full descriptions for calling and modifying each SQF.

 

Hope this helps.  ;)

Share this post


Link to post
Share on other sites

Open your @TPW_MODS folder > open the scripts folder > here you will find all the tpw SQF files > double click the relevant SQF file for your needs > you will find full descriptions for calling and modifying each SQF.

 

Hope this helps.  ;)

 Yeah I did it, but it still being quiet:( So I am playing with imaginary thinking right now :p  can you think of anything I might've missed?

Share this post


Link to post
Share on other sites

 Yeah I did it, but it still being quiet:( So I am playing with imaginary thinking right now :P  can you think of anything I might've missed?

 

To use tpw_radio .sqf,    you need tpw_core .sqf.........and make sure your running CBA

 

With the exception of tpw_air, all tpw scripts require tpw_core as a prerequisite 

Share this post


Link to post
Share on other sites

TPW, you're a machine!! Thanks for the update. Would you mind if I shared the edits I made to tpw_bleedout.sqf on this thread for Heroes? 

Be my guest mate.

 

I'd actually be interested in a full TPW setup that's compatible with MP if that's allowed here. This is one of my favorite mods that I don't use. LOL! I have the Java setup thingy and everything. :)

I'd be interested too, but I'm not gonna be the one who does it.

 

I have no idea how to convert all of TPW mods to MP... struggled enough with just bleedout! 

Some of the mods have MP compatibility, please have a look at the 1st post.

 

Thanks alot!!! 

 

I am using this ambient radio chatter: 0 = [0.5,1,30] execvm "tpw\tpw_radio.sqf"; but i hear nothing inside vehicles. I have put it in my init file and put it in my mission map

You still need to have tpw_music.pbo active to run tpw_radio.sqf (specifically, for the music in houses). It probably bombs out if the pbo is not present.

 

Open your @TPW_MODS folder > open the scripts folder > here you will find all the tpw SQF files > double click the relevant SQF file for your needs > you will find full descriptions for calling and modifying each SQF.

 

Hope this helps.  ;)

Thanks mate.

  • Like 1

Share this post


Link to post
Share on other sites

How do i make sure the music pbo is active? Do i need to place in TPW folder in the mission map?

Share this post


Link to post
Share on other sites

Hi TPW

 

sorry if this post is a little off topic but it slightly relates to TPW and EBS.I already posted in trouble shooting as i get the same issue with vcom AI.

 

Since the last patch i cant run any AI mods without getting an out of memory crash of ARMA3.im trying to get to the bottom of it as my game is unplayable since recent update and iv no clue how to fix it.

 

Does EBS cause much CPU overhead? have you ever had an out of memory crash while testing it? With EBS on i run a firefight and crash within five minutes(by comparison with vcom i crash as soon as the first enemy contact gets made) Im hoping someone with your experience might have some idea whats up with my game while using AI mods,i only have yours running or vcom running seperatly.No other ai mods installed and its really unexplainable.

 

Any ideas?

Share this post


Link to post
Share on other sites

I am running the TPW scripts and MOD together and the TPW things who are activated by script, are shut down using 0 as a code in the init

 

Is there a possibility to increase the radio soundlevel?

Share this post


Link to post
Share on other sites

Hi TPW

 

sorry if this post is a little off topic but it slightly relates to TPW and EBS.I already posted in trouble shooting as i get the same issue with vcom AI.

 

Since the last patch i cant run any AI mods without getting an out of memory crash of ARMA3.im trying to get to the bottom of it as my game is unplayable since recent update and iv no clue how to fix it.

 

Does EBS cause much CPU overhead? have you ever had an out of memory crash while testing it? With EBS on i run a firefight and crash within five minutes(by comparison with vcom i crash as soon as the first enemy contact gets made) Im hoping someone with your experience might have some idea whats up with my game while using AI mods,i only have yours running or vcom running seperatly.No other ai mods installed and its really unexplainable.

 

Any ideas?

I haven't had the occasion to use EBS for ages, given that the engine now implements suppression natively. So I can't say if or why any aspect of it is causing the crash you describe, sorry. EBS causes negligible CPU overhead, it only invokes the bullet centric code when bullets are actually in the air. If using the shell version then it's even lighter.

 

I am running the TPW scripts and MOD together and the TPW things who are activated by script, are shut down using 0 as a code in the init

 

Is there a possibility to increase the radio soundlevel?

Only for half of the time sorry. If you're in the vehicle then the radio is played using playsound, which has no volume control parameters.

 

If outside the vehicle then the radio messages are played using playsound3d, which does. playsound3d [_sound,_veh,false,getposasl _veh,0.5,1,50]; (line 110)

You can increase the red value in the script and see if that helps you.

  • Like 1

Share this post


Link to post
Share on other sites

No problem! I really love your mod!! Thanks for all your help and effort in building this mod!

Share this post


Link to post
Share on other sites

That helped a lot btw! Can something be done about the fadeoff when you walk away from a vehicle? I mean that you hear those radio voices all the time?

Share this post


Link to post
Share on other sites

Okay, as promised (thank you TPW!) here's a version of the tpw_bleedout script but with everything that doesn't work on dedicated or doesn't work alongside things like AIS injury taken out, which is basically all the stance adjustments. I've tried to not change too much from the original version! Basically, what it now does is allow AI to heal themselves and allow bleeding (unit loses small amount of health every 10 seconds - configurable in options) and that's it. But it still adds a cool dynamic as you can track AI by their blood splatters and find their body in a bush. Hope it's useful!

 

UPDATE: Don't use the one from my first post as the AI can't stop bleeding even if they use bandages! Use this instead if running on dedi / MP. 

/*
TPW BLEEDOUT - Units will bleed out if not healed after injury
Author: tpw
Version: 1.19
Date: 20151103
Requires: CBA A3, tpw_core.sqf
Compatibility: SP, MP client


Disclaimer: Feel free to use and modify this code, on the proviso that you post back changes and improvements so that everyone can benefit from them, and acknowledge the original author (tpw) in any derivative works.  


To use: 
1 - Save this script into your mission directory as eg tpw_bleedout.sqf
2 - Call it with 0 = [3,0.1,0.12,0.15, 1, 1] execvm "tpw_bleedout.sqf"; where 5 = damage increment, 0.4 = crouch threshold, 0.6 = prone threshold, 0.8 incapacitation threshold, 1 = player heartbeat screeenshake, 1 = AI unit self heal


THIS SCRIPT WILL RUN ON DEDICATED SERVERS
*/


if (count _this  < 6) exitwith {hint "TPW BLEEDOUT incorrect/no config, exiting."};
WaitUntil {!isNull FindDisplay 46};


//VARIABLES
tpw_bleedout_version = "1.19"; // Version string
tpw_bleedout_inc = _this select 0 ; // Damage increment. The percentage a bleeding unit's damage will increase by each 10 sec. 1% will take 10+ minutes to bleed out
tpw_bleedout_cthresh = _this select 1; // Damage beyond which a unit will be forced into crouch
tpw_bleedout_pthresh = _this select 2; // Damage beyond which a unit will be forced into prone
tpw_bleedout_ithresh = _this select 3; // Damage beyond which a unit will writhe around incapacitated
tpw_bleedout_heartbeat = _this select 4; // Player heartbeat visible as slight screen shake
tpw_bleedout_selfheal = _this select 5; // AI units will automatically try to stop their own bleeding if equipped with First Aid Kits


// DFAULT VALUES IF MP
if (isMultiplayer) then 
{
tpw_bleedout_inc = 2;
tpw_bleedout_cthresh = 1;
tpw_bleedout_pthresh = 0.1;
tpw_bleedout_ithresh = 0.12;
};


tpw_bleedout_inc = tpw_bleedout_inc / 100; // convert percentage damage to 0-1 value
tpw_bleedout_active = true; // global enable/disable


// Stance arrays for each weapon
tpw_bleedout_standarray = ["AmovPercMstpSrasWnonDnon","AmovPercMstpSrasWpstDnon","AmovPercMstpSrasWrflDnon","AmovPercMstpSrasWlnrDnon"];
tpw_bleedout_croucharray = ["AmovPknlMstpSrasWnonDnon","AmovPknlMstpSrasWpstDnon","AmovPknlMstpSrasWrflDnon","AmovPknlMstpSrasWlnrDnon"];
tpw_bleedout_pronearray = ["AmovPpneMstpSrasWnonDnon","AmovPpneMstpSrasWpstDnon","AmovPpneMstpSrasWrflDnon","AmovPpneMstpSrasWlnrDnon"];


// Announce FAK usage
tpw_bleedout_fakarray = ["Hold up, applying FAK","Trying to stem bleeding with FAK","Using FAK","Gonna see if I can stem the bleeding","Applying FAK"];


// WRITHING
tpw_bleedout_fnc_writhe = 
{
private ["_unit"];
_unit = _this select 0;
_unit setunitpos "down";
sleep 2;
_unit playActionNow "agonyStart";
sleep 2;
_unit setvariable ["tpw_bleedout_writhe",1];
_unit setdir ((getdir _unit) + 145);
_unit disableai "anim";
}; 


// STOP WRITHING
tpw_bleedout_fnc_unwrithe = 
{
private ["_unit"];
_unit = _this select 0; 
_unit setvariable ["tpw_bleedout_writhe",0];
_unit setdir ((getdir _unit) - 145);
_unit enableai "anim";
_unit playActionNow "agonyStop";
[_unit] call tpw_core_fnc_weptype;
_unit playmove (tpw_bleedout_standarray select (_unit getvariable "tpw_core_weptype"));
_unit setunitpos "auto";
}; 


// HEALED
tpw_bleedout_fnc_healed =
{
private ["_unit"];
_unit = _this select 0;
_unit setBleedingRemaining 0; 
_unit setvariable ["tpw_bleedout_damage",damage _unit];
sleep (10 + random 10);
if (_unit getvariable ["tpw_bleedout_writhe",0] == 1) then 
{
[_unit] spawn tpw_bleedout_fnc_unwrithe;
} else
{
if (_unit != player) then
{
[_unit] call tpw_core_fnc_weptype;
_unit playmove (tpw_bleedout_standarray select (_unit getvariable "tpw_core_weptype"));
_unit setunitpos "auto";
};
};
};
// HEART BEAT
if (tpw_bleedout_heartbeat == 1) then
{
0 = [] spawn 
{
private ["_delay","_int","_hlt","_dm","_ft","_factor","_bpm"];
_bpm = 60;
while {alive player} do
{
if (time > player getvariable ["tpw_nextbeat",0]) then
{
_hlt = round (100 * (1 - damage player));
_ft = (getfatigue player); // fatigue 
_dm = (damage player) ^ 2; // damage squared 
_factor = (1 + (3 * _ft) * (1 + _dm)); // heartrate factor
if (_factor > 3) then
{
_factor = 3;
};
_bpm = floor (60 * _factor);
_delay = 60 / _bpm;
_int = ((_bpm - 60) / 180) ^ 1.75;
addcamshake [_int,0.2,20];
player setvariable ["tpw_nextbeat",(time + _delay)];
};
sleep 0.2;
}; 
};
}; 


// MAIN LOOP
sleep random 2;
while {true} do
{
// Any other players with TPW BLEEDOUT active?
if (ismultiplayer) then
{
{
if ((isplayer _x) && (_x != player) && (_x getvariable "tpw_bleedout" == 1)) exitwith 
{
tpw_bleedout_active = false; 
};
} foreach playableUnits;


if (tpw_bleedout_active) then
{
player setvariable ["tpw_bleedout",1,true];
} else
{
player setvariable ["tpw_bleedout",0,true];
};
};




if (tpw_bleedout_active) then
{
private ["_dam"];
{
// Add eventhandler for when unit is healed
if (_x getvariable ["tpw_bleedout_healeh",0] == 0) then
{
_x addeventhandler ["handleheal",{[_this select 0] spawn tpw_bleedout_fnc_healed}];
_x setvariable ["tpw_bleedout_healeh",1];
};


// If unit is bleeding:
if (alive _x && {isbleeding _x}) then 
{
// Increase unit damage and fatigue, keep them bleeding
_dam = (damage _x) + (tpw_bleedout_inc * damage _x);
if ((_x getvariable ["tpw_bleedout_nodeath",0] == 1) && (_dam > 0.99)) then
{
_dam = damage _x;
};
_x setdamage _dam;
_x setfatigue  _dam;
_x setvariable ["tpw_bleedout_damage", _dam];
_x setBleedingRemaining 60; 


// Injured behaviours for AI
if (_x != player && {_x getvariable ["tpw_fallstate",0] != 10} && {_x == vehicle _x}) then 
{
// Self heal if unit has medkit 
if (tpw_bleedout_selfheal == 1) then
{
if ("FirstAidKit" in items _x ||
"FirstAidKit" in vestitems _x ||
"FirstAidKit" in backpackitems _x ) then
{
_rnd = random 1;
_d = damage _x;
if (_x != player && {_rnd < _d} && {_x getvariable ["tpw_fallstate",0] != 10} && {_x == vehicle _x}) then 
{
_x groupchat (tpw_bleedout_fakarray select (floor (random (count tpw_bleedout_fakarray))));
_x removeitem "FirstAidKit"; // remove first aid kit
if (stance _x != "PRONE") then 
{
_x playmove "ainvpknlmstpslaywrfldnon_medic"
}
else
{
_x playmove "ainvppnemstpslaywrfldnon_medic";
};
// The worse the injury the less chance a given treatment will stop bleeding
_rnd = random 1;
_d = damage _x;
if ((_rnd * 1.5) > _d) then
{
[_x] spawn tpw_bleedout_fnc_healed; 
}; 
};
};
};
};
}; 
} foreach allUnits;
sleep 10;
};
};
  • Like 1

Share this post


Link to post
Share on other sites

@Incontionentia, thanks very much for posting this. I'll leave it up to others to decide if it's useful, as I don't play MP or Dedi.

 

@HeroesandvillainsOS: all AI will use an FAK on themselves if they have one. This will stabilise the bleeding, but not restore them to full health.

  • Like 1

Share this post


Link to post
Share on other sites

 

Okay, as promised (thank you TPW!) here's a version of the tpw_bleedout script but with everything that doesn't work on dedicated or doesn't work alongside things like AIS injury taken out, which is basically all the stance adjustments. I've tried to not change too much from the original version! Basically, what it now does is allow AI to heal themselves and allow bleeding (unit loses small amount of health every 10 seconds - configurable in options) and that's it. But it still adds a cool dynamic as you can track AI by their blood splatters and find their body in a bush. Hope it's useful!

 

UPDATE: Don't use the one from my first post as the AI can't stop bleeding even if they use bandages! Use this instead if running on dedi / MP. 


Any chance of integrating this into a pbo?

Share this post


Link to post
Share on other sites

TPW MODS 20160301: https://dl.dropboxusercontent.com/u/481663/TPW_MODS_20160301.zip

 

Changes: 

[HUD 1.54] User may specify 3rd party goggles and headgear for HUD to work with.

Please note: TPW_MODS.hpp will need to be changed to incorporate the lines:

tpw_hud_extragoggles[] = {}; // Classnames of additional goggles you want HUD to display on e.g. {"goggles1","goggles2"}
tpw_hud_extraheadgear[] = {}; // Classnames of additional headgear you want HUD to display on e.g. {"headgear1","headgear2"}


I get a few requests to add 3rd party goggles and helmets to the list TPW HUD will display on. This will allow you to add them yourself, without clogging up mod for those who don't need the extras. Everyone's a winner!

Share this post


Link to post
Share on other sites

Thanks for the update but I'm getting the following error when I run TPW Settings Executable JAR:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 36
at mods.factories.ModFactory.setValueToParameter(ModFactory.java:33)
at fileio.FileParser.readSection(FileParser.java:146)
at fileio.FileParser.readFile(FileParser.java:65)
at exec.Main.loadValuesFromConfig(Main.java:138)
at exec.Main.loadValues(Main.java:57)
at exec.Main.<init>(Main.java:25)
at exec.Main.main(Main.java:32)
Any idea why?

Share this post


Link to post
Share on other sites

Any chance of integrating this into a pbo?

I don't really know how to do a standalone version! Although you could use PBO Manager to replace the relevent file in the TPW Mods PBO, which should work just as well. Do you make your own missions?  

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

×