Jump to content
sancron

XMedSys - Improved Medical System for A3

Recommended Posts

Here are the class names:

"x39_epinephrine"
"x39_earplug"
"x39_tourniquet"
"x39_blood
"x39_defibrillator"
"x39_medikit2"
"x39_medikit3"
"x39_medikit5"
"x39_medikit4"

These are all items

Edited by Two Dogs

Share this post


Link to post
Share on other sites

Has anybody had issues with Others Interaction Menu key? I've made several test missions (unit count, limitations on/off, sp/mp, no additional addons/regular group modset) and no matter what I do (direct key detection through userconfig, through custom user keys in A3 controls, all the combinations possible) my Others Interaction Menu won't show up. Self Interaction is fine, works using every method mentioned. I had this issue since few version, I remember it worked fine before.

Btw, just in case I missed something does XMedSys have any known mod conflicts?

Share this post


Link to post
Share on other sites

Max you are loading @XLib and @XactionUi as well right?

Share this post


Link to post
Share on other sites

Yes, though they're not in their default folders but it has worked this way for others from my group (same modset for everyone, tested at the same time, same mission, everybody got their menus except me). Load order is AFAIK the same if it does matter in this case.

Share this post


Link to post
Share on other sites

Its a bit tedious, but as a process of elimination I would verify your A3 game cache with steam, then delete and reinstall @XMedSys, @XLib, and @XactionUi. Also, copy the X39 folder in your userconfig or move it somewhere, then try with a fresh one after the reinstall.

Share this post


Link to post
Share on other sites

A3 integrity check done, nothing popped up. I've already downloaded and tried fresh @XMedSys, @XLib & @XActionUi yesterday, same with userconfig, didn't work. My files serve as a base for group addon repository so everyone have the exact same ones, that makes it even weirder.

I've also redid my game profile from scratch after this issue appeared, redownloaded all of the other addons... Last thing I'm suspecting is SweetFX, though I'm not the only one using it.

Share this post


Link to post
Share on other sites

That is pretty weird... could it be your keyboard? I'm stumped otherwise.

Share this post


Link to post
Share on other sites

Well, it's only this function that has issues. For example Self Interaction Menu works if I bind it to the key on which the Others Intercaction Menu doesn't work.

Share this post


Link to post
Share on other sites

Yep, same problem here. Self interacting works fine, but I can't get the other action to work properly.

Maybe it has to do something with the nickname? I remember that problem from ACE 2...

Anyway here are my installed mods:

CBA, Blastcore and Blastcore Tracers, ASDG Jointrails, Civilian Jets Mod, Helm Mounted IR Strobe, Dynamic Movement, FSF Sac Ventral, HLC Core+AK+M60, KPFS Germans Weapon Pack, R3F French Weapons Pack, RAV Lifter, RH M4/M16 Pack, Satcom, Task force Radio, TPW mods, VTS Ballistic+Simple Weapon Resting, WW AI Cover, XActionUI, XLib and XMedSys

Max could you please write down your Mods too, might help to find the problem.

Share this post


Link to post
Share on other sites

As much as I would love to use this mod it is buggy... I noticed we can't seem to use the tourniquet or the mudpacks. not option showing up for it.

Share this post


Link to post
Share on other sites

My game is clean and nothing has changed since before A3 updated with Zeus.

Can't use "Check Other" interaction. When using "Self Check" returns "unresponsive/dead" but not the case, can use medkit although I saw no animation, but broken leg was repaired. Use Bandage, morphine, I see animation and health was replenished. I used a bloodbag and blood was replenished.

This all started with last A3 update.

I'm going to setup a good test on dedi server tonight. I will post results here.

Does anyone have a plain good test mission? Post DL link.

ps. My guys like this addon. It does what it set out to do. Bring an ACE like med sys to A3. Awesome work. Thanks from the 13th SFG.

Share this post


Link to post
Share on other sites

---------- Post added at 10:09 ---------- Previous post was at 10:06 ----------

Oops, looks like X39 adopted the TCCC thought process that doing CPR in the middle of an AO is frequently futile in it's efforts. But, who knows?

Well, that's not an answer.

Share this post


Link to post
Share on other sites



