More very useful Arma 3 scripting commands.

Posted: October 26, 2017. At: 12:59 PM. This was 4 weeks ago. Post ID: 11468
Page permalink: http://securitronlinux.com/battlefield/more-very-useful-arma-3-scripting-commands/

Some very cool Arma 3 SQF scripting samples

Shoot a vehicle or soldier 50,000 feet into the sky.

cursorTarget setVelocity [0,0,1000];
hint format["%1 Is flying to space!",name cursorTarget];

Spawn an AAF support crate in random houses around the HQ.

_houseList = getPos _cargo nearObjects ["House",500];
{
 _c = 0;
 while { format ["%1", _x buildingPos _c] != "[0,0,0]" } do {_c = _c + 1};
 if (_c > 0) then
    {
       _ranNum = floor(random _c);
       _crate = "CUP_RUBasicAmmunitionBox" createVehicle [0,0,0];
       _crate setPos (_x buildingPos _ranNum);
    };
 sleep 0.123;
} forEach _houseList;

Attach a smoke trail to every bullet and grenade you fire.

player addEventHandler ["Fired", {
	("CMflareAmmo" createVehicle [0,0,1e9]) attachTo [_this select 6, [0,0,0]]
}];

Attach a 155mm cluster munition to every bullet you fire. This gives you an apocalyptic level of destruction…

player addEventHandler ["Fired", {
	("Cluster_155mm_AMOS" createVehicle [0,0,1e9]) attachTo [_this select 6, [0,0,0]]
}];
Lovely sunset in Afghanistan.
Lovely sunset in Afghanistan.

