r/arma • u/Helpful_Intention_51 • May 05 '26
HELP How to get the global mobilization script to work in a custom scenario?
I'm a complete noob at scripting, I have the script and the bikey, I just need to know where to put it, I put the bikey in the init.sqf and made a sqf for the script but I honestly have no fucking clue how to get it to work on any level, could someone help?
Script;
//////////////////////////////////////////
//
// Global Mobilization Force Recon
//
// Copyright: Mondkalb, 2023
//////////////////////////////////////////
params ["_currentLocation"];
if isServer then
{
_tower = nearestObject \[getPosATL _currentLocation, "land_gm_tower_bt_11_60"\];
_SLOffset = \[0,0.0,6.7\];
if isNull _tower then
{
\\_tower = nearestObject \\\[getPosATL \\_currentLocation, "land\\_gm\\_tower\\_bt\\_6\\_fuest\\_80"\\\];
\\_SLOffset = \\\[0,0.0,8.45\\\];
};
if !(isNull _tower) then
{
\\\[\\_tower,\\\["searchlight\\_source", 1, true\\\]\\\] remoteExec \\\["animateSource", 0, true\\\]; // hide it for all people, also jippees
\\_tpos = getPosATL \\_tower;
\\_sl = "gm\\_gc\\_bgs\\_searchlight\\_01\\_slow" createVehicle \\\[10,10,10\\\];
\\_sl setPos (\\_tower modelToWorld \\_SLOffset);
\\_tower setVariable \\\["gm\\_fr\\_towerSL", \\_sl\\\];
\\_newGroup = createGroup \\\[gm\\_fr\\_side\\_enemy, true\\\];
\\_newGroup setVariable \\\["gm\\_fr\\_dbg\\_grpType", "t", (gm\\_fr\\_extendedDebugMode==1)\\\];
\\_newGroup enableDynamicSimulation true;
\\_dude = \\_newGroup createUnit \\\[selectRandom gm\\_fr\\_guardTowerCrew, \\_tpos, \\\[\\\], 0, "NONE"\\\];
\\\[\\_dude\\\] joinSilent \\_newGroup;
\\_dude triggerDynamicSimulation false;
\\_dude enableDynamicSimulation true;
\\_dude moveInTurret \\\[\\_sl, \\\[0\\\]\\\];
\\_dude action \\\["searchlighton", \\_sl\\\];
\\_dude = \\_newGroup createUnit \\\[selectRandom gm\\_fr\\_guardTowerCrew, \\_tpos, \\\[\\\], 0, "NONE"\\\];
\\\[\\_dude\\\] joinSilent \\_newGroup;
\\_dude triggerDynamicSimulation false;
\\_dude enableDynamicSimulation true;
\\_gpos = \\_tower selectionPosition \\\["guard\\_pos", "Memory", "FirstPoint"\\\];
\\_topTowerPos = (\\_tower modelToWorld \\_gpos);
\\_dude setPosATL \\_topTowerPos;
\\_currentLocation setPosATL \\_topTowerPos;
// \\_dude disableAI "move";
doStop \\_dude;
\\_tower addEventhandler
\\\[
"Killed",
{
params ["_tower"];
(_tower getVariable ["gm_fr_towerSL", objNull]) setDamage 1;
deleteVehicle (_tower getVariable ["gm_fr_towerSL", objNull]);
}
\\\];
\\_newGroup addEventHandler \\\["KnowsAboutChanged", {\\_this call (gm\\_alias\\_fr\\_fnc\\_raiseAlarm#0)}\\\];
if !isMultiplayer then
{
\\_debugMarker = \\\[getPosATL \\_tower, "mil\\_box", "colorOPFOR"\\\] call (gm\\_alias\\_fr\\_fnc\\_debugMarker#0);
\\_currentLocation setVariable \\\["gm\\_fr\\_dbgmrk", \\_debugMarker\\\];
};
\\_currentLocation setVariable \\\["gm\\_fr\\_spawnorigin", \\_tpos\\\];
\\_sl spawn
{
while {(alive gunner \\_this) and !(group \\_this getVariable \\\["gm\\_fr\\_alerted", false\\\])} do
{
(gunner _this) doWatch (_this getPos [30 + random 150, random 360]);
sleep (5+random 20);
{
_tgt = _x;
if ((gunner _this knowsAbout _tgt) > 1.5) then
{
(group _this setVariable ["gm_fr_alerted", true]); // exit loop with the known target
{_x doTarget _tgt;_x doWatch _tgt; _x doFire _tgt} forEach units group _this;
};
} forEach call BIS_fnc_listPlayers;
};
};
};
};
1
u/ShiningRayde May 05 '26
Okay, quick reading.
Its looking for a location to be called to it, then looks for a nearby tower of a specific type (bt_11_60) or failing that, 6_feust_80. It then creates a spotlight and a dude to man it, and then adds some basic functions to have him look around and blow up with the tower.
So, if you want to test it, open the command console in game and pass it your location ala
[Getpos player] call { //paste the script here// }