I put together a simple tutorial a while ago on how to use xMedSys because the video on the armaholic.com website was in German (I don't speak German). Hopefully this will clear things up and help expand the reaches of this MOD.

Edited by Ahles3

Share this post


Link to post
Share on other sites

How can I start with earplugs attached? I treid "this additem "x39_earplug"; this attachitem "x39_earplug"" but it is not working.

Thanks

Share this post


Link to post
Share on other sites

attachitem isn't a command. You would have to use to get it in your inventory:

this addWeapon "x39_earplug";

As for actually spawning with them in...I haven't tried that. But this code should be a good start (it needs some editing, being it is from a ArmA 2 MOD ACE).

[player] execFSM "x\ace\addons\sys_goggles\use_earplug.fsm";

I will take a look at this code and try to modify it when I get home later tonight.

Share this post


Link to post
Share on other sites
How can I start with earplugs attached? I treid "this additem "x39_earplug"; this attachitem "x39_earplug"" but it is not working.

Thanks

waitUntil {!isNil {player getVariable "X39_MedSys_var_hasEarplugs"}}; player setVariable ["X39_MedSys_var_hasEarplugs", true];

Share this post


Link to post
Share on other sites
I can't get the service provider working...

What do you mean by service provider?

Share this post


Link to post
Share on other sites

Hello,

I'm trying to write a script to help train medics and TCCC guys to use the XMedSys properly and do things like triage.

I'm trying to spawn a unit and set his damage through x39 med sys for Pri 1, 2, 3.

I've managed to initialize the unit but I can't get xmed to handle and damage on him (i.e. I setDamage and he gets bloody but upon inspection with xMed he appears fine) Any help would be awesome!

Share this post


Link to post
Share on other sites
Hello,

I'm trying to write a script to help train medics and TCCC guys to use the XMedSys properly and do things like triage.

I'm trying to spawn a unit and set his damage through x39 med sys for Pri 1, 2, 3.

I've managed to initialize the unit but I can't get xmed to handle and damage on him (i.e. I setDamage and he gets bloody but upon inspection with xMed he appears fine) Any help would be awesome!

you should not use any ArmA functions to change the behaviour of XMedSys! Any call changing the damage of a player could break the mod!

please check out http://x39software.unitedtacticalforces.de/wiki/index.php?title=XMedSys and use the X39_MedSys functions listed there to change players damage etc.

kindly regards

X39

Share this post


Link to post
Share on other sites
you should not use any ArmA functions to change the behaviour of XMedSys! Any call changing the damage of a player could break the mod!

please check out http://x39software.unitedtacticalforces.de/wiki/index.php?title=XMedSys and use the X39_MedSys functions listed there to change players damage etc.

kindly regards

X39

I have been using that site to find functions, however am lost in implementation. here's what I've tried:

[this,0.9] call X39_MedSys_fnc_setUnitDamage;

but it does nothing, perhaps I am using it wrong.

Share this post


Link to post
Share on other sites
I have been using that site to find functions, however am lost in implementation. here's what I've tried:

[this,0.9] call X39_MedSys_fnc_setUnitDamage;

but it does nothing, perhaps I am using it wrong.

usually the unit init is done before the module start working

so you need to change it after the unit got initialized (fe. using the debug console to change it manually or using spawn + waitUntil structure)

Share this post


Link to post
Share on other sites

awesome, using spawn instead of call worked, thanks x39!

---------- Post added at 01:34 AM ---------- Previous post was at 01:18 AM ----------

Ok so I've got the info showing up, but the guy just stands there (is an AI soldier) using

CAS = "CAF_RIFLEMAN_TW" createVehicle [(getpos _amb select 0) + 15, getpos _amb select 1, getpos _amb select 2];		
[CAS] call X39_MedSys_fnc_initializeUnit;

[CAS, 0.8] spawn  X39_MedSys_fnc_handleDamageGeneral;
[CAS,8] spawn X39_MedSys_fnc_setUnitDamage;
[CAS, 9] spawn X39_MedSys_fnc_setUnitPain;
[CAS, true, 60, false] spawn X39_MedSys_fnc_knockOutUnit;

thoughts?

Share this post


Link to post
Share on other sites
awesome, using spawn instead of call worked, thanks x39!

---------- Post added at 01:34 AM ---------- Previous post was at 01:18 AM ----------

Ok so I've got the info showing up, but the guy just stands there (is an AI soldier) using

CAS = "CAF_RIFLEMAN_TW" createVehicle [(getpos _amb select 0) + 15, getpos _amb select 1, getpos _amb select 2];        
[CAS] call X39_MedSys_fnc_initializeUnit;

[CAS, 0.8] spawn  X39_MedSys_fnc_handleDamageGeneral;
[CAS,8] spawn X39_MedSys_fnc_setUnitDamage;
[CAS, 9] spawn X39_MedSys_fnc_setUnitPain;
[CAS, true, 60, false] spawn X39_MedSys_fnc_knockOutUnit;

thoughts?

first of all

X39_MedSys_fnc_initializeUnit is not blocking! meaning that you need to wait before the damage calls:

_unit = <REPLACEWITHWHATEVERUNITYOUWANTTOPERFORMACTIONS>;_res = [_unit] spawn
{
_unit = _this select 0;
waitUntil {sleep 0.00001; _unit getVariable ["X39_MedSys_var_UnitInitilized", false]};
DoSomeOtherFunctionCalls
};

its also not recommended to use those callback functions for the EHs (handleDamageGeneral) try to use setUnitDamage only (XMedSys does not has all hitzones actually supported via functions (this will change with XMS2) meaning you might also need to change some of the variables too)

init.sqf

#include "\X39_MedSys_Scripting\MedicSystem\default.hpp"
{
if(_x == "FirstAidKit" || {_x == "Medikit" || {_x isKindOf "FirstAidKit" || {_x isKindOf "Medikit"}}}) then
{
	_unit removeItem _x;
};
false
}count (items _unit);
if(!(_unit getVariable["X39_MedSys_var_UnitInitilized", false]) || _forceInit) then
{
DEBUG_LOG(format["Init some unit: _this = %1, _forceInit = %2, _addEventHandlers = %3" KOMMA _this KOMMA _forceInit KOMMA _addEventHandlers])
DEBUG_LOG("Dumping unit before init")
DUMP_UNIT(_unit)
_unit setVariable["X39_MedSys_var_Legs_Damage", 0, true];
_unit setVariable["X39_MedSys_var_Head_Damage", 0, true];
_unit setVariable["X39_MedSys_var_UnitDamage", 0, true];
_unit setVariable["X39_MedSys_var_Alive", true, true];
_unit setVariable["X39_MedSys_var_DeathThreadRunning", false, true];

_unit setVariable["X39_MedSys_var_UnitKnockedOut", false, true];
_unit setVariable["X39_MedSys_var_LifeTime_TimeStamp", -1, true];
_unit setVariable["X39_MedSys_var_LifeTime_stop", false, true];
_unit setVariable["X39_MedSys_var_Bleeding_BloodLoosePerTick", 0, true];
_unit setVariable["X39_MedSys_var_Bleeding_isBleeding", false, true];
_unit setVariable["X39_MedSys_var_Bleeding_blood", X39_MedSys_var_Bleeding_StartingBlood, true];
_unit setVariable["X39_MedSys_var_Bleeding_hasTourniquet", false, true]; //player setVariable["X39_MedSys_var_Bleeding_hasTourniquet", true, true]; X39_MedSys_var_Bleeding_Tourniquet_DamagePerTick = 0.25
_unit setVariable["X39_MedSys_var_Pain", 0, true];
_unit setVariable["X39_MedSys_var_Hearing", 0, true];
_unit setVariable["X39_MedSys_var_hasEarplugs", false, true];


//local variables
_unit setVariable["X39_MedSys_var_loc_DragCarry_OtherUnit", objNull, false];
_unit setVariable["X39_MedSys_var_loc_DragCarry_Action", -1, false];
_unit setVariable["X39_MedSys_var_loc_doCpr_inProgress", objNull, false];
_unit setVariable["X39_MedSys_var_LastHitter", objNull, false];
_unit setVariable["X39_MedSys_var_loc_doCpr_action", -1, false];
_unit setVariable["X39_MedSys_var_KnockOut_CheckInProgress", false, false];
_unit setVariable["X39_MedSys_var_KnockOut_lastTempKnockOut", 0, false];

//Function calling	
[_unit] call X39_MedSys_fnc_runTickThread;
if(isPlayer _unit) then
{
	_unit call X39_MedSys_fnc_runCamShakeThread;
};
if(_addEventHandlers) then
{
	_unit call X39_MedSys_fnc_AddEH_Respawn;
	_unit call X39_MedSys_fnc_AddEH_AnimChanged;
	_unit call X39_MedSys_fnc_AddEH_HandleDamage;
	_unit call X39_MedSys_fnc_AddEH_FiredNear;
	_unit call X39_MedSys_fnc_AddEH_Explosion;
};
_unit setVariable["X39_MedSys_var_UnitInitilized", true, true];
DEBUG_LOG("Dumping unit after init")
DUMP_UNIT(_unit)
}DEBUG_CODE(else { diag_log format["unit '%1' is already initialized" COMMA _unit];});

Share this post


Link to post
Share on other sites

When setting up the server config file is there anything special you have to do. Or just copy parameters into the Serverconfig file? And will it automatically initialize the server settings on a dedicated server? Thanks little new to the realm of scripting.

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

×