Jump to content

M. Buchanan

  • Content Count

  • Joined

  • Last visited

  • Medals

Community Reputation

21 Excellent

About M. Buchanan

  • Rank
    Private First Class

Recent Profile Visitors

880 profile views
  1. M. Buchanan

    WMO - Walkable Moving Objects

    What can I do with the LOD in eden that ships with this mod?
  2. I have exported the full map image (without terrain overlay) from the game for mission makers. Below, find versions with and without grids... Though the grid thing used to be an issue, these appear to be accurate. Be advised, these are large files. http://www.3-75thrangers.net/forums/Themes/darkmodern202/images/lythium.pnghttp://www.3-75thrangers.net/forums/Themes/darkmodern202/images/lythium_nogrid.png
  3. Would the maker be willing to provide high res emf file for use in mission making? Or would that endanger your work? Been trying to extract using the kk blog instructions for a day and a half but no file will appear.
  4. M. Buchanan

    RHS Escalation (AFRF and USAF)

    If I wanted to detect whether or not the MHQ shelter was deployed, is there a variable or something I can check against? Or do I need to detect the animation and work off of that?
  5. M. Buchanan

    General Discussion (dev branch)

    What do you think it is, because I have no idea. And I want to know.
  6. M. Buchanan

    Dynamic Simulation Feedback

    I am running into a potential issue where units dynamically simulated are not hitting their waypoints once they wake up. I am using the bis_fnc_defendArea or whatever it is to set a random patrol. Anyone running into similar waypoint issues with this feature, before I post something up officially?
  7. M. Buchanan

    Vcom AI V2.0 - AI Overhaul

    My fix was to place the vehicle directly, as described in the ALiVE Wiki here. Then I put that code in the vehicle's init. Another option would be to put some minor adjusted code on the pilot/group leader, which also seems to work for me. JD Wang's code is incorrect, as _x is used inside a forEach loop to reference the current item in the array. this is typically only used in an init field to reference the object being initialized. I believe the issue is that the ALiVE Module places the code in the init of a group or unit, but not vehicle... and crew only works on a vehicle. I mentioned it in a post on this thread a few weeks ago, I think.
  8. M. Buchanan

    Vcom AI V2.0 - AI Overhaul

    Not at all, and you are correct @das attorney. I misspoke. You can definitely still mess up when trying to go unscheduled, and it is by no means a silver bullet. It IS part of good coding practices though, and CBA helps immensely with allowing you to stick to those good practices. That there ^^ is not truly what I meant. That's vanilla code that doesn't make use of the smartly done unscheduled stuff that CBA makes easy for you. To your second point, I disagree. Of course what's in your logic matters, but how you split that logic up into functions, how you encapsulate it with smart running unscheduled loops, how you initiate it with lightweight event handlers or FSM (or FSM event transitions)... That stuff all matters a great deal. That stuff is how you make monster code like the example above actually possible. Back to the point... next time you need to run something 100,000 times like that, don't use that. Use a CBA per frame handler. Next time you need to wait for 3 seconds, don't sleep the UI in a spawned thread. Use cba_fnc_waitUntilAndExecute. Next time you need to run a simple bit of math, and not 100,000 times hopefully, use a direct call. Plus a few other little things in that single block of code that could be moved to CBA when appropriate. Just.. if you're not on the coolaid, take a look at the stuff. and @genesis92x super glad to hear you're giving it a go. If you ever need more people just put the word out. edit.. it would be waitAndExexute, not waitUntilAndExecute. But you get the idea.
  9. M. Buchanan

    Spyder Addons

    damnit spyder I JUST loaded the game
  10. M. Buchanan

    Vcom AI V2.0 - AI Overhaul

    The state machines only share the name state machine and... that's about it. All of CBA's stuff is unscheduled, which means there's no impact on frames. Check out ACE 3 Medical AI under addons/medical_AI on github for a look. The guy who wrote the state machine also wrote this AI, and you literally don't even notice it's running. As far as moving a lot of what you're doing over to CBA, then trying to migrate back... Not so easy for two reasons. One, your lizard brain will tell you you'd be making a huge mistake! Two, the code is very dissimilar and using CBA takes a bit more syntactical know how than vanilla SQF functions. You'd be doing a full rewrite, if you used CBA everywhere you could. If you want to learn to work with CBA, jump on the ACE 3 slack. They're mostly the CBA guys as well as ACE guys, and they're amazing coders. I can't speak for the whole community, and maybe I just got lucky and fell into it... But I don't know anyone who DOES play with an AI mod and doesn't play with CBA. My two cents on that.
  11. M. Buchanan

    Iraqi-Syrian Conflict

    Sounds like the person wasn't banned for asking the question, but because the thread kept getting bumped over an argument. So pls, lets not do that. Anyway, for the dev of this mod, the question stands... because it's a valid question. Especially considering it's RHS dependent and there was just a huge RHS update. I need to know so I can decide if I want to use it over a similar mod. If not, I'd like to speak to you about some use of assets. Thank you!
  12. M. Buchanan

    Vcom AI V2.0 - AI Overhaul

    @patpowercat this works fine for units created later via zeus, etc. However if you want the easiest solution for CAS, Transport and Artillery, use this in the code boxes available in each respective module. {_x setvariable ["NOAI",true];_x setvariable ["VCOM_NOPATHING_Unit",true];} foreach (Crew this); @HeroesandvillainsOS @spyderblack723 @tupolov note: I am assuming this code goes in the units init, right? If that is the case, something is up with respawn, because they revert to VCOM AI behavior after the first time they die. This is particularly noticeable when a 155 gun you thought was static starts shooting 10 feet away from you at 3am. Also, there was something else but I can't remember. Will post it on ALiVE forums. @genesis92x.. If you are going for adoption by larger CoOP groups (mine uses ACE, ALiVE, TFAR, and RHS, among others), may I humbly suggest a few things that would be fairly easy to add to your enviously sized FSM? Have Artillery check a location radius for civilians (and friendly units, including IND if aligned) before firing (inAreaArray is your friend). Could be an optional parameter. I watched in horror last night as a battery of m109's gleefully destroyed the largest town on Clafghan. They were laughing, it was sick. This one ain't so easy. I like your rank based system for applying skill levels, but there's a major flaw with dynamic mods like ALiVE, or anyone who uses zeus. Almost all units pop in as privates.. and thus are total losers. Consider a way to define classes and the skills they would get? Or maybe it would be easier to just assign them rank using the same method. Another option... and the hardest one... Go the ACE 3 route and use 3den modules for everything. Set skills in module, apply those skills to units based on class, or rank, or module sync. You want to speed things up?? Move what logic you can over to the CBA state machine. It's intensely fast, and lets you define all of your states and transitions in a seemingly easier .hpp class structure than the one in vanilla. @baermitumlaut wrote it. He loves people, and loves to answer anyone's questions at any time, day or night. Right buddy?
  13. M. Buchanan

    Iraqi-Syrian Conflict

    Is this mod still being actively developed and maintaned?
  14. M. Buchanan

    Vcom AI V2.0 - AI Overhaul

    He had a minor error. Try this. [ { { If (!isNull (driver _x) ) then { { if !(_x getVariable ["NOAI",false]) then { _x setVariable ["NOAI", true, false]; }; } foreach (units group (driver _x)); }; } Foreach (vehicles select {_x isKindOf "Helicopter"}); }, 10, [] ] call CBA_fnc_addPerFrameHandler;