Jump to content


  • Content Count

  • Joined

  • Last visited

  • Medals

Community Reputation

801 Excellent

About Leopard20

  • Rank
    Master Sergeant

Contact Methods

  • Website URL
  • Twitter
  • Youtube
  • Steam url id
  • Reddit

Profile Information

  • Gender
  • Location
  • Interests
    Military stuff, Programming, Artificial Intelligence, Robotics

Recent Profile Visitors

12669 profile views
  1. Hi. I'm currently taking a break from gaming. I'll get back to it in a month or two. As for the progress, this is what I am (was) doing: There were some limitations that I couldn't overcome, such as caching object animations which didn't work on wind turbines (and any object with time dependent animations), but they were relatively minor (the turbine, for example, would only cause problems for air vehicles) The new async path finding algorithm is also partly done. But that's just about it. So the development of the new "AI engine" is still far from complete. Unfortunately most of the features I needed were ignored by the devs, and from the looks of it they may never add it. So the project will never look as good/complete as I wanted.
  2. Leopard20

    Advanced Developer Tools

    V3.0 update: https://steamcommunity.com/sharedfiles/filedetails/?id=2369477168 # Added: * Debugger: Say goodbye to `systemChat`, `hint`, etc. Debug your code using breakpoints like a pro! The debugger has a feature-rich variable viewer to help you monitor your variables. There are 2 ways to set breakpoints: Directly via console, and indirectly using external text editors. 1. Direct: Place breakpoint by clicking next to a line number. To disabled the breakpoint, press Ctrl+ Left Click. To set the breakpoint condition, press Ctrl + Right Click. 2. Indirect: Add '#include "\dbug\debug.h"' at the top of your file. Then place breakpoints using the BREAK macro. In this mode breakpoints are not customizable (disable/condition not available) Breakpoint limitations: 1. You can only place breakpoints before the code is executed. However, you can edit breakpoints (remove/disable/set condition) after the code is executed (if breakpoints were added via console) 2. Breakpoints cannot pause the game in unscheduled environment (because that equals total game freeze). However scheduled scripts can be paused if you want to (available in mod options) * Variable Viewer: Used to view variables in debug mode. It can display different types, e.g. objects/positions are shown in the world, and controls are highlighted using Red boxes. It is possible to add custom watches per variable type using the + button. To remove a watch, select it, then right click on the watch window. * On-the-fly function edit: If you add your functions using CfgFunctions and enable allowFunctionsRecompile = 1, you can edit your functions directly through the console and set breakpoints. This feature can be disabled through mod options. To use this feature, open your function though the Function Viewer. # Improved: * The built-in preprocessor now fully supports all vanilla preprocessor features, and SQFVM PP is now deprecated. Be sure to switch to the Built-in (SQF) preprocessor in Mod Settings. * IntelliSys can now handle macros properly. # Known issues: * IntelliSys caching was broken and it's force-disabled. This makes intellisys slower than before. This issue will be addressed in the next update. Video of breakpoint feature: https://twitter.com/Leopard2O/status/1559221867701047299
  3. Leopard20

    Advanced Developer Tools

    Yeah left over code due to copy paste. Will remove. Thanks for reporting the problem.
  4. https://community.bistudio.com/wiki/Scheduler It's not. If it was I would announce it. No need to ask every time. They're not really engine limitations. The engine is capable of the features I want. They're just "locked" (not accessible via scripting commands) Two of the most important ones for me are: 1. No command for manually controlling AI aiming. This limits my AI movement a lot. I have a workaround for it but I'd rather use the native engine aiming, because that would be faster and better looking. 2. No command for controlling vehicles (acceleration and steering). There's only setDriveOnPath which is not sufficient. They don't prevent me from completing the mod, but I might remove some stuff if those features are not added.
  5. Yeah I checked and the group is empty.
  6. I don't know what could be the problem because I simply grab the list of all groups using the allGroups command. Maybe when probability is 0 it still creates the group but it's empty? Anyway, I'll look into.
  7. Ah so it was a classic Steam update issue. BTW you can just right click on the mod and select repair. Anyway, glad it's sorted out.
  8. I made another update. Please test it again. If this doesn't fix it I'm gonna need the full mission to be able to debug the problem because I can't reproduce it at all.
  9. I updated the mod and made some tweaks. Let me know if it still happens.
  10. There shouldn't be any error. Which variable does it say is undefined? I looked at the code and even tested to be sure but didn't get any errors
  11. Leopard20

    Advanced Developer Tools

    Update: https://steamcommunity.com/sharedfiles/filedetails/?id=2369477168 # Added: * Function DBUG_fnc_diag_mergeConfigFile: Use it instead of diag_mergeConfigFile to prevent crashes in Config Viewer after using diag_mergeConfigFile. This crash is caused by invalidation of config pointers after merge and I can't fix or detect it using my mod. This function deletes the stored config data to prevent the crash, and there's no need to close the Config Viewer either. Parameters of this function are the same as diag_mergeConfigFile (the function is simply a wrapper) # Tweaked: * Ctrl+S saving in Debug Console is reverted to old behavior (save to profile namespace/edited text box using magic word). To save scripts permanently (which you can access in the Saved Scripts window), use Ctrl+Shift+S. * Newly opened scripts no longer show the "unsaved" red icon. Also, huge thanks to Instant Arma for reviewing the mod! Be sure to check out this amazing video: (German Voice + English subtitles):
  12. What revive system do you use? Ideally the revive should only be used with the "Add Revivability" cheat. None of those affect your FPS. That's only used by the tasking system (e.g. giving waypoints) Well I don't say "scheduled has better performance". It basically has no performance impact, at the cost of being less accurate if you have a heavily scripted scenario and/or your FPS is low. The game queues running scripts in the scheduled environment, and only executes 3 ms of a script every frame and moves on to the next script in the next frame, so under heavy load it may take a lot of time for the game to circle back to a script. TL,DR, the script becomes less "responsive". e.g. your medic plays the healing animation but you don't see any healing effect, or the healing takes a lot of time to finish, because my mod only heals during the healing animation, but due to this scheduler behavior it may never see the animation. I recommend unscheduled instead. Under normal usage it doesn't affect your FPS noticeably. As for what affects FPS: 1. Having too many "Super pilots" active 2. Having too many tasked squad units when unscheduled tasking is selected. There's not really anything else in the mod that affects the FPS. The AI themselves hurt your FPS several times more! 😉
  13. This doesn't work because you've wrapped it in a code {} which is not being executed. Also _unit is not defined. You can write it as: { [_x] joinSilent group player; } forEach (units player - [player]) Anyway, this is not the place for this. You can ask scripting related questions here or the #scripting channel in Arma Discord. Discord is preferred because communication is much faster there.
  14. The function itself is AIO_fnc_setBehaviour, called as: [arrayOfUnits, 5] call AIO_fnc_setBehavior Most of what it does is related to the legacy version of the mod. It does the following: 1. Rejoins the AI into your squad (return to formation): [_unit] joinSilent (group player); 2. reset combat mode to yellow 3. enable all AI features (not needed anymore) 4. removes the selected units from the "Fire on my lead" list. I guess the only reason you might need it is to remove the units from the "Fire on my lead" list.