Sling loaded delivery
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
/**
|
||||
* Copyright© Benjamin Kyd 2019
|
||||
* fn_getDeliveryPoint.sqf
|
||||
*
|
||||
* Returns "random" coordinate as delivery point for the mission
|
||||
*
|
||||
* TODO: Make it actually random and _only_ available to spawn on land
|
||||
*/
|
||||
|
||||
|
||||
private _numItems = 22; // Number of elements in _deliveryPointArray - microoptimization
|
||||
private _deliveryPointArray = [
|
||||
[21770,4911.36,0.681143],
|
||||
[23203.9,7446.1,0.012188],
|
||||
[11704,22809,0],
|
||||
[2844,20279.7,0],
|
||||
[14504.4,23426.4,0.0445493],
|
||||
[3030.39,10216,0.602249],
|
||||
[6357,2082,0.1],
|
||||
[7198,2533,0.1],
|
||||
[7226,2187,0.1],
|
||||
[8045,2835,0.1],
|
||||
[8577,2320,0.1],
|
||||
[9286,1902,0.1],
|
||||
[9840,1786,0.1],
|
||||
[10466,1886,0.1],
|
||||
[10243,1576,0.1],
|
||||
[10857,2275,0.1],
|
||||
[11939,3402,0.1],
|
||||
[11105,3009,0.1],
|
||||
[13509,6166,0.1],
|
||||
[13081,7804,0.1],
|
||||
[12940,9326,0.1],
|
||||
[13170,10292,0.1]
|
||||
];
|
||||
|
||||
private _ret = _deliveryPointArray select floor random _numItems;
|
||||
|
||||
_ret;
|
||||
@@ -0,0 +1,83 @@
|
||||
/**
|
||||
* Copyright© Benjamin Kyd 2019
|
||||
* fn_triggerStart.sqf
|
||||
*
|
||||
* Triggers the start of the mission and starts
|
||||
* all neccesary systems for the mission
|
||||
*/
|
||||
|
||||
// Throws missing ';' error at compiletime
|
||||
// if (gMissionStarted == true) then {
|
||||
// exitWith {
|
||||
// hint "You have already started a mission! Complete that first!";
|
||||
// };
|
||||
// };
|
||||
|
||||
gMissionStarted = true;
|
||||
|
||||
private _deliveryPoint = [] call RR_fnc_getDeliveryPoint;
|
||||
|
||||
private _deliveryPointMarkerR = createMarkerLocal ["Delivery Point Radius", _deliveryPoint];
|
||||
_deliveryPointMarkerR setMarkerShapeLocal "ELLIPSE";
|
||||
_deliveryPointMarkerR setMarkerSizeLocal [500, 500];
|
||||
_deliveryPointMarkerR setMarkerColorLocal "ColorRed";
|
||||
|
||||
private _deliveryPointMarker = createMarkerLocal ["Delivery Point", _deliveryPoint];
|
||||
_deliveryPointMarker setMarkerTypeLocal "mil_objective";
|
||||
_deliveryPointMarker setMarkerTextLocal "Delivery Point";
|
||||
|
||||
// Get distance to mission from player, update while mission goes on
|
||||
private _distanceToPoint = 0;
|
||||
|
||||
// Heli spawm (Hard coded eww) [10064.9,12045.4,0.00141716]
|
||||
|
||||
// Lookup table of available shit
|
||||
private _helis = [
|
||||
["B_Heli_Transport_03_unarmed_F", "Huron"],
|
||||
["B_Heli_Transport_03_unarmed_green_F", "Huron"],
|
||||
["O_Heli_Transport_04_box_F", "Taru"],
|
||||
["O_Heli_Transport_04_covered_F", "Taru"]
|
||||
];
|
||||
|
||||
private _missionHeliIndex = floor random count _helis;
|
||||
private _missionHeliClass = _helis select _missionHeliIndex select 0;
|
||||
private _missionHeliName = _helis select _missionHeliIndex select 1;
|
||||
gMissionHeli = createVehicle [_missionHeliClass, [10064.9,12045.4,0.00141716], [], 0];
|
||||
|
||||
gMissionHeli setVariable ["RR_Mission_Heli", true];
|
||||
|
||||
// Transport Item spawm (Hard coded eewwwwwwwww) [10085.4,12076.8,0.00141335]
|
||||
|
||||
private _items = [
|
||||
["O_T_Quadbike_01_ghex_F", "Quadbike"],
|
||||
["C_Hatchback_01_F", "Hatchback"],
|
||||
["C_Hatchback_01_sport_F", "Hatchback Sport"],
|
||||
["C_SUV_01_F", "SUV"],
|
||||
["C_Offroad_02_unarmed_F", "Unarmed Offroad"],
|
||||
["C_Van_01_box_F", "Truck Boxer"],
|
||||
["C_Van_01_transport_F", "Truck"],
|
||||
["B_MRAP_01_F", "Hunter"],
|
||||
["O_MRAP_02_F", "IFRIT"],
|
||||
["IG_supplyCrate_F", "Ammo Box"]
|
||||
];
|
||||
|
||||
private _missionItemIndex = floor random count _items;
|
||||
private _missionItemClass = _items select _missionItemIndex select 0;
|
||||
private _missionItemName = _items select _missionItemIndex select 1;
|
||||
gMissionDelivery = createVehicle [_missionItemClass, [10085.4,12076.8,0.00141335], [], 0];
|
||||
|
||||
gMissionDelivery setVariable ["RR_Mission_Item", true];
|
||||
|
||||
// Sling to vehicle
|
||||
gMissionHeli setSlingLoad gMissionDelivery;
|
||||
|
||||
|
||||
[
|
||||
player, "RR_Delivery_Task",
|
||||
[format ["Deliver %1 to the marker", _missionItemName], "Delivery Mission", "Deliver Here"],
|
||||
_deliveryPoint, "ASSIGNED", 1,
|
||||
true, "ASSIGNED", true
|
||||
] call BIS_fnc_taskCreate;
|
||||
|
||||
|
||||
hint format ["Delivery Mission Started! Deliver the %1 to the marker on the map!", _missionItemName];
|
||||
1447
SQF/Sling%20loaded%20delivery.Altis/defines.hpp
Normal file
1447
SQF/Sling%20loaded%20delivery.Altis/defines.hpp
Normal file
File diff suppressed because it is too large
Load Diff
7
SQF/Sling%20loaded%20delivery.Altis/description.ext
Normal file
7
SQF/Sling%20loaded%20delivery.Altis/description.ext
Normal file
@@ -0,0 +1,7 @@
|
||||
disableAI = 1;
|
||||
|
||||
#include "defines.hpp"
|
||||
|
||||
class cfgFunctions {
|
||||
#include "functions.hpp"
|
||||
};
|
||||
8
SQF/Sling%20loaded%20delivery.Altis/functions.hpp
Normal file
8
SQF/Sling%20loaded%20delivery.Altis/functions.hpp
Normal file
@@ -0,0 +1,8 @@
|
||||
class RR {
|
||||
tag = "RR";
|
||||
class functions {
|
||||
file = "RR_functions";
|
||||
class triggerStart {};
|
||||
class getDeliveryPoint {};
|
||||
};
|
||||
};
|
||||
2
SQF/Sling%20loaded%20delivery.Altis/init.sqf
Normal file
2
SQF/Sling%20loaded%20delivery.Altis/init.sqf
Normal file
@@ -0,0 +1,2 @@
|
||||
|
||||
gMissionStarted = false;
|
||||
202
SQF/Sling%20loaded%20delivery.Altis/mission.sqm
Normal file
202
SQF/Sling%20loaded%20delivery.Altis/mission.sqm
Normal file
@@ -0,0 +1,202 @@
|
||||
version=53;
|
||||
class EditorData
|
||||
{
|
||||
moveGridStep=1;
|
||||
angleGridStep=0.2617994;
|
||||
scaleGridStep=1;
|
||||
autoGroupingDist=10;
|
||||
toggles=1;
|
||||
class ItemIDProvider
|
||||
{
|
||||
nextID=3;
|
||||
};
|
||||
class Camera
|
||||
{
|
||||
pos[]={10092.601,17.288755,12033.088};
|
||||
dir[]={-0.52590108,-0.63688552,0.56386817};
|
||||
up[]={-0.43440279,0.77094764,0.46576494};
|
||||
aside[]={0.73134863,-5.9989907e-007,0.68211144};
|
||||
};
|
||||
};
|
||||
binarizationWanted=0;
|
||||
addons[]=
|
||||
{
|
||||
"A3_Structures_F_Civ_InfoBoards",
|
||||
"A3_Characters_F",
|
||||
"A3_Weapons_F_Mark_LongRangeRifles_DMR_03",
|
||||
"A3_Weapons_F_Exp",
|
||||
"A3_Weapons_F_Acc",
|
||||
"A3_Weapons_F_Mark_Acc",
|
||||
"A3_Weapons_F",
|
||||
"A3_Weapons_F_Items"
|
||||
};
|
||||
class AddonsMetaData
|
||||
{
|
||||
class List
|
||||
{
|
||||
items=5;
|
||||
class Item0
|
||||
{
|
||||
className="A3_Structures_F";
|
||||
name="Arma 3 - Buildings and Structures";
|
||||
author="Bohemia Interactive";
|
||||
url="https://www.arma3.com";
|
||||
};
|
||||
class Item1
|
||||
{
|
||||
className="A3_Characters_F";
|
||||
name="Arma 3 Alpha - Characters and Clothing";
|
||||
author="Bohemia Interactive";
|
||||
url="https://www.arma3.com";
|
||||
};
|
||||
class Item2
|
||||
{
|
||||
className="A3_Weapons_F_Mark";
|
||||
name="Arma 3 Marksmen - Weapons and Accessories";
|
||||
author="Bohemia Interactive";
|
||||
url="https://www.arma3.com";
|
||||
};
|
||||
class Item3
|
||||
{
|
||||
className="A3_Weapons_F_Exp";
|
||||
name="Arma 3 Apex - Weapons and Accessories";
|
||||
author="Bohemia Interactive";
|
||||
url="https://www.arma3.com";
|
||||
};
|
||||
class Item4
|
||||
{
|
||||
className="A3_Weapons_F";
|
||||
name="Arma 3 Alpha - Weapons and Accessories";
|
||||
author="Bohemia Interactive";
|
||||
url="https://www.arma3.com";
|
||||
};
|
||||
};
|
||||
};
|
||||
randomSeed=11229197;
|
||||
class ScenarioData
|
||||
{
|
||||
author="plane000";
|
||||
};
|
||||
class Mission
|
||||
{
|
||||
class Intel
|
||||
{
|
||||
timeOfChanges=1800.0002;
|
||||
startWeather=0.30000001;
|
||||
startWind=0.1;
|
||||
startWaves=0.1;
|
||||
forecastWeather=0.30000001;
|
||||
forecastWind=0.1;
|
||||
forecastWaves=0.1;
|
||||
forecastLightnings=0.1;
|
||||
year=2035;
|
||||
month=6;
|
||||
day=24;
|
||||
hour=12;
|
||||
minute=0;
|
||||
startFogDecay=0.014;
|
||||
forecastFogDecay=0.014;
|
||||
};
|
||||
class Entities
|
||||
{
|
||||
items=2;
|
||||
class Item0
|
||||
{
|
||||
dataType="Object";
|
||||
class PositionInfo
|
||||
{
|
||||
position[]={10085.967,13.467333,12044.893};
|
||||
angles[]={6.249867,5.5562901,6.2378764};
|
||||
};
|
||||
side="Empty";
|
||||
flags=4;
|
||||
class Attributes
|
||||
{
|
||||
init="this addAction [" \n " ""Start Mission"", RR_fnc_triggerStart" \n "];";
|
||||
};
|
||||
id=0;
|
||||
type="Land_Noticeboard_F";
|
||||
};
|
||||
class Item1
|
||||
{
|
||||
dataType="Group";
|
||||
side="West";
|
||||
class Entities
|
||||
{
|
||||
items=1;
|
||||
class Item0
|
||||
{
|
||||
dataType="Object";
|
||||
class PositionInfo
|
||||
{
|
||||
position[]={10086.731,12.405762,12037.962};
|
||||
angles[]={0,5.4903727,0};
|
||||
};
|
||||
side="West";
|
||||
flags=7;
|
||||
class Attributes
|
||||
{
|
||||
isPlayer=1;
|
||||
class Inventory
|
||||
{
|
||||
class primaryWeapon
|
||||
{
|
||||
name="srifle_DMR_03_F";
|
||||
optics="optic_Arco_blk_F";
|
||||
flashlight="acc_flashlight";
|
||||
underBarrel="bipod_01_F_blk";
|
||||
class primaryMuzzleMag
|
||||
{
|
||||
name="20Rnd_762x51_Mag";
|
||||
ammoLeft=20;
|
||||
};
|
||||
};
|
||||
class uniform
|
||||
{
|
||||
typeName="U_BG_Guerilla3_1";
|
||||
isBackpack=0;
|
||||
class ItemCargo
|
||||
{
|
||||
items=1;
|
||||
class Item0
|
||||
{
|
||||
name="FirstAidKit";
|
||||
count=1;
|
||||
};
|
||||
};
|
||||
};
|
||||
class vest
|
||||
{
|
||||
typeName="V_PlateCarrierH_CTRG";
|
||||
isBackpack=0;
|
||||
class MagazineCargo
|
||||
{
|
||||
items=1;
|
||||
class Item0
|
||||
{
|
||||
name="20Rnd_762x51_Mag";
|
||||
count=11;
|
||||
ammoLeft=20;
|
||||
};
|
||||
};
|
||||
};
|
||||
map="ItemMap";
|
||||
compass="ItemCompass";
|
||||
watch="ItemWatch";
|
||||
radio="ItemRadio";
|
||||
goggles="G_Bandanna_aviator";
|
||||
hmd="NVGoggles";
|
||||
headgear="H_HelmetB_desert";
|
||||
};
|
||||
};
|
||||
id=2;
|
||||
type="B_soldier_M_F";
|
||||
};
|
||||
};
|
||||
class Attributes
|
||||
{
|
||||
};
|
||||
id=1;
|
||||
};
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user