Jump to content

Recommended Posts

On 9/15/2018 at 11:55 PM, Bomber147 said:

Hello psychobastard,

 

I do not know how familiar you are with "KP liberation - Atlas" this is essentially a Capture the Island mission. I am trying to implement this mod into the CTI mod but there are some difficulties. When I get shot I get 'incapacitated' and then it states 'Injured'. So when I press H to get my medic to come and revive me they go through the animation but for some reason I am still incapacitated. Do you have any idea why that is? maybe I did not turn off vanilla revive (I dont really know how to do that) even though in the CTI mission parameters I instructed the game to turn it off. Thank you for your time.

Put a medic in the editor and see if it works with the placed medic.. If so then its initialize problem with the medics built at the fob after mission starts. I use this on all my ports and works great. If it works with the medic you place in editor but not on the built units then look at docs included with Psycho's download. Specifically [_unit] call AIS_System_fnc_loadAIS maybe

Share this post


Link to post
Share on other sites

So I've set up AIS_DAMAGE_TOLLERANCE_FACTOR to 0.09 so I can take lots more damage and indeed bullets do a lot less damage but I was still put into incapacitated state after taking 2 shots.

 

So I added a health hud and it turns out went down (into incapacitated bleeding state) with 82% health remaining which seems quite weird/not right! (Perhaps I was head shoted? But wouldn't that reduce my health to 10% or something?)

 

Is there any simple modification I can make to the script so that it requires my health to be 30% or less for a bullet to get me into the incapacitated state?

 

 

Share this post


Link to post
Share on other sites

I found a bug while using only the Ravage mod:

 

If I enable persistence save game, perhaps also happens with a regular saved game, if I go into the incapacitated state and leave the game and soon re join the server then I am at the same location and in full health and no longer incapacitated but now I cannot move at all other than my camera, the character is stuck in prone position and not able to move or fire or reload or nothing.

 

BUT... If there is a vehicle close I can use the GET IN option and then my character is un-stuck again and I just leave the vehicle in move freely again. Yet if I empty my weapon magazine and don't reload before the clip is completely empty then my character becomes stuck again in exactly the same way I was after reloading the game.

 

The only fix is to delete all the saved games and start with a new character.

 

Perhaps a check that checks if the unit has more than XX amount of health then the "Incapacitated" state is removed.

Share this post


Link to post
Share on other sites

Hi @Psychobastard Is this a bug or considered normal?

 

When i use a means to take control of a group as leader(in this case zues and FOK AI recruitment script) If the original group leader gets revived after being in a revivable state,i then loose control of the group to him(though im still shown as in the group) but not showing on group tab.

 

i always have to re take control of the group,any way around this?

Share this post


Link to post
Share on other sites

Cool script but lots of issues with it. 

 

1) If you set AIS_DAMAGE_TOLLERANCE_FACTOR to 0.5 you will be almost immortal as it does not check the damage part by part. But even if you take almost no damage you can still go into incapacitated mode as the calculations for that are separate. 

The result is that you can go into incapacitated state with 80% of more health because the script does not check your current health but just the damage done by the projectile to the specific part and then you have the TOLERANCE FACTOR that does not work well with the Incapacitation System at all.


I believe that the Incapacitate system must check if a Health Threshold has been reached before it can apply its incapacitated state. For example: if (damage player > 0.75)

 

Applying those small fixes this will be the best Wounding System in Arma 3 for sure. 

Share this post


Link to post
Share on other sites

@LSValmont

Thx for feedback and good (and difficult) point. The hole system checks "what damage will be made by impact x/y" and after this check the damage is given by the system. This is for true a lack between true damage and the incapacitated state. But it is the only good working solution if you want to deal with the complex damage handling. There are tons of possibilites to become an absurde damage input to the player and he will "die" before other calculations are done. (for example caused by wrong frame handling)

 