Continually reset the player`s rating every so often.

player addEventHandler ['HandleRating',{
    (_this select 0) addRating (0 - (rating (_this select 0)));
}];

This code in the initPlayerLocal.sqf file will print a nice textural display of the mission name and the date. This is a very nice touch for a mission.

// --- Info text
if (time < 10) then
{
	titleCut ["", "BLACK FADED", 999];
	[] Spawn {
		waitUntil{!(isNil "BIS_fnc_init")};
 
		// Info text
		[str("Op Silent Spring") , str(date select 1) + "." + str(date select 2) + "." + str(date select 0), str("Alpha Team 1")] spawn BIS_fnc_infoText;
 
		sleep 12;
		"dynamicBlur" ppEffectEnable true;
		"dynamicBlur" ppEffectAdjust [6];
		"dynamicBlur" ppEffectCommit 0;
		"dynamicBlur" ppEffectAdjust [0.0];
		"dynamicBlur" ppEffectCommit 7;
		titleCut ["", "BLACK IN", 5]
	};
};

Spawn a Military Cargo HQ somewhere near the Gamelogic named CENTER and then spawn a patrol.

hq1 = [
	["Box_FIA_Wps_F",[0.989746,-15.1357,0],0,1,0,[0,0],"","",true,false], 
	["Land_HBarrier_Big_F",[-14.7861,-4.48535,0],271.222,1,0,[0,0],"","",true,false], 
	["Land_HBarrier_Big_F",[-14.8584,4.30176,0],271.222,1,0,[0,0],"","",true,false], 
	["Box_FIA_Support_F",[5.00684,-15.1763,0],0,1,0,[0,0],"","",true,false], 
	["Box_East_WpsLaunch_F",[-2.6499,-16.208,0],0,1,0,[0,0],"","",true,false], 
	["Box_FIA_Wps_F",[8.69336,-15.1758,0],0,1,0,[0,0],"","",true,false], 
	["Land_Bunker_01_small_F",[-11.0381,14.2192,0],180,1,0,[0,0],"","",true,false], 
	["Land_Cargo_Patrol_V2_F",[-10.6431,-15.1782,0],0,1,0,[0,0],"","",true,false], 
	["Land_HBarrier_Big_F",[-2.9126,-18.0435,0],0,1,0,[0,0],"","",true,false], 
	["Land_HBarrier_Big_F",[5.87109,-17.7837,0],0,1,0,[0,0],"","",true,false], 
	["Land_HBarrier_5_F",[-7.73779,18.2729,0],0,1,0,[0,0],"","",true,false], 
	["Land_Bunker_01_HQ_F",[19.0215,1.18311,0],0,1,0,[0,0],"","",true,false], 
	["Land_Cargo_Patrol_V2_F",[13.8291,-14.4561,0],0,1,0,[0,0],"","",true,false], 
	["Land_HBarrier_Big_F",[-14.7173,-13.0786,0],271.222,1,0,[0,0],"","",true,false], 
	["Land_HBarrier_Big_F",[-14.9272,12.895,0],271.222,1,0,[0,0],"","",true,false], 
	["Land_Bunker_01_small_F",[12.8696,15.0117,0],180,1,0,[0,0],"","",true,false], 
	["Land_HBarrier_5_F",[5.875,19.2905,0],0,1,0,[0,0],"","",true,false], 
	["Land_HBarrier_Big_F",[17.6089,-12.0176,0],271.222,1,0,[0,0],"","",true,false], 
	["Land_HBarrier_5_F",[-13.377,18.2695,0],0,1,0,[0,0],"","",true,false], 
	["Land_HBarrier_Big_F",[-11.5024,-18.2954,0],0,1,0,[0,0],"","",true,false], 
	["Land_HBarrier_Big_F",[17.3989,13.9561,0],271.222,1,0,[0,0],"","",true,false], 
	["Land_HBarrier_Big_F",[14.4609,-17.5317,0],0,1,0,[0,0],"","",true,false], 
	["Land_HBarrier_1_F",[-14.626,18.1982,0],0,1,0,[0,0],"","",true,false], 
	["Land_HBarrier_5_F",[11.5532,19.1851,0],0,1,0,[0,0],"","",true,false], 
	["Land_HBarrier_Big_F",[22.6782,-8.80371,0],0,1,0,[0,0],"","",true,false], 
	["Land_HBarrier_Big_F",[22.3696,10.8716,0],0,1,0,[0,0],"","",true,false], 
	["Land_HBarrier_1_F",[17.1938,19.1538,0],0,1,0,[0,0],"","",true,false], 
	["Land_HBarrier_5_F",[26.0498,3.31738,-9.53674e-007],90,1,0,[0,-0],"","",true,false], 
	["Land_HBarrier_5_F",[26.0127,-2.29639,0],90,1,0,[0,-0],"","",true,false], 
	["Land_HBarrier_5_F",[26.0313,9.00684,-9.53674e-007],90,1,0,[0,-0],"","",true,false]
];
 
_gamelogic = CENTER;
_towns = nearestLocations [getPosATL _gamelogic, ["NameVillage","NameCity","NameCityCapital"], 25000]; 
_RandomTownPosition = position (_towns select (floor (random (count _towns))));
 
_m = createMarker [format ["mrk%1",random 100000],_RandomTownPosition];
_m setMarkerShape "ELLIPSE";
_m setMarkerSize [900,900];
_m setMarkerBrush "BDiagonal";
_m setMarkerAlpha 0.0;
_m setMarkerColor "ColorGUER";
 
_pos = getMarkerPos _m;
 
_randPos = [_pos, 25, 35, 10, 0, 0.5, 0] call BIS_fnc_findSafePos;
_cargo = "Land_Bunker_01_HQ_F" createVehicle _randPos;
 
[_randPos, random 360, hq1 ] call BIS_fnc_objectsMapper;
 
_randPos14 = _cargo getRelPos [9, 12];
 
_mg13 = createVehicle ["O_GMG_01_high_F", _randPos14, [], 0, "CAN_COLLIDE"];
 
_mgguy13 = [_randPos14, EAST, ["O_Soldier_F"],[],[],[],[],[],232] call BIS_fnc_spawnGroup;
 
((units _mgguy13) select 0) moveInGunner _mg13;
 
// Spawning a couple of infantry groups to defend the HQ.
// *********************************************************************
 
_hqdef2 = _cargo getRelPos [-96, 256];
 
_group = [_hqdef2, EAST, configfile >> "CfgGroups" >> "East" >> "OPF_F" >> "Infantry" >> "OIA_InfSquad_Weapons"] call BIS_fnc_spawnGroup;
 
private _buildingPositions = _cargo buildingPos -1;
private _buildingPosition = [0,0,0];
if (!(_buildingPositions isEqualTo [])) then {
    {
        if (_buildingPositions isEqualTo []) exitWith {};
        _buildingPosition = selectRandom _buildingPositions;
        _x setPos _buildingPosition;
		_x disableAI 'PATH';
        _buildingPositions deleteAt (_buildingPositions find _buildingPosition);
    } forEach (units _group);
};
 
_hqdef3 = _cargo getRelPos [96, 23];
 
_group99 = [_hqdef3, EAST, configfile >> "CfgGroups" >> "East" >> "OPF_T_F" >> "Infantry" >> "OIA_InfSquad_Weapons"] call BIS_fnc_spawnGroup;
 
[_group99, getPos _cargo, 300] call bis_fnc_taskPatrol;
 
_randPos399 = [_pos , 0, 600, 12, 0, 0.3, 0] call BIS_fnc_findSafePos;
 
_officer = [_randPos399, EAST, ["O_officer_F"],[],[],[],[],[],232] call BIS_fnc_spawnGroup;
((units _officer) select 0) setVehicleVarName "man1"; man1 = ((units _officer) select 0);
((units _officer) select 0) setpos (_cargo buildingpos 2);
((units _officer) select 0) disableAI 'PATH';

This code will take an existing building that was placed on the map in the editor and then replace it with a simple object. But it will not match the rotation of the building, this needs a bit more work.

_heli = "Land_i_Shed_Ind_F" createVehicleLocal [15407.3,17302.4,-9.53674e-006];
_position = getPosWorld _heli;
_vectorDirUp = [vectorDir _heli, vectorUp _heli];
_model = getModelInfo _heli select 1;
deleteVehicle _heli;
_simpleHeli = createSimpleObject [_model, _position];
_simpleHeli setVectorDirAndUp _vectorDirUp;

No comments have been made. Use this form to start the conversation :)

Leave a Reply