Jump to content
colosseum

Strange loadout issues on dedicated server

Recommended Posts

Hi all -

 

I'm having a problem with a few missions I've made for Arma3 on my dedicated server, all related to player loadouts and vehicle/crate cargo loadouts.

 

I had previously been using "addWeaponCargo", "addMagazineCargo", and "addItemCargo" on the vehicles/crates to populate the loadouts.  This obviously didn't work in dedicated/MP servers because I wasn't using the "addWeaponCargoGlobal" command (and equivalents).  Once I did this, each player could at least SEE the available inventory in each crate, but some of us aren't able to pull items out.  No one was able to pull out container items (uniforms, vest, packs).  When I attempted to just move them to the "Ground" tab in the inventory screen, they'd disappear entirely, or sometimes appear on the ground and then be unable to be picked up.

 

We are using ACE3 and RHS.  Does anyone know why this happens, and what scripting commands I can use to avoid it?  It also seemed to give us a weird ACRE inventory desync error.

 

 

 

The second issue relates to player loadouts.  Originally, I was exporting directly from Arsenal and adding those script lines to each player's init box.  This obviously works fine in local SP and the editor.  On MP/dedicated servers, SOMETIMES a player would spawn without any weapons.  It's very frustrating and difficult to figure out.  Because of this, I googled around and found a way to "fix" it.  I created a game logic with this as the init script:

[this] call compile preProcessFile "loadouts.sqf";

Loadouts.sqf looks like this ("p1" is the first playable unit).

comment "Remove existing items";

removeAllWeapons p1;

removeAllItems p1;

removeAllAssignedItems p1;

removeUniform p1;

removeVest p1;

removeBackpack p1;

removeHeadgear p1;

removeGoggles p1;



comment "Add containers";

p1 forceAddUniform "U_BG_Guerilla1_1";

p1 addItemToUniform "ACE_EarPlugs";

for "_i" from 1 to 2 do {p1 addItemToUniform "ACE_fieldDressing";};

p1 addItemToUniform "ACE_morphine";

p1 addItemToUniform "ACRE_PRC343";

p1 addBackpack "rhs_assault_umbts";

for "_i" from 1 to 2 do {p1 addItemToBackpack "hlc_200rnd_556x45_M_SAW";};

p1 addItemToBackpack "SmokeShell";

p1 addHeadgear "H_Cap_blk_Raven";



comment "Add weapons";

p1 addWeapon "hlc_lmg_minimipara";



comment "Add items";

p1 linkItem "ItemMap";

p1 linkItem "ItemCompass";

p1 linkItem "ItemWatch";

p1 linkItem "ItemRadioAcreFlagged";

p1 linkItem "rhsusf_ANPVS_14";

Any ideas?

Share this post


Link to post
Share on other sites

Some of us aren't able to pull items out.  No one was able to pull out container items (uniforms, vest, packs).  When I attempted to just move them to the "Ground" tab in the inventory screen, they'd disappear entirely, or sometimes appear on the ground and then be unable to be picked up.

 

We are using ACE3 and RHS.  Does anyone know why this happens, and what scripting commands I can use to avoid it?  It also seemed to give us a weird ACRE inventory desync error.

 

This happens a lot in many servers, in fact there is probably no possible way of taking stuff from a container anymore. (I am not entirely sure about this, but maybe "WeaponPlaceHolder" will work?)

 

The other possibility is that others that join your server may not have the required or specified mods in order to have the appropriate experience.

 

The second issue relates to player loadouts.  Originally, I was exporting directly from Arsenal and adding those script lines to each player's init box.  This obviously works fine in local SP and the editor.  On MP/dedicated servers, SOMETIMES a player would spawn without any weapons.  It's very frustrating and difficult to figure out.  Because of this, I googled around and found a way to "fix" it.  I created a game logic with this as the init script:

[this] call compile preProcessFile "loadouts.sqf";

Loadouts.sqf looks like this ("p1" is the first playable unit).

comment "Remove existing items";

removeAllWeapons p1;

removeAllItems p1;

removeAllAssignedItems p1;

removeUniform p1;

removeVest p1;

removeBackpack p1;

removeHeadgear p1;

removeGoggles p1;



comment "Add containers";

p1 forceAddUniform "U_BG_Guerilla1_1";

p1 addItemToUniform "ACE_EarPlugs";

for "_i" from 1 to 2 do {p1 addItemToUniform "ACE_fieldDressing";};

p1 addItemToUniform "ACE_morphine";

p1 addItemToUniform "ACRE_PRC343";

p1 addBackpack "rhs_assault_umbts";

for "_i" from 1 to 2 do {p1 addItemToBackpack "hlc_200rnd_556x45_M_SAW";};

p1 addItemToBackpack "SmokeShell";

p1 addHeadgear "H_Cap_blk_Raven";



comment "Add weapons";

p1 addWeapon "hlc_lmg_minimipara";



comment "Add items";

p1 linkItem "ItemMap";

p1 linkItem "ItemCompass";

p1 linkItem "ItemWatch";

p1 linkItem "ItemRadioAcreFlagged";

