Jump to content

Recommended Posts

Hey no reason for being sorry. Script is still not working... correct me if im wrong but does the mission even start ais if theres no line in the init?

edit: do i still need the #include in the description.ext?

Yeah, you still need that entry so that the death cam dialog shows up properly. Also, for loading you still need this line in your init.sqf somewhere:

call compile preprocessFile "ais_injury\init_ais.sqf";

Share this post


Link to post
Share on other sites
Yeah, you still need that entry so that the death cam dialog shows up properly. Also, for loading you still need this line in your init.sqf somewhere:

call compile preprocessFile "ais_injury\init_ais.sqf";

works like a charm.. thanks for your help and the script modifications!

Share this post


Link to post
Share on other sites
Yeah, you still need that entry so that the death cam dialog shows up properly. Also, for loading you still need this line in your init.sqf somewhere:

call compile preprocessFile "ais_injury\init_ais.sqf";

Heya!

I've been experimenting with your latest push version and for some reason I can't get it to work with the AI that I spawn into my group *during the mission*. Or at least it doesn't seem to be working...

I have an AI recruitment script that basically does this:

_soldier = (group player) createUnit ["B_mas_usr_Soldier_AMM_F",(getmarkerpos "ammospawn"),[],0,"NONE"];
_soldier spawn AIS_Load; //_soldier call compile preprocessFile (TCB_AIS_PATH+"init_ais.sqf");

You can see I've tried to get the script to apply to the soldier, the way I once had working with Pyscho's version, but the AI never try to heal me and once they hit the ground they are dead... I experimented with it for hours last night and I have yet to get to drag, carry, or heal a fallen AI. Any ideas? I really wanted to try your version to see how the aforementioned "get AI from same side but not same group to heal" function was coming along but I can't get even get it to work on AI in my own group.

It would also appear as if I need to do something special so the script works on the player after a respawn as well?

Thanks in advance!

Edited by Oktyabr

Share this post


Link to post
Share on other sites
Heya!

I've been experimenting with your latest push version and for some reason I can't get it to work with the AI that I spawn into my group *during the mission*. Or at least it doesn't seem to be working...

I have an AI recruitment script that basically does this:

_soldier = (group player) createUnit ["B_mas_usr_Soldier_AMM_F",(getmarkerpos "ammospawn"),[],0,"NONE"];
_soldier spawn AIS_Load; //_soldier call compile preprocessFile (TCB_AIS_PATH+"init_ais.sqf");

You can see I've tried to get the script to apply to the soldier, the way I once had working with Pyscho's version, but the AI never try to heal me and once they hit the ground they are dead... I experimented with it for hours last night and I have yet to get to drag, carry, or heal a fallen AI. Any ideas? I really wanted to try your version to see how the aforementioned "get AI from same side but not same group to heal" function was coming along but I can't get even get it to work on AI in my own group.

It would also appear as if I need to do something special so the script works on the player after a respawn as well?

Thanks in advance!

To get it to load on the spawned unit you need to change your load line to this (note the brackets around _soldier):

[_soldier] spawn AIS_Load;

As for it not reloading on respawn that is very odd. Are you running the server as dedicated or from within the client? Are you running your server with persistent turned on? If not dedicated or you don't have persistent turned on then that may be the cause. If you can, stick a log up on pastebin.

Share this post


Link to post
Share on other sites
To get it to load on the spawned unit you need to change your load line to this (note the brackets around _soldier):

[_soldier] spawn AIS_Load;

As for it not reloading on respawn that is very odd. Are you running the server as dedicated or from within the client? Are you running your server with persistent turned on? If not dedicated or you don't have persistent turned on then that may be the cause. If you can, stick a log up on pastebin.

Just starting the game, clicking play > multiplayer > new server... a "listen server"? No persistence that I'm aware of. Thanks for the bracket tip! I'll give that a try.

And I'm sure it's over my head at this stage of the game but if I have to do that for AI group members who I spawn in during the mission, how do AI that already in the game get the treatment? To be clear I'm very interested in the workings of getting AI of same side but different group to heal too :)

Edited by Oktyabr

Share this post


Link to post
Share on other sites

Is it possible to remove the text that comes up for all teammates when somone becomes unconscious with the map grid?

Share this post


Link to post
Share on other sites

I wonder if theres a way to change the time required to revive a person. I think its 15 by default, perhaps I missed it in the config somewhere. :O

Share this post


Link to post
Share on other sites

Look in ais_injury\ais_setup.sqf

tcb_ais_random_lifetime_factor 	= 	100;			//	a higher value means you got more time to heal the unit before bleeding out and die (50 == means round about 1 minute, 100 == means round about 3 minutes, 200 == approximately 8 minutes)

Share this post


Link to post
Share on other sites
Just starting the game, clicking play > multiplayer > new server... a "listen server"? No persistence that I'm aware of. Thanks for the bracket tip! I'll give that a try.

And I'm sure it's over my head at this stage of the game but if I have to do that for AI group members who I spawn in during the mission, how do AI that already in the game get the treatment? To be clear I'm very interested in the workings of getting AI of same side but different group to heal too :)

