Jump to content

All Activity

This stream auto-updates     

  1. Past hour
  2. Hacker! 🤠 I'm Tom Sawyer-ing out this task man. Go for it Phronkster!
  3. _d = []; _nodes=[all,my,nodes,here]; _currentNode=curNode; _nodes apply { _d pushBack( _x distance curNode; ); }; _nodes sort true; _closestNode=_nodes # 0; Something like that maybe? PS: I'm at work so I speed coded it, not sure how well it'll work.
  4. Ive been following this with great interest and I understand what you are trying to achieve. Re travelling salesman problems my understanding is that humans actually find "good enough " shortest paths actually as efficiently as algorithms. That would suggest to me that given there are a limited number of buildings that player traced paths which where then stored ( someone already has something on this I think?) seem at least in part a solution. I know you are trying to attempt a solution with maximum flexibility and its almost a programming challenge as much as anything but I wonder if some sort of combined approach might turn out to be a good solution. ie one which allows for players to do walkthroughs of buildings which record paths but with flexibility for novel node following algorithms to find other paths. I also think if you can find a way to throw away some nodes early in an algorithm this might simplify the task. As an example - the building position approach as has been noted has its drawbacks - not least because these positions are often at the edges of rooms. If you want a path to traverse a room then they aren't very useful. Equally if the task is to traverse the room you don't need to check all the nodes at the room edges as buildings are mostly empty. so if you can throw away all the corner nodes (other than ones adjacent to doors or windows perhaps) and nodes running along the walls you have a much smaller node network to traverse to find the shortest path. Anyway that's just some thoughts trying to be helpful. If its not helpful just ignore me!
  5. I've posted the Shortest Path Challenge here: Exactly. I'm hoping MadRussian will be able to prune unneeded nodes once he has the rooms well defined. IMO, for AI path purposes we only need nodes every 2 or 3 meters, plus all connector nodes (doors, stairs, ladders, etc.), and strategic points (corners, windows). If path calculation is too slow at game run-time, then we can run shortest sweep path calculations per entrance per building, and store the paths in the arrays. We would include all these pre-calculated path arrays in a path library file with the scripts. So at run-time, building clearing paths are all ready to rock. But if we want to support dynamic point to point pathing, then we need the full node library per building and real time path calculation. I'm pretty sure we can do the former, and if we're lucky we can do the latter.
  6. Yesterday
  7. Ok scripting gurus, we have another challenge for you. I'm working on an AI Scripted Path script to run an AI or AI team through a series of positions in buildings or anywhere else. And @madrussian is working on a badass script to map out all the nodes within any building. The 3rd piece we need is a script to calculate a path between 2 nodes. Path algorithms are well defined and can be found on the web. I like this particular site because it has a well defined example with expected outcomes: http://hansolav.net/sql/graphs.html I've put their example data into 2 SQF arrays; All you have to do is implement the algorithm to find the path between 2 nodes. The expected results are in that website, so when your code calculates the same results, you know it works. Your code should read the above sample input arrays, and calculate the same path as found in the web link. Any takers? Bonus Challenge: Calculate shortest path that touches all nodes. To clear a building, we need to sweep all rooms...that is different than shortest path between 2 nodes. We need to calculate shortest path that allows us to touch all nodes. I'll search for an algorithm for that also. Basically we choose an entry point (starting node), and go from there.
  8. @Johnnyboy what you are looking at is essentially the travelling salesman problem is it not in regard to shortest path calculations on a network? From memory I think exact algorithms to give a perfect solution are very computationally expensive particularly if there are a lot of nodes? There are supposed to be approximate algorithms and heuristics though that can give good results in more reasonable time though. Maybe if there is someway to "throw away" nodes which are less likely to be useful ( eg ones which are immediately proximate to walls etc) then the problem might be made more tractable? Just a thought.
  9. I just whipped up some easy sample data that matches this well defined online example. It gives them a well defined test case with expected shortest path results. Once they claim their SQF is working we will feed it your beast!!! That's my opinion anyway.
  10. This is awesome LSValmont ! Really nice work. I am having fun with it. Does anyone know how I can turn the damage into ACE3 damage. We use the ace3 medical system but when the dog bites, we don't show damage in ACE. Sorry random question just would love to integrate these dogs into our upcoming mission.
  11. Good idea. Heck, we could simply use the node-mesh data from my script as the test cases (points inside the green area), on a few buildings (any building types you like). I've been wondering how "shortest path between 2 nodes" algorithms will fare with this number of 0.5m res nodes (CPU/time wise). I suppose there's only one way to find out!
  12. So I have a bunch of files from Arma3sync, I got them from a server I was playing on at some point. I don't rememeber where, so I can't use Arma3sync as normal So I have files that are named like this "filename.pbo.zsync". How do I convert them to regular .pbo files? Thanks!
  13. Thoreaufare

    "Raise Weapon" Command Malfunction

    I also wish this keybind worked as intended, I would definitely use it. Seems weird to me you default to weapon raised and pointed all the time. I alleviated this problem somewhat by making a small addon but it's not perfect. It's linked in my signature if you want to check it out, you might find it useful.
  14. That is bloody beautiful man. Really incredible. Don't feel pressure on my end, as I have tons of work still to do. Which make me want to recruit someone for calculating shortest path between 2 nodes. The algorithms already exist on the web, just need someone to write the SQF. I think I''ll throw to together some sample arrays with distance between nodes as a pre-built test case and then post a script request. Some badass like Larrow, Grumpy or Pierre will knock it out of the park in no time.
  15. "Up! Up! And Away!" "Up the Stairs... To the 2nd Floor!" It's starting to come together. Slowly...
  16. Unofficial information that might not be 100% correct. Take it as a rough estimate "calculatePath" Let's a type of vehicle (man,boat,tank,car,helicopter hardcoded types with hardcoded classnames in backend) calculate the waypoints they have to take to arrive at a certain target, while in certain combat mode and in formation or not. returns you the coordinates of each waypoint there is also a pathCalculated eventhandler now. That gives you coordinates of each waypoint that was calculated for a unit doing a path calc.
  17. Dedmen

    Arma 3 - Creator DLC Discussion

    No and no. If we had a free version then it would just act like a mod. If you don't use it, no need to load it. If you wanna use it or have other mods that depend on it, you gotta load it.
  18. Storm The Gates

    Community Upgrade Project - CUP

    Thanks for the super detailed reply, much appreciated!
  19. martinvc78

    Steam Achievements

    Well, what we did with another player is to set up an scenario with a Nyx Tankette, and we stood there inside for 24 hs. It Works. Is not a secret anymore.
  20. Rolling back from the Arma3 performance binary to the stable branch seems to have fixed this issue...
  21. R3vo

    3den Enhanced

    I know about the issue and it randomly appeared and disappeared for me too. The code was actually fine before. The next update however, should make sure that that both number and string can be used as data type. Guess it really is Arma
  22. I've run into a rather odd problem recently with ACE3 MicroDagr. The displayed direction now only seems to be able to hold one of 4 states (regardless of MicroDagr mode) These are 45.0deg, 135.5deg, 225.0deg and 314.5deg. I.e. the reading will snap to the closest of these values regardless of what direction I'm actually facing. I get this behaviour if I only ACE3 and CBA so it does not look like a mod conflict issue. I've also physically removed ACE3 and re-installed it through Steam which has not fixed it. Additionally, I've removed my *Player*.vars.Arma3Profile in case that had become corrupt which also had no effect. Any other in game compass/direction device (e.g. vanilla GPS etc.) is unaffected. Does anyone have any idea as to what causes this or what could fix it?
  23. Valken

    Arma 3 - Creator DLC Discussion

    I play both SP and MP ARMA 3 a lot, more than ARMA2/CO and I think we will all be OK with the User DLC system. It acts exactly like a mod, optional, and there will be enough servers to go around this time due to the maturity of ARMA 3 instead of splitting the A2/CO community like back then. However, A2 had lite options, which is similar to the current official DLC options so that you can at least see, if not outright use, the assets in game. Except for APEX. I believe this "lite" or ingame previews has generated more sales achieved than leave the DLC without a lite option. Seeing your squad mates use cool new gear in game and how it functions is a lot better than watching a video or static picture on the internet. I hope there will be something AT LEAST like a free weekend to test drive it and let the community taste the potential of user DLCs. Hey what do I know outside of my biz dev work bubble...
  24. PCanas

    Arma 3 is messing my connection

    Well, kind of. I'd have to pass some meters of cable through the house, since the router is "fixed" on the first floor, and the computer is in the second floor. The distance, which in s straight line might be something sround 3 or 4 m, and having a floor in between slows down the connection, obviously. However, I usually have around 60/70 Mbps of upload speed, but only 10/15 of download (in good days), which doesn't make sense, becasue the connection is exactly the same and is going via Wi-Fi both ways. Also, I don't think that might be the problem, because as I said, it only happens with Arma and only if I'm inside the game. Right now, as I write this, I'm playing with my unit and if I alt-tab into the game, the problem shows up immeadiatly. In fact, I've disconnected about 4 times already.
  25. Funny, I have exactly the same issue in one of my missions. No matter what I do, the stupid helicopter goes back to landing, because the ai squad wants to board it again. This certainly wasn't a thing some time ago.
  26. Update looking good 👍. Also looking forward to see if anything can be done about the default # of groups sent for recon. Thanks Ninja!
  27. I think I have it working satisfactorily. It has a couple hacks in it, one being the land "NONE" from Pierre, but I had to loop it until everyone jumps out. The other is detect if the helo stops at a waypoint and then tell it to go to the next waypoint. AZC_FNC_PARADROP = { params["_helo"]; // units complain about no ammo while floating, disable radio temporarily enableRadio false; private["_units","_group1","_group2","_group3"]; _units = fullCrew [_helo,"cargo",false] apply { _x select 0; }; { unassignVehicle _x } forEach _units; _units allowGetIn false; [_units,_helo] spawn { params["_groupUnits","_helo"]; while { { (_x in _helo) } count _groupUnits > 0 } do { _helo land "NONE"; }; // usually they stop at waypoint 2 for no reason waitUntil { speed _helo < 5 }; _waypoint = currentWaypoint (group _helo); if (_waypoint < 3) then { (group _helo) setCurrentWaypoint [(group _helo),(_waypoint + 1)]; } else { if (_waypoint == 3) then { (units group _helo) call AZC_fnc_Delete; }; }; }; { sleep 0.5; _x addBackpack "B_Parachute"; _x action ["Eject",(vehicle _x)]; _x allowDamage false; } forEach _units; _units allowGetIn false; { [_x] spawn { params["_unit"]; waitUntil { isTouchingGround _unit }; // this code snippet is from cobra4v320 COB_HALO _unit setPos [(getPos _unit select 0), (getPos _unit select 1), 0]; _unit setVelocity [0,0,0]; _unit setVectorUp [0,0,1]; sleep 1; _unit allowDamage true; }; } forEach _units; waitUntil { isTouchingGround player }; enableRadio true; };
  1. Load more activity
×