Jump to content
Sign in to follow this  
major_shepard

LEA - Loadout Editor For ArmA 2 Combined Operations and ACE 2

Recommended Posts

Perhaps a bit OT but i hope this is still a good place to ask: How can a server be protected by edited LEA code? We see on our server a few users that uses a (self-edited) Lea Mod. They now can use it the hole time everywhere they are and "cheat" on the fly AT or AA weapons. We dont wanna disable the usage of this mod cause for most people this mod is really great. I myself informed my hole clan about it and many tried it. Are there easy solutions?

Is the only solution to enable mod-key check? If so, are there good tutorials about it? ;)

Enabling key checks is generally a good idea and almost always necessary, unless you're running a small private server. You will need to set "verifySignatures = 2" in the server config file and put the mod's key file into the keys folder on the server.

Share this post


Link to post
Share on other sites

Thx, yes i thought already this must be enabled. Did this solution really check the mod if its edited? A self edited LEA mod that can loadout all around the map is one of the worst thing that can happen :(

Shoud be, if i read this right: http://community.bistudio.com/wiki/Armed_Assault:_Addon_Signatures

AND what if e.g. ACE2 brings out a 3kb hotfix over SixUpdater and a client update this ace2, like they do it already 3-4 times a month? I hope they update their serverkeys only with main updates, do they? ;)

Edited by Numrollen

Share this post


Link to post
Share on other sites

Using server keys is the only robust solution to prevent from cheating. @LEA is provided with V2 server key, see /@LEA/keys.

Doing so, anyone using a modified @LEA will be rejected by the server.

AND what if e.g. ACE2 brings out a 3kb hotfix over SixUpdater and a client update this ace2, like they do it already 3-4 times a month? I hope they update their serverkeys only with main updates, do they? ;)

Normally the .bikey are the same, but yeah ask ACE team about it.

---------- Post added at 05:15 PM ---------- Previous post was at 04:56 PM ----------

I am playing with a Persistant Database Enabled mission. I love your loadout editor but it messes up the persistance of weapon boxes and vehicles once people reconnect. Essentially, what I think happens with your respawn code is that it initializes the loadout globally on connection/respawn instead of JUST the loadouts for the players. So for example, if I am playing with PDB enabled and I take an AK and put it in the box, for everyone already in who hasnt died, they will see the AK. But if anybody dies or joins the mission late, they will not see the AK47 in the box, they will see the default loadouts applied. ALTHOUGH the persistance is being tracked by the DB. So for example, if my team takes 2 MX-2As out of the box (which we only have 2) and goes on mission, and a new player joins in and looks into the box, once the loadout is applied they WILL see 2 MX-2As in the weapon box, but will not be able to withraw them because PDB has recorded the number to be 0 but the loadout script makes it appear as 2. Get what im talking about? Any way you can tweak the script to be Persistant Mission compatible? This would be amazing if you could.

Do you use LEA only to edit the ammo crate? In this case I recommend to use the LEA ammo crate script generator (Menu -> Profiles -> Make crate) and put the script on the crates using ArmA 2 Mission Editor like in the classic way.

Edited by Major_Shepard

Share this post


Link to post
Share on other sites
Using server keys is the only robust solution to prevent from cheating. @LEA is provided with V2 server key, see /@LEA/keys.

Doing so, anyone using a modified @LEA will be rejected by the server.

Normally the .bikey are the same, but yeah ask ACE team about it.

---------- Post added at 05:15 PM ---------- Previous post was at 04:56 PM ----------

Do you use LEA only to edit the ammo crate? In this case I recommend to use the LEA ammo crate script generator (Menu -> Profiles -> Make crate) and put the script on the crates using ArmA 2 Mission Editor like in the classic way.

I gave your ammo script generator a try and it worked halfway. Now the boxes are persistant all the way through. But once the player leaves and comes back, the values go back to default and then I have the same issue. How can I fix this?

Share this post


Link to post
Share on other sites

I think you should ask to the people who built the persistant DB mission about adding ammo crate into the mission.

Share this post