The best way is to run the server from arma3server.exe in your game directory (assuming you're on Windows). That will help eliminate some things as the possible cause. If that doesn't help then turn on "persistent = 1;" in server.cfg so that the mission persists along with global, persistent function calls (such as the wounding load function).

As for getting the AI to help each other, it's automatic. When an AI goes down it puts out a call to all units in its group and if none there can help it puts out a call to all on the same side within 500 meters. Also if an AI goes down while reviving another unit they will try to go back to that unit and continue first aid as soon as they're back up.

Also, you will want to grab the latest from my repository as I have fixed quite a few bugs recently and implemented a fun new feature ;)

---------- Post added at 23:49 ---------- Previous post was at 23:47 ----------

Is it possible to remove the text that comes up for all teammates when somone becomes unconscious with the map grid?

As of today there is now a new config option to turn the side chat messages on and off. Commit notes here.

---------- Post added at 23:52 ---------- Previous post was at 23:49 ----------

I wonder if theres a way to change the time required to revive a person. I think its 15 by default, perhaps I missed it in the config somewhere. :O

The revive time is based on the damage of the unit. I currently have it setup for 60 seconds that is scaled by the unit damage. Then on top of that I have a revive counter that ticks up every time the unit is revive and adds 5 seconds onto the revive time. Also I have it setup with a minimum of 10 seconds for the revive time. So if the unit had 0.5 damage (50%) and had been revived twice before the revive time would be 0.5*60 + 5*2 = 40 seconds.

Share this post


Link to post
Share on other sites
The best way is to run the server from arma3server.exe in your game directory (assuming you're on Windows). That will help eliminate some things as the possible cause. If that doesn't help then turn on "persistent = 1;" in server.cfg so that the mission persists along with global, persistent function calls (such as the wounding load function).

As for getting the AI to help each other, it's automatic. When an AI goes down it puts out a call to all units in its group and if none there can help it puts out a call to all on the same side within 500 meters. Also if an AI goes down while reviving another unit they will try to go back to that unit and continue first aid as soon as they're back up.

Also, you will want to grab the latest from my repository as I have fixed quite a few bugs recently and implemented a fun new feature ;)

---------- Post added at 23:49 ---------- Previous post was at 23:47 ----------

As of today there is now a new config option to turn the side chat messages on and off. Commit notes here.

---------- Post added at 23:52 ---------- Previous post was at 23:49 ----------

The revive time is based on the damage of the unit. I currently have it setup for 60 seconds that is scaled by the unit damage. Then on top of that I have a revive counter that ticks up every time the unit is revive and adds 5 seconds onto the revive time. Also I have it setup with a minimum of 10 seconds for the revive time. So if the unit had 0.5 damage (50%) and had been revived twice before the revive time would be 0.5*60 + 5*2 = 40 seconds.

Thanks, but are you also a developer of this mod or just helpful member? :P

Share this post


Link to post
Share on other sites

He publish only his interpretation of the scripts and a modified version and isnt a official developer. ;)

A update of the "original" is in progress. At the moment i wont release a new version cause i think their isnt enough in the changement-pipeline. (only 2 small bugfixes until now)

regards

Share this post


Link to post
Share on other sites
-Psycho-;2639870']He publish only his interpretation of the scripts and a modified version and isnt a official developer. ;)

A update of the "original" is in progress. At the moment i wont release a new version cause i think their isnt enough in the changement-pipeline. (only 2 small bugfixes until now)

regards

:yay:

could yo do a "mod" version?

S!

Edited by Queleab

Share this post


Link to post
Share on other sites
Thanks, but are you also a developer of this mod or just helpful member? :P

I am not presently an official developer of Psycho's script but I have created a fork/variant that I'm hoping people will also enjoy. I try to help answer questions here too because Psycho's wounding is a fantastic system and I want more people to be using something like this over BTC Revive.

---------- Post added at 12:56 ---------- Previous post was at 12:44 ----------

:yay:

could yo do a "mod" version?

S!

User JCae2798 created a mod version of the original and posted it here. Psycho put the download link on the original post of this thread if you want to verify it.

Share this post


Link to post
Share on other sites

thank you chessmaster42, I was not aware that.

Share this post


Link to post
Share on other sites

Hi psycho.

Just wanted to swing by and say thanks for the script.I prefer mods over script but the mod version seemed not as reliable as the script version(settings in config wouldnt apply). Script version works like a charm. Very good script,but is there any way i can set my AI downed squadmtes to take no damage while unconsious? I know it might go againts what the point of the script is but im seeing my squadmates die too often even with the settings changed for garauntee revive,and realistic mode disabled.

Danke

Share this post


Link to post
Share on other sites

Hi,

the mod version is not supported by me and i cant guaranty the functionality.

You say your mates die during they are unconcious? Yes, if they takes a hit (f.e. trough a grenade explosion nearby) they die. There is no option to disable this. Its simply to implement these options but i like the small and simple setup file without 50+ setting-points where you can make many errors. (like old norrin revive configs in the past, a1 f.e.)

Bitte :)

Share this post


Link to post
Share on other sites

