johnnyboy 3792 Posted April 12, 2019 JBOY AI Scripted Path - Beta Release 12/2/19. This script moves AI quickly through a path of positions while fighting. In this video we see a stack of 4 units clear a house, breach doors, and dynamically fight. Also this script can be used to create moving AI on static structures that have no AI paths (like new destroyer, Cargo Ship Mods, Oil Rig compositions). For example: It's now possible to have AI defenders patrolling an Oil Rig, or AI attackers assault an Oil Rig. Above video credits: @beno_83au for breaching chard script, and RHS for pump shotgun. Flashbangs: Thank Phronk for flashbang. Player orders teams to execute different paths, and orders a synchronized breaching by two teams: Download "How To" Demo Mission: Dropbox Link (updated 12/2/19) Use this version to create your own path following my "how to" video. Note: Requires mods CBA_A3 and Enhanced Movement. Download Example Mission from 2 story clear building video: Dropbox Link (updated 12/2/19). Requires mods CBA_A3, Enhanced Movement and RHSUSAF Older videos: Spoiler Features added 6/24/2019: Flashbangs (thanks Phronk) Improved grenade and flashbang throwing accuracy Player controlled team can execute paths for teams to follow (i.e., order team to sweep building) AI will stack up outside entry and wait for Go order. This allows synchronized breaches of a building with more than one team. Features working so far: AI moves through series of hardcoded positions recorded in an array. @beno_83au's awesome door breaching Shotgun door breaching. Aims exactly at door jamb where handle is. Multiple stacks can execute multiple paths simultaneously Supports 1 to 4 units running through movepoints Lead unit uses hand gestures and in-game voice file to command team Leader tosses Flash Bangs (thanks Phronk) and grenades into rooms or up stairs (and followers take cover) If unit clips and falls off balcony, he is killed so does not ruin entire teams moves AI can fire while moving AI will stop before doors and open them. AI plays animation to test if door is locked, and you see door handle animated, and hear custom locked door jiggle sound. AI resumes ai behaviour and waypoints after successfully executing a move script AI can climb ladders AI can use Enhanced Movement mod and climb fences and objects Planned: Spoiler Collude with @madrussian to integrate his node generator Integrate with @sarogahtyp's path calculate script AI interacts with hostages (get down!) AI move from window to window to cover/observe outside building AI domestic activity in house (move around house, light fire in fire place, turn on/off lights, sit in chair, use toilet, use computer, watch TV) Suggestions? Known Issues: Spoiler Units occasionally clip thru walls, or clip thru railings and fall. When 4 man team is using Enhanced Movement to climb objects, 4th guy sometimes doesn't make the climb. Path array used in latest video (6/14/2019 Spoiler // ********************************************************************** // Test series of moves // ********************************************************************** _path1a = [ [[2878.39,6000.53,0.00143647],[""],"amovpercmtacsraswrfldf",117.957,"UP",1,false,2], [[2881.15,5999.16,0.266593],["door","gunbreach","arcLeft"],"amovpercmtacsraswrfldf",123.663,"UP",1,false,0], // entry door [[2883.29,5997.63,0.328665],["arcLeft"],"amovpercmtacsraswrfldf",290.121,"UP",1,true,1], // isFiring set to True so forced shooting while moving forward [[2886.78,5999.24,0.248931],["wide",""],"amovpercmtacsraswrfldf",13.9723,"UP",1,false,2], // center of first room [[2886.92,6002.04,0.274967],[""],"amovpercmtacsraswrfldf",358.34,"UP",1,true,2], [[2886.71,6004.42,0.317038],["arch","arcRight"],"amovpercmtacsraswrfldf",33.8073,"UP",1,false,0], [[2888.23,6006.87,0.32576],["reverse","arcRight"],"amovpercmtacsraswrfldf",133.826,"UP",1,false,0], [[2886.63,6000.57,0.265674],[],"amovpercmtacsraswrfldf",134.553,"UP",1,false,0], [[2888.71,5998.46,0.192748],["stairs","arcLeft"],"amovpercmtacsraswrfldf",37.6283,"UP",1,false,0], [[2890.52,6000.27,1.03856],["stairs","arcLeft"],"amovpercmtacsraswrfldf",30.1491,"UP",1,false,0], [[2891.64,6001.8,1.81644],["stairs","arcLeft","grenade"],"amovpercmtacsraswrfldf",302.025,"UP",1,false,2], // stairs landing [[2889.72,6003.35,2.83963],["stairs","arcLeft"],"amovpercmtacsraswrfldf",290.946,"UP",1,false,2], [[2887.69,6004.5,3.72556],["stairs","arcLeft"],"amovpercmtacsraswrfldf",126.211,"UP",1,false,2], [[2886.22,6003.6,3.7361],[""],"amovpercmtacsraswrfldf",231.831,"UP",1,false,2], [[2883.82,6003.13,3.77653],["arcLeft"],"amovpercmtacsraswrfldf",175.194,"UP",1,false,2], [[2884.06,5999.18,3.76291],["reverse","arcLeft"],"amovpercmtacsraswrfldf",166.922,"UP",1,false,2], [[2883.18,6000.64,3.7803],[""],"amovpercmtacsraswrfldf",132.283,"UP",1,false,2], [[2885.34,6002.04,3.72978],[""],"amovpercmtacsraswrfldf",24.9981,"UP",1,false,2], [[2887.23,6004.78,3.72991],["door","benobreach",""],"amovpercmtacsraswrfldf",22.2814,"UP",1,false,0], [[2888.99,6008.09,3.71968],["reverse","arcRight"],"amovpercmtacsraswrfldf",125.812,"UP",1,false,4], [[2887.12,6004.73,3.73123],["stairs","","cleared","arcRight"],"amovpercmtacsraswrfldf",115.184,"UP",1,false,4], [[2891.79,6002.25,1.81065],["stairs","clear","arcRight"],"amovpercmtacsraswrfldf",207.687,"UP",1,false,2], // flaged as "cleared" meaning house cleared. [[2888.41,5997.32,0.17694],["stairs","arcRight"],"amovpercmtacsraswrfldf",231.765,"UP",1,false,0], [[2884.54,5997.14,0.299843],["stairs","arcRight"],"amovpercmtacsraswrfldf",293.001,"UP",1,false,0], [[2881.64,5998.56,0.257141],["","arcRight"],"amovpercmtacsraswrfldf",298.587,"UP",1,false,0], [[2878.47,6000.47,0.00144124],[""],"amovpercmtacsraswrfldf",300.205,"UP",1,false,0], // [[2875.57,6001.86,0.0014379],[""],"amovpercmtacsraswrfldf",297.669,"UP",1,false,2] ]; I tried to generate a path through a building based on building positions and building door positions, but that is not enough information for a clear path. The script uses "playMove animationName" to move a unit from one position to another. This requires an unobstructed line from one positions to another. If we used building positions alone, then AI would pass through walls and would not climb stairs. I am creating a little utility so that you can walk through a building in the editor and record each path position in an array. You can then copyToClipboard the array and paste it in a script to create a new path (like a series of waypoints). How you create your own custom move path array: These instructions assume you are editing my test demo mission to learn the basics of creating a custom path of movepoints. Spoiler 1. Open demo mission in editor 2. Place a marker on a building you want to create a path for and name it. In my case I named the marker "mrkBldg1". 3. At top of init.sqf change this line to use your marker name: _house = nearestBuilding getMarkerPos "mrkBldg1"; 4. At bottom of my init.sqf you see this line. This creates a couple of Actions in Player Action menu for you to record your own building path. // ********************************************************************** // Mission designer leaves this call active to use Fire event to record a path. // Path stored in clipboard and path array variable named playerPath // ********************************************************************** _n=[_house] execVM "JBOY_SnS\playerRecordPath.sqf"; 5. Click Play Scenario. Choose second action menu item titled "Record WORLD position (not relative to building))". (I don't know if the first option works, as I haven't tested it yet). 6. Move your player to the first position you want in your movement array, and fire your weapon. This creates the array and adds the first movepoint to it. For this example I went to the backdoor of same building I use in demo mission, and fired about 10 feet from door. its good to have first position away from building, which gives stack a better point form themselves up. 7. Move to position just outside door, face the door, and fire your weapon. A second point is created here. Open door and go inside and fire again. And a third point is created. You can stop here just to see if the sucker works. Your clipboard now contains the following array with 3 rows: [[[2892.1,5995.19,0.00143886],[""],"amovpercmtacsraswrfldf",29.4404,"UP",1,false,2], [[2895.4,6003.49,0.00143886],[""],"amovpercmtacsraswrfldf",303.207,"UP",1,false,2], [[2891.25,6006.07,0.18121],[""],"amovpercmtacsraswrfldf",298.216,"UP",1,false,2]] 8. Paste your new array into the init.sqf and assign it to a variable. Put this below the arrays I have already created. And add a call to augment_path to pre-process the array. Your array and the call should now look like this in the init.sqf: _trickys_path = [ [[2892.1,5995.19,0.00143886],[""],"amovpercmtacsraswrfldf",29.4404,"UP",1,false,2], [[2895.4,6003.49,0.00143886],[""],"amovpercmtacsraswrfldf",303.207,"UP",1,false,2], [[2891.25,6006.07,0.18121],[""],"amovpercmtacsraswrfldf",298.216,"UP",1,false,2] ]; _trickys_path = [_trickys_path,_house] call JBOY_augmentPath; 9. When you created the move points, the second one was just outside a door. So let's modify the second column in the second row to contain "door". _trickys_path = [ [[2892.1,5995.19,0.00143886],[""],"amovpercmtacsraswrfldf",29.4404,"UP",1,false,2], [[2895.4,6003.49,0.00143886],["door"],"amovpercmtacsraswrfldf",303.207,"UP",1,false,2], [[2891.25,6006.07,0.18121],[""],"amovpercmtacsraswrfldf",298.216,"UP",1,false,2] ]; _trickys_path = [_trickys_path,_house] call JBOY_augmentPath; 10. Your first path is set up. Now you need some units to run through the path. Create two new units and place them near the first position, and name them tricky1 and tricky2. Then add the following code to the init.sqf. This code will have your two units tricky1 and tricky2 run through the path called _trickys_path. Play the mission through the editor and watch the units move to the door, open it, shoot anybody they see, and go inside. _n = [_trickys_path] spawn { params["_path"]; sleep 1; // give time for house positions, doors, etc. to initialize _stackMembers = [tricky1, tricky2]; // If you start team in Stealth mode, they start slow and quiet. But with first shot fired or breach, they then // switch to combat, speak loudly, and move fast. {_x setBehaviour "Stealth"; _x setUnitPOS "UP";} foreach _stackMembers; sleep 1; [_stackMembers, _path, house, doorPositions, doors, 0,0,getpos (_stackMembers select 0), group (_stackMembers select 0), true] execVM "JBOY_SnS\stackManager.sqf"; // ********************************************************************** // Set team INVINCIBLE for testing path movement. Remove or comment out for real mission. // ********************************************************************** //{_x allowDamage false;} foreach _stackMembers; }; If the unit does not open the door, and walks through it instead, then the position recorded is not close enough to the door. It's important to make this position just outside the door and centered so when the unit opens the door he can see inside. If he is off to the side he will ghost thru the wall some, or get shot by an enemy inside that he didn't see (but should have if he was lined up with center of door). You may need to adjust your door position until he looks good opening door and entering. To record another position, just use the action menu again as described in step 6 and shoot once to record one position into your clipboard. If that all works you have the basics down to create your own path for any building. With the above path, the lead unit will simply open the door. To have the unit breach and/or use grenades, try the following. To make the door entry more dynamic, you can modify the second row flagged with "door" with various combinations. Edit the path like below, save, and play to see the different actions take place. 11. Edit path to make first unit use breaching charge to open door by adding "benobreach" to second row second column: _trickys_path = [ [[2892.1,5995.19,0.00143886],[""],"amovpercmtacsraswrfldf",29.4404,"UP",1,false,2], [[2895.4,6003.49,0.00143886],["door","benobreach"],"amovpercmtacsraswrfldf",303.207,"UP",1,false,2], [[2891.25,6006.07,0.18121],[""],"amovpercmtacsraswrfldf",298.216,"UP",1,false,2] ]; _trickys_path = [_trickys_path,_house] call JBOY_augmentPath; 12 Edit path to make first unit use gun breach. _trickys_path = [ [[2892.1,5995.19,0.00143886],[""],"amovpercmtacsraswrfldf",29.4404,"UP",1,false,2], [[2895.4,6003.49,0.00143886],["door","gunbreach"],"amovpercmtacsraswrfldf",303.207,"UP",1,false,2], [[2891.25,6006.07,0.18121],[""],"amovpercmtacsraswrfldf",298.216,"UP",1,false,2] ]; _trickys_path = [_trickys_path,_house] call JBOY_augmentPath; 13 Edit path to make first unit use gun breach and toss a grenade in. _trickys_path = [ [[2892.1,5995.19,0.00143886],[""],"amovpercmtacsraswrfldf",29.4404,"UP",1,false,2], [[2895.4,6003.49,0.00143886],["door","gunbreach","grenade"],"amovpercmtacsraswrfldf",303.207,"UP",1,false,2], [[2891.25,6006.07,0.18121],[""],"amovpercmtacsraswrfldf",298.216,"UP",1,false,2] ]; _trickys_path = [_trickys_path,_house] call JBOY_augmentPath; That should be enough to get you started. How to create a Climb Ladder or Enhanced Movement Climb move point: Spoiler When creating move points while shooting as describe above, you want to move the player unit to point directly before ladder or object to climb, and face unit directly at object or ladder. Then shoot once to record a move point at that position. Next climb the ladder, or use Enhanced Movement key to climb the object. Then continue to record other move points. The path array in your clipboard text will contain new special codes to flag this movepoint as a "climb" case, or a "LadderUp" or "LadderDown" case. That is all there is to it. 30 3 Share this post Link to post Share on other sites
beno_83au 1369 Posted April 12, 2019 That looks pretty good for a first cut. Teams would be a sight to see. 1 Share this post Link to post Share on other sites
Play3r 147 Posted April 12, 2019 this looks like a great thing to have in game 1 Share this post Link to post Share on other sites
froggyluv 2136 Posted April 12, 2019 Woah...very impressive 1 Share this post Link to post Share on other sites
sarogahtyp 1108 Posted April 12, 2019 could u post which informations u need to get a not hard coded solution? maybe a talented scripter would try to get those by script... Share this post Link to post Share on other sites
johnnyboy 3792 Posted April 12, 2019 14 minutes ago, sarogahtyp said: could u post which informations u need to get a not hard coded solution? maybe a talented scripter would try to get those by script... Great minds think alike! 🙂 I plan on making a separate Script Challenge post for this with a screenshot showing existing Building Positions and Door positions, plus helper arrows marking the additional line of sight markers that I need for complete paths. It is probably possible to do that starting from a door and raycasting around, but its not something I'm willing to take on... I should post this request later today. 1 Share this post Link to post Share on other sites
zagor64bz 1225 Posted April 12, 2019 This could lead to something REVOLUTIONARY. Getting AI to follow hard coded waypoints...even on custom composition. (...OIL rigs for example...hehehehe) As always...good job mate! 2 1 Share this post Link to post Share on other sites
johnnyboy 3792 Posted April 12, 2019 7 minutes ago, zagor64bz said: This could lead to something REVOLUTIONARY. Getting AI to follow hard coded waypoints...even on custom composition. (...OIL rigs for example...hehehehe) Thanks amigo. That is EXACTLY what this script is good for. Oil Rigs, Ship Addons, the new Destroyer, a custom fortification...they all are missing AI paths, so any missions made are all placing static AI units that can't move (i.e., a little boring...). But a mission maker can now put AI on an oil rig and make different move scripts (patrol, etc.) and make the rig come alive. And you could also script AI to assault the oil rig using different paths. 3 Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted April 12, 2019 Johnnyboy 5 2 Share this post Link to post Share on other sites
Defunkt 431 Posted April 12, 2019 Cool bananas 🍌. Could be quite a big deal and a must-have mission include. In addition to whatever turns up from the script challenge I hope you might accept submission of predefined pathing information by building class name for a data file distributed with the script. There are only so many unique buildings in the ArmAVerse and we might eventually get them all indexed (more reliable and efficient than real-time calculation). With the script acting as a fallback where the class is not present in the data file. EDIT: Something else, hopefully weapon use, and particularly grenades might be moderated by some overall ROE (specified at the time of execution) in terms of likely threat level, presence of non-combatants and the like. Ranging from "Enter with Minimum Necessary Force" (no lethal grenades) up to "Breach with Maximum Prejudice" (shoot first, open doors later). 2 Share this post Link to post Share on other sites
johnnyboy 3792 Posted April 12, 2019 42 minutes ago, Defunkt said: In addition to whatever turns up from the script challenge I hope you might accept submission of predefined pathing information by building class name for a data file distributed with the script. There are only so many unique buildings in the ArmAVerse and we might eventually get them all indexed (more reliable and efficient than real-time calculation). With the script acting as a fallback where the class is not present in the data file. Absolutely. We should compile a path library that anybody can contribute to. If it turns out we have to hardcode scripts per building, there's no way I can do them all. So as people are interested in a particular building, they can contribute their own assault paths. Personal preferences may drive many different paths for any given building. And if the building generated path concept does end up working, a mission maker can choose that path, or a preferred hardcoded path. I will have to document how create your own path, to make it as easy as possible for mission designers to construct their own. I probably won't do that until the design is more mature. 42 minutes ago, Defunkt said: Something else, hopefully weapon use, and particularly grenades might be moderated by some overall ROE (specified at the time of execution) in terms of likely threat level, presence of non-combatants and the like. Ranging from "Enter with Minimum Necessary Force" (no lethal grenades) up to "Breach with Maximum Prejudice" (shoot first, open doors later). All good ideas. I'm considering how best to parameterize this type of stuff. Hopefully support both fully customized at each move point, and more high level instructions as per your suggestion ("minimum force", "use non-lethal weapons", "maximum force"). But I need to get the basic framework and mechanics down before I take on too many requirements. It will evolve. Good thinking...we are on the same wavelength. 1 Share this post Link to post Share on other sites
Defunkt 431 Posted April 12, 2019 21 minutes ago, johnnyboy said: a mission maker can choose that path Beyond choices by the mission maker it'd be good to see this as an action menu entry for any player with subordinate AI, most likely calling up a dialog listing nearby buildings and available assault plans for each then executed for all units in groupSelectedUnits. But you're right of course, carefully defining an extensible path data format and creating a handy tool for generating it is the most important thing at this stage. 2 Share this post Link to post Share on other sites
zagor64bz 1225 Posted April 12, 2019 5 hours ago, johnnyboy said: Thanks amigo. That is EXACTLY what this script is good for. Oil Rigs, Ship Addons, the new Destroyer, a custom fortification...they all are missing AI paths, so any missions made are all placing static AI units that can't move (i.e., a little boring...). But a mission maker can now put AI on an oil rig and make different move scripts (patrol, etc.) and make the rig come alive. And you could also script AI to assault the oil rig using different paths. As I mentioned before, I wanted to do a REDUX of the old PS "SOCOM:US NAVY SEALs" game...with iconic missions like the one in the Ship and the infamous Oil rig , but it would have been a nightmare to get AI to navigate those custom composition. Honestly I was ready to give up ...until your script shined some light in the dark. THANK YOU!!! 2 Share this post Link to post Share on other sites
johnnyboy 3792 Posted April 12, 2019 6 hours ago, johnnyboy said: 6 hours ago, sarogahtyp said: could u post which informations u need to get a not hard coded solution? maybe a talented scripter would try to get those by script... Great minds think alike! 🙂 I plan on making a separate Script Challenge post Script challenge for generating paths for buildings posted here: 1 1 Share this post Link to post Share on other sites
LSValmont 789 Posted April 12, 2019 16 hours ago, johnnyboy said: JBOY AI Scripted Path - This is my first draft of a script to have AI move quickly through a path of positions while fighting. In this video I follow an AI unit as he clears a house, and uses grenades intelligently. Also this script can be used to create moving AI on static structures that have no AI paths (like new destroyer, Cargo Ship Mods, Oil Rig compositions). For example: It's now possible to have AI defenders patrolling an Oil Rig, or AI attackers assault an Oil Rig. Ohhhh I knew I should've had delayed my Vdog Script release... this script tech you've developed is revolutionary indeed! Bohemia... what are you waiting for and not hiring this guy already? 3 1 Share this post Link to post Share on other sites
froggyluv 2136 Posted April 13, 2019 One thing i love about this is how quickly they move thru the house - it seems that with all House Clearing scripts they move at a snails pace -the crouch walk -which is fine if your in a Stealthy mood -but sometimes you just gotta bum rush a brutha 2 Share this post Link to post Share on other sites
johnnyboy 3792 Posted April 13, 2019 7 minutes ago, froggyluv said: One thing i love about this is how quickly they move thru the house - it seems that with all House Clearing scripts they move at a snails pace -the crouch walk -which is fine if your in a Stealthy mood -but sometimes you just gotta bum rush a brutha Exactlioto, quasimoto. 2 Share this post Link to post Share on other sites
johnnyboy 3792 Posted April 15, 2019 More AI scripted path fun. Here we see AI climb 3 flights of stairs, cross 3 different building roof tops, jump from one building to another, step over low wall, jump to roof of van, and down to the ground. The stair climbing would have been smoother if I used a slower walk animation in those tight spaces. 9 Share this post Link to post Share on other sites
Defunkt 431 Posted April 16, 2019 Nice. Watched it several times (with Froggy's soundtrack 😉). First two turns at the bottom of the stairs he appears to rotate through the less natural of the two possible arcs. Don't know what exists in terms of suitable moves but ideally they'd go up and down stairways sideways (facing toward the opposite stairs or the next landing) so as to appear to be covering emerging threats - think it would also make each rotation on the landings look a little more natural. Possibly best implemented as properties of the 'waypoint' (rather than the script trying to add smarts which might prove not to be appropriate) - this may already be the case and the route just needs some tweaking Can't help but want to drag those markers around a little to improve the path (for instance when he clips through the wooden ramp because the preceding marker wasn't as aligned with the base of the ramp as it might've been). Are you anticipating a facility to tweak marker positions visually in the editor? Share this post Link to post Share on other sites
stburr91 1002 Posted April 16, 2019 That Matrix jump by the AI in the last video was impressive. Did he make it on his first jump? All joking aside, this looks really interesting, nice work. 1 1 Share this post Link to post Share on other sites
johnnyboy 3792 Posted April 16, 2019 7 hours ago, Defunkt said: Don't know what exists in terms of suitable moves but ideally they'd go up and down stairways sideways (facing toward the opposite stairs or the next landing) so as to appear to be covering emerging threats - think it would also make each rotation on the landings look a little more natural. Possibly best implemented as properties of the 'waypoint' (rather than the script trying to add smarts which might prove not to be appropriate) - this may already be the case and the route just needs some tweaking 7 hours ago, Defunkt said: First two turns at the bottom of the stairs he appears to rotate through the less natural of the two possible arcs. I was using fast tactical forward run animations on stairs (the default), so this can likely be improved by slowing him down for the the 2 points on the landing, and potentially using sidestepping as you suggest. I haven't implemented his direction of covering while moving yet (points forward while moving, with his AI dragging the rifle a little left or right while moving). 7 hours ago, Defunkt said: Can't help but want to drag those markers around a little to improve the path (for instance when he clips through the wooden ramp because the preceding marker wasn't as aligned with the base of the ramp as it might've been). Are you anticipating a facility to tweak marker positions visually in the editor? Currently I set markers in a series by running player through editor and using a Fired event. When I fire I capture position, stance, and direction for the "move point" and append it to an array. The array is copied to clipboard, so you can paste it into an editor at any time. Once path array is assigned to a path variable, you can run it on an AI. For tweaking positions, I observe the AI move (like the plank miss) and stand the player in a slightly different spot, fire, capture the new "move point" entry, and replace it in the array. Visually dragging in editor is very doable and a better solution (but down the road). Part of the problem with the plank miss, is playMove doesn't always land him exactly on the move point. The faster the animation the less accurate (can be off up to a meter it seems). So I may switch to slower animation as he approaches the end point to improve accuracy. Also, for the plank case, we could always add a second plank to make it wider (the path in that video would always be a World Position hardcoded path, so might as well add the plank. It could never be a building generated path as it spanned multiple buildings, using only rooftops and one set of stairs.) I also modified the capture code to sense if two move points are less than 2 meters apart. If so, my code generates the slower tactical move, which should result in greater end point arrival accuracy, and less twitchiness on tight corners like the stairs. Anyway, all good observations dude, and I'm already giving thought to all that. Thanks for the interest. Share this post Link to post Share on other sites
johnnyboy 3792 Posted April 16, 2019 2 hours ago, stburr91 said: That Matrix jump by the AI in the last video was impressive. Did he make it on his first jump? First time, every time. Guaranteed. Thanks man! Share this post Link to post Share on other sites
kremator 1065 Posted April 16, 2019 1 hour ago, johnnyboy said: I also modified the capture code to sense if two move points are less than 2 meters apart. If so, my code generates the slower tactical move, which should result in greater accuracy end point arrival accuracty, and less twitchiness on tight corners like the stairs. This will make it look really cool! Now...is there ever gonna be a way to automate this? I'm thinking C2 style (by madcheese) .. you point at a building and an addaction appears (addaction attached to that particluar building of course) Share this post Link to post Share on other sites
johnnyboy 3792 Posted April 16, 2019 1 minute ago, kremator said: This will make it look really cool! Now...is there ever gonna be a way to automate this? I'm thinking C2 style (by madcheese) .. you point at a building and an addaction appears (addaction attached to that particluar building of course) Absolutely. Future: Player looks at building and selects units, and action appears to clear building (if there is a path pre-defined for that particular building or building class). Can also be triggered anyway a mission designer wants (proximity triggers, etc.). Share this post Link to post Share on other sites
froggyluv 2136 Posted April 16, 2019 Gonna lmfao if I ever see an enemy ai jump off a roof to a van to take a shot at me. For ultimate cheese you should add the tumble animation from iron front for the landing 1 Share this post Link to post Share on other sites