mrcash2009 0 Posted August 30, 2013 Anything introduced by betas that dont work probably wont becuase this addon hasn't been supported for quite a while now to update with anything new. Share this post Link to post Share on other sites
Raandom 1 Posted August 31, 2013 Well, in the end, it's no new feature, when spawned the AI was handled by other computers already before the HC was implemented. The question is if the creator thought about that when he created GL4. Share this post Link to post Share on other sites
zorrobyte 30 Posted November 16, 2013 (edited) Is SNKMAN (ElicXX) still around? His last activity was 2012 and also upload to youtube. I have a personal repo with working port of GL4 (script based) that I will be using in a upcoming mission. I still have some work to do in regards to adding staticmortar/air units into the arty and airstrike arrays (as I spawn in units after mission start) but overall GL4 is working perfectly for my intended uses. In the spirit of the arma community, I release all of my personal work under creative commons so this sort of thing shall never happen to my code, it's free to use by anyone for any non commercial use. I know GL4's ELUA states for A2 only etc but as the project is abandoned and the original authors are long gone, I personally don't have moral issues with using this code in A3 (private use or released not in whole but in part of another mission/project). I shall never release it standalone (GL4 port A3, GL5 etc) and plan to use it anyway unless I an explicitly told not to by SNKMAN. Such I feel would be different if it wasn't the ArmA community as we tend to be a group of hobbiest, I don't port or otherwise use close source/copyrighted code in commercial products, etc. I would like to also get ahold of the unreleased BETA GL4 code for further documentation/improvements and would also enjoy the help of another dev or two for some unresolved issues with the code. I follow good code guidelines like using a GIT repo with bugtracker and wiki :) Thanks! Issues? Skype: Zorrobyte91 Edited November 16, 2013 by zorrobyte Share this post Link to post Share on other sites
SavageCDN 231 Posted November 17, 2013 Thanks Zorro having GL4 updated and working in A3 would be a dream... especially if combined (once again) with DAC. I'm attempting to contact DAC author as we speak to sort out permissions but like SNKMAN he has not been active for some time. Share this post Link to post Share on other sites
zorrobyte 30 Posted November 17, 2013 (edited) Thanks Zorro having GL4 updated and working in A3 would be a dream... especially if combined (once again) with DAC. I'm attempting to contact DAC author as we speak to sort out permissions but like SNKMAN he has not been active for some time. My focus is solely on AI enhancements and execution via script/mission. I'll just leave this here https://bitbucket.org/zorrobyte/gl4-for-a3 Edited November 21, 2013 by zorrobyte Share this post Link to post Share on other sites
msportdan 10 Posted March 12, 2014 i must admit and no disrepect other mod creators. But ive tried all the big AI mods, Zeus & ASR. I stumbled on this one hearing lots about GL4 but not really wanted to jump ship, mainly thinking the claims were going to be no different from other mods. BUT... having tried gl4 in campaign mode. (1st czeck mission) it works wonders for AI!!! YOur team actually get straight into a vehicle with this mod, no more running around and around then finally getting in car.. This with a sprinkle of other mods.. -nvg googles (full screen) -copy my stance -STHUD -Mycontrolmenu -SLX wounds -CarsfasterPVP -AI pistol -allgunnerweapons and i have a great arma modded game. Feels like it works like arma should... ill try further to see if campaign triggers/scripts are broken, but i like the way gl4 randomised the targets. I did have to turn off reinforcements as you do get the whole map worth of enemies come and get you. BUt now the Ai seem/are clever, they actually take cover and stick with you in formations and patrolling. This does seem different to the other mods, im not entirely sure why, but somethings is better.. dan Share this post Link to post Share on other sites
msportdan 10 Posted March 12, 2014 (edited) i just added this to me mod folders, and ran the mod like the others.. have i actually got this mod enabled now? or aim i imagining its better,? i do get the markers on map, and the code initialising at the beginning? im sure its running?! also is there anything gl4 doesnt do that say zeus and asr do? Edited March 12, 2014 by msportdan Share this post Link to post Share on other sites
msportdan 10 Posted March 18, 2014 i must admit.. ive used this a bit in SP and this is the best mod out there, that actually feels like arma should be. Now captives follow you AI get in vehicles straight away, gunners aim and fire themselves. This and the few mods above, will get your arma game up n running to a much better experience in my view.. Cheers for the creators of this and all the mods, listed. :) Share this post Link to post Share on other sites
Arch3rAc3 10 Posted October 7, 2014 Well, my friendly A.I rearm value (on Global.sqf)are like this: // Choose if friendly A.I. should be able to rearm if they are running out of ammo. // True / False, default is False GL4_Global set [67, True]; Is it set right? Was I supposed to erase both slashes behing GL4? Because I tried placing a unit on the editor (Yes, I placed the modules there) and switched to it, dropped all it's ammo and switch back to me, yet the unit didn't try to rearm, he only yelled "Out of Ammo", any idea about what's wrong here? By the way, don't know if that matters, my "Global.SQF" (and all other SQF.) file(s) are inside my Steamapps/ArmA2OA/Userconfig/GL4 folder. Should I just drop the files inside ArmA2OA/Userconfig folder, without the GL4 folder? Share this post Link to post Share on other sites
panther42 52 Posted October 22, 2014 (edited) Well, my friendly A.I rearm value (on Global.sqf)are like this:// Choose if friendly A.I. should be able to rearm if they are running out of ammo. // True / False, default is False GL4_Global set [67, True]; Is it set right? Was I supposed to erase both slashes behing GL4? Because I tried placing a unit on the editor (Yes, I placed the modules there) and switched to it, dropped all it's ammo and switch back to me, yet the unit didn't try to rearm, he only yelled "Out of Ammo", any idea about what's wrong here? By the way, don't know if that matters, my "Global.SQF" (and all other SQF.) file(s) are inside my Steamapps/ArmA2OA/Userconfig/GL4 folder. Should I just drop the files inside ArmA2OA/Userconfig folder, without the GL4 folder? Well Arch3rAc3, part of the problem is a design flaw maybe? This global variable(GL4_Global select 67) is used for rearming, as noted in the user config file, but also referenced in SNKMAN's GL4_Get_In_F.sqf via GL4_Preprocess.sqf: GL4_Preprocess.sqf if (isServer) then { call compile preprocessFile ([color="#0000FF"]GL4_Path+"GL4\GL4_Functions\GL4_System_F\GL4_Get_In_F.sqf"[/color]); call compile preprocessFile (GL4_Path+"GL4\GL4_Functions\GL4_System_F\GL4_Spawn_F.sqf"); _a = allGroups; _b = 0; while { (_b < count _a) } do { _c = (_a select _b); _d = (vehicle leader _c); if (_d isKindOf "Man") then { [_d] call (GL4_Get_In_F select 0); }; _b = _b + 1; }; }; Which leads to: GL4_Get_In_F = [ // //////////////////////////////////////////////////////////////////////////// // Get In Function #0 // //////////////////////////////////////////////////////////////////////////// // Get In // Script by =\SNKMAN/= // //////////////////////////////////////////////////////////////////////////// {private ["_a","_b","_c","_d"]; _a = _this select 0; if ([color="#0000FF"]GL4_Global select 67[/color]) then { _b = synchronizedObjects _a; if (count _b > 0) then { _c = 0; while { (_c < count _b) } do { _d = (_b select _c); if ( { (_d isKindOf _x) } count (GL4_Resource select 44) > 0) exitWith { [_a, _d] call (GL4_Get_In_F select 1); }; _c = _c + 1; }; }; }; }, // //////////////////////////////////////////////////////////////////////////// // Get In Function #1 // //////////////////////////////////////////////////////////////////////////// // Get In // Script by =\SNKMAN/= // //////////////////////////////////////////////////////////////////////////// {private ["_a","_b","_c","_d","_e"]; _a = _this select 0; _b = _this select 1; _c = [ True, True, True, True, True, True ]; _d = []; {if (_x isKindOf "Man") then {_d = _d + [_x]} } forEach units _a; _e = -3; while { ( (count _d > 0) && (_e <= count units _a) ) } do { if (_c select 0) then { (_d select 0) moveInDriver _b; if ( (_d select 0) in _b) then { _c set [0, False]; _d = _d - [ (_d select 0) ]; } else { _c set [0, False]; }; } else { if (_c select 1) then { (_d select 0) moveInGunner _b; if ( (_d select 0) in _b) then { _c set [1, False]; _d = _d - [ (_d select 0) ]; } else { _c set [1, False]; }; } else { if (_c select 2) then { (_d select 0) moveInCommander _b; if ( (_d select 0) in _b) then { _c set [2, False]; _d = _d - [ (_d select 0) ]; } else { _c set [2, False]; }; } else { if (_c select 3) then { (_d select 0) moveInTurret [_b, [0] ]; if ( (_d select 0) in _b) then { _c set [3, False]; _d = _d - [ (_d select 0) ]; } else { _c set [3, False]; }; } else { if (_c select 4) then { (_d select 0) moveInTurret [_b, [1] ]; if ( (_d select 0) in _b) then { _c set [4, False]; _d = _d - [ (_d select 0) ]; } else { _c set [4, False]; }; } else { if (_c select 5) then { (_d select 0) moveInCargo _b; if ( (_d select 0) in _b) then { _d = _d - [ (_d select 0) ]; } else { _c set [5, False]; if (count _d > 0) then { (_d select 0) setPos (getPos _b); [_d, _b] call (GL4_Get_In_F select 2); }; }; }; }; }; }; }; }; _e = _e + 1; }; }, // //////////////////////////////////////////////////////////////////////////// // Get In Function #2 // //////////////////////////////////////////////////////////////////////////// // Get In // Script by =\SNKMAN/= // //////////////////////////////////////////////////////////////////////////// {private ["_a","_b","_c","_d","_e","_f","_g"]; _a = _this select 0; _b = _this select 1; _c = nearestObjects [ (_a select 0), (GL4_Resource select 44), 20]; _c = _c - [_b]; if (count _c > 0) then { _d = 0; while { (_d < count _c) } do { _e = (_c select _d); if ( !(locked _e) && (canMove _e) && (count (crew _e) == 0) ) exitWith { [_a, _e] call (GL4_Get_In_F select 3); }; _d = _d + 1; }; }; [_a] call (GL4_Get_In_F select 4); }, // //////////////////////////////////////////////////////////////////////////// // Get In Function #3 // //////////////////////////////////////////////////////////////////////////// // Get In // Script by =\SNKMAN/= // //////////////////////////////////////////////////////////////////////////// {private ["_a","_b","_c","_d","_e"]; _a = _this select 0; _b = _this select 1; _c = [ True, True, True, True, True ]; _d = _a; _e = -3; while { ( (count _d > 0) && (_e <= count _a) ) } do { if (_c select 0) then { (_d select 0) moveInDriver _b; if ( (_d select 0) in _b) then { _c set [0, False]; _d = _d - [ (_d select 0) ]; } else { _c set [0, False]; }; } else { if (_c select 1) then { (_d select 0) moveInGunner _b; if ( (_d select 0) in _b) then { _c set [1, False]; _d = _d - [ (_d select 0) ]; } else { _c set [1, False]; }; } else { if (_c select 2) then { (_d select 0) moveInCommander _b; if ( (_d select 0) in _b) then { _c set [2, False]; _d = _d - [ (_d select 0) ]; } else { _c set [2, False]; }; } else { if (_c select 3) then { (_d select 0) moveInTurret [_b, [0] ]; if ( (_d select 0) in _b) then { _c set [3, False]; _d = _d - [ (_d select 0) ]; } else { _c set [3, False]; }; } else { if (_c select 4) then { (_d select 0) moveInTurret [_b, [1] ]; if ( (_d select 0) in _b) then { _c set [4, False]; _d = _d - [ (_d select 0) ]; } else { _c set [4, False]; }; } else { (_d select 0) moveInCargo _b; if ( (_d select 0) in _b) then { _d = _d - [ (_d select 0) ]; }; }; }; }; }; }; _e = _e + 1; }; }, // //////////////////////////////////////////////////////////////////////////// // Get In Function #4 // //////////////////////////////////////////////////////////////////////////// // Get In // Script by =\SNKMAN/= // //////////////////////////////////////////////////////////////////////////// {private ["_a","_b","_c","_d","_e","_f"]; _a = _this select 0; _b = (vehicle leader (_a select 0) ); _c = []; _d = 0; while { (_d < count _a) } do { _e = (_a select _d); _f = (vehicle _e); if (_f isKindOf "Man") then { _c = _c + [_e]; }; _d = _d + 1; }; if (count _c > 0) then { hint format ["Get In Error:\n%1 had not enough available cargo for %2 units of %3.\nPlease resize the group %3 or choose a vehicle with more available cargo.", typeOf _b, count _c, group _b]; }; } ]; This all has do do with units mounting vehicles, not rearming... As for the rearming itself, the design is NOT to rearm magazines, but to rearm with weapon from DEAD units: GL4_Rearm_F = [ // //////////////////////////////////////////////////////////////////////////// // Rearm Function #0 // //////////////////////////////////////////////////////////////////////////// // Rearm // Script by =\SNKMAN/= // //////////////////////////////////////////////////////////////////////////// {private ["_a","_b","_c"]; _a = _this select 0; _b = True; if ([color="#0000FF"]GL4_Global select 26[/color]) then { if ( { (isPlayer _x) } count (units _a) > 0) then { if ([color="#0000FF"]GL4_Global select 67[/color]) then { _b = True; } else { _b = False; }; }; if (_b) then { while { (alive _a) } do { _c = (vehicle _a); if ( (_c isKindOf "Man") && (_c != leader _c) && (side _c != CIVILIAN) ) then { if ( (alive _c) && ( ( [_c] call (GL4_Rearm_F select 1) ) || (primaryWeapon _c == "") ) ) then { [_c] call (GL4_Rearm_F select 2); }; }; sleep 70 + (random 70); }; }; }; }, // //////////////////////////////////////////////////////////////////////////// // Rearm Function #1 // //////////////////////////////////////////////////////////////////////////// // Rearm // By =\SNKMAN/= // //////////////////////////////////////////////////////////////////////////// {private ["_a","_b","_c","_d","_e","_f"]; _a = _this select 0; _b = False; _c = (GL4_Resource select 36); _d = magazines _a; _e = 0; while { ( (_e < count magazines _a) && (count _d > 3) ) } do { _f = (magazines _a select _e); if (_f in _c) then { _d = _d - [_f]; }; _e = _e + 1; }; if (count _d <= 3) then { _b = True; }; _b }, // //////////////////////////////////////////////////////////////////////////// // Rearm Function #2 // //////////////////////////////////////////////////////////////////////////// // Rearm // Script by =\SNKMAN/= // //////////////////////////////////////////////////////////////////////////// {private ["_a","_b","_c","_d"]; _a = _this select 0; _b = nearestObjects [_a, ["Man"], 100]; if (count (GL4_Rearm select 0) > 0) then { _b = _b - (GL4_Rearm select 0); }; if (count _b > 0) then { _c = 0; while { (_c < count _b) } do { _d = (_b select _c); if ([color="#0000FF"] !(alive _d)[/color] && (local _d) && (_d ammo (primaryWeapon _d) > 0) ) exitWith { GL4_Rearm set [0, (GL4_Rearm select 0) + [_d] ]; [_a, _d] spawn (GL4_Rearm_F select 3); }; _c = _c + 1; }; }; }, // //////////////////////////////////////////////////////////////////////////// // Rearm Function #2 // //////////////////////////////////////////////////////////////////////////// // Rearm // Script by =\SNKMAN/= // //////////////////////////////////////////////////////////////////////////// {private ["_a","_b","_c","_d"]; _a = _this select 0; _b = _this select 1; _c = (primaryWeapon _b); _d = group _a; [_a] join grpNull; if (stopped _a) then { _a stop False; }; _a doMove (getPos _b); while { ( (alive _a) && (_a distance _b > 3) ) } do { sleep 1; }; if (alive _a) then { _a action ["[url="https://community.bistudio.com/wiki/ArmA_2:_Actions#TakeMagazine_.2F_TakeWeapon"]TAKEWEAPON[/url]", _b, _c]; if ( { (alive _x) } count (units _d) > 0) then { [_a] join _d; }; }; } ]; I have also highlighted this is dependent on GL4_Global select 26 && GL4_Global select 67 Maybe the units mounting vehicles is disabled overall, I have not dug deeper into the code. I may have looked at this wrong, but that's the way it seems to me. Hopefully this helps. Edited October 22, 2014 by panther42 Share this post Link to post Share on other sites
bravo409 13 Posted November 18, 2014 Anybody know what the Gl4 bug is for holdfire... Gl4 keeps ai from holding fire,is there a fix for this or no...example I set a night mission up my team has silenced weapons and I say hold fire they do till we move in closer and no one from opfor has shot yet and are facing in opposite direction and all a sudden my team mates start firing even though the hold fire command shows on the dossier with the line through notifying the player where in hold fire mode. This is driving me up the wall cause Gl4 is a great mod but that one thing is killing it. please help thanks Share this post Link to post Share on other sites
Sniperturtle 1 Posted November 21, 2022 Heyo, just one question: Does anyone still have the last version of this and can upload it somewhere, i tried all known shenannigans for 2 days but the files are irretrivebly lost on the interwebs. Thanks in advance Share this post Link to post Share on other sites
dalber24 157 Posted November 21, 2022 32 minutes ago, Sniperturtle said: i tried all known shenannigans for 2 days Maybe you didn't try the easiest... the google friend, you simply write arma 2 group link 4 and the first result of the search is the download that you are looking for. Share this post Link to post Share on other sites
Sniperturtle 1 Posted November 21, 2022 That's version 0.01 Share this post Link to post Share on other sites
Sniperturtle 1 Posted November 21, 2022 (edited) 1 hour ago, dalber24 said: Maybe you didn't try the easiest... the google friend, you simply write arma 2 group link 4 and the first result of the search is the download that you are looking for. That's version 0.0.1. I even dug up version 1.1.37 in some russian forum, but the final version is not available anywhere. Edit: I stand corrected, it took opening the script files and looking up the version numbers to see that this is actually the last version. Edited November 21, 2022 by Sniperturtle Update Share this post Link to post Share on other sites
dalber24 157 Posted November 22, 2022 10 hours ago, Sniperturtle said: Edit: I stand corrected, it took opening the script files and looking up the version numbers to see that this is actually the last version. @SniperturtleYes, I knew that this was the latest version regardless of the file name, that's why I told you to look for it like this, I knew that this was the download you were looking for, otherwise I would have uploaded the file, but it was not necessary. 12 hours ago, Sniperturtle said: Does anyone still have the last version of this your question was very clear, and my answer too 😉 1 Share this post Link to post Share on other sites