Very nice system you got here indeed :)

Thank you!

Though, I for one perfer to nto have the healing bar status.

Apparently everyone can revive.

Question: Is there a variable or option that only medics or players that carry a medikit are able to revive?

Share this post


Link to post
Share on other sites

Question: Is there a variable or option that only medics or players that carry a medikit are able to revive?

Hi, that was asked sometimes before. i will add a option for this in next version.

regards

Share this post


Link to post
Share on other sites

Quick observation: Did you notice people lose 30 to 35 FPS just for running the script on MP?

Is there a way to optimize the script in order not to lose FPS?

Anyway, thank you for the great job and effort! Really appreciate.

Kind Regards

Share this post


Link to post
Share on other sites

This isnt true. You are the first one who "notice" that. Start a test under the right conditions. :p

Share this post


Link to post
Share on other sites
Quick observation: Did you notice people lose 30 to 35 FPS just for running the script on MP?

Is there a way to optimize the script in order not to lose FPS?

Anyway, thank you for the great job and effort! Really appreciate.

Kind Regards

This can happen if you load the system on all units instead of just players or specific units. How are you calling the function to load the system on units?

Share this post


Link to post
Share on other sites

Not sure if I understand the question as I'm not an code expert.

I'll try to answer with the comparison I used from both scripts (Chessmaster and psycho):

on init.sqf:

[color="#FF0000"]// **[b]when using Chessmaster scripts[/b]**

//by Chessmaster (BAD FPS <-> 21 fps in MP)
["%1 --- Executing Revive init.sqf",diag_ticktime] call BIS_fnc_logFormat;
enableSaving [false,false];
enableTeamswitch false;

// by Chessmaster
call compile preprocessFile "cws_injury\cws_init.sqf"; [/color]

--------------------------------------------------------------------------

[color="#FF8C00"]// **[b]when using psycho scripts[/b]**

// by psycho
["%1 --- Executing TcB AIS init.sqf",diag_ticktime] call BIS_fnc_logFormat;
enableSaving [false,false];
enableTeamswitch false;


//by psycho
//TcB AIS Wounding System 
if (!isDedicated) then {
TCB_AIS_PATH = "ais_injury\";
{[_x] call compile preprocessFile (TCB_AIS_PATH+"init_ais.sqf")} forEach (if (isMultiplayer) then {playableUnits} else {switchableUnits});		// execute for every playable unit

// {[_x] call compile preprocessFile (TCB_AIS_PATH+"init_ais.sqf")} forEach (units group player);													// only own group - you cant help strange group members
// {[_x] call compile preprocessFile (TCB_AIS_PATH+"init_ais.sqf")} forEach [p1,p2,p3,p4,p5];														// only some defined units
};
[/color]

on discription.ext:

class CfgFunctions
{
#include "cws_injury\cfgFunctionsCWS.hpp"  // ([color="#FF0000"][b]when using Chessmaster scripts[/b][/color])
#include "ais_injury\cfgFunctionsAIS.hpp"  // ([color="#FF8C00"][b]when using psycho scripts[/b][/color])
};


class RscTitles 
{
#include "cws_injury\dialogs\RscTitlesCWS.hpp"  // ([color="#FF0000"][b]when using Chessmaster scripts[/b][/color])
#include "ais_injury\dialogs\rscTitlesAIS.hpp"  // ([color="#FF8C00"][b]when using psycho scripts[/b][/color])
};

I get worse FPS when using Chessmaster's scripts.

edit:

-Psycho-;2651807']This isnt true. You are the first one who "notice" that. Start a test under the right conditions. :p

What are the right conditions test?

The tests I did was runing a program that shows the FPS, sent the mission to MP and checked the FPS for each revive script.

Edited by bravo 6

Share this post


Link to post
Share on other sites

Cause my system is based only on events. You can run it on a random number of units and nothing will be happen. (exclude the unlikely case that every damed soldier get hit in the same frame)

I didnt take a look in the code from chessmaster but i think he use many public vars and some commands and procedures that produce traffic over all network participants.

By the way, i will not start a discussion about performance there. I know what the system do and how it works. Thats the reason why i leave out the probability that the revive system drop a frame down. :o I use this system for coop-events with 50+ players without any performance effects.

regards

Share this post


Link to post
Share on other sites

Hey Psycho, thanks for the awesome script! I use it in every mission now.

I was just curious how I would go about making a single unit capable of reviving healing instead of everyone being able to revive heal.

// by EightSix
private ["_healer","_isMedic"];
_healer = _this;
_isMedic = if (getNumber (configFile >> "CfgVehicles" >> (typeOf _healer) >> "attendant") == 1) then {true} else {false};

_isMedic

I was looking at the isMedic function and I can't seem to understand how I would change it to make only one class capable of healing.

I'm sure you're busy, any advice would be appreciated.

Cheers on the best lightweight revive/medic script.

I read your earlier post about this not being a "revive" script, and I understand that, but there must be something I can change to single out a specific unit for healing other units.

Edited by SolidSnacks
I'm a big dumb dumb with big dumb dumb reading problems.

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

×