p1 linkItem "rhsusf_ANPVS_14";

Any ideas?

 

You made a big booboo...(Yeah..a really big booboo...)  :P

tag_myfunction = {
_unit = (_this select 0);

removeAllWeapons _unit;
removeAllItems _unit;
removeAllAssignedItems _unit;
removeUniform _unit;
removeVest _unit;
removeBackpack _unit;
removeHeadgear _unit;
removeGoggles _unit;
_unit forceAddUniform "U_BG_Guerilla1_1";
_unit addItemToUniform "ACE_EarPlugs";
for "_i" from 1 to 2 do {_unit addItemToUniform "ACE_fieldDressing";};
_unit addItemToUniform "ACE_morphine";
_unit addItemToUniform "ACRE_PRC343";
_unit addBackpack "rhs_assault_umbts";
for "_i" from 1 to 2 do {_unit addItemToBackpack "hlc_200rnd_556x45_M_SAW";};
_unit addItemToBackpack "SmokeShell";
_unit addHeadgear "H_Cap_blk_Raven";
_unit addWeapon "hlc_lmg_minimipara";
_unit linkItem "ItemMap";
_unit linkItem "ItemCompass";
_unit linkItem "ItemWatch";
_unit linkItem "ItemRadioAcreFlagged";
_unit linkItem "rhsusf_ANPVS_14";
};