I know about the problems with the tolerance factor, particular when values far away from 1 are used. It is a simple "nice to have" feature for more self adjustment possibilities for mission designers. But as i said before i dont recoment to use values far away from 1 and only use it if you know what you're doing there. (im sure, you know it ;) )

 

 

sry for bad english but im a little bit drunken. :)

regards

  • Like 2

Share this post


Link to post
Share on other sites

Hi,

Forgive me for not reading through this entire topic but I was wondering if there was a fix to stop the in-game VON radio from being disabled by the person doing the reviving?

It is a pain especially if you are the SL not being able to use the radio when healing someone, all previous versions were fine.

Share this post


Link to post
Share on other sites

Hi, is there anyway you can release this version with the Revive and Stabilize features with the overlay as a Rsc and not as a Dialogue?

 

This current version is fantastic as it allows for medevac stations, and allows players to stabilize the wounded, however whilst reviving/stabilizing, the injured the medic cant use any controls as it is in a dialogue.

 

As a group we don't use any other communication apart from VON. Can you kindly check this out please?

Share this post


Link to post
Share on other sites
On 11.9.2018 at 9:42 AM, Psychobastard said:

Hey,

 

no further scripting is needed. Wanted behaviour is:

- You will get a score point for shooting other soldiers (to dead or unconscious state)

- You will get a score point for revive a soldier

 

Looks like a localization issue. You can try the following step to get points for the revive action working:

Open file AIS/System/fn_Revive.sqf and change line 66 from


[_healer, 1] remoteExec ["addScore", 2];

to


[player, 1] remoteExec ["addScore", 2];

 

 

Recently I tried the above and had no success.  Problem might be I tried to combine it with your older tip for adding a global variable which could be used in tasks.  But even if I do the above change alone, I don't see a change in the score. 

 

Also it would mean a mission building dream came true if I could combine both, so if you could have a look at this here code from my AIS/System/fn_Revive.sqf and give some advice I would be super-happy:

 

Spoiler

/*
 * Author: Psycho
 
 * Handle Revive actions from a PLAYER
 
 * Arguments:
    0: Healer Unit (Object)
    1: Injured Unit (Object)
 
 * Return value:
    Nothing
*/

params [
    ["_healer", player, [player]],
    "_injured"
];

_injured setVariable ["ais_hasHelper", _healer, true];

//_injured playMove "AinjPpneMstpSnonWrflDnon_rolltoback";    // from AIS fsm
[_injured, "AinjPpneMstpSnonWrflDnon_rolltoback"] remoteExec ["playMove", 0];

// switch to primary weapon if possible. Small delay for handling is needed.
if (primaryWeapon _healer != "") then {
    _healer switchmove "amovpercmstpsraswrfldnon";
    _healer selectWeapon (primaryWeapon _healer);
};

_healer playAction "medicStart";

// full heal anim only with primary weapon possible.
ais_animChangeEVH = _healer addEventhandler ["AnimChanged", {
    params ["_healer","_anim"];
    if (primaryWeapon _healer isEqualTo "") then {
        if (_anim in ["amovpknlmstpsnonwnondnon","amovpknlmstpsraswlnrdnon"]) then {
            _healer playActionNow "medicStart";
        };
    };
}];

_offset = [0,0,0]; _dir = 0;
_relpos = _healer worldToModel position _injured;
if (((_healer getDir _injured) - (_injured getDir _healer)) < 0) then {_offset = [-0.2,0.7,0]; _dir = 90} else {_offset = [0.2,0.7,0]; _dir = 270};

_injured attachTo [_healer, _offset];
[_injured, _dir] remoteExec ["setDir", 0, false];

[_healer, _injured] call AIS_Effects_fnc_medEquip;
private _duration = [_healer, _injured] call AIS_System_fnc_calculateReviveTime;
//hint format ["Revive Time Duration: %1", _duration];    // debug

