Jump to content

All Activity

This stream auto-updates     

  1. Past hour
  2. mathiasstahle

    VENGEANCE: A Family Saga

    Tired of playing an American soldier all the time? How about a local militia, or a Cambodian farmer arming his family? Do you want a mission with a voice acted and cinematic story, just like in the good old days? If so, then "Vengeance - A Family Saga" may be something for you. This is the public release version of a project I've been working with for quite some time. The mission is set on the S.O.G Prarie Fire island of "The Bra". Hope you'll like it. Feedback is more than welcome, here as well as on Steam. STEAM WORKSHOP LINKS Single player version: https://steamcommunity.com/sharedfiles/filedetails/?id=2849419674 Multi player version: (Will be released shortly as a four player coop after the ongoing and final playtesting)
  3. Today
  4. I don't think it's a good idea if it's too hard, try using the admin menu (at start, focus on economy and side missions)
  5. You can use the debug console performance timer (little squared icon above watch:) or intuitive method: if you want a condition about OPFOR tanks for a scenario with 100 BLUFOR vehicles with 3 tanks vs 20 OPFOR vehicles with 5 tanks , you can write: vehicles select {side _x == EAST && _x isKindOf "tank"} // 120 checks for each part of conditions (bad) or vehicles select {side _x == EAST && {_x iskindOf "tank"}} //120 checks but 20 checks only for the 2nd part (is this a tank?) (there are only 20 OPFOR vehicles) or vehicles select {_x isKindOf "tank" && {side _x == EAST}} // 120 checks but 8 checks only for the 2nd part (is this tank OPFOR?) (there are only 8 tanks) to be exhaustive, you should also compare the speed for checking a vehicle isKindOf "tank" vs the vehicle's side is EAST .... Intuitive method may be counter-performing. I recommend the performance timer of the debug console, especially for complex filter on heavy configs (with multiple DLCs/mods)
  6. Started work on buildings for old town section of Ayadiah.
  7. I was able to take this and figure it out from there. Thank you for helping me out!
  8. Yesterday
  9. dalber24

    SU-24MK for CDF

    Since you took the time to sign up to ask for something you wanted, it would be nice if you also took the time to read the forum and/or search. Replacement Config http://www.armedassault.info/index.php?game=1&cat=addons&id=1983 Required addons http://www.armedassault.info/index.php?game=1&cat=news&id=5077 Regards
  10. Janez

    Is Discord the norms nowadays?

    There has been a global push for it, does not necessarily make it normal or the norm. Well, you said it yourself, it's basically a chat room. It has a function and it is fundamentally different to a forum. It can replace it but it wont be nearly as effective at what forum does, which is a platform to create detailed and expansive topics and then have the ability to conduct in-depth discussions about it, where large quantity of information can be presented in a single post, neatly organized. Naturally, the quality and quantity of that information is essentially dependent on how much energy the participants are willing to put into it. With the help of modern search engines, forum organization and moderation, the information itself is then relatively easy to find and access quickly and once found, very easy to use and store. The likes of Discord offer quick interactions between users that are currently present and can be beneficial to teach someone something via a lot of small steps, for example. The good things is that the one receiving the instructions by someone holding their hand, can progress fairly easy, however the discussion is practically useless to anyone seeking it later. So, depending on what you want, it can indeed be of benefit. But you said all that already, albeit in a briefer manner. So, what is it that you are asking here? Is everyone going to migrate there and one might get left behind? Didn't that already happen? 🙂 Therefore, why worry? Regardless, this thing we have here, this always was a marathon type of thing and Arma 4 is a long way ahead. Not even going into PP and ToS of Discord, personally, I have no need for such applications and will not use it as I do not use or consume other types of social media beyond the likes of YouTube, BitChute, Odysee, etc. I do not mind life, I have patience to allow good things to come my way. PS: this forum being kinda dead does not solely come down to "no Arma 4" or "people moving on" or whatever either. While I like BI and people here on BIF, technology wise, these forums are kinda lame. I wont name any but last couple of years I've been finding some incredibly advanced forums, offering very flexible search, viewing and exclusion parameters through clever tagging and naming. Next, all the important information you could ever ask for is either in forum header or footer at all times, regardless of where you are. Here you have: share on Twitter, Facebook, G... Google+? Does that even exist anymore? OK... What about Feedback Tracker for example? They look really good as well you know, things are slightly animated but not in an annoying, time wasting kinda way. Total joy to browse them. And yet, here we are, still randomly getting logged out, no plain text mode and you know, this very window I'm typing in right now is still bright white, burning through my eyes despite using dark theme. Sure, I use Dark Reader to get around that but not everyone knows about these things, nor can or are willing to jump through so many hoops. BI added this voting answers thing to AR troubleshooting section though which can be a double edged sword when forum population gets back on track. I guess we'll see but whatever, you get the point.
  11. Can you not disable the behaviour for player squad via the in-game Lambs options?
  12. This is what I’m trying to figure out. I have certain conditions that need to be evaluated at the start of the IF/Select command but I need to make sure I have the syntax right.
  13. You can check it by yourself by calling conditions with systemchat or hint commands, for example: Your_condition_1 = { systemchat "cond 1"; false; }; Your_condition_2 = { systemchat "cond 2"; false; }; Your_condition_3 = { systemchat "cond 3"; false; }; if (call Your_condition_1 && call Your_condition_2 && call Your_condition_3) then {}; /*Then delete it and replace by:*/ _Your_false_units = units group player select {call Your_condition_1 && call Your_condition_2 && call Your_condition_3}; /*Then run the following and see the difference:*/ if (call Your_condition_1 && {call Your_condition_2 && {call Your_condition_3}}) then {}; _Your_false_units = units group player select {call Your_condition_1 && {call Your_condition_2 && {call Your_condition_3}}}; If you see 3 systemchats on your screen, it means that your code evaluates 3 conditions. If your see 1 systemchat, it means, that only first condition was evaluated.
  14. 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
  15. First of all: If ( Condition1 && {Condition2} && {Condition3} ) then { something }; // first part of condition is not a code _AllVehicles select { !canMove _x or {!alive driver _x} or {crew _x isEqualTo []} or { !isNull gunner _x && !alive gunner _x} or {!isNull gunner _x && !canFire _x} }; Not sure what you want to do with that but this line is same as yours. Note: Lazy eval can be counter-performant if your condition returns often false at the end. Furthermore, the choice of the sequence can impact on optimization. You can test your condition in real time, from debug console performance timer icon. Shift two parts of condition and see the timer.
  16. johnnyboy

    LAMBS Improved Danger.fsm

    I love this mod. But I need to disable it for units in player's group so it doesn't conflict with my SOG AI mod. I'm doing the following to disable it, but that is not working. The units are still doing Lambs Danger stuff and ignoring my SOG AI move commands. How do I disable this? This is not working to disable Lambs Danger: { _x setVariable ["dangerAIEnabled",false]; } forEach units (group player);
  17. I’ve been looking at some script optimization and I’m a little confused about IF/Select statements and “lazy evaluation.” From my understanding, if the condition is written correctly, an If statement is more efficient if it is properly written with the correct syntax: If ( {Condition1} && {Condition2} && {Condition3} ) then { nothing }; My understanding is, if Condition1 is false, then the statement will NOT check Condition2 and Condition3 – the check essentially ends when Condition1 returns false. However, how does that work with a Select command and OR? For instance: _AllVehicles = _AllVehicles select { (!canMove _x) || (!alive driver _x) || ( (count crew _x) == 0) || ( (!isNull gunner _x) && (!alive gunner _x) ) || ( (!isNull gunner _x) && (!canFire _x) ) }; Will the script continue to evaluate the other conditions even if the vehicle cannot move? Do I need to change my brackets to accomplish that? Just wanted to check.
  18. I've added this script to my new SOG AI mod. All fuel barrels detected near player (whether terrain objects built into map or objects placed by mission maker in editor) are detected and converted into explosive barrels.
  19. In my new SOG AI mod, some VC trackers will be randomly assigned jboy dogs. The dogs follow the trackers, and will sense enemy and alert their trackers to the enemy presence. The trackers will then order the dogs to attack (in Chinese voice) and blow a whistle. Dogs then attack.
  20. These punji traps are now built into my new SOG AI mod. So any traps that have been placed by mission creators or placed by player or AI will be converted to these brutal traps when using the mod.
  21. I just got back from Arma platform discord channel, just to have a look at it... There are a lot of interaction there and are quite active. But as someone mention somewhere in this forum, the information are all over the place. Because its basically a chat room. Someone might be asking how to do a certain thing in scripting or what have you, then it got answered, and buried in new chat message... So my question is, is this normal now? Is there advantage in using discord instead of traditional forum board? Thank you
  22. Hello, I need to reshape the 480 components of the geometry lod of a building into convex hulls using Object Builder's convex hull tool and i can't do it manually. I see Object Builder can run scripts, what script can i use to do this ? The components were made using Blender's convex hull tool but it's obviously not entirely compatible with Object Builder. I've also tried to use Component Convex Hull but it's spliting my components into smaller components making them unusable.
  23. Hello, I recently made an Iron Dome mod: Steam workshop link I am also releasing a standalone script used for guiding the missile, currently, 3 modes are available: Augmented proportional navigation APN Proportional navigation PN Pure pursuit LOS Here is the code: You can call this function (script) by using: [missile, target, [parameters]] execVM... Parameter is an array containing: Missile max speed: The speed the missile will travel (good values between 200 and 1000) Guidance law: The law that will be used: 0 - APN (best), 1 - PN, 2 - LOS Guidance gain: A constant typically between 3 and 5 Time to max: Missile speed will increase linearly until it reaches the max //params ["_missile", "_target", "_speed",]; private _missile = param[0]; private _target = param[1]; private _parameters = param[2]; //Speed, guidance, N private _speed = _parameters select 0; private _guidance = _parameters select 1; private _N = _parameters select 2; private _timeToMax = _parameters select 3; if(isNull _target) exitWith {}; //Weird issue with APN when engaging missiles idk _targetIsMissile = (_target isKindOf "MissileBase"); //Variables for the missile and logic private _increment = 0.02; private _currSpeed = _speed / 100; private _k = 1; private _initialDist = (_missile distance _target); private _closeEncounter = false; private _medianLoops = 5; _lowestDist = _initialDist; _incrementSpeed = (_speed - _currSpeed) / _timeToMax; //Vectorial quantities _guidVel = [0,0,0]; _leadAcc = [0,0,0]; _lastB = [0,0,0]; _tgtAccNorm = [0,0,0]; private _time = time; _loop = 0; while {alive _target and alive _missile} do { //Elapsed time _deltaT = (time - _time); //Speed _currSpeed = _currSpeed + _incrementSpeed * _deltaT; _currSpeed = _currSpeed min _speed; //LOS _posA = getPosASL _missile; _posB = getPosASL _target; _LOS = _posB vectorDiff _posA; _steering = _posA vectorFromTo _posB; _dist = _missile distance _target; //Relative velocity _velA = velocity _missile; _velB = velocity _target; _relVelocity = _velB vectorDiff _velA; if(_dist < _lowestDist) then { _lowestDist = _dist; }; //Was close if(_dist < 1000) then { _closeEncounter = true; }; //Now is far if(_closeEncounter and (_dist > 1500)) then { _mine = createMine ["DemoCharge_F", getPosATL _missile, [], 0]; _mine setDamage 1; deletevehicle _missile; }; switch (_guidance) do { //APN case 0: { //Impact Time Control Cooperative Guidance Law Design Based on Modified Proportional Navigation //https://www.mdpi.com/2226-4310/8/8/231/pdf //formula [30] _tGo = (_dist/(speed _missile)*(1+ ((acos(_velA vectorCos _steering)/90)^2)/(2*(2 * _N - 1)))); if(isNil "_tgo") then {continue}; //Zero effort miss _ZEM = _LOS vectorAdd (_relVelocity vectorMultiply _tGo); _losZEM = _ZEM vectorDotProduct _steering; _nrmZEM = (_ZEM vectorDiff (_steering vectorMultiply _losZEM)); //Weird behaviour when attacking missiles if(!_targetIsMissile) then { if(_loop == _medianLoops) then { //Target accelleration _tgtAcc = _leadAcc vectorMultiply (1/_medianLoops); _tgtAccLos = _tgtAcc vectorDotProduct _steering; _tgtAccNorm = _tgtAcc vectorDiff (_steering vectorMultiply _tgtAccLos); _loop = 0; } else { _tgtAcc = (_velB vectorDiff _lastB) vectorMultiply (1/_increment); _lastB = _velB; _leadAcc = _leadAcc vectorAdd _tgtAcc; _loop = _loop + 1; }; }; //augmented prop nav with ZEM and lowered proportional gain _leadAcc = (_nrmZEM vectorMultiply _N) vectorMultiply (1/(_tGo ^ 2)) vectorAdd (_tgtAccNorm vectorMultiply (_N/4)); _guidVel = (_leadAcc vectorMultiply _increment) vectorAdd _velA; }; //PN case 1: { //Calculate omega _rotation = _LOS vectorCrossProduct _relVelocity; _distance = _LOS vectorDotProduct _LOS; _rotation = _rotation vectorMultiply (1/_distance); //Desired accelleration to intercept _leadAcc = (_relVelocity vectorMultiply _N) vectorCrossProduct _rotation; _guidVel = (_leadAcc vectorMultiply _increment) vectorAdd _velA; }; //Pure pursuit case 2: { _guidVel = _steering; } }; //Set new speed _guidVel = ((vectorNormalized _guidVel) vectorMultiply _currSpeed); _missile setVectorDir _guidVel; _missile setVelocity _guidVel; //drawLine3D [_posA, _posA vectorAdd _LOS, [1,1,1,1]]; sleep _increment; }; //If the target died or the missile timedout make it blow in mid air if(alive _missile) then { waitUntil {(getposATL _missile select 2) > 100}; if(alive _target) then { sleep random 1; }; deletevehicle _missile; _mine = createMine ["DemoCharge_F", getPosATL _missile, [], 0]; _mine setDamage 1; }; true; This is more aimed at developers who want to build missile-based systems and for one reason or the other can't use the missile locking capability.
  24. EA-6B skin template now available. https://drive.google.com/drive/folders/17O51UXPbdRTi3tMUwbSTAI9fUZP4J69U?usp=sharing Other aircraft templates will be updated in future.
  25. Also, I’d like to add that getting your feelings hurt due to truth or facts is not defamation. Some users cheat, many don’t. It is what it is.
  26. Ah, my apologies, didn't mean to commandeer the thread. Hopefully @Joe98 will post his code as well.
  27. Matthew I appreciate your long reply as well. However, if saying that there is something wrong with a developer charging for performance based items while simultaneously acknowledging a team up / cheating scheme in the background that they appear to be doing nothing to fix, is breaching terms of the forum, then there is something inherently wrong with the forum you are on. Thank you.
  1. Load more activity