Jump to content

sturmfalkerda

Member
  • Content Count

    154
  • Joined

  • Last visited

  • Medals

Everything posted by sturmfalkerda

  1. Basically the goal with this one is to give a medivac chopper an AI medic that hops out and heals the nearest damaged player within x meters of the chopper before hopping back in. It works pretty well in singleplayer, but what problems will arise in a dedicated environment? Is there anything wrong with the way I attempted to restrict the medics search radius? **EDIT** yeep... Doesn't work in multiplayer. // ADD MULTIPLAYER CODE FOR DETECTING NEAREST! // ai medic using ACE3 #include "\z\ace\addons\medical\script_component.hpp" private ["_needradio", "_medic", "_injured", "_deads"]; _medic = _this select 0; _units = _this select 1; _injured = objNull; _needradio = true; //main loop while {alive _medic} do { sleep 2; //waiting for a wounded while {(isNull _injured) and (alive _medic)} do { //if the medic is injured _medic assignAsCargo g2; [_medic] orderGetIn true; if (_medic getvariable [QGVAR(isBleeding), false]) then { //if medic is already dead, then exit if (!alive _medic) exitWith{}; //else he is the injured and he is a priority to heal himself _injured = _medic; } else { _deads = []; { if (!alive _x or isNull _x) then { _deads = _deads + [_x]; }; if ((isNull _injured) and (_x getvariable [QGVAR(isBleeding), false]) and (alive _x) and (!isNull _x) and (_medic distance _x < 20) and (getPos _medic select 2 < 5)) then { _injured = _x; if (_needradio) then {_medic groupChat format["Keep calm %1, I will heal you.", (name _injured)];}; }; } foreach _units; _units = _units - _deads; }; sleep 5; }; if(!alive _medic) exitWith{}; //we have an injured, stop him if ((!isPlayer _injured) and (_medic!=_injured)) then { _injured disableAI "MOVE"; _injured setUnitPos "down"; }; if (_medic != _injured) then { //medic go for him unassignVehicle _medic; _medic doMove (position _injured); while {(_medic distance _injured > 5) and (alive _injured) and (!isNull _injured) and (getPos _medic select 2 < 5)} do { sleep 1; _medic doMove (position _injured); if(!alive _medic) exitWith{_injured enableAI "MOVE"; _injured setUnitPos "auto";}; }; }; if(!alive _medic) exitWith{_injured enableAI "MOVE"; _injured setUnitPos "auto";}; //when medic is close enough to the injured... //...and injured is still alive if ((alive _injured) and (!isNull _injured) and (alive _medic)) then { //stop the medic // _medic disableAI "MOVE"; // _medic setUnitPos "middle"; // sleep 1; //HEAL the injured // ****************************** _medic allowDamage false; _medic action ["HealSoldier", _injured]; _medic playMove "AinvPknlMstpSnonWnonDnon_medic_1"; sleep 9; _injured setVariable [QGVAR(pain), 0, true]; _injured setVariable [QGVAR(morphine), 0, true]; _injured setVariable [QGVAR(bloodVolume), 100, true]; _injured setVariable ["ACE_isUnconscious", false, true]; _injured setvariable [QGVAR(tourniquets), [0,0,0,0,0,0], true]; _injured setvariable [QGVAR(openWounds), [], true]; _injured setvariable [QGVAR(bandagedWounds), [], true]; _injured setVariable [QGVAR(internalWounds), [], true]; _injured setvariable [QGVAR(lastUniqueWoundID), 1, true]; _injured setVariable [QGVAR(heartRate), 80]; _injured setvariable [QGVAR(heartRateAdjustments), []]; _injured setvariable [QGVAR(bloodPressure), [80, 120]]; _injured setVariable [QGVAR(peripheralResistance), 100]; _injured setVariable [QGVAR(fractures), [], true]; _injured setvariable [QGVAR(triageLevel), 0, true]; _injured setvariable [QGVAR(triageCard), [], true]; _injured setVariable [QGVAR(salineIVVolume), 0, true]; _injured setVariable [QGVAR(plasmaIVVolume), 0, true]; _injured setVariable [QGVAR(bloodIVVolume), 0, true]; _injured setvariable [QGVAR(bodyPartStatus), [0,0,0,0,0,0], true]; _injured setvariable [QGVAR(airwayStatus), 100]; _injured setVariable [QGVAR(airwayOccluded), false]; _injured setvariable [QGVAR(airwayCollapsed), false]; _injured setvariable [QGVAR(addedToUnitLoop), false, true]; _injured setvariable [QGVAR(inCardiacArrest), false, true]; _injured setvariable [QGVAR(hasLostBlood), 0, true]; _injured setvariable [QGVAR(isBleeding), false, true]; _injured setvariable [QGVAR(hasPain), false, true]; _injured setvariable [QGVAR(amountOfReviveLives), GVAR(amountOfReviveLives), true]; _injured setvariable [QGVAR(painSuppress), 0, true]; _injured setDamage 0; // ****************************** //wait until injured is healed or dead waitUntil { !(_injured getvariable [QGVAR(isBleeding), false]) or (!alive _injured) }; sleep 3; if (_medic != _injured) then { if (_needradio) then {_medic groupChat format["OK %1, you are ready to fight.", (name _injured)];}; }; _medic allowDamage true; //healed soldier is ready to fight _injured enableAI "MOVE"; _injured setUnitPos "auto"; }; //we are ready for looking a new injured _injured = objNull; //set the medic to ready to looking for a new injured // _medic enableAI "MOVE"; // _medic setUnitPos "auto"; //doMove stops the medic, so we have to command him to follow his leader _medic doFollow (leader group _medic); if(!alive _medic) exitWith{_injured enableAI "MOVE"; _injured setUnitPos "auto";}; };
  2. sturmfalkerda

    [MP][CTI-COOP] Liberation (continued)

    Just double checked, yeah. It's running a a derivative which is a mix between new and old. I've checked the way the files are called and double checked the merge of the ACE fix... Would R3F_Log, specifically player addEventHandler ["HandleDamage", {0}]; //and _x setVariable ["R3F_LOG_idx_EH_HandleDamage", _x addEventHandler ["HandleDamage", {_this call R3F_LOG_FNCT_EH_HandleDamage}]]; Those are the only two lines of code across the project that I can think of that would cause it to break. I think the second is primarily for boxes, but I don't know. I'll move back to the actual KP Liberation and import any changes I need selectively to avoid this.
  3. sturmfalkerda

    [MP][CTI-COOP] Liberation (continued)

    Any dice on proper ACE medical support? It breaks autoadjust and nearby town ready since kills aren't being registered correctly. Getting all kinds of weird bugs with the call, also referencing the killer as the person that bled out. Player death results in an error as well. Pretty sure it doesn't work with a headless client.
  4. sturmfalkerda

    [Release] Liberation RX

    Any chance of ACE support? The biggest issue, (Outside of the revive system needing disabled/removed, and the AI portion changed to look for ACE states and what not) Look at ace_medical_lastDamageSource or https://github.com/acemod/ACEX/blob/master/addons/killtracker/XEH_postInit.sqf Basically, handledamage has problems because ACE script handles the killing blow. So this means you can't get points for killing stuff. Maybe instigator works? I have no idea. setShotParents is used for ACE explosions, which makes the explosions work I think. Some more snippets that might be helpful? _UNIT addEventhandler ["killed", { params ["_unit" ,"_killer"]; _killer = if (isNull _killer) then { _unit getVariable ["ace_medical_lastDamageSource", _killer]; } else { _killer }; // do your stuff }]; Oh nice, I guess the stable release of Liberation has ACE support, lol I patched in the changes to the killmanager.
  5. sturmfalkerda

    24/7 Battlefield Style RUSH!

    Hey guys! Just pushed a new update. The server now runs on x64 and supports extDB3.
  6. sturmfalkerda

    24/7 Battlefield Style RUSH!

    Hey guys! Today I'm sharing a project with the community and I'd love to hear your feedback. I'm running a improved/slightly less buggy version of Rush Redux with new features for non-commercial reasons. It's similar to RUSH mode from battlefield titles. New perks, new balancing changes, callouts and auto gestures and new features. It's still quite early, but you can get in on the action via: Name: 24/7 Falkes Rush! - Battlefield Inspired! Server address:uafminecraft.game.nfoservers.com:2302 CHANGELOG Version 0.67.0 5/2/2017 - extDB3 support (Thanks to the awesome Altis Life Discord peeps for helping me with undocumented changes) - Server is now 64bit following extDB3 migration - Actually fixed height restriction (Changed getPosATL to getPosASL) - height restriction fix was silly - Slammer MBT on Valley Station (Map 2) Stage 3 no longer identifies as a Prowler - Defenders now properly receive MBT on Valley Station (Map 2) Stage 3 Version 0.65.0 - 3/18/2017 - Added new, more vehicle oriented environment Features Little birds, APCs and Tanks - Added a basic mountain restriction system that can be configured per mcom - Made previously xp walled weapons much more easily obtainable - Disabled custom damage and incap system until bugs can be fixed Version 0.64.0 - 3/17/2017 - Added two new LMG types and made support less xp walled - Adjustments to unlock tree Current tree as follows - Medic > TRG > MK20> AKS> CTAR GL> MXC > KABITA> AKM > AK12 > ARX > SPAR - Engineer > MP5 > Vector - Support > M249 > MK200 > CTAR - Recon > DMR woodland > EBR > SPAR DMR > MXM > Lapua Custom Version 0.63.0dev - 3/11/2017 - Added trip wire perk to recon (Check to see if kills are handled correctly) - Commented out leftover code that enabled a bullet cam on various weapons Version 0.62.9 - 3/10/2017 - Ported to Altis and removed mod requirements - Added support for Dynasound 2 and Enhanced Soundscape (L_ES) - Implemented first version of grenade shoutouts - Added hand grenade perk - Implemented class restrictions (Must be x class to use x class primary) - Visualized class restrictions - Downed state and new damage handling mechanics for testing extended vest perk - Side specific backpacks for engineers using both the anti tank and ammunition perks - Commented out leftover code that was causing a revived player to emit the MCOM arming sound - Fixed server restart functionality - Pushed the server restart timer back to allow two rounds - Fixed unlock and persistency system Thoughts for this update: Reduce mcom fast beep to play at 10 seconds left instead of 20 Basic AC code to protect server while admins are unavailable Chat command for getting player information in the event of bad behaviour Cover pass on stage 2 and final stage Friendly fire protection Revived state thank you Revived state hold animations Revived state sounds Revived state gestures Protection zones Weapon balance pass First person only Third person downed state Consider new framework for deployable objects like trip wires Add AT mines for engineer Defusal kit fot engineer Balance and configure more weapons Squad Wipe and third UI element for Squad Wipe Rewrite Mcom arm sound implementation to either work dynamically like the Mcom sound or allow interuption of sound Screenshots:
  7. sturmfalkerda

    24/7 Battlefield Style RUSH!

    Phew! Big update. Added a new environment to the rotation, basic mountain restriction system and made some weapons less pay walled and fixed numerous bugs.
  8. sturmfalkerda

    GRAD Script Modules [Release]

    Awesome! GUI's look tidy.
  9. How would I get this whitelisted on a server? I don't see a .bikey. Okay, just checked and the workshop version doesn't ship with a .paa or .bikey... Armaholic does though.
  10. sturmfalkerda

    24/7 Battlefield Style RUSH!

    Going to backport this to a vanilla map and make a version without mods to make it easier on people. Stay tuned guys! Check out the Gfycats for progress on Class restrictions and Nade callouts.
  11. sturmfalkerda

    24/7 Battlefield Style RUSH!

    Unfortunately not. I'll probably have to rely on scheduled playtests to get the ball rolling. In the mean time, I'll prototype some AI support.
  12. sturmfalkerda

    24/7 Battlefield Style RUSH!

    WW2 version would be fairly easy to do, especially considering Beketov is kinda fitting. Just a matter of class swaps and a few hours spent on designing each class uniform again. AI is not supported, but honestly it shouldn't be too much of a hassle to get it worked out. Need to make sure it's completely stable and identify any script caused lag before doing so though. I'll put that on the roadmap.
  13. sturmfalkerda

    24/7 Battlefield Style RUSH!

    Identified some problems with the system and pushed the restart to once per round to keep everything rolling smooth. Eventhandlers are weird... lol
  14. Not seeing any lipsync with .lip files either...
  15. sturmfalkerda

    Vcom AI V2.0 - AI Overhaul

    So I've been using Vcom AI, ASR Pooters edit for a long time. I've used Vcom AI on it's own and pooters on it's own; how do the two interact together? It just occurred to me that maybe the two being combined might create some undesired situations... I've used both before at the same time, but I'm pretty sure they overlap some features, Gunshot, hearing aid, all kinds of stuff. What do you recommend?
  16. sturmfalkerda

    [Release] Injured Ai script/Mod

    Getting an error occasionally, not sure if it's a mod conflicting. (ASR_AI, ALiVE etc) "Error undefined variable in expression _dragger" The unit looks dead at this point, if I remember correctly.
  17. sturmfalkerda

    [Release] Injured Ai script/Mod

    Thank you so much for this! It's a feature that I think Arma has been missing for a long time now. The way you made the animations interpolate makes it look really smooth. This is basically essential in my missions now. I can't wait until it has more bugs ironed out. How would I go about specifying Blufor/Opfor specific sounds without hurting performance?
  18. sturmfalkerda

    Pooter's enhanced ASR AI

    Any way to disable the "Moving, Attacking, Not hiding" text?
  19. sturmfalkerda

    BloodLust (Version 2022.04.13)

    Is it possible to configure this on the server? Say I want to disable gibbing on a dedicated.
  20. Thank you for linking the original, I found the modified code through a different BIS post and couldn't find any original versions. Added the checks for distance and such myself. I'll rewrite from scratch then.
  21. Hello! I was wondering if it would be possible to activate AI on a player and then spectate self. The idea is to create an auto pilot script (Disable combat portion or at least prevent combat mode) as a neat way of map auto travel. I can't find anything on the wiki about this. Maybe selectPlayer and move him to a virtual entity, then do spectator stuff on original player somehow?
  22. The idea is to have an auto run/auto pilot function. Combine this with disablefatigue and an on map click event for infantry.
  23. sturmfalkerda

    [WIP] Terrain Diyala province Iraq

    Wow... This looks amazing! The attention to detail is incredible from the screenshots. Anxiously awaiting the release.
  24. sturmfalkerda

    JSRS3: DragonFyre

    Those near hit sounds are absolutely terrifying... It makes near hit shots actually scary.
  25. sturmfalkerda

    C2 -Command And Control

    Wow... Thank you for this! Seriously!
×