[
    "Applying First Aid",
    _duration,
    {
        params ["_injured", "_healer","_player","_revives"];

        _injured setVariable ["ais_unconscious", false, true];
        
        _healer removeEventHandler ["AnimChanged", ais_animChangeEVH];
        detach _healer;
        detach _injured;

        _healer playAction "medicStop";
        [player, 100] remoteExec ["addScore", 2];     // +1 per revive
        
        _revives = player getVariable ["myPrivateReviveCounter", 0];
         player setVariable ["myPrivateReviveCounter", _revives + 1, false];

        _injured setVariable ["ais_hasHelper", ObjNull, true];
        call AIS_Effects_fnc_garbage;
        
        // healing if enabled
        if (AIS_REVIVE_HEAL) then {
            _injured setDamage 0;
            _injured setVariable ["ais_fireDamage", 0];
        } else {
            // make sure the unit can walk after revive
            if ((_injured getHitIndex 10) > 0.49) then {
                [{(_this select 0) setHitIndex [10, 0.49]}, [_injured]] call AIS_Core_fnc_onNextFrame;
            };
        };
        
        [_injured] remoteExecCall ["AIS_System_fnc_restoreFaks", _injured, false];
        
        _injured stop false;
        {_injured enableAI _x; nil} count ["MOVE","TARGET","AUTOTARGET","ANIM","AUTOCOMBAT"];
        [_injured, false] remoteExecCall ["AIS_System_fnc_unconcsiousRemote", 0, false];
        [_injured, false] remoteExec ["setCaptive", 0, false];
        
        ["GetOutMan"] remoteExec ["removeAllEventHandlers", _injured, false];
    },
    [_injured, _healer],
    {
        params ["_injured", "_healer"];
        
        _injured setVariable ["ais_hasHelper", ObjNull, true];
        
        _healer removeEventHandler ["AnimChanged", ais_animChangeEVH];
        detach _healer;
        detach _injured;
        
        call AIS_Effects_fnc_garbage;
        
        if (alive _healer) then {
            _healer playActionNow "medicStop";
        };
        if (!alive _injured) then {["He is not with us anymore."] call AIS_Core_fnc_dynamicText};
    },
    (!alive _injured || _healer getVariable ["ais_unconscious",false])
] call AIS_Core_fnc_Progress_ShowBar;

 

 

Share this post


Link to post
Share on other sites

Hi, I really like your wounding system, any chance of an Exile mod compatibility?

Edit;

Or if anyone has and want to share working Exile mod version.

Share this post


Link to post
Share on other sites

Anyone get this to work on Exile? I have followed the steps to implement it however no drag or stabilize or revive functions appear on downed Ai or players, and when players are downed they don't roll around in an injured state they simply flop.

 

EDIT: NVM eventually got it working but decided to swap over to ACE3 instead

  • Like 1

Share this post


Link to post
Share on other sites

Having an issue... when I tested this in the editor, the AI healed each other totally, but I could only stabilize. 

 

When I tested this as a MP mission:

1. the ai has not used this at all

2. I still can only stabilize

 

I already went into the file and set the medical education score to 0 and replaced the revive vehicle with nothing so as to inactivate this part. What else do I have to do to make this work in co-op?

 

Share this post


Link to post
Share on other sites

Decided to test this script after trying out a few other similar AI revive scripts (which didn't work exactly as I wanted them to and/or were kinda buggy), and I have to say that this one gets my vote. Great script! Easy to set up and configure, and seems to work perfectly. Arma being what it is I guess there still might be specific situations where you might encounter some bugs while using this script ( Arma without bugs wouldn't be arma, right?). But overall, the script seems nicely polished and it does work really well.

I was getting really tired of having most if not all of my AI teammates die at the smallest firefight, leaving me all by myself deep behind enemy lines, and having to go back to base recruit another AI "cannon fodder squad" or whatever. This script is quite a game changer for singleplayer and small player-team coop, I only wish I had found about it and tried it waaaaaayyyy sooner.

 

