bendy303
Member-
Content Count
56 -
Joined
-
Last visited
-
Medals
Everything posted by bendy303
-
My new AI Revive mod is up https://steamcommunity.com/sharedfiles/filedetails/?id=3343235386 Enjoy Lifeline Revive AI This is a revive mod. Your AI units can heal and revive you and each other when down. This is designed to be as compatible with as many workshop missions as possible to take advantage of the huge library of scenarios on the workshop, and have a universal AI revive system for them all. Works with ACE medical or without ACE Single player and multiplayer All AI units in your squad can temporarily turn into a medic to revive you Over 600 audio samples with over 15 different voice actors for the medic, automatically assigned to all affected AI units. High quality ElevenLabs voice creation. This means when you are unconscious and blacked out - you can hear the the medic talk to you as he revives you. This is often what happens with human players with ace so you know what is going on when you are down. Smoke grenades as an option , thrown by the medic before revive MASCAS / MASCAL warning when all your units are down. If a unit is lucky enough to regain conciousness (autorevive), it is updated Optional HUD feedback: distance of medic, injury revived, and realtime list of all incapacitated units and medics Works with teamswitch Automatically detects and disables other revive systems, vanilla revive, SOG revive, Psycho revive, Grimes revive etc Bonus features unrelated to revive: hotwire locked vehicles, and auto crouch when idle, auto make explosive specialist for all units, to make missions more compatible WITH ACE MEDICAL The ACE damage handler and medical system is used. The custom damage handler is bypassed. All AI revive functions with voice etc, still work. Backwards compatible with older ACE versions for max compatibility with ageing and older workshop missions WITHOUT ACE A custom damage model and injury system. Kind of a "halfway" between vanilla revive and ACE. Body part damage, number of bandages, blood IV, morphine, epi and CPR is now a simple addaction menu, replicating longer amount of time to revive depending on amount of damage and number of bandages Difficulty setting using a 'bandage range'. If you have this set to 8, then maximum damage equals 8 bandages (if not killed). Set it to 4, and maximum damage equals 4 bandages. This means more time or less time needed to revive. You can also set it to 1 so that its like vanilla revive, only one action to revive Instant death blocker. You can block instant death so always fall into incapacitated state first before bleeding out or autorevive. 3 levels of difficulty choice The above two options can be used to adjust the difficulty. So from 'arcade' playing to 'milsim' playing is no problem This is just a BETA version. I have it up on Github for the community to improve it. Github I am actually a composer and sound designer, so this was the motivation to have the AI medic talk to you while you are blacked out with ACE. Then you get some feedback while down, similar to how human players do it. Getting voices sounding natural and not "cut and pasted" was a challenge. The original source samples created by the brilliant AI voice lab, Elevenlabs. Highly randomized parts of sentences joined together to make it more natural sounding and so you don't get 'used' to the same sample sounds and more spontaneous and natural. I originally started working with Rick'O'Shay's excellent ROS AI Revive server script over a year ago - to try to turn it into a mod - but in the end I needed to rewrite it all from scratch due to my crappy slow laptop losing all the loop timings. Server scripts don't always work as mods. Thanks to Rick for code tips and inspiration. Excuse my sloppy code, the community is welcome to improve it. Future Plans Language pack mods that work with this, Deutsch, Français, Italiano, Español, Russian Dedicated server version is almost finished Carrying and dragging when ACE is not loaded. Currently if you wan't that, load ACE Also include OPFOR Known Issues The usual Arma dumb AI pathfinding. Sometimes AI just stand there. I have an idle stopper, and it kind of works Sudden direction change of medic sometimes happens when medic overshoots the incap. Not smooth (setDir). This will be made smooth for future The voices sound too 'calm' during intense combat, so more stressed voices is an idea. Elevenlabs only just added this ability.. a big thank you for help: Rick O Shay pierremgi Members of the ACE team: BaerMitUmlaut Grim MiszczuZPolski prisoner
- 1 reply
-
- 2
-
-
Hi, I have created a revive mod, and I would like to change the teamswitch popup text when you press "U". I just want to make the text red for units that are incapacitated, so you can choose which units to teamswitch into... how can I affect this popup? is it a display number? cheers Ben
-
Teamswitch text popup - change???
bendy303 replied to bendy303's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Pierre, I gave you a thank you for the help in my mod. Cheers https://steamcommunity.com/sharedfiles/filedetails/?id=3343235386 -
eventHandler for player UI commands? e.g player changes an AI unit colour?
bendy303 posted a topic in ARMA 3 - MISSION EDITING & SCRIPTING
Hi... I keep losing the team colours of my AI units after they go unconcious.... I thought if I can add an eventHandler to monitor player command input, I can store the colour to a variable, then recall it after revive. This link here is overwhelming: https://community.bistudio.com/wiki/User_Interface_Event_Handlers help appreciated cheers Bendy -
Hi, currently almost finished a revive mod, and it works perfectly with a self-hosted MP mission, however, when I test with friends, ie remote players, sometimes the Damage Handler seems to slip and death happens - when I have code to prevent damage going to 1. In all my tests self hosted just with AI, the damage handler works perfectly. But with remote players - sometimes it seems it "slips" and a player still dies. I am remoteExec the damage handler on each player. I have extensive rpt logging with diag_logs in the damage handler (which is remoteExec to the server) and it doesnt make any sense why just occasionally a remote player still dies. I have tested and tested in multiple environments with self-hosted missions and it works 100%. Could it also be that I am self-hosting a game using wireless and this is unreliable? network speed? I would think the damage handler is running on each remote machine (I remoteExec it). I just wanted to know an efficient method for testing MP without always relying on freinds to log in. Is there a better way? cheers Bendy
-
Thanks Pierre, will test your suggestions!! Bendy
-
MOD: override Lobby player slot AI functionality
bendy303 posted a topic in ARMA 3 - MISSION EDITING & SCRIPTING
Hi, I have created a revive mod, and many workshop missions have the AI for player slots disabled. I found out you can enable this in Description.ext with disabledAI = 0; *note - this command is different to disableAI which is per unit. Notce the "d" in "disabled" in the command above: disabledAI. Its a MP setting for lobby slots. info here How can I do this with a mod? I know with CBA loaded, my mod already loads XEH_preInit.sqf which loads before the mission - so what sqf code can I have to enable AI in the lobby for slots for missions with it disabled? I tried just the same code that works in Description.ext for missions with disabledAI = 0 but it didnt work. I asume its different with mod. cheers Ben *P.S. changing a paramter in description.ext using a mod CAN BE DONE. For example, for revive settings usually in description.ext, I have working with sqf in a mod: bis_reviveParam_mode = 1; bis_reviveParam_bleedOutDuration = 300; bis_reviveParam_unconsciousStateMode = 0; [] call BIS_fnc_reviveInit; the documentation on this is sparse - I got this from a forum post. Perhaps there is something similar with lobby slot AI. -
Teamswitch text popup - change???
bendy303 replied to bendy303's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Pierre thanks a million!!! that works!!!!!!!!!!!!!!!!!!! BRILLIANT -
Teamswitch text popup - change???
bendy303 replied to bendy303's topic in ARMA 3 - MISSION EDITING & SCRIPTING
this is great, thanks Pierre. I also wouldnt mind just being able to see which units are down in the teamswitch popup - because sometmes you have no choice but to switch into an incapacitated unit. So its choice... any way to change the font colour in the popup? cheers Pierre -
MP: handleDamage using remoteExec "call" method
bendy303 posted a topic in ARMA 3 - MISSION EDITING & SCRIPTING
HI, I want to store the damage handler ID for all units in MP game, both AI and remote players. At the moment, I am using a custom damage handler, so doing: [_unit, ["handleDamage", { params ["_unit", "_selection", "_damage", "_source", "_projectile", "_hitIndex", "_instigator", "_hitPoint", "_directHit", "_context"]; // work some damage handler magic with some code _damage }]] remoteexec ["addeventhandler", _unit]; and this works 100% fine. HOWEVER we cannot store event handler IDs using remoteexec in this way. So trawling through the forums, I see you can also remoteexec a "call". However when I try it, it doesnt apply the damage handler. This is the code that DOES NOT APPLY THE HANDLER: [[_unit],{ _unit addEventHandler ["HandleDamage", { params ["_unit", "_selection", "_damage", "_source", "_projectile", "_hitIndex", "_instigator", "_hitPoint", "_directHit", "_context"]; // work some damage handler magic with some code _damage }]; //end DamageHandler }] remoteExec ["call", _unit, true]; Why is it not working? it seems all logical? (I don't store the event handler ID in the latter code, because I cannot even get the handler working) help greatly appreciated cheers Bendy -
MP: handleDamage using remoteExec "call" method
bendy303 replied to bendy303's topic in ARMA 3 - MISSION EDITING & SCRIPTING
ahhh silly me. Thanks Pierre! indeed, the params ["_unit"]; was missing thanks a million! Bendy -
respawn tickets not working for teamswitch at death. (revive mode: Respawn = 4, or "GROUP")
bendy303 replied to bendy303's topic in ARMA 3 - MISSION EDITING & SCRIPTING
maybe I can create my own respawn tickets using the teamswitch MP event handler. Use a setVariable of a var to the unit to limit the amount of teamswitch respawns. Only thing is - how can I prevent the last teamswitch when respawn tickets run out? the event handler only recognises the teamswitch AFTER it happens (or at least I think) maybe I could force spectator view -
Hi, Currently using "Respawn" = 4, or "GROUP" method (in editor this is named "Respawn -> Switch to Group Member"). I want to evenly distrubute the amount of times a player can teamswitch at death, basically similar to "tickets" for when revive mode is Respawn = 2 or Respawn = 3 with set number of tickets. It gets annoying when a player gets killed more than others, take up all the teamswitch opportunities. Just want to even it out amongst players, so each can only teamswitch at death a limited number of times. I have a respawn module set down in the editor and BLUFOR is set to 2 tickets. Indeed, if I use [player, nil, true] call BIS_fnc_respawnTickets (which checks number of respawn tickets) I get the return of "2" So why is it not working? Players keep switching to group member way after 2 times... cheers Ben
-
want script to not load until mission start screen of player looking through eyes (after mission intro map etc)
bendy303 replied to bendy303's topic in ARMA 3 - MISSION EDITING & SCRIPTING
this solution worked, thnk you 🙂 -
Performance warning: SimpleSerialization
bendy303 posted a topic in ARMA 3 - MISSION EDITING & SCRIPTING
Hi, I am storing a short script using setVariable and I get this warning: Performance warning: SimpleSerialization::Write 'spawncycle1' is using type of ',SCRIPT' which is not optimized by simple serialization, falling back to generic serialization, use generic type or ask for optimizations for these types Its for a revive mod and I terminate previous script iteration if this function is called again. // TERMINATE PREVIOUS _spawncycle //AGAIN FOR GOOD MEASURE _spawncycle1 = (_medic getVariable ["spawncycle1",false]); if (typeName _spawncycle1 == "SCRIPT") then { terminate _spawncycle1; }; _spawncycle1 = [_medic, _incap] spawn { params ["_medic", "_incap"]; // Start Recycle / death / Auto recovery [_medic, _incap] spawn ROS_Fnc_Recycle_Fnc; // Start AI revive [_medic, _incap] spawn ROS_Fnc_AIReviveUnits; // Pause thread waitUntil { sleep 1; (!alive _incap or !alive _medic or !(lifestate _incap == "INCAPACITATED")) }; };//spawn _medic setVariable ["spawncycle1",_spawncycle1,true]; How can apply the warning message recomendation, which is "not optimized by simple serialization, falling back to generic serialization, use generic type or ask for optimizations for these types" help appreciated Bendy -
want script to not load until mission start screen of player looking through eyes (after mission intro map etc)
bendy303 replied to bendy303's topic in ARMA 3 - MISSION EDITING & SCRIPTING
basically running a custom damage handler through all units when mission loads. It works fine in singleplayer and self-hosted multiplayer, but on dedicated server test, this doesnt seem to be loading right. I am testing by logging in as a remote player, and the damage handler has not properly implimented. however - if I use the chat to #login, then #restart - it works perfectly. So I am thinking everything is loading too early. Or maybe because when I restart - I am already logged in as remote player - and its a JIP issue? -
Hi @eggbeast, big fan of your CDLC currently I am finishing off an auto-revive mod for AI, complete with voice actors. Because its a mod, its designed to be as compatible with as many workshop missions as possible. Wondering if I could get a code tip from you about disabling the SOG Revive system. I checked how ACE do it, but they do it in pre-initialisation, tricking the SOG Revive into thinking its already loaded, by declaring value to variable (vn_advanced_revive_started = true;). Our mod aims to not be too invasive - you have to manually turn it on once the mission has loaded - thus you have the option to not load it, and instead use the revive system used by mission creators. The flexibility to choose is the idea. Currently we have successfully got it to disable the native BI_Revive and Psychos Revive, would like to be able to also do it with SOG revive, without using the ACE method which takes away the flexibility of choice. Currently I am using a quick and dirty method to disable SOG Revive, but its not ideal, because it might cancel event handlers used for other mission scripts. if (!isNil "vn_advanced_revive_started") then { { _x removeAllEventHandlers "Killed"; _x removeAllEventHandlers "Respawn"; _x removeAllEventHandlers "HandleHeal"; _x removeAllEventHandlers "handleDamage"; } foreach allunits; }; cheers help appreciated and look forward to the next update or project!! Ben
-
revive A3 Wounding System (AIS by Psycho)
bendy303 replied to Psychobastard's topic in ARMA 3 - MISSION EDITING & SCRIPTING
I have come up with this code to disable it. Is there a better way? _turn_off = true; if (_turn_off == true) then { removeMissionEventHandler ["Draw3D", AIS_Core_3DEHId]; removeMissionEventHandler ["EachFrame", AIS_Core_eachFrameHandlerId]; { diag_log name _x; if (!isNil "ais_hkEH") then {_x removeEventHandler ["Killed", ais_hkEH]}; if (!isNil "ais_hdEH") then {_x removeEventHandler ["HandleDamage", ais_hdEH]}; if (!isNil "ais_hrEH") then {_x removeEventHandler ["Respawn", ais_hrEH]}; if (!isNil "ais_hhEH") then {_x removeEventHandler ["HandleHeal", ais_hhEH]}; } foreach allunits; };- 914 replies
-
revive A3 Wounding System (AIS by Psycho)
bendy303 replied to Psychobastard's topic in ARMA 3 - MISSION EDITING & SCRIPTING
how can I dynamically disable this in the middle of a mission? w code cheers- 914 replies
-
override description.ext parameter with mod. "ReviveMode"
bendy303 posted a topic in ARMA 3 - ADDONS - CONFIGS & SCRIPTING
as per the title, I want to override the description.ext parameter "ReviveMode" so that its ReviveMode = 0; I am finishing off a revive mod and considering I have my own theshold damage level for unconciousness, I want to override any set by missions. The ultimate aim is for this mod to work with as many workshop missions as possible, similar to Project Injury Reaction help appreciated cheers Bendy -
want to turn off revive theshold with code.
bendy303 posted a topic in ARMA 3 - MISSION EDITING & SCRIPTING
Hi, I am nearing completion of a revive mod. I have the theshold for going into incapacitated at > 0.7 but just realised this only really works for AI units at this threshold. if I put "player setDamage 0.5;" in the debug console I go into incapacited. I am using the the damage handler for triggering incapacited so I understand that is why it doesnt work if I use debug console, however when testing with enemy AI I still go into incapacitaed > 0.5 So I turn of revive in the mission description.ext with ReviveMode = 0; and I turn of Revive Mod in the editor under multiplayer settings still going into incapacited if I "player setDamage 0.5;" the actual end result is both a mod and a script for missions, so I would like code that works in both. help appreciated, Bendy -
want to turn off revive theshold with code.
bendy303 replied to bendy303's topic in ARMA 3 - MISSION EDITING & SCRIPTING
there seems to be a bug? if I have respawnOnStart = -1; in the description.ext then it automatically turns on revive, and I am back to square one. -
want to turn off revive theshold with code.
bendy303 replied to bendy303's topic in ARMA 3 - MISSION EDITING & SCRIPTING
*update I got it working using description.ext so how can I do a version for a mod - that can override the description.ext - so the mod can be used with missions in workshop? cheers Bendy -
is there a way to sort a hashmap by values instead of keys?
bendy303 posted a topic in ARMA 3 - MISSION EDITING & SCRIPTING
Hi is there a way to sort a hashmap by values instead of keys? or do we have to convert it to an array first? cheers Ben