Jump to content


  • Content Count

  • Joined

  • Last visited

  • Medals

Community Reputation

134 Excellent


About RCA3

  • Rank

Recent Profile Visitors

252 profile views
  1. Ok, this is wrong. What i'm getting is apparently related to addWaypoint somehow. If I doMove units to the calculated path, they all go, if I give them waypoints, only some go. Demo Edit: if using addWaypoint ([] spawn { hint str diag_activeSQFScripts; }) reveals script still running, doMove exits sqf.
  2. Code from previous post seems to be working well. Apparently only one calculatePath (or Pathcalcuted) can be run at a time. Solved that by creating a global agent and sleeping until agent is null previous to calling code.
  3. Thanks Killzone Kid. What do you guys think about this? Is it possible _obj gets deleted right after waitUntil before i register _path = _obj getVariable ["calcpath", []]; ?
  4. As for the EH running twice here's what I got: RPT: Same result with: isNil { calculatePath ...} As for my question, I guess it's a bit different now: Any reliable way to get the result of calculatePath and EH PathCalculate without being a guess estimate sleep time? I mean i can pushBack each position to a global array/variable inside the EH, but i need to pass the result to a private group variable, thus waiting would be the more obvious option for me since i can't pass the group inside the EH. Does it make sense? I would be running this on multiple groups, each having their own path.
  5. I'm sorry, I assumed everybody read the same I did. Here: https://forums.bohemia.net/forums/topic/151099-scripting-discussion-dev-branch/?do=findComment&comment=3362335 I'll try that out. Thanks. Hum, i see. It's not intended to be passed to a group. Ok... So you're saying it can't be used in realtime? Just extractable from RPT? Thanks.
  6. Well, in my case right now (i actually like the waypoint pathfinding too 🙂) I'm picking up roads in radius and trying to go from A to B through connected roads, which if I just add a waypoint on B it won't happen (on foot).
  7. We know this runs twice, and that is why I get an empty array as result. Can you enlighten us on how you grabbed those points? Thanks. @pierremgi People complain a lot of vehicles not driving on roads, especially with long journeys, this makes sure it uses them.
  8. What's the best way to use calculatePath and addEventHandler PathCalculated, to pass positions to a group to form waypoints? Cheers.
  9. Hey Genesis, Can you confirm that waypoints are not being deleted with VCM_AdvancedMovement off? I'm getting deleted waypoints on a patrol with multiple waypoints after contact with it both on/off at CBA and off at userconfig settings. Thanks.
  10. Thank you again for the support, George, you're the best! 🤗 Thank you for the comment, Genesis, appreciate it. 👍
  11. Assistant Machinegunner and Assistant Anti-Tank v1.0.1 Download: Google Drive: https://drive.google.com/open?id=1VLJyjwTJ-jEucv5AMlcooVNU_R860C73 Armaholic: http://www.armaholic.com/page.php?id=35615 Author: RCA3 Description: Allows the machinegunner (or anti-tank gunner) to request his group members for ammunition. Two separate FSM's for two different assistants. Features: When gunners have two or less magazines, FSM activates. Assistants will move to gunner with a low stance and drop magazine. Gunner will pick it up. Tested with VCOMAI, TCL and LAMBS. Usage: Copy FSM file(s) to your mission root folder. On automatic rifleman/machinegunner's init: null=this execFSM "assistant_mg.fsm"; On anti-tank gunner's init: null=this execFSM "assistant_at.fsm"; Do not run on the assistants but on the gunners themselves. Notes: Unit must be armed when initializing the FSM. Known issues: If there is no inventory space, units will stay stuck on a loop. Code is pretty old but the FSM stands optimized. License: Credits: Bohemia Interactive BI Arma Forum Contributors Thanks to: Armaholic.com Everyone supporting me @BI Forums. Media: Changelog:
  12. RCA3

    Triggers and tasks for a mission

    Arma_3_Task_Framework BIS_fnc_taskCreate BIS_fnc_setTask BIS_fnc_taskSetState BIS_fnc_deleteTask BIS_fnc_spawnVehicle - no experience with this one, you'll have to test it. Name your player on the editor. You can call it's name for anything you need. Overall: Scripting_Commands_Arma_3 Arma_3:_Functions Google: site: https://forums.bohemia.net/ <your search here> site:https://community.bistudio.com/wiki <your search here> Cheers.
  13. https://community.bistudio.com/wiki/2D_Editor:_Triggers Present/Not Present If the activator is a side or object, the trigger will be activated if that side/object is or is not present within the trigger's boundaries. To be considered present, an object must be alive/undestroyed.
  14. Thanks mate. I actually like the idea but i'm not sure if that should be hard coded into the script because people might have their own ideas of where/how the driver should move/behave. Let me think about it. That said it's not hard to write and you could write it for you own particular case using something on the likes of: addEventHandler Event_Handlers#GetOut ex: if (damage _vehicle >= 0.8) then{move to new position}. getPos ex: _newpos = car getPos [50, (getDir car + 270)]. new position 50 meters to the left of the car. Or use BIS_fnc_findSafePos instead with a ~50 meter radius in case there's no room on the left. doMove If you need help PM me, i'll be glad to help you. Cheers.
  15. Hi, i'm using this code from @shuko for creating circles adapted for an ellipse inside an area, it works, however it's always 0º oriented. (solved) How can I apply the area rotation onto the ellipse? params[ ["_area", [100,100], [[]], [2]], ["_areapos", [0,0,0], [[]], [2,3]], ["_areadir", 360] ]; _area params [["_a", 100], ["_b", 100]]; _areapos params [["_posx", 0], ["_posy", 0]]; _areadir params [["_abdir", 360]]; private _long = _a max _b; private _short = _a min _b; private _abdist = _long / 2; private _cddist = _short / 2; private _cddir = _abdir + 90; private _pts = []; //Shuko //Find circular waypoints private _cnt = 4 + floor (random 3) + floor (_abdist / 10); // number of waypoints private _ang = 360 / (_cnt - 1); // split circle depending on number of waypoints for "_i" from 1 to _cnt-1 do{ private _a = (_i * _ang); //0º orientation //private _p = [_posx - (sin _a) * _cddist, _posy - (cos _a) * _abdist, 0]; //area dir orientation //http://cg.robasworld.com/parametric-equation/ private _p = [_posx + ((_cddist * cos _a) * (cos _abdir) - (_abdist * sin _a) * (sin _abdir)), _posy - ((_cddist * cos _a) * (sin _abdir) + (_abdist * sin _a) * (cos _abdir)), 0]; _pts pushBack _p; }; _pts