Link to post
Share on other sites

The ammobox stuff is happening because the script is reinitializing when the player rejoins so it goes back to the default loadout.

To fix this you'd only run the ammobox script on the server and use addmagazinecargoglobal + addweaponcargoglobal, this way it only gets executed when the mission first starts and never again.

Share this post


Link to post
Share on other sites

Hi, I can't even start LEA, because when it starts up it says:

" An error occured.

file classlist C:/ProgramFiles/Bohemia Interactive/ArmA 2/LEA/resources/classlists/weapons/classlist_weapons.xml not found:

Application will now close. "

I screwed around with Java to get it working cause I also had that "didn't recognize java as a command" stuff. It still comes up with this, with manual and Installer, installs. Can somebody help me with this?

Share this post


Link to post
Share on other sites

Looks like you have a read access restriction.

Be sure to run with administrator privileges (normally you should have be warned if not the case).

What's your os? What's your Java version? (look into \java\jre\readme.txt

Share this post


Link to post
Share on other sites

Im running Windows 7 Home Premium. and I have administrator privileges. I have Java 7 update 9, The readme however just says to refer to the licence and the licence refers me to their website.

Share this post


Link to post
Share on other sites

Hi. I just started using this program. I imported an ace mission sqm into the program so I could edit loadouts for the playable US units and it seems to be missing alot of the ace weapons. The rifles included vanilla rifles + 2 or 3 ace rifles only. Is there some way to enable more ace weapons?

Share this post


Link to post
Share on other sites

Thanks

---------- Post added at 04:23 ---------- Previous post was at 04:03 ----------

Where are the laserbatteries located by chance?

Share this post


Link to post
Share on other sites
In the optical list, select the soflam ^^

Oh, the ACE laser designator doesn't require a laser batterie like the vanilla version? I can't seem to get the ace laser designator to work. I need to go ask in the ace thread then. Thanks.

---------- Post added at 05:18 ---------- Previous post was at 05:12 ----------

Okay, I just went into the ela loadout sqf and added the laser batteries manually. That seemed to fix the problem.

---------- Post added at 05:33 ---------- Previous post was at 05:18 ----------

Okay so now I've ran into a new problem. I generated a loadout.sqf & the script call in the init.sqf. Everything is working fine, except the command sidechat has stopped working whenever I enable ela (script call). I tested it over & over just to make sure and this only occurs while using/compiling the loadout scripts.

//Tasks
[[
 ["Task1","Neutralize the AA radar installation","Neutralize the TKA radar insallation",true,["radar_M",getpos radar,"mil_destroy"],"assigned",radar]],
[
 ["Situation","The TKA have setup an AA radar installation, along with a shilka near Feruzabad. You'll need to take out the anti air radar and lase the shilka for raven1"],
["Credits","Made By ***1cem@n*** <br /> Taskmaster2 - Shuko"]
]] call compile preprocessfilelinenumbers "shk_taskmaster.sqf";

//only allow satchels to damage the radar tower
radar addEventHandler ["handleDamage",{if ((getText(configFile >> "CfgAmmo" >> (_this select 4) >> "simulation") in ["shotPipeBomb", "shotTimeBomb"]) || ((_this select 4) == "ACE_PipebombExplosion")) then {_this select 2}}];

//LEA Loadout call
[color=#ff0000]leaFunction =  compile preprocessFileLineNumbers "lea\loadout-init.sqf"; call leaFunction; //if left uncommented, it screws up sideChat[/color]

//no fleeing allowed AI
{_x allowfleeing 0} foreach allunits;

//debug - invincibility, map click teleporting
if (paramsArray select 6 == 1) then {onMapSingleClick "player setpos _pos";{_x allowDammage false} forEach playableUnits};

//execute weather,civ death count & lobby parameters scripts
null = []execVM "DW_init.sqf";
null = []execVM "civDeathCounter.sqf";
null = []execVM "parameters.sqf";
[] execVM "f_spect\specta_init.sqf";

//WaitUntil the functions module is recognized by the game
waituntil {!isnil "bis_fnc_init"};

//ipod gps
if (!isServer) then {["ca\missions_pmc\data\ui_gps_ca.paa",-0.05,0.16] call bis_fnc_customGPS};

//beginning dialogue. If its already been run once (started variable exists) then don't do it again for JIP players
if (!isNil "started") exitWith {};

sleep 0.1;

if (!local player) exitWith {};
cutText ["Czech OPS - Wolverines by Heelo\nVersion 1.0 - 12/28/2012", "BLACK FADED"];
sleep 10;
titleCut ["", "BLACK IN", 0];

sleep 25;

leader razor1 globalChat "Razor1 to outpost1... We are approaching the insertion point.";

sleep 8;

[color=#ff0000]//Doesn't work when using ela[/color]
[color=#ff0000]com sideChat "Roger that razor1... you are free to engage. Knock out the radar installation, get a laser marker on that shilka.Once you have the target lased, call in the airstrike. Raven1 will be waiting.";[/color]

sleep 12;

leader razor1 globalChat "Copy outpost1... commencing operation wolverines. Razor1 out.";

started=true;
publicvariable "started";


note: global chat works when ela is enabled.

Edited by Iceman77

Share this post


Link to post
Share on other sites
Okay, I just went into the ela loadout sqf and added the laser batteries manually. That seemed to fix the problem.

I Don't understand your problem. In the optical list of LEA the GLTDII SOFLAM is the laser designator. Choosing this item you will be provided with the BA5590 Battery into the Magazine list of LEA. There is no ACE designator.

Okay so now I've ran into a new problem. I generated a loadout.sqf & the script call in the init.sqf. Everything is working fine, except the command sidechat has stopped working whenever I enable ela (script call). I tested it over & over just to make sure and this only occurs while using/compiling the loadout scripts.

You must give your units a Radio (ItemRadio or ACRE radio) for being able to use the chat in case you want to control IA units :)

Edited by Major_Shepard

Share this post


Link to post
Share on other sites

Well no battery got put into the scripts when I added the SOFLAM (what i call a laser designator) to the unit. I just went and added the laserbatteries (BA5590 Battery) manually... and then i could use the SOFLAM... when before i couldnt.. anyhow thanks for the help

/**



 removeallweapons lazer;
 removeallitems lazer;
 removeBackpack lazer;

 [lazer,0,0,0,true] call ACE_fnc_PackIFAK;
 _lazerplayerweap = [
    "ACE_HK417_Eotech_4x",
    "glock17_EP1",
   [color=#ff0000] "Laserdesignator", //SOFLAM[/color]
    "NVGoggles",
    "ACE_GlassesBalaklavaGray",
    "ItemCompass",
    "ACE_Earplugs",
    "ACE_Map",
     "ACE_GlassesTactical"
    ];

 _lazerplayerammo = [
    "ACE_20Rnd_762x51_T_HK417",
    "ACE_20Rnd_762x51_T_HK417",
    "ACE_20Rnd_762x51_T_HK417",
    "ACE_20Rnd_762x51_T_HK417",
    "ACE_20Rnd_762x51_T_HK417",
    "ACE_20Rnd_762x51_T_HK417",
    "PipeBomb",
    "PipeBomb",
       [color=#ff0000] "laserBatteries",[/color] [color=#ff0000]//BA5590 Battery I had to add this [/color]
    "ACE_ANM14",
    "ACE_ANM14",
    "ACE_ANM14",
    "17Rnd_9x19_glock17",
    "17Rnd_9x19_glock17",
    "17Rnd_9x19_glock17",
    "17Rnd_9x19_glock17",
    "17Rnd_9x19_glock17",
    "17Rnd_9x19_glock17",
    "17Rnd_9x19_glock17",
     "17Rnd_9x19_glock17"
    ];

 {lazer addmagazine _x} foreach _lazerplayerammo;
 {lazer addWeapon _x} foreach _lazerplayerweap;

 [lazer, ""] call ACE_fnc_PutWeaponOnBack;

 lazer selectWeapon (primaryWeapon lazer);

 removeallweapons s4;
 removeallitems s4;
 removeBackpack s4;

 [s4,0,0,0,true] call ACE_fnc_PackIFAK;
 _s4playerweap = [
    "ACE_HK416_D14_COMPM3_M320_UP",
    "ACE_USP",
    "ACE_GlassesBalaklavaGray",
    "ItemCompass",
    "ACE_Earplugs",
    "ACE_Map",
     "ACE_GlassesBlueSun"
    ];

 _s4playerammo = [
    "ACE_30Rnd_556x45_S_Stanag",
    "ACE_30Rnd_556x45_S_Stanag",
    "ACE_30Rnd_556x45_S_Stanag",
    "ACE_30Rnd_556x45_S_Stanag",
    "ACE_30Rnd_556x45_S_Stanag",
    "ACE_30Rnd_556x45_S_Stanag",
    "ACE_30Rnd_556x45_S_Stanag",
    "PipeBomb",
    "PipeBomb",
    "ACE_ANM14",
    "ACE_ANM14",
    "ACE_ANM14",
    "ACE_12Rnd_45ACP_USP",
    "ACE_12Rnd_45ACP_USP",
    "ACE_12Rnd_45ACP_USP",
    "ACE_12Rnd_45ACP_USP",
    "ACE_12Rnd_45ACP_USP",
    "ACE_12Rnd_45ACP_USP",
    "ACE_12Rnd_45ACP_USP",
     "ACE_12Rnd_45ACP_USP"
    ];

 {s4 addmagazine _x} foreach _s4playerammo;
 {s4 addWeapon _x} foreach _s4playerweap;

 [s4, ""] call ACE_fnc_PutWeaponOnBack;

 s4 selectWeapon (primaryWeapon s4);

 removeallweapons s5;
 removeallitems s5;
 removeBackpack s5;

 [s5,0,0,0,true] call ACE_fnc_PackIFAK;
 _s5playerweap = [
    "ACE_M4_Eotech",
    "MAAWS",
    "revolver_EP1",
    "ACE_GlassesBalaklavaGray",
    "ItemCompass",
    "ACE_Earplugs",
    "ACE_Map",
     "ACE_GlassesBlackSun"
    ];

 _s5playerammo = [
    "30Rnd_556x45_Stanag",
    "30Rnd_556x45_Stanag",
    "30Rnd_556x45_Stanag",
    "30Rnd_556x45_Stanag",
    "30Rnd_556x45_Stanag",
    "30Rnd_556x45_Stanag",
    "MAAWS_HEDP",
    "ACE_MAAWS_HE",
    "6Rnd_45ACP",
    "6Rnd_45ACP",
    "6Rnd_45ACP",
    "6Rnd_45ACP",
    "6Rnd_45ACP",
    "6Rnd_45ACP",
    "6Rnd_45ACP",
     "6Rnd_45ACP"
    ];

 {s5 addmagazine _x} foreach _s5playerammo;
 {s5 addWeapon _x} foreach _s5playerweap;

 [s5, ""] call ACE_fnc_PutWeaponOnBack;

 s5 selectWeapon (primaryWeapon s5);

 removeallweapons s6;
 removeallitems s6;
 removeBackpack s6;

 [s6,0,0,0,true] call ACE_fnc_PackIFAK;
 _s6playerweap = [
    "ACE_M4_GL",
    "UZI_SD_EP1",
    "ACE_GlassesBalaklavaGray",
    "ItemCompass",
    "ACE_Earplugs",
    "ItemGPS",
    "ACE_Map",
    "ACE_Map_Tools",
     "ACE_GlassesRedSun"
    ];

 _s6playerammo = [
    "30Rnd_556x45_Stanag",
    "30Rnd_556x45_Stanag",
    "30Rnd_556x45_Stanag",
    "30Rnd_556x45_Stanag",
    "30Rnd_556x45_Stanag",
    "30Rnd_556x45_Stanag",
    "30Rnd_556x45_Stanag",
    "ACE_ANM14",
    "ACE_ANM14",
    "ACE_ANM14",
    "PipeBomb",
    "PipeBomb",
    "30Rnd_9x19_UZI_SD",
    "30Rnd_9x19_UZI_SD",
    "30Rnd_9x19_UZI_SD",
    "30Rnd_9x19_UZI_SD",
    "30Rnd_9x19_UZI_SD",
    "30Rnd_9x19_UZI_SD",
    "30Rnd_9x19_UZI_SD",
     "30Rnd_9x19_UZI_SD"
    ];

 {s6 addmagazine _x} foreach _s6playerammo;
 {s6 addWeapon _x} foreach _s6playerweap;

 [s6, ""] call ACE_fnc_PutWeaponOnBack;

 s6 selectWeapon (primaryWeapon s6);

 removeallweapons s7;
 removeallitems s7;
 removeBackpack s7;

 [s7,0,0,0,true] call ACE_fnc_PackIFAK;
 _s7playerweap = [
    "M240",
    "revolver_gold_EP1",
    "ACE_GlassesBalaklavaGray",
    "ItemCompass",
    "ACE_Earplugs",
    "ACE_Map",
     "ACE_GlassesBlackSun"
    ];

 _s7playerammo = [
    "100Rnd_762x51_M240",
    "100Rnd_762x51_M240",
    "100Rnd_762x51_M240",
    "100Rnd_762x51_M240",
    "100Rnd_762x51_M240",
    "100Rnd_762x51_M240",
    "100Rnd_762x51_M240",
    "PipeBomb",
    "PipeBomb",
    "ACE_ANM14",
    "ACE_ANM14",
    "ACE_ANM14",
    "6Rnd_45ACP",
    "6Rnd_45ACP",
    "6Rnd_45ACP",
    "6Rnd_45ACP",
    "6Rnd_45ACP",
    "6Rnd_45ACP",
    "6Rnd_45ACP",
     "6Rnd_45ACP"
    ];

 {s7 addmagazine _x} foreach _s7playerammo;
 {s7 addWeapon _x} foreach _s7playerweap;

 [s7, ""] call ACE_fnc_PutWeaponOnBack;

 s7 selectWeapon (primaryWeapon s7);

 removeallweapons s8;
 removeallitems s8;
 removeBackpack s8;

 [s8,0,0,0,true] call ACE_fnc_PackIFAK;
 _s8playerweap = [
    "ACE_M4_Eotech_F",
    "ACE_P226",
    "ACE_GlassesBalaklavaGray",
    "ItemCompass",
    "ACE_Earplugs",
    "ACE_Map",
     "ACE_GlassesBlueSun"
    ];

 _s8playerammo = [
    "100Rnd_762x51_M240",
    "100Rnd_762x51_M240",
    "100Rnd_762x51_M240",
    "30Rnd_556x45_Stanag",
    "30Rnd_556x45_Stanag",
    "30Rnd_556x45_Stanag",
    "30Rnd_556x45_Stanag",
    "30Rnd_556x45_Stanag",
    "30Rnd_556x45_Stanag",
    "PipeBomb",
    "PipeBomb",
    "ACE_ANM14",
    "ACE_15Rnd_9x19_P226",
    "ACE_15Rnd_9x19_P226",
    "ACE_15Rnd_9x19_P226",
    "ACE_15Rnd_9x19_P226",
    "ACE_15Rnd_9x19_P226",
    "ACE_15Rnd_9x19_P226",
    "ACE_15Rnd_9x19_P226",
     "ACE_15Rnd_9x19_P226"
    ];

 {s8 addmagazine _x} foreach _s8playerammo;
 {s8 addWeapon _x} foreach _s8playerweap;

 [s8, ""] call ACE_fnc_PutWeaponOnBack;

 s8 selectWeapon (primaryWeapon s8);

 removeallweapons s9;
 removeallitems s9;
 removeBackpack s9;

 [s9,2,2,2,true] call ACE_fnc_PackIFAK;
 _s9playerweap = [
    "ACE_UMP45",
    "ACE_GlassesBalaklavaGray",
    "ItemCompass",
    "ACE_Earplugs",
    "ACE_Map",
     "ACE_GlassesGreenSun"
    ];

 _s9playerammo = [
    "ACE_25Rnd_1143x23_B_UMP45",
    "ACE_25Rnd_1143x23_B_UMP45",
    "ACE_25Rnd_1143x23_B_UMP45",
    "ACE_25Rnd_1143x23_B_UMP45",
    "ACE_25Rnd_1143x23_B_UMP45",
    "ACE_25Rnd_1143x23_B_UMP45",
    "ACE_25Rnd_1143x23_B_UMP45",
    "PipeBomb",
    "ACE_25Rnd_1143x23_B_UMP45",
    "ACE_25Rnd_1143x23_B_UMP45",
    "ACE_25Rnd_1143x23_B_UMP45",
    "ACE_25Rnd_1143x23_B_UMP45",
    "ACE_Medkit",
    "ACE_Medkit",
    "ACE_LargeBandage",
    "ACE_LargeBandage",
    "ACE_Bandage",
    "ACE_Bandage",
    "ACE_Bandage",
    "ACE_Morphine",
    "ACE_Morphine",
    "ACE_Morphine",
    "ACE_Morphine",
    "ACE_Morphine",
    "ACE_Epinephrine",
    "ACE_Epinephrine",
    "ACE_Epinephrine",
    "ACE_Epinephrine",
    "ACE_Epinephrine",
    "ACE_Medkit",
    "ACE_Medkit",
    "ACE_Medkit",
    "ACE_Medkit",
     "ACE_Medkit"
    ];

 {s9 addmagazine _x} foreach _s9playerammo;
 {s9 addWeapon _x} foreach _s9playerweap;

 [s9, ""] call ACE_fnc_PutWeaponOnBack;

 s9 selectWeapon (primaryWeapon s9);

Edited by Iceman77

Share this post


Link to post
Share on other sites

This tool is effing fantastic! All the guys I play with are hooked on this. When making missions now we tend not to use ammo crates anymore. We just use this and take whatever profile is necessary. We tend to play small 5-10 man spec ops missions so this is perfect for us! Great work!

Share this post


Link to post
Share on other sites

@Iceman: Just for understanding:

You add the SOFLAM to the unit and then there is nothing in the "magazine" column of LEA Editor?

It's working pretty well here.

Be aware: there is NO automatic addition of magazines in LEA.

Edited by Soldia

Share this post


Link to post
Share on other sites

Yes I'm aware now. It was a misunderstanding. I thought Major_Shepard meant; all's I had to do was have the soflam (laser designator) in my inventory for it to work. In any case, I realize now you can select the batteries when you have the soflam highlighted, just like any other "weapon".

Share this post


Link to post
Share on other sites

Hi im using this tool for quite some time now, i really love it. Back in ArmA1 days with ACE1 i already thought something like this should be already build into ACE by default to avoid the mess with the backpacking at each mission start.

I dont know if it has been mentioned yet, theres is a small issue. When renaming a profile "Apply to @LEA" doesnt work, first u need to close the profiles editor and open it again, than "Apply to @LEA" works.

And i would like to ask if there is CWR2 mod support planed? This would really help.

Thanks again for this really convenient tool:)

Share this post


Link to post
Share on other sites

Thanks for reporting guy. This is fixed now for the next release.

Yes CWR2 is supported and many others. In the Help menu of LEA, select Install New Addons then select Repository. Just select CWR2 to install it ;)

Edited by Major_Shepard

Share this post


Link to post
Share on other sites

ACE Changed the default IFAK a while back. You no longer carry morphine or epinephrine. Also, there a couple new medical items (tourniquet namely) and some of them have been renamed. (IFAK is now Bandage, Bandage Kit (Elastic), and a tourniquet).

A couple other things:

  • Sparebarrel bag has no weight listed
  • Satchels' weight is now increased in-game for ACE. They weight about 9.6kg iirc

Just thought I'd point out the changes that have occurred in-game but have not been updated for the tool.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×