Great work OP, thanks for making game way more enjoyable!!

 

 

 

@robphx387

I guess that you probably made the same mistake as me when configuring AIS and disabling the Medevac Station option in the AIS_SETUP.sqf , line 11,  this is default one:

Quote

AIS_MEDEVAC_STATIONS        =    [[Medevac_Blackfish, 10]];// Add one or more objects and a radius to activate the medevac feature. If enabled revive is only at this place(s) possible. Empty array means feature is disabled.

be sure to remove the "[Medevac_Blackfish, 10]" and not just "Medevac_Blackfish, 10", otherwise if you leave the two brackets the script will still look for a Medevac Station object that doesn't exist, and thus you will only be able to "stabilize" the wounded and not revive them aswell.

 

this is how it should be if you want to disable the MEDEVAC STATION (and be able to revive anywhere):

Quote

AIS_MEDEVAC_STATIONS        =    [];// Add one or more objects and a radius to activate the medevac feature. If enabled revive is only at this place(s) possible. Empty array means feature is disabled.

 

 

Share this post


Link to post
Share on other sites

99% sure that is it. I'll look into it next weekend and repost if it wasn't the problem. thanks a lot.

Share this post


Link to post
Share on other sites

@Psychobastard all is great accept one thing. The dragged/carried body falls through textures when they are released in a two-floors buildings and on the Air-carrier deck. Don't know - does it was reported already...

 

UP: Oh, forgotten one more annoying thing: the wounded body is rotating while the player looked around in an incapacitated state.

UP2: One more forgotten thing: sometimes the "Carry" function doesn't start to play before a "W" key will be pressed.

 

I suspect that could happened of the reason I've included your script into a mission with it own revive system. I've disabled it, but something could still stay active. (If it is interesting to you - this is an EvorA mission https://forums.bohemia.net/forums/topic/217102-mpcti-coop-evora/)

 

Share this post


Link to post
Share on other sites

Something broke I think since latest update - player doesn't seem to be able to get injured player back up. After using 'Stabilize' and trying to 'Treat', it says "You need to revive first".

Share this post


Link to post
Share on other sites

Still works for us fine. Are you running any mods that perhaps interfere with it. Unless of course your testing RC which we arent.

Share this post


Link to post
Share on other sites

I've been running into a few issues as well since the past few days. Some of the configurable parameters in "AIS_SETUP.sqf" don't seem to be taken into account anymore. The core of the script itself seems to still work fine as I can still get AI to revive one another or revive them myself. The "AIS_MEDICAL_EDUCATION" parameter doesn't work for AI, if I set it up to "only medics can revive", any units can still revive unconscious ones even if they are not medic (though it says "this affects both, AI and players!"), but the parameter will still work on players (haven't tested it with other players just myself). Another one that doesn't seem to work is "AIS_SHOW_UNC_3D_MARKERS", setting it to false or true doesn't seem to change anything as the markers will show up anyway. The other parameters seems to work fine as far as I can tell.

 

  • Thanks 1

Share this post


Link to post
Share on other sites

Best practice would be to list the mods you play with, @barrcy. I'm a long time user of this IMHO best revive script EVER and I play it with a number of weapon and equipment mods, mostly CUP+RHS+Warfarethai+TRYK and then some modded maps, add RAVAGE on top, sprinkle with the full Laxemann sound suite...  

 

I'd say it's really difficult to find out which mod(s) exactly cause the problem.  try enabling them one by one until your AIS stops working.

Share this post


Link to post
Share on other sites

There's no doubt it's a great revive script and it's always worked beautifully, but I think an Arma update has caused one or more issues.

Share this post


Link to post
Share on other sites
1 hour ago, lightspeed_aust said:

There's no doubt it's a great revive script and it's always worked beautifully, but I think an Arma update has caused one or more issues.

 

My community use this with Unsung and we have no issues with any recent Arma updates.

  • 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

×