If you want the loadout to be set on someone, put this in his init or something: (you'll know what to do  ;) )

[_this select 0] spawn tag_myfunction; //Instead of "_this select 0", you can have just simply p1 as your player

Instead of this in your init:

[this] call compile preProcessFile "loadouts.sqf";

use this:

call compile preprocessFile "loadouts.sqf";

Share this post


Link to post
Share on other sites

Interesting - so the guide I was following had some errors. It was quite old (2013 I think) so I assume an interim arma3 change happened.

 

So essentially creating a function out of the loadout change and then executing it from the unit's init box will do the trick?  I don't really see why this would be different, but I'm sure it DOES work.  I'll have to give it a shot tomorrow.

 

Shame about the problems with containers.  I guess from now on I'll have to incorporate workarounds like having the players start with whatever gear is necessary for the mission... I assume this is a problem with the game itself that the devs are working to fix?

 

Thanks for your help!  It's much appreciated.

Share this post


Link to post
Share on other sites

Hi.
If you have scripted a  custom gear for  playable unit then bad staff may happen at the moment when  jip player connect.
Looks like some BIS function fired custom gear for every player at that moment. The solution found by Imperator_Pete is adding a condition:
 

waitUntil {(!isNull player && time > 0)};

But if you want try a profesional custom gear script use LEA LOADOUT

 

For custom cargo in boxes i always use the CBA function: CBA_fnc_globalExecute.

Never got any isues with.

Share this post


Link to post
Share on other sites

OK, so to use the "waitUntil" option, I would place that before each unit's gear script in their init box? Or would I place it into the loadouts.sqf file before everything?

 

Also - for CBA_fnc_globalExecute, would I want to execute the script on all, clients, or server?  And would this be executed from the init.sqf file, calling a "crate_loadouts.sqf" file?  I'm unfortunately not very good at scripting (despite working in software development...) and the order of initialization for arma missions escapes me.

Share this post


Link to post
Share on other sites

I've gotten around this by using a wait until isplayer check to only run the init field once per unit and only when that unit is spawned.

waitUntil {(!isNull player && time > 0)};

Anyway i think the best method to achieve this is use  LEA editor.

If not just create initPlayerLocal.sqf file in mission root directory and write there

the loadout for every unit like that:

if ((typeOf player) == "B_medic_F") then  {

    private ["_unit"];
    _unit = _this select 0;
    removeAllWeapons _unit;
    removeAllItems _unit;
    removeAllAssignedItems _unit;
    removeUniform _unit;
    removeVest _unit;
    removeBackpack _unit;
    removeHeadgear _unit;
    removeGoggles _unit;
    _unit forceAddUniform "rhs_uniform_cu_ucp";
    for "_i" from 1 to 10 do {_unit addItemToUniform "ACE_fieldDressing";};
    for "_i" from 1 to 3 do {_unit addItemToUniform "ACE_morphine";};
    for "_i" from 1 to 3 do {_unit addItemToUniform "ACE_epinephrine";};
    _unit addItemToUniform "ACE_NVG_Gen4";
    _unit addVest "rhsusf_iotv_ucp_Medic";
    for "_i" from 1 to 15 do {_unit addItemToVest "ACE_quikclot";};
    for "_i" from 1 to 2 do {_unit addItemToVest "ACE_CableTie";};
    _unit addItemToVest "rhsusf_acc_nt4_black";
    for "_i" from 1 to 2 do {_unit addItemToVest "rhs_mag_an_m8hc";};
    for "_i" from 1 to 2 do {_unit addItemToVest "rhs_mag_m18_red";};
    for "_i" from 1 to 2 do {_unit addItemToVest "rhs_mag_m18_green";};
    for "_i" from 1 to 8 do {_unit addItemToVest "rhs_mag_30Rnd_556x45_Mk318_Stanag";};
    _unit addItemToVest "rhs_mag_m67";
    _unit addBackpack "B_Carryall_mcamo";
    for "_i" from 1 to 50 do {_unit addItemToBackpack "ACE_fieldDressing";};
    for "_i" from 1 to 25 do {_unit addItemToBackpack "ACE_morphine";};
    for "_i" from 1 to 25 do {_unit addItemToBackpack "ACE_epinephrine";};
    for "_i" from 1 to 15 do {_unit addItemToBackpack "ACE_bloodIV";};
    for "_i" from 1 to 15 do {_unit addItemToBackpack "ACE_quikclot";};
    for "_i" from 1 to 2 do {_unit addItemToBackpack "ACE_bodyBag";};
    _unit addItemToBackpack "ACE_personalAidKit";
    _unit addHeadgear "rhsusf_ach_helmet_headset_ucp";
    _unit addGoggles "G_Combat";
    _unit addWeapon "rhs_weap_m16a4_carryhandle_grip_pmag";
    _unit addPrimaryWeaponItem "rhsusf_acc_anpeq15A";
    _unit addPrimaryWeaponItem "optic_Nightstalker";
    _unit addPrimaryWeaponItem "bipod_01_F_blk";
    _unit addWeapon "Laserdesignator";
    _unit linkItem "ItemMap";
    _unit linkItem "ItemCompass";
    _unit linkItem "ACE_Altimeter";
    _unit linkItem "ItemGPS";
};

 

Then you need to define something at player respawn.

You can use the class CfgRespawnInventory in description.ext

or just create file onPlayerRespawn.sqf in mission root directory and repeat the code from initPlayerLocal.sqf.

 

 

Custom crate.

If you want use CBA_fnc_globalExecute do it like this:

 

description.ext somewhere at end:

class Extended_Init_EventHandlers	{
	 
	class B_CargoNet_01_ammo_F	{ // this is your box classname
		
		init = "(_this select 0) call (compile preprocessFileLineNumbers 'crate.sqf')";
     
	 };
};

then create script crate.sqf in your mission root:

This example including already all kind stuff from Arma, RHS and ACE3 without weapons + Bis VirtualArsenal.

But you can modify it for your propose.

For execute this you do not need any execute code just place box with classname in that case will be:  B_CargoNet_01_ammo_F in editor

or spawn it in game via other script for example supply drop.

The box will be automatically filled with those stuff.

 

crate.sqf

// create custom ammo box using CBA_fnc_globalExecute
private ["_crate"];
_crate = _this;
[-1, {
    _crate = _this;
	
	clearWeaponCargoGlobal _crate;
	clearMagazineCargoGlobal _crate;
	clearItemCargoGlobal _crate;
	clearBackpackCargoGlobal _crate;
	_crate addItemCargoGlobal ["ACE_CableTie", 10];
	_crate addItemCargoGlobal ["ACE_muzzle_mzls_338", 10];
	_crate addItemCargoGlobal ["ACE_muzzle_mzls_93mmg", 10];
	_crate addItemCargoGlobal ["ACE_muzzle_mzls_H", 10];
	_crate addItemCargoGlobal ["ACE_muzzle_mzls_L", 10];
	_crate addItemCargoGlobal ["ACE_muzzle_mzls_smg_01", 10];
	_crate addItemCargoGlobal ["ACE_muzzle_mzls_smg_02", 10];
	_crate addItemCargoGlobal ["muzzle_snds_338_black", 10];
	_crate addItemCargoGlobal ["muzzle_snds_338_green", 10];
	_crate addItemCargoGlobal ["muzzle_snds_338_sand", 10];
	_crate addItemCargoGlobal ["muzzle_snds_93mmg", 10];
	_crate addItemCargoGlobal ["muzzle_snds_93mmg_tan", 10];
	_crate addItemCargoGlobal ["muzzle_snds_acp", 10];
	_crate addItemCargoGlobal ["muzzle_snds_B", 10];
	_crate addItemCargoGlobal ["muzzle_snds_H", 10];
	_crate addItemCargoGlobal ["muzzle_snds_H_MG", 10];
	_crate addItemCargoGlobal ["muzzle_snds_H_SW", 10];
	_crate addItemCargoGlobal ["muzzle_snds_L", 10];
	_crate addItemCargoGlobal ["muzzle_snds_M", 10];
	_crate addItemCargoGlobal ["rhsusf_acc_nt4_black", 10];
	_crate addItemCargoGlobal ["ACE_NVG_Gen1", 10];
	_crate addItemCargoGlobal ["ACE_NVG_Gen2", 10];
	_crate addItemCargoGlobal ["ACE_NVG_Gen4", 10];
	_crate addItemCargoGlobal ["ACE_NVG_Wide", 10];
	_crate addItemCargoGlobal ["ACE_optic_Arco_2D", 10];
	_crate addItemCargoGlobal ["ACE_optic_Arco_PIP", 10];
	_crate addItemCargoGlobal ["ACE_optic_Hamr_2D", 10];
	_crate addItemCargoGlobal ["ACE_optic_Hamr_PIP", 10];
	_crate addItemCargoGlobal ["ACE_optic_LRPS_2D", 10];
	_crate addItemCargoGlobal ["ACE_optic_LRPS_PIP", 10];
	_crate addItemCargoGlobal ["ACE_optic_MRCO_2D", 10];
	_crate addItemCargoGlobal ["ACE_optic_SOS_2D", 10];
	_crate addItemCargoGlobal ["ACE_optic_SOS_PIP", 10];
	_crate addItemCargoGlobal ["optic_Aco", 10];
	_crate addItemCargoGlobal ["optic_ACO_grn", 10];
	_crate addItemCargoGlobal ["optic_ACO_grn_smg", 10];
	_crate addItemCargoGlobal ["optic_Aco_smg", 10];
	_crate addItemCargoGlobal ["optic_AMS", 10];
	_crate addItemCargoGlobal ["optic_AMS_khk", 10];
	_crate addItemCargoGlobal ["optic_AMS_snd", 10];
	_crate addItemCargoGlobal ["optic_Arco", 10];
	_crate addItemCargoGlobal ["optic_DMS", 10];
	_crate addItemCargoGlobal ["optic_Hamr", 10];
	_crate addItemCargoGlobal ["optic_Holosight", 10];
	_crate addItemCargoGlobal ["optic_Holosight_smg", 10];
	_crate addItemCargoGlobal ["optic_KHS_blk", 10];
	_crate addItemCargoGlobal ["optic_KHS_hex", 10];
	_crate addItemCargoGlobal ["optic_KHS_old", 10];
	_crate addItemCargoGlobal ["optic_KHS_tan", 10];
	_crate addItemCargoGlobal ["optic_LRPS", 10];
	_crate addItemCargoGlobal ["optic_MRCO", 10];
	_crate addItemCargoGlobal ["optic_MRD", 10];
	_crate addItemCargoGlobal ["optic_Nightstalker", 10];
	_crate addItemCargoGlobal ["optic_NVS", 10];
	_crate addItemCargoGlobal ["optic_SOS", 10];
	_crate addItemCargoGlobal ["optic_tws", 10];
	_crate addItemCargoGlobal ["optic_tws_mg", 10];
	_crate addItemCargoGlobal ["optic_Yorris", 10];
	_crate addItemCargoGlobal ["acc_flashlight", 10];
	_crate addItemCargoGlobal ["acc_pointer_IR", 10];
	_crate addItemCargoGlobal ["ACE_acc_pointer_green", 10];
	_crate addItemCargoGlobal ["ACE_personalAidKit", 10];
	_crate addItemCargoGlobal ["ACE_bloodIV", 10];
	_crate addItemCargoGlobal ["ACE_bloodIV_250", 10];
	_crate addItemCargoGlobal ["ACE_bloodIV_500", 10];
	_crate addItemCargoGlobal ["ACE_EarPlugs", 10];
	_crate addItemCargoGlobal ["ACE_elasticBandage", 10];
	_crate addItemCargoGlobal ["ACE_quikclot", 10];
	_crate addItemCargoGlobal ["ACE_packingBandage", 10];
	_crate addItemCargoGlobal ["ACE_fieldDressing", 10];
	_crate addItemCargoGlobal ["ACE_epinephrine", 10];
	_crate addItemCargoGlobal ["ACE_morphine", 10];
	_crate addItemCargoGlobal ["ACE_bodyBag", 10];
	_crate addItemCargoGlobal ["ACE_surgicalKit", 10];
	_crate addItemCargoGlobal ["ACE_tourniquet", 10];
	_crate addItemCargoGlobal ["ACE_RangeCard", 10];
	_crate addItemCargoGlobal ["ACE_Sandbag_empty", 10];
	_crate addItemCargoGlobal ["ACE_SpareBarrel", 10];
	_crate addItemCargoGlobal ["ACE_Tripod", 10];
	_crate addItemCargoGlobal ["ACE_wirecutter", 10];
	_crate addItemCargoGlobal ["ACE_Clacker", 10];	
	_crate addItemCargoGlobal ["ACE_DeadManSwitch", 10];
	_crate addItemCargoGlobal ["ACE_DefusalKit", 10];
	_crate addItemCargoGlobal ["ACE_M26_Clacker", 10];
	_crate addItemCargoGlobal ["ACE_IR_Strobe_Item", 10];
	_crate addItemCargoGlobal ["ACE_ATragMX", 10];
	_crate addItemCargoGlobal ["ACE_Kestrel4500", 10];
	_crate addItemCargoGlobal ["ACE_DAGR", 10];
	_crate addItemCargoGlobal ["ACE_Cellphone", 10];
	_crate addItemCargoGlobal ["ACE_microDAGR", 10];
	_crate addItemCargoGlobal ["bipod_01_F_blk" ,10];
	_crate addItemCargoGlobal ["bipod_01_F_mtp" ,10];
	_crate addItemCargoGlobal ["bipod_01_F_snd", 10];
	_crate addItemCargoGlobal ["bipod_02_F_blk", 10];
	_crate addItemCargoGlobal ["bipod_02_F_hex", 10];
	_crate addItemCargoGlobal ["bipod_02_F_tan", 10];
	_crate addItemCargoGlobal ["bipod_03_F_blk", 10];
	_crate addItemCargoGlobal ["bipod_03_F_oli", 10];
	_crate addItemCargoGlobal ["B_UavTerminal", 10];
	_crate addItemCargoGlobal ["ACE_UAVBattery", 10];
	_crate addItemCargoGlobal ["G_Combat", 10];
	_crate addItemCargoGlobal ["ItemCompass", 10];
	_crate addItemCargoGlobal ["ItemGPS", 10];
	_crate addItemCargoGlobal ["ItemMap", 10];
	_crate addItemCargoGlobal ["ACE_MapTools", 10];
	_crate addItemCargoGlobal ["ItemRadio", 10];
	_crate addItemCargoGlobal ["tf_anprc152_1", 10];
	_crate addItemCargoGlobal ["ItemWatch", 10];
	_crate addItemCargoGlobal ["ACE_Altimeter", 10];
	_crate addItemCargoGlobal ["Laserbatteries", 10];
	_crate addItemCargoGlobal ["Laserdesignator", 10];
	_crate addItemCargoGlobal ["Binocular", 10];
	_crate addItemCargoGlobal ["ACE_MX2A", 10];
	_crate addItemCargoGlobal ["ACE_Vector", 10];
	_crate addItemCargoGlobal ["Rangefinder", 10];
	_crate addItemCargoGlobal ["ACE_Yardage450", 10];
	_crate addItemCargoGlobal ["MineDetector", 10];
	_crate addItemCargoGlobal ["NVGoggles", 10];
	_crate addItemCargoGlobal ["ToolKit", 10];
	_crate addMagazineCargoGlobal ["100Rnd_65x39_caseless_mag", 30];
	_crate addMagazineCargoGlobal ["100Rnd_65x39_caseless_mag_Tracer", 30];
	_crate addMagazineCargoGlobal ["200Rnd_65x39_cased_Box", 30];
	_crate addMagazineCargoGlobal ["200Rnd_65x39_cased_Box_Tracer", 30];
	_crate addMagazineCargoGlobal ["30Rnd_65x39_caseless_green", 30];
	_crate addMagazineCargoGlobal ["30Rnd_65x39_caseless_green_mag_Tracer", 30];
	_crate addMagazineCargoGlobal ["30Rnd_65x39_caseless_mag", 30];
	_crate addMagazineCargoGlobal ["30Rnd_65x39_caseless_mag_Tracer", 30];
	_crate addMagazineCargoGlobal ["ACE_100Rnd_65x39_caseless_mag_Tracer_Dim", 30];
	_crate addMagazineCargoGlobal ["ACE_200Rnd_65x39_cased_Box_Tracer_Dim", 30];
	_crate addMagazineCargoGlobal ["ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim", 30];
	_crate addMagazineCargoGlobal ["ACE_30Rnd_65x39_caseless_mag_Tracer_Dim", 30];
	_crate addMagazineCargoGlobal ["ACE_30Rnd_65x47_Scenar_mag", 30];
	_crate addMagazineCargoGlobal ["ACE_30Rnd_65_Creedmor_mag", 30];
	_crate addMagazineCargoGlobal ["10Rnd_127x54_Mag", 30];
	_crate addMagazineCargoGlobal ["5Rnd_127x108_APDS_Mag", 30];
	_crate addMagazineCargoGlobal ["5Rnd_127x108_Mag", 30];
	_crate addMagazineCargoGlobal ["ACE_5Rnd_127x99_AMAX_Mag", 30];
	_crate addMagazineCargoGlobal ["ACE_5Rnd_127x99_API_Mag", 30];
	_crate addMagazineCargoGlobal ["ACE_5Rnd_127x99_Mag", 30];
	_crate addMagazineCargoGlobal ["7Rnd_408_Mag", 30];
	_crate addMagazineCargoGlobal ["rhsusf_5Rnd_300winmag_xm2010", 30];
	_crate addMagazineCargoGlobal ["10Rnd_762x51_Mag", 30];
	_crate addMagazineCargoGlobal ["150Rnd_762x51_Box", 30];
	_crate addMagazineCargoGlobal ["150Rnd_762x51_Box_Tracer", 30];
	_crate addMagazineCargoGlobal ["ACE_10Rnd_762x51_M118LR_Mag", 30];
	_crate addMagazineCargoGlobal ["ACE_10Rnd_762x51_M993_AP_Mag", 30];
	_crate addMagazineCargoGlobal ["ACE_10Rnd_762x51_Mk316_Mod_0_Mag", 30];
	_crate addMagazineCargoGlobal ["ACE_10Rnd_762x51_Mk319_Mod_0_Mag", 30];
	_crate addMagazineCargoGlobal ["ACE_20Rnd_762x51_M118LR_Mag", 30];
	_crate addMagazineCargoGlobal ["ACE_20Rnd_762x51_M993_AP_Mag", 30];
	_crate addMagazineCargoGlobal ["ACE_20Rnd_762x51_Mag_SD", 30];
	_crate addMagazineCargoGlobal ["ACE_20Rnd_762x51_Mag_Tracer", 30];
	_crate addMagazineCargoGlobal ["ACE_20Rnd_762x51_Mag_Tracer_Dim", 30];
	_crate addMagazineCargoGlobal ["ACE_20Rnd_762x51_Mk316_Mod_0_Mag", 30];
	_crate addMagazineCargoGlobal ["ACE_20Rnd_762x51_Mk319_Mod_0_Mag", 30];
	_crate addMagazineCargoGlobal ["rhsusf_20Rnd_762x51_m118_special_Mag", 30];
	_crate addMagazineCargoGlobal ["rhsusf_20Rnd_762x51_m993_Mag", 30];
	_crate addMagazineCargoGlobal ["20Rnd_762x51_Mag", 30];
	_crate addMagazineCargoGlobal ["10Rnd_762x54_Mag", 30];
	_crate addMagazineCargoGlobal ["150Rnd_762x54_Box", 30];
	_crate addMagazineCargoGlobal ["150Rnd_762x54_Box_Tracer", 30];
	_crate addMagazineCargoGlobal ["ACE_10Rnd_762x54_Tracer_mag", 30];
	_crate addMagazineCargoGlobal ["ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag", 30];
	_crate addMagazineCargoGlobal ["ACE_20Rnd_762x67_Mk248_Mod_0_Mag", 30];
	_crate addMagazineCargoGlobal ["ACE_20Rnd_762x67_Mk248_Mod_1_Mag", 30];
	_crate addMagazineCargoGlobal ["10Rnd_93x64_DMR_05_Mag", 30];
	_crate addMagazineCargoGlobal ["11Rnd_45ACP_Mag", 30];
	_crate addMagazineCargoGlobal ["30Rnd_45ACP_Mag_SMG_01", 30];
	_crate addMagazineCargoGlobal ["30Rnd_45ACP_Mag_SMG_01_Tracer_Green", 30];
	_crate addMagazineCargoGlobal ["30Rnd_45ACP_Mag_SMG_01_Tracer_Red", 30];
	_crate addMagazineCargoGlobal ["30Rnd_45ACP_Mag_SMG_01_Tracer_Yellow", 30];
	_crate addMagazineCargoGlobal ["rhsusf_mag_7x45acp_MHP", 30];
	_crate addMagazineCargoGlobal ["6Rnd_45ACP_Cylinder", 30];
	_crate addMagazineCargoGlobal ["9Rnd_45ACP_Mag", 30];
	_crate addMagazineCargoGlobal ["130Rnd_338_Mag", 30];
	_crate addMagazineCargoGlobal ["ACE_10Rnd_338_300gr_HPBT_Mag", 30];
	_crate addMagazineCargoGlobal ["ACE_10Rnd_338_API526_Mag", 30];
	_crate addMagazineCargoGlobal ["10Rnd_338_Mag", 30];
	_crate addMagazineCargoGlobal ["150Rnd_93x64_Mag", 30];
	_crate addMagazineCargoGlobal ["16Rnd_9x21_Mag", 30];
	_crate addMagazineCargoGlobal ["30Rnd_9x21_Mag", 30];
	_crate addMagazineCargoGlobal ["rhs_mag_m18_green", 30];
	_crate addMagazineCargoGlobal ["rhs_mag_m18_purple", 30];
	_crate addMagazineCargoGlobal ["rhs_mag_m18_red", 30];
	_crate addMagazineCargoGlobal ["rhs_mag_m18_yellow", 30];
	_crate addMagazineCargoGlobal ["rhs_mag_an_m14_th3", 30];
	_crate addMagazineCargoGlobal ["rhs_mag_an_m8hc", 30];
	_crate addMagazineCargoGlobal ["rhs_mag_m7a3_cs", 30];
	_crate addMagazineCargoGlobal ["rhs_mag_mk3a2", 30];
	_crate addMagazineCargoGlobal ["rhs_mag_mk84", 30];
	_crate addMagazineCargoGlobal ["SmokeShell", 30];
	_crate addMagazineCargoGlobal ["SmokeShellBlue", 30];
	_crate addMagazineCargoGlobal ["SmokeShellGreen", 30];
	_crate addMagazineCargoGlobal ["SmokeShellOrange", 30];
	_crate addMagazineCargoGlobal ["SmokeShellPurple", 30];
	_crate addMagazineCargoGlobal ["SmokeShellRed", 30];
	_crate addMagazineCargoGlobal ["SmokeShellYellow", 30];
	_crate addMagazineCargoGlobal ["20Rnd_556x45_UW_mag", 30];
	_crate addMagazineCargoGlobal ["30Rnd_556x45_Stanag", 30];
	_crate addMagazineCargoGlobal ["30Rnd_556x45_Stanag_green", 30];
	_crate addMagazineCargoGlobal ["30Rnd_556x45_Stanag_red", 30];
	_crate addMagazineCargoGlobal ["30Rnd_556x45_Stanag_Tracer_Green", 30];
	_crate addMagazineCargoGlobal ["30Rnd_556x45_Stanag_Tracer_Red", 30];
	_crate addMagazineCargoGlobal ["30Rnd_556x45_Stanag_Tracer_Yellow", 30];
	_crate addMagazineCargoGlobal ["rhs_mag_30Rnd_556x45_M200_Stanag", 30];
	_crate addMagazineCargoGlobal ["rhs_mag_30Rnd_556x45_M855A1_Stanag", 30];
	_crate addMagazineCargoGlobal ["rhs_mag_30Rnd_556x45_M855A1_Stanag_No_Tracer", 30];
	_crate addMagazineCargoGlobal ["rhs_mag_30Rnd_556x45_M855A1_Stanag_Tracer_Green", 30];
	_crate addMagazineCargoGlobal ["rhs_mag_30Rnd_556x45_M855A1_Stanag_Tracer_Red", 30];
	_crate addMagazineCargoGlobal ["rhs_mag_30Rnd_556x45_M855A1_Stanag_Tracer_Yellow", 30];
	_crate addMagazineCargoGlobal ["rhs_mag_30Rnd_556x45_Mk262_Stanag", 30];
	_crate addMagazineCargoGlobal ["rhs_mag_30Rnd_556x45_Mk318_Stanag", 30];
	_crate addMagazineCargoGlobal ["ACE_30Rnd_556x45_Stanag_M995_AP_mag", 30];
	_crate addMagazineCargoGlobal ["ACE_30Rnd_556x45_Stanag_Mk262_mag", 30];
	_crate addMagazineCargoGlobal ["ACE_30Rnd_556x45_Stanag_Mk318_mag", 30];
	_crate addMagazineCargoGlobal ["ACE_30Rnd_556x45_Stanag_Tracer_Dim", 30];
	_crate addMagazineCargoGlobal ["rhsusf_5Rnd_00Buck", 30];
	_crate addMagazineCargoGlobal ["rhsusf_5Rnd_doomsday_Buck", 30];
	_crate addMagazineCargoGlobal ["rhsusf_8Rnd_00Buck", 30];
	_crate addMagazineCargoGlobal ["rhsusf_8Rnd_doomsday_Buck", 30];
	_crate addMagazineCargoGlobal ["ACE_HandFlare_Green", 30];
	_crate addMagazineCargoGlobal ["ACE_HandFlare_Red", 30];
	_crate addMagazineCargoGlobal ["ACE_HandFlare_White", 30];
	_crate addMagazineCargoGlobal ["ACE_HandFlare_Yellow", 30];
	_crate addMagazineCargoGlobal ["FlareGreen_F", 30];
	_crate addMagazineCargoGlobal ["FlareRed_F", 30];
	_crate addMagazineCargoGlobal ["FlareWhite_F", 30];
	_crate addMagazineCargoGlobal ["FlareYellow_F", 30];
	_crate addMagazineCargoGlobal ["Chemlight_blue", 30];
	_crate addMagazineCargoGlobal ["Chemlight_green", 30];
	_crate addMagazineCargoGlobal ["Chemlight_red", 30];
	_crate addMagazineCargoGlobal ["Chemlight_yellow", 30];
	_crate addMagazineCargoGlobal ["ACE_M84", 30];
	_crate addMagazineCargoGlobal ["HandGrenade", 30];
	_crate addMagazineCargoGlobal ["MiniGrenade", 30];
	_crate addMagazineCargoGlobal ["rhs_mag_m67", 30];
	_crate addMagazineCargoGlobal ["rhs_mag_m69", 30];
	_crate addMagazineCargoGlobal ["B_IR_Grenade", 30];
	_crate addMagazineCargoGlobal ["APERSBoundingMine_Range_Mag", 30];
	_crate addMagazineCargoGlobal ["APERSMine_Range_Mag", 30];
	_crate addMagazineCargoGlobal ["APERSTripMine_Wire_Mag", 30];
	_crate addMagazineCargoGlobal ["ATMine_Range_Mag", 30];
	_crate addMagazineCargoGlobal ["ClaymoreDirectionalMine_Remote_Mag", 30];
	_crate addMagazineCargoGlobal ["ClaymoreDirectionalMine_Remote_Mag", 30];
	_crate addMagazineCargoGlobal ["DemoCharge_Remote_Mag", 30];
	_crate addMagazineCargoGlobal ["SatchelCharge_Remote_Mag", 30];
	_crate addMagazineCargoGlobal ["SLAMDirectionalMine_Wire_Mag", 30];
	_crate addMagazineCargoGlobal ["rhs_mine_M19_mag", 30];
	_crate addMagazineCargoGlobal ["rhs_mag_m4009", 30];
	_crate addMagazineCargoGlobal ["rhs_mag_m576", 30];
	_crate addMagazineCargoGlobal ["rhs_mag_M433_HEDP", 30];
	_crate addMagazineCargoGlobal ["rhs_mag_M441_HE", 30];
	_crate addMagazineCargoGlobal ["1Rnd_HE_Grenade_shell", 30];
	_crate addMagazineCargoGlobal ["3Rnd_HE_Grenade_shell", 30];
	_crate addMagazineCargoGlobal ["1Rnd_SmokeBlue_Grenade_shell", 30];
	_crate addMagazineCargoGlobal ["1Rnd_SmokeGreen_Grenade_shell", 30];
	_crate addMagazineCargoGlobal ["1Rnd_SmokeOrange_Grenade_shell", 30];
	_crate addMagazineCargoGlobal ["1Rnd_SmokePurple_Grenade_shell", 30];
	_crate addMagazineCargoGlobal ["1Rnd_SmokeRed_Grenade_shell", 30];
	_crate addMagazineCargoGlobal ["1Rnd_SmokeYellow_Grenade_shell", 30];
	_crate addMagazineCargoGlobal ["1Rnd_Smoke_Grenade_shell", 30];
	_crate addMagazineCargoGlobal ["3Rnd_SmokeBlue_Grenade_shell", 30];
	_crate addMagazineCargoGlobal ["3Rnd_SmokeGreen_Grenade_shell", 30];
	_crate addMagazineCargoGlobal ["3Rnd_SmokeOrange_Grenade_shell", 30];
	_crate addMagazineCargoGlobal ["3Rnd_SmokePurple_Grenade_shell", 30];
	_crate addMagazineCargoGlobal ["3Rnd_SmokeRed_Grenade_shell", 30];
	_crate addMagazineCargoGlobal ["3Rnd_SmokeYellow_Grenade_shell", 30];
	_crate addMagazineCargoGlobal ["3Rnd_Smoke_Grenade_shell", 30];
	_crate addMagazineCargoGlobal ["rhs_mag_M585_white", 30];
	_crate addMagazineCargoGlobal ["rhs_mag_m661_green", 30];
	_crate addMagazineCargoGlobal ["rhs_mag_m662_red", 30];
	_crate addMagazineCargoGlobal ["rhs_mag_m713_Red", 30];
	_crate addMagazineCargoGlobal ["rhs_mag_m714_White", 30];
	_crate addMagazineCargoGlobal ["rhs_mag_m715_Green", 30];
	_crate addMagazineCargoGlobal ["rhs_mag_m716_yellow", 30];
	_crate addMagazineCargoGlobal ["UGL_FlareCIR_F", 30];
	_crate addMagazineCargoGlobal ["UGL_FlareGreen_F", 30];
	_crate addMagazineCargoGlobal ["UGL_FlareRed_F", 30];
	_crate addMagazineCargoGlobal ["UGL_FlareWhite_F", 30];
	_crate addMagazineCargoGlobal ["UGL_FlareYellow_F", 30];
	_crate addMagazineCargoGlobal ["3Rnd_UGL_FlareCIR_F", 30];
	_crate addMagazineCargoGlobal ["3Rnd_UGL_FlareGreen_F", 30];
	_crate addMagazineCargoGlobal ["3Rnd_UGL_FlareRed_F", 30];
	_crate addMagazineCargoGlobal ["3Rnd_UGL_FlareWhite_F", 30];
	_crate addMagazineCargoGlobal ["3Rnd_UGL_FlareYellow_F", 30];
	_crate addMagazineCargoGlobal ["RPG32_F", 30];
	_crate addMagazineCargoGlobal ["RPG32_HE_F", 30];
	_crate addMagazineCargoGlobal ["Titan_AA", 30];
	_crate addMagazineCargoGlobal ["Titan_AP", 30];
	_crate addMagazineCargoGlobal ["Titan_AT", 30];
	_crate addMagazineCargoGlobal ["NLAW_F", 30];
	_crate addMagazineCargoGlobal ["rhs_fgm148_magazine_AT", 30];
	_crate addMagazineCargoGlobal ["rhs_fim92_mag", 30];
	_crate addMagazineCargoGlobal ["rhs_m136_hedp_mag", 30];
	_crate addMagazineCargoGlobal ["rhs_m136_hp_mag", 30];
	_crate addMagazineCargoGlobal ["rhs_m136_mag", 30];
	_crate addAction ["<t color='#ff1111'>BIS Arsenal</t>", {["Open",true] call BIS_fnc_arsenal},[],6,false,true,"","(_target distance _this) < 5"];	
}, _crate] call CBA_fnc_globalExecute;

And here is the best trick.

 

The code above is executed for every player connected and JIP.

But what when you for some reason need to execute something  on the same box simultaneously but server side only?

Very easy. Just add a new call for the same function in the same file at bottom and this time change the locality to "0".

For example to implement R3FLOG:

// run only server side
[0,
    {
        _crate = _this;
    
        nul    =    [_crate,
                    [
                        "B_Mortar_01_F",
                        "B_HMG_01_F",
                        "B_HMG_01_high_F",
                        "B_HMG_01_A_F",
                        "B_GMG_01_F",
                        "B_GMG_01_high_F",
                        "B_GMG_01_A_F",
                        "B_static_AA_F",
                        "B_static_AT_F",
                        "B_G_Mortar_01_F",
                        "B_UAV_01_F"
                    ]
                ] execVM "R3F_LOG\USER_FUNCT\auto_load_in_vehicle.sqf";
    },_crate
] call CBA_fnc_globalExecute;

 

Greatings

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

×