diff --git a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_setDirUp.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_setDirUp.sqf new file mode 100644 index 0000000..49c53c1 --- /dev/null +++ b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_setDirUp.sqf @@ -0,0 +1,7 @@ + +params["_object","_dir"]; +switch (typeName _dir) do +{ + case "SCALAR": {_object setDir _dir}; + case "ARRAY": {_object setVectorDirAndUp _dir}; +}; \ No newline at end of file diff --git a/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_sm_init_functions.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_sm_init_functions.sqf deleted file mode 100644 index 43476b7..0000000 --- a/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_sm_init_functions.sqf +++ /dev/null @@ -1,81 +0,0 @@ -/* - by Ghostrider [GRG] - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; -//diag_log "[blckeagls] GMS_fnc_sm_init_functions.sqf "; -//blck_sm_Groups = []; -blck_sm_Infantry = []; -blck_sm_Vehicles = []; -blck_sm_Aircraft = []; -blck_sm_Emplaced = []; -blck_sm_scubaGroups = []; -blck_sm_surfaceShips = []; -blck_sm_submarines = []; -blck_sm_lootContainers = []; -blck_sm_garrisonBuildings_ASL = []; -blcl_sm_garrisonBuilding_relPos = []; - -blck_fnc_sm_AddGroupToArray = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_AddGroupToArray.sqf"; - -/* -blck_fnc_sm_AddGroup = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_AddGroup.sqf"; -blck_fnc_sm_AddVehicle = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_AddVehicle.sqf"; -blck_fnc_sm_AddAircraft = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_AddAircraft.sqf"; -blck_fnc_sm_AddEmplaced = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_AddEmplaced.sqf"; -*/ -// TODO: Delte soon -private _functions = [ - //["blck_fnc_sm_monitorStaticUnits","\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_monitorStaticPatrols.sqf"], - ["blck_fnc_sm_monitorInfantry","\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_monitorInfantry.sqf"], - ["blck_fnc_sm_monitorScuba","\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_monitorScuba.sqf"], - ["blck_fnc_sm_monitorVehicles","\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_monitorVehicles.sqf"], - ["blck_fnc_sm_monitorAircraft","\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_monitorAircraft.sqf"], - ["blck_fnc_sm_monitorShips","\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_monitorShips.sqf"], - ["blck_fnc_sm_monitorSubs","\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_monitorSubs.sqf"], - ["blck_fnc_sm_monitorEmplaced","\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_monitorEmplaced.sqf"], - ["blck_fnc_sm_monitorGarrisonsASL","\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_monitorGarrisonsASL.sqf"], - ["blck_fnc_sm_monitorGarrisons_relPos","\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_monitorGarrisons_relPos.sqf"], - ["blck_fnc_sm_spawnVehiclePatrol","\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_spawnVehiclePatrol.sqf"], - ["blck_fnc_sm_spawnAirPatrol","\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_spawnAirPatrol.sqf"], - ["blck_fnc_sm_spawnEmplaced","\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_spawnEmplaced.sqf"], -// ["blck_fnc_sm_spawnInfantryPatrol","\q\addons\custom_server\Missions\Static\Code\GMS_sm_spawnInfantryPatrol.sqf"], - ["blck_fnc_sm_staticPatrolMonitor","\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_staticPatrolMonitor.sqf"], -// ["blck_fnc_sm_checkForPlayerNearMission","\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_checkForPlayerNearMission.sqf"], - ["blck_fnc_sm_spawnAirPatrols","\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_spawnAirPatrols.sqf"], - ["blck_fnc_sm_spawnEmplaceds","\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_spawnEmplaced.sqf"], - ["blck_fnc_sm_spawnInfantryPatrols","\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_spawnInfantryPatrols.sqf"], - ["blck_fnc_sm_spawnLootContainers","\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_spawnLootContainers.sqf"], - ["blck_fnc_sm_spawnObjects","\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_spawnObjects.sqf"], - ["blck_fnc_sm_spawnVehiclePatrols","\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_spawnVehiclePatrols.sqf"], - ["blck_fnc_sm_spawnBuildingGarrison_ASL","\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_spawnBuildingGarrisonASL.sqf"], - ["blck_fnc_sm_spawnBuildingGarrison_relPos","\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_spawnBuildingGarrison_relPos.sqf"], - ["blck_fnc_sm_spawnObjectASLVectorDirUp","\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_spawnObjectASLVectorDirUp.sqf"], - ["blck_fnc_spawnScubaGroup","\q\addons\custom_server\Missions\Static\Code\GMS_fnc_spawnScubaGroup.sqf"], - ["blck_fnc_spawnSDVPatrol","\q\addons\custom_server\Missions\Static\Code\GMS_fnc_spawnSDVPatrol.sqf"], - ["blck_fnc_spawnSurfacePatrol","\q\addons\custom_server\Missions\Static\Code\GMS_fnc_spawnSurfacePatrol.sqf"], - //["blck_fnc_sm_AddScubaGroup","\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_AddScubaGroup.sqf"], - //["blck_fnc_sm_AddSurfaceVehicle","\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_AddSurfaceVehicle.sqf"], - ["blck_fnc_sm_AddSDVVehicle","\q\addons\custom_server\Missions\Static\Code\GMS_sm_AddSDVVehicle.sqf"] -]; -{ - _x params ["_name","_path"]; - missionnamespace setvariable [_name,compileFinal preprocessFileLineNumbers _path]; -} foreach _functions; - -diag_log "[blckeagls] GMS_sm_init_functions.sqf "; - - -/* -blck_fnc_spawnScubaGroup = compileFinal preprocessFileLineNumbers "q\addons\custom_server\Missions\UMS\code\GMS_fnc_spawnScubaGroup.sqf"; -blck_fnc_spawnSDVPatrol = compileFinal preprocessFileLineNumbers "q\addons\custom_server\Missions\UMS\code\GMS_fnc_spawnSDVPatrol.sqf"; -blck_fnc_spawnSurfacePatrol = compileFinal preprocessFileLineNumbers "q\addons\custom_server\Missions\UMS\code\GMS_fnc_spawnSurfacePatrol.sqf"; -blck_fnc_sm_AddScubaGroup = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Missions\UMS\code\GMS_sm_AddScubaGroup.sqf"; -blck_fnc_sm_AddSurfaceVehicle = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Missions\UMS\code\GMS_sm_AddSurfaceVehicle.sqf"; -blck_fnc_sm_AddSDVVehicle = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Missions\UMS\code\GMS_sm_AddSDVVehicle.sqf"; diff --git a/@GMS/addons/custom_server/Configs/armed_vics_notes.txt b/@GMS/addons/custom_server/Configs/armed_vics_notes.txt deleted file mode 100644 index 199a327..0000000 --- a/@GMS/addons/custom_server/Configs/armed_vics_notes.txt +++ /dev/null @@ -1,91 +0,0 @@ - -_blck_lightlyArmed_ARMA3 = [ - "B_G_Offroad_01_armed_F", - "O_G_Offroad_01_armed_F", - "B_MRAP_01_gmg_F", - "B_MRAP_01_hmg_F", - "O_MRAP_02_gmg_F", - "O_MRAP_02_hmg_F", - "I_MRAP_03_hmg_F", - "I_MRAP_03_gmg_F", - "B_APC_Wheeled_01_cannon_F", - "I_APC_Wheeled_03_cannon_F" -]; - - -_blck_tracked_APC_ARMA3 = [ - "B_APC_Tracked_01_rcws_F", - "B_APC_Tracked_01_CRV_F", - "B_APC_Tracked_01_AA_F", - "O_APC_Tracked_02_cannon_F", - "O_APC_Tracked_02_AA_F", - "O_APC_Wheeled_02_rcws_F", - "I_APC_tracked_03_cannon_F" -]; - -_blck_Tanks_ARMA3 = [ - //"B_MBT_01_arty_F", - "B_MBT_01_mlrs_F", - "B_MBT_01_TUSK_F", - "O_MBT_02_cannon_F", - //"O_MBT_02_arty_F", - "I_MBT_03_cannon_F" -]; -_blck_APC_CUP = [ - "CUP_B_Mastiff_GMG_GB_D", - "CUP_B_Mastiff_HMG_GB_D", - "CUP_B_Ridgback_HMG_GB_D", - "CUP_B_Ridgback_GMG_GB_D", - "CUP_B_M1128_MGS_Desert", - "CUP_B_M1135_ATGMV_Desert_Slat", - "CUP_B_M1133_MEV_Desert_Slat", - "CUP_B_LAV25M240_desert_USMC", - "CUP_B_M1129_MC_MK19_Desert_Slat", - "CUP_B_LAV25_HQ_desert_USMC", - "CUP_B_BRDM2_ATGM_CDF", - "CUP_B_BTR60_CDF", - "CUP_B_M1130_CV_M2_Desert_Slat", - "CUP_B_M1126_ICV_MK19_Desert_Slat", - "CUP_O_BTR90_RU", - "CUP_O_GAZ_Vodnik_BPPU_RU", - "CUP_B_M1126_ICV_M2_Desert", - "CUP_B_M1126_ICV_MK19_Desert", - "CUP_B_M1130_CV_M2_Desert", - "CUP_B_M1126_ICV_M2_Desert_Slat", - "CUP_B_M1133_MEV_Desert", - "CUP_O_GAZ_Vodnik_AGS_RU", - "CUP_O_GAZ_Vodnik_PK_RU" -]; - -_blck_Tanks_CUP = [ - "CUP_B_M2A3Bradley_USA_D", - "CUP_B_M113_desert_USA", - "CUP_B_M163_USA", - "CUP_B_M6LineBacker_USA_D", - "CUP_B_M1A1_DES_US_Army", - "CUP_B_M1A2_TUSK_MG_DES_US_Army", - "CUP_B_AAV_USMC", - "CUP_B_M270_DPICM_USA", - "CUP_B_ZSU23_CDF", - "CUP_B_BMP2_CDF", - "CUP_B_T72_CDF", - "CUP_I_T34_NAPA", - "CUP_B_Challenger2_NATO", - "CUP_B_FV432_Bulldog_GB_D_RWS", - "CUP_B_FV432_Bulldog_GB_D", - "CUP_B_FV510_GB_D_SLAT", - "CUP_B_MCV80_GB_D_SLAT", - "CUP_O_2S6_RU", - "CUP_O_BMP3_RU", - "CUP_O_T90_RU", - "CUP_O_T55_SLA", - "CUP_O_BMP1P_TKA", - "CUP_B_M270_DPICM_USA", - "CUP_B_M2Bradley_USA_W", - "CUP_B_FV510_GB_D", - "CUP_B_MCV80_GB_D", - "CUP_B_M7Bradley_USA_D", - "CUP_O_2S6_RU", - "CUP_O_BMP1_TKA" -]; - diff --git a/@GMS/addons/custom_server/Configs/blck_configs.sqf b/@GMS/addons/custom_server/Configs/blck_configs.sqf index 8eb80bb..3962068 100644 --- a/@GMS/addons/custom_server/Configs/blck_configs.sqf +++ b/@GMS/addons/custom_server/Configs/blck_configs.sqf @@ -115,7 +115,7 @@ // It's position can be either "center" or "random". smoking wreck will be spawned at a random location between 15 and 50 m from the mission. blck_SmokeAtMissions = [true,"random"]; // set to [false,"anything here"] to disable this function altogether. blck_useSignalEnd = true; // When true a smoke grenade/chemlight will appear at the loot crate for 2 min after mission completion. - blck_missionEndCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" + blck_missionEndCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" /////////////////////////////// // General Mission Completion and Loot Settings diff --git a/@GMS/addons/custom_server/Configs/blck_configs_mil.sqf b/@GMS/addons/custom_server/Configs/blck_configs_mil.sqf index 779c5d8..f8fe0b1 100644 --- a/@GMS/addons/custom_server/Configs/blck_configs_mil.sqf +++ b/@GMS/addons/custom_server/Configs/blck_configs_mil.sqf @@ -432,7 +432,7 @@ }; if (toLower(blck_modType) isEqualTo "default") then { - diag_log format[" Loading Mission System using Parameters for %1 for militarized servers",blck_modType]] call blck_fnc_log; + [format[" Loading Mission System using Parameters for %1 for militarized servers",blck_modType]] call blck_fnc_log; execVM "\q\addons\custom_server\Configs\blck_configs_default_mil.sqf"; }; //waitUntil{!isNil "blck_useConfigsGeneratedLoadouts"}; diff --git a/@GMS/addons/custom_server/Configs/blck_custom_config.sqf b/@GMS/addons/custom_server/Configs/blck_custom_config.sqf index 7569ce4..54f346c 100644 --- a/@GMS/addons/custom_server/Configs/blck_custom_config.sqf +++ b/@GMS/addons/custom_server/Configs/blck_custom_config.sqf @@ -1227,5 +1227,49 @@ diag_log format["[blckeagls] blck_CUPHeadgear = %1",if (isNil "blck_CUPHeadgear" diag_log "[blckeagls] end of Custom Configurations for RHS 5/2/20"; blck_customConfigsLoaded = 1; +if (blck_debugOn) then { +diag_log " HEY YOU ITS WORKING"; + blck_MinDistanceFromMission = 1000; + blck_minDistanceToBases = 1000; + blck_minDistanceToPlayer = 1000; + blck_minDistanceFromTowns = 500; + diag_log " HEY YOU porkid's settings were loaded"; + + blck_MissionTimeout = 3000; + + blck_maxSpawnedMissions = 15; + blck_mainThreadUpdateInterval = 10; + blck_enableOrangeMissions = 1; + blck_enableGreenMissions = 1; + blck_enableRedMissions = 1; + blck_enableBlueMissions = 1; + blck_numberUnderwaterDynamicMissions = 1; + blck_enableHunterMissions = 1; + blck_enableScoutsMissions = 1; + blck_maxCrashSites = 0; + diag_log " HEY YOU custom settings for enabling missions were loaded"; + + blck_TMin_Blue = 7; + blck_TMin_Red = 10; + blck_TMin_Green = 13; + blck_TMin_Orange = 16; + blck_TMin_Hunter = 20; + blck_TMin_Scouts = 20; + blck_TMin_Crashes = 5; + blck_TMin_UMS = 20; + //Maximum Spawn time between missions in seconds + blck_TMax_Blue = 12; + blck_TMax_Red = 15; + blck_TMax_Green = 17; + blck_TMax_Orange = 21; + blck_TMax_Hunter = 22; + blck_TMax_Scouts = 22; + blck_TMax_Crashes = 15; + blck_TMax_UMS = 25; + + diag_log "[blckeagls] Custom Configs Custom mission timers loaded" +}; + + diff --git a/@GMS/addons/custom_server/Configs/blck_defines.hpp b/@GMS/addons/custom_server/Configs/blck_defines.hpp index 7187be8..cc7624a 100644 --- a/@GMS/addons/custom_server/Configs/blck_defines.hpp +++ b/@GMS/addons/custom_server/Configs/blck_defines.hpp @@ -27,7 +27,7 @@ //#define blck_debugMode //#define blck_addCarParts #define blck_triggerLoopCompleteTime 40*60 - +#define max_distance_crate_moved_uncompleted_mission 120 #define onFoot 1 #define inVehicle 2 diff --git a/@GMS/addons/custom_server/Missions/Blue/IDAP.sqf b/@GMS/addons/custom_server/Missions/Blue/IDAP.sqf index 94c6e69..5c2c997 100644 --- a/@GMS/addons/custom_server/Missions/Blue/IDAP.sqf +++ b/@GMS/addons/custom_server/Missions/Blue/IDAP.sqf @@ -137,7 +137,7 @@ _loadCratesTiming = blck_loadCratesTiming; // valid choices are "atMissionComple // To spawn crates at mission start but load gear only after the mission is completed set blck_spawnCratesTiming = "atMissionSpawnGround" && blck_loadCratesTiming = "atMissionCompletion" // To spawn crates on the ground at mission completion set blck_spawnCratesTiming = "atMissionEndGround" // Note that a loaded crate will be spawned. // To spawn crates in the air and drop them by chutes set blck_spawnCratesTiming = "atMissionEndAir" // Note that a loaded crate will be spawned. -_endCondition = allKilledOrPlayerNear; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" // Setting this in the mission file overrides the defaults #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Blue/Service_point.sqf b/@GMS/addons/custom_server/Missions/Blue/Service_point.sqf index 7a2550f..1f2b377 100644 --- a/@GMS/addons/custom_server/Missions/Blue/Service_point.sqf +++ b/@GMS/addons/custom_server/Missions/Blue/Service_point.sqf @@ -75,7 +75,7 @@ _missionLandscape = [ ["B_Slingload_01_Repair_F",[-34.0637,-5.31909,-0.00143814],286.86,true,true], ["B_Slingload_01_Ammo_F",[-33.7891,1.13989,-0.00143719],1.26154,true,true], ["CargoNet_01_barrels_F",[-20.8491,-21.4822,-0.00143909],326.531,true,true], - ["Land_Pod_Heli_Transport_04_fuel_F",[-19.8706,2.42847,7.17512],360,true,true], + //["Land_Pod_Heli_Transport_04_fuel_F",[-19.5588,2.55005,7.17512],0,true,true], ["CargoNet_01_barrels_F",[-7.34326,5.33838,-0.00143862],36,true,true], ["B_Slingload_01_Cargo_F",[-28.2134,-3.27197,-0.00143862],347.458,true,true], ["B_Slingload_01_Ammo_F",[-1.96753,20.9294,-0.00143814],13.8038,true,true], @@ -156,7 +156,7 @@ _loadCratesTiming = blck_loadCratesTiming; // valid choices are "atMissionComple // To spawn crates at mission start but load gear only after the mission is completed set blck_spawnCratesTiming = "atMissionSpawnGround" && blck_loadCratesTiming = "atMissionCompletion" // To spawn crates on the ground at mission completion set blck_spawnCratesTiming = "atMissionEndGround" // Note that a loaded crate will be spawned. // To spawn crates in the air and drop them by chutes set blck_spawnCratesTiming = "atMissionEndAir" // Note that a loaded crate will be spawned. -_endCondition = allKilledOrPlayerNear; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" // Setting this in the mission file overrides the defaults #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Blue/Toxin.sqf b/@GMS/addons/custom_server/Missions/Blue/Toxin.sqf index 8c35c92..36e8d9c 100644 --- a/@GMS/addons/custom_server/Missions/Blue/Toxin.sqf +++ b/@GMS/addons/custom_server/Missions/Blue/Toxin.sqf @@ -160,7 +160,7 @@ _loadCratesTiming = blck_loadCratesTiming; // valid choices are "atMissionComple // To spawn crates at mission start but load gear only after the mission is completed set blck_spawnCratesTiming = "atMissionSpawnGround" && blck_loadCratesTiming = "atMissionCompletion" // To spawn crates on the ground at mission completion set blck_spawnCratesTiming = "atMissionEndGround" // Note that a loaded crate will be spawned. // To spawn crates in the air and drop them by chutes set blck_spawnCratesTiming = "atMissionEndAir" // Note that a loaded crate will be spawned. -_endCondition = allKilledOrPlayerNear; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" // Setting this in the mission file overrides the defaults #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Blue/default2.sqf b/@GMS/addons/custom_server/Missions/Blue/default2.sqf index 9c98f51..2d664a8 100644 --- a/@GMS/addons/custom_server/Missions/Blue/default2.sqf +++ b/@GMS/addons/custom_server/Missions/Blue/default2.sqf @@ -149,6 +149,6 @@ _noPara = blck_noParaBlue; // Setting this in the mission file overrides the de //_chanceHeliPatrol = blck_chanceHeliPatrolBlue; // Setting this in the mission file overrides the defaults _noChoppers = blck_noPatrolHelisBlue; _missionHelis = blck_patrolHelisBlue; -_endCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" //_timeOut = -1; #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Blue/derbunker.sqf b/@GMS/addons/custom_server/Missions/Blue/derbunker.sqf index 2f78e1b..5d9c184 100644 --- a/@GMS/addons/custom_server/Missions/Blue/derbunker.sqf +++ b/@GMS/addons/custom_server/Missions/Blue/derbunker.sqf @@ -64,7 +64,7 @@ _missionLandscape = [ ]; _missionLootBoxes = [ - //["Exile_Container_SupplyBox",[0.0446777,-1.31494,-0.001441],_crateLoot,_lootCounts,0.00167282] + [selectRandom blck_crateTypes,[0.0446777,-1.31494,-0.001441],_crateLoot,_lootCounts,0.00167282] ]; _missionLootVehicles = [ @@ -99,17 +99,17 @@ _noEmplacedWeapons = blck_SpawnEmplaced_Blue; //_uniforms = blck_SkinList; //_headgear = blck_headgear; -_chancePara = 0.75; // Setting this in the mission file overrides the defaults -_noPara = 5; // Setting this in the mission file overrides the defaults -_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0. -_paraSkill = "Blue"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot. +//_chancePara = 0.75; // Setting this in the mission file overrides the defaults +//_noPara = 5; // Setting this in the mission file overrides the defaults +//_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0. +//_paraSkill = "Blue"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot. -_chanceLoot = 0.7; -private _lootIndex = selectRandom[1,2,3,4]; -private _paralootChoices = [blck_contructionLoot,blck_contructionLoot,blck_highPoweredLoot,blck_supportLoot]; -private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; -_paraLoot = _paralootChoices select _lootIndex; -_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. +//_chanceLoot = 0.7; +//private _lootIndex = selectRandom[1,2,3,4]; +//private _paralootChoices = [blck_contructionLoot,blck_contructionLoot,blck_highPoweredLoot,blck_supportLoot]; +//private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +//_paraLoot = _paralootChoices select _lootIndex; +//_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. _endCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" //_timeOut = -1; diff --git a/@GMS/addons/custom_server/Missions/Blue/forgotten_HQ.sqf b/@GMS/addons/custom_server/Missions/Blue/forgotten_HQ.sqf index 73c2431..b1119f0 100644 --- a/@GMS/addons/custom_server/Missions/Blue/forgotten_HQ.sqf +++ b/@GMS/addons/custom_server/Missions/Blue/forgotten_HQ.sqf @@ -22,7 +22,7 @@ _endMsg = "The Forgotten HQ at the Blue Marker is under survivor control!"; _markerLabel = ""; _markerType = ["ELLIPSE",[200,200],"Solid"]; _markerColor = "ColorBlue"; -_markerMissionName = "Forgotten"; +_markerMissionName = "Forgotten HQ"; _missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" ////////// @@ -202,7 +202,7 @@ _loadCratesTiming = blck_loadCratesTiming; // valid choices are "atMissionComple // To spawn crates at mission start but load gear only after the mission is completed set blck_spawnCratesTiming = "atMissionSpawnGround" && blck_loadCratesTiming = "atMissionCompletion" // To spawn crates on the ground at mission completion set blck_spawnCratesTiming = "atMissionEndGround" // Note that a loaded crate will be spawned. // To spawn crates in the air and drop them by chutes set blck_spawnCratesTiming = "atMissionEndAir" // Note that a loaded crate will be spawned. -_endCondition = allKilledOrPlayerNear; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" // Setting this in the mission file overrides the defaults #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Blue/inhaftierung.sqf b/@GMS/addons/custom_server/Missions/Blue/inhaftierung.sqf index 30609f8..7727a48 100644 --- a/@GMS/addons/custom_server/Missions/Blue/inhaftierung.sqf +++ b/@GMS/addons/custom_server/Missions/Blue/inhaftierung.sqf @@ -136,32 +136,18 @@ _enemyLeaderConfig set[ ]; // This allows us to place the antagonist to be arrested in one of several random locations. _missionLootBoxes = [ - //["Box_NATO_Wps_F",[3,-3,0],_crateLoot,[4,10,2,5,5,1]], // Standard loot crate with standard loadout - //["Land_PaperBox_C_EPOCH",[-4,-3,0],_crateLoot,[0,0,0,10,10,3]], // No Weapons, Magazines, or optics; 10 each construction supplies and food/drink items, 3 backpacks - //["Land_CargoBox_V1_F",[3,4,0],_crateLoot,[0,10,2,5,5,1]] + ]; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. // blck_lootCountsBlue= [4,12,3,6,6,1]; _missionPatrolVehicles = [ - //["B_LSV_01_armed_F",[-41.377,-5.40894,-0.0238895],0.00171121], + ["B_LSV_01_armed_F",[-41.377,-5.40894,-0.0238895],0.00171121], ["B_LSV_01_armed_F",[39.5627,-5.26709,-0.0237107],0.00169144] ]; // Parameters are "vehiclel type", offset relative to mission center, loot array, items to load from each category of the loot array. - // ["B_HMG_01_high_F"/*,"B_GMG_01_high_F","O_static_AT_F"*/]; - - /* - ["B_G_Soldier_AR_F",[-19.5156,25.2598,-0.00143886],0,[true,false]], - ["B_G_Soldier_AR_F",[-27.7676,-24.5508,-0.00143886],0,[true,false]], - ["B_G_Soldier_AR_F",[32.4883,-23.4609,-0.00143886],0,[true,false]], - ["B_G_Soldier_AR_F",[36.6914,12.1836,-0.00143886],0,[true,false]] - */ -_missionEmplacedWeapons = []; // -_missionPatrolVehicles = [ - //["B_MRAP_01_hmg_F",[27.8945,100.275,0],0,[true,false]], - //["B_MRAP_01_hmg_F",[-84.7793,72.2617,9.53674e-007],0,[true,false]], - //["B_MRAP_01_gmg_F",[-87.8457,-109.947,7.15256e-007],0,[true,false]] -]; +_missionEmplacedWeapons = []; + // Change _useMines to true/false below to enable mission-specific settings. _useMines = blck_useMines; _minNoAI = blck_MinAI_Blue; diff --git a/@GMS/addons/custom_server/Missions/Blue/resupplyCamp.sqf b/@GMS/addons/custom_server/Missions/Blue/resupplyCamp.sqf index 1619e03..8364b6c 100644 --- a/@GMS/addons/custom_server/Missions/Blue/resupplyCamp.sqf +++ b/@GMS/addons/custom_server/Missions/Blue/resupplyCamp.sqf @@ -74,7 +74,7 @@ _noEmplacedWeapons = blck_SpawnEmplaced_Blue; // To spawn crates at mission start but load gear only after the mission is completed set blck_spawnCratesTiming = "atMissionSpawnGround" && blck_loadCratesTiming = "atMissionCompletion" // To spawn crates on the ground at mission completion set blck_spawnCratesTiming = "atMissionEndGround" // Note that a loaded crate will be spawned. // To spawn crates in the air and drop them by chutes set blck_spawnCratesTiming = "atMissionEndAir" // Note that a loaded crate will be spawned. -//_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" // Setting this in the mission file overrides the defaults //_timeOut = -1; diff --git a/@GMS/addons/custom_server/Missions/GMS_missionLists.sqf b/@GMS/addons/custom_server/Missions/GMS_missionLists.sqf index 5123d6f..c662f85 100644 --- a/@GMS/addons/custom_server/Missions/GMS_missionLists.sqf +++ b/@GMS/addons/custom_server/Missions/GMS_missionLists.sqf @@ -12,18 +12,93 @@ */ #include "\q\addons\custom_server\Configs\blck_defines.hpp"; - +private ["_missionListBlue","_missionListRed","_missionListGreen","_missionListOrange"]; private _pathBlue = "Blue"; -private _missionListBlue = ["default","hostage1","captive1","medicalCamp","redCamp","resupplyCamp","garrison"]; +if (blck_debugOn) then +{ + _missionListBlue = ["Toxin"]; +} else { + _missionListBlue = [ + "default", + "hostage1", + "captive1", + "medicalCamp", + "redCamp", + "resupplyCamp", + "derbunker", // OK + "forgotten_HQ", // OK + "IDAP", // OK + "Service_point", // OK + "Toxin" // OK + ]; +}; private _pathRed = "Red"; -private _missionListRed = ["default","redCamp","medicalCamp","resupplyCamp","carThieves"]; +if (blck_debugOn) then { +_missionListRed = ["tko_camp"]; +} else { + _missionListRed = [ + "default", + "redCamp", + "medicalCamp", + "resupplyCamp", + "carThieves", + "Ammunition_depot", // OK + "Camp_Moreell", // OK + "dashq", // OK + "derbunker", // OK + "factory", // OK + "lager", // OK + "Operations_Command", // OK + "Outpost", // OK + "tko_camp" // OK + ]; +}; + private _pathGreen = "Green"; -private _missionListGreen = ["default","medicalCamp","redCamp","resupplyCamp","banditVillage","charlston","factory","fortification","munitionsResearch"]; +if (blck_debugOn) then +{ + _missionListGreen = ["Operations_Command"]; +} else { + _missionListGreen = [ + "default", + "medicalCamp", + "redCamp", + "resupplyCamp", + "Camp_Moreell", // OK + "charlston", // OK + "dashq", // OK + "derbunker", // OK + "factory", // OK + "fortification", // OK + "lager", // OK + "munitionsResearch", // OK + "Operations_Command", // OK + "tko_camp" // OK + ]; +}; private _pathOrange = "Orange"; -private _missionListOrange = ["default","medicalCamp","redCamp","resupplyCamp","bunker","dashq","tko_camp"]; +if (blck_debugOn) then +{ + _missionListOrange = ["dashq"]; +} else { + _missionListOrange = [ + "default", + "medicalCamp", + "redCamp", + "resupplyCamp", + "Ammunition_depot", // OK + "Camp_Moreell", // OK + "dashq", // OK + "derbunker", // OK + "lager", // OK + "Operations_Command", + "Outpost", // OK + "tko_camp" // OK + ]; +}; private _pathUMS = "UMS\dynamicMissions"; private _missionListUMS = ["default"]; diff --git a/@GMS/addons/custom_server/Missions/Green/Camp_Moreell.sqf b/@GMS/addons/custom_server/Missions/Green/Camp_Moreell.sqf index 24acfb8..9d00850 100644 --- a/@GMS/addons/custom_server/Missions/Green/Camp_Moreell.sqf +++ b/@GMS/addons/custom_server/Missions/Green/Camp_Moreell.sqf @@ -104,6 +104,7 @@ _missionLandscape = [ ]; _missionLootBoxes = [ + [selectRandom blck_crateTypes,[9.8,9.8,0],_crateLoot,_lootCounts,0.000320471] ]; _missionLootVehicles = [ @@ -139,18 +140,18 @@ _noEmplacedWeapons = blck_SpawnEmplaced_Green; //_uniforms = blck_SkinList; //_headgear = blck_headgear; -_chancePara = 0.75; // Setting this in the mission file overrides the defaults -_noPara = 5; // Setting this in the mission file overrides the defaults -_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0. -_paraSkill = "Green"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot. +//_chancePara = 0.75; // Setting this in the mission file overrides the defaults +//_noPara = 5; // Setting this in the mission file overrides the defaults +//_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0. +//_paraSkill = "Green"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot. -_chanceLoot = 0.7; -private _lootIndex = selectRandom[1,2,3,4]; -private _paralootChoices = [blck_contructionLoot,blck_contructionLoot,blck_highPoweredLoot,blck_supportLoot]; -private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; -_paraLoot = _paralootChoices select _lootIndex; -_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. +//_chanceLoot = 0.7; +//private _lootIndex = selectRandom[1,2,3,4]; +//private _paralootChoices = [blck_contructionLoot,blck_contructionLoot,blck_highPoweredLoot,blck_supportLoot]; +//private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +//_paraLoot = _paralootChoices select _lootIndex; +//_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. -_endCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" //_timeOut = -1; #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Green/Operations_Command.sqf b/@GMS/addons/custom_server/Missions/Green/Operations_Command.sqf index 3dac5e0..d65adb8 100644 --- a/@GMS/addons/custom_server/Missions/Green/Operations_Command.sqf +++ b/@GMS/addons/custom_server/Missions/Green/Operations_Command.sqf @@ -132,6 +132,7 @@ _missionLandscape = [ ]; _missionLootBoxes = [ + [selectRandom blck_crateTypes,[-22.2104,-10.704,0],_crateLoot,_lootCounts,0.000320471] ]; _missionLootVehicles = [ @@ -179,6 +180,6 @@ private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0 _paraLoot = _paralootChoices select _lootIndex; _paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. -_endCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" //_timeOut = -1; #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Green/banditVillage.sqf b/@GMS/addons/custom_server/Missions/Green/banditVillage.sqf index a4b8533..9d92a06 100644 --- a/@GMS/addons/custom_server/Missions/Green/banditVillage.sqf +++ b/@GMS/addons/custom_server/Missions/Green/banditVillage.sqf @@ -107,6 +107,6 @@ private _paralootChoices = [blck_contructionLoot,blck_contructionLoot,blck_highP private _paralootCountsChoices = [[0,0,0,8,8,0],[0,0,0,8,8,0],[8,8,0,0,0,0],[0,0,0,0,12,0]]; _paraLoot = _paralootChoices select _lootIndex; _paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. -//_endCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +//_endCondition = // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" //_timeOut = -1; #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Green/charlston.sqf b/@GMS/addons/custom_server/Missions/Green/charlston.sqf index ca25c6d..63d6c12 100644 --- a/@GMS/addons/custom_server/Missions/Green/charlston.sqf +++ b/@GMS/addons/custom_server/Missions/Green/charlston.sqf @@ -180,6 +180,6 @@ private _paralootChoices = [blck_contructionLoot,blck_contructionLoot,blck_highP private _paralootCountsChoices = [[0,0,0,8,8,0],[0,0,0,8,8,0],[8,8,0,0,0,0],[0,0,0,0,12,0]]; _paraLoot = _paralootChoices select _lootIndex; _paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. -_endCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" //_timeOut = -1; #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Green/dashq.sqf b/@GMS/addons/custom_server/Missions/Green/dashq.sqf index 31c72ee..cfec33f 100644 --- a/@GMS/addons/custom_server/Missions/Green/dashq.sqf +++ b/@GMS/addons/custom_server/Missions/Green/dashq.sqf @@ -22,7 +22,7 @@ _endMsg = "The HQ at the Green Marker is under survivor control!"; _markerLabel = ""; _markerType = ["ELLIPSE",[300,300],"Solid"]; _markerColor = "ColorGreen"; -_markerMissionName = "Operationsbasis"; +_markerMissionName = "Operations Base"; _missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" ////////// @@ -179,14 +179,14 @@ _missionLandscape = [ ]; _missionLootBoxes = [ - //["Exile_Container_SupplyBox",[0.0717773,16.9431,-0.00143814],_crateLoot,_lootCounts,0.000320471] + [selectRandom blck_crateTypes,[0.0717773,16.9431,-0.00143814],_crateLoot,_lootCounts,0.000320471] ]; _missionLootVehicles = [ ]; _missionPatrolVehicles = [ - //["O_T_LSV_02_armed_F",[-62.7971,0.422119,-0.0236669],0.00164848], + ["O_T_LSV_02_armed_F",[-62.7971,0.422119,-0.0236669],0.00164848], ["O_T_LSV_02_armed_F",[31.9084,-7.18774,-0.0238085],0.00168349] ]; @@ -225,6 +225,6 @@ private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0 _paraLoot = _paralootChoices select _lootIndex; _paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. -_endCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" //_timeOut = -1; #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Green/derbunker.sqf b/@GMS/addons/custom_server/Missions/Green/derbunker.sqf index 87ac02e..3a8a403 100644 --- a/@GMS/addons/custom_server/Missions/Green/derbunker.sqf +++ b/@GMS/addons/custom_server/Missions/Green/derbunker.sqf @@ -68,7 +68,7 @@ _missionLandscape = [ ]; _missionLootBoxes = [ - //["Exile_Container_SupplyBox",[0.0446777,-1.31494,-0.001441],_crateLoot,_lootCounts,0.00167282] + [selectRandom blck_crateTypes,[0.0446777,-1.31494,-0.001441],_crateLoot,_lootCounts,0.00167282] ]; _missionLootVehicles = [ @@ -115,6 +115,6 @@ private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0 _paraLoot = _paralootChoices select _lootIndex; _paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. -_endCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" //_timeOut = -1; #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Green/factory.sqf b/@GMS/addons/custom_server/Missions/Green/factory.sqf index 671e439..2f431f3 100644 --- a/@GMS/addons/custom_server/Missions/Green/factory.sqf +++ b/@GMS/addons/custom_server/Missions/Green/factory.sqf @@ -95,7 +95,9 @@ _missionLandscape = [ ["Land_dp_smallTank_F",[9.81934,-69.9482,0],0,true,true] ]; -_missionLootBoxes = []; +_missionLootBoxes = [ + [selectRandom blck_crateTypes,[0.337891,-44.,0],_crateLoot,_lootCounts,0.000320471] +]; _missionLootVehicles = []; @@ -138,6 +140,6 @@ private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0 _paraLoot = _paralootChoices select _lootIndex; _paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. -_endCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" //_timeOut = -1; #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Green/fortification.sqf b/@GMS/addons/custom_server/Missions/Green/fortification.sqf index 9e60f35..60f162a 100644 --- a/@GMS/addons/custom_server/Missions/Green/fortification.sqf +++ b/@GMS/addons/custom_server/Missions/Green/fortification.sqf @@ -183,6 +183,6 @@ private _paralootChoices = [blck_contructionLoot,blck_contructionLoot,blck_highP private _paralootCountsChoices = [[0,0,0,8,8,0],[0,0,0,8,8,0],[8,8,0,0,0,0],[0,0,0,0,12,0]]; _paraLoot = _paralootChoices select _lootIndex; _paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. -_endCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" //_timeOut = -1; #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Green/lager.sqf b/@GMS/addons/custom_server/Missions/Green/lager.sqf index 58c5102..dc68f3d 100644 --- a/@GMS/addons/custom_server/Missions/Green/lager.sqf +++ b/@GMS/addons/custom_server/Missions/Green/lager.sqf @@ -132,7 +132,7 @@ _missionLandscape = [ ]; _missionLootBoxes = [ - //["Exile_Container_SupplyBox",[-2.28174,0.128662,-0.00143862],_crateLoot,_lootCounts,0.000181514] + [selectRandom blck_crateTypes,[-2.28174,0.128662,-0.00143862],_crateLoot,_lootCounts,0.000181514] ]; _missionLootVehicles = [ @@ -180,6 +180,6 @@ private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0 _paraLoot = _paralootChoices select _lootIndex; _paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. -_endCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" //_timeOut = -1; #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Green/munitionsResearch.sqf b/@GMS/addons/custom_server/Missions/Green/munitionsResearch.sqf index 652c8c7..f0bcd3c 100644 --- a/@GMS/addons/custom_server/Missions/Green/munitionsResearch.sqf +++ b/@GMS/addons/custom_server/Missions/Green/munitionsResearch.sqf @@ -98,6 +98,6 @@ private _paralootChoices = [blck_contructionLoot,blck_contructionLoot,blck_highP private _paralootCountsChoices = [[0,0,0,8,8,0],[0,0,0,8,8,0],[8,8,0,0,0,0],[0,0,0,0,12,0]]; _paraLoot = _paralootChoices select _lootIndex; _paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. -_endCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" //_timeOut = -1; #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Green/tko_camp.sqf b/@GMS/addons/custom_server/Missions/Green/tko_camp.sqf index 5c4e688..7a86deb 100644 --- a/@GMS/addons/custom_server/Missions/Green/tko_camp.sqf +++ b/@GMS/addons/custom_server/Missions/Green/tko_camp.sqf @@ -122,14 +122,14 @@ _missionLandscape = [ ]; _missionLootBoxes = [ - //["Exile_Container_SupplyBox",[1.55273,0.0065918,-0.00143957],_crateLoot,_lootCounts,0.000522983] + [selectRandom blck_crateTypes,[1.55273,0.0065918,-0.00143957],_crateLoot,_lootCounts,0.000522983] ]; _missionLootVehicles = [ ]; _missionPatrolVehicles = [ - //["B_LSV_01_armed_F",[-41.377,-5.40894,-0.0238895],0.00171121], + ["B_LSV_01_armed_F",[-41.377,-5.40894,-0.0238895],0.00171121], ["B_LSV_01_armed_F",[39.5627,-5.26709,-0.0237107],0.00169144] ]; @@ -169,6 +169,6 @@ private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0 _paraLoot = _paralootChoices select _lootIndex; _paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. -_endCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" //_timeOut = -1; #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Orange/Ammunition_depot.sqf b/@GMS/addons/custom_server/Missions/Orange/Ammunition_depot.sqf index 09fd845..50b83f8 100644 --- a/@GMS/addons/custom_server/Missions/Orange/Ammunition_depot.sqf +++ b/@GMS/addons/custom_server/Missions/Orange/Ammunition_depot.sqf @@ -168,6 +168,6 @@ private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0 _paraLoot = _paralootChoices select _lootIndex; _paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. -_endCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" //_timeOut = -1; #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Orange/Camp_Moreell.sqf b/@GMS/addons/custom_server/Missions/Orange/Camp_Moreell.sqf index 800c7b8..aba0098 100644 --- a/@GMS/addons/custom_server/Missions/Orange/Camp_Moreell.sqf +++ b/@GMS/addons/custom_server/Missions/Orange/Camp_Moreell.sqf @@ -104,6 +104,7 @@ _missionLandscape = [ ]; _missionLootBoxes = [ + [selectRandom blck_crateTypes,[9.8,9.8,0],_crateLoot,_lootCounts,0.000320471] ]; _missionLootVehicles = [ @@ -151,6 +152,6 @@ private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0 _paraLoot = _paralootChoices select _lootIndex; _paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. -_endCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" //_timeOut = -1; #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Orange/Operations_Command.sqf b/@GMS/addons/custom_server/Missions/Orange/Operations_Command.sqf index 4eaf7f1..181243a 100644 --- a/@GMS/addons/custom_server/Missions/Orange/Operations_Command.sqf +++ b/@GMS/addons/custom_server/Missions/Orange/Operations_Command.sqf @@ -132,6 +132,7 @@ _missionLandscape = [ ]; _missionLootBoxes = [ + [selectRandom blck_crateTypes,[-22.2104,-10.704,0],_crateLoot,_lootCounts,0.000320471] ]; _missionLootVehicles = [ @@ -179,6 +180,6 @@ private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0 _paraLoot = _paralootChoices select _lootIndex; _paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. -_endCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" //_timeOut = -1; #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Orange/Outpost.sqf b/@GMS/addons/custom_server/Missions/Orange/Outpost.sqf index a426830..f7eb8a0 100644 --- a/@GMS/addons/custom_server/Missions/Orange/Outpost.sqf +++ b/@GMS/addons/custom_server/Missions/Orange/Outpost.sqf @@ -104,6 +104,7 @@ _missionLandscape = [ ]; _missionLootBoxes = [ + [selectRandom blck_crateTypes,[-9.93359,-5.85596,0],_crateLoot,_lootCounts,0.000320471] ]; _missionLootVehicles = [ @@ -149,6 +150,6 @@ private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0 _paraLoot = _paralootChoices select _lootIndex; _paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. -_endCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" //_timeOut = -1; #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Orange/bunker.sqf b/@GMS/addons/custom_server/Missions/Orange/bunker.sqf deleted file mode 100644 index 52fac20..0000000 --- a/@GMS/addons/custom_server/Missions/Orange/bunker.sqf +++ /dev/null @@ -1,121 +0,0 @@ -/* - Mission Template by Ghostrider [GRG] - Mission Compositions by Bill prepared for ghostridergaming - Copyright 2016 - Last modified 3/20/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; -#include "\q\addons\custom_server\Missions\privateVars.sqf"; - -//diag_log "[blckeagls] Spawning Orange Mission with template = default"; -_crateLoot = blck_BoxLoot_Orange; -_lootCounts = blck_lootCountsOrange; -_startMsg = "An Operations Command was sighted in a nearby sector! Check the Orange marker on your map for the location!"; -_endMsg = "The Operations Command at the Orange Marker is under survivor control!"; -_markerLabel = ""; -_markerType = ["ellipse",[300,300],"Solid"]; -_markerColor = "ColorBlack"; -_markerMissionName = " Bunker"; -_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" - -////////// -// Past the output of the script here -_garrisonedBuildings_BuildingPosnSystem = [ -]; - -_garrisonedBuilding_ATLsystem = [ - ["Land_Bunker_01_big_F",[-19.0896,9.22754,0.760561],90.071,true,true,[["O_HMG_01_high_F",[-1.09302,-0.0102539,3.2837],0.00152979],["O_HMG_01_high_F",[-5.45947,-3.38574,0.109706],359.994],["O_HMG_01_high_F",[-0.41333,-10.5659,-0.774119],360],["O_HMG_01_high_F",[-0.826416,11.6274,-0.774119],0.00143682],["O_HMG_01_high_F",[11.355,-8.68066,-0.774117],0.000274398]],[]], - ["Land_Bunker_01_tall_F",[-18.5415,-8.59961,-0.00143909],90.071,true,true,[["O_HMG_01_high_F",[5.50562,-2.54395,-0.0121188],359.999],["O_HMG_01_high_F",[-1.72095,-0.109375,4.96893],359.998],["O_HMG_01_high_F",[11.7644,-6.72168,-0.0121179],0.000580947]],[]], - ["Land_Bunker_01_tall_F",[-18.9246,28.8105,-0.00143909],90.071,true,true,[["O_HMG_01_high_F",[5.47437,2.47559,-0.0121174],0.000287307],["O_HMG_01_high_F",[-1.38867,-0.0722656,4.967],359.999],["O_HMG_01_high_F",[10.5693,2.00635,-0.0121202],0.00145235],["O_HMG_01_high_F",[11.8271,5.87988,-0.0121174],0.000287344]],[]], - ["Land_Bunker_01_big_F",[17.0344,10.9336,0.760561],270.416,true,true,[["O_HMG_01_high_F",[0.966064,0.202148,3.2837],0.000261147],["O_HMG_01_high_F",[5.86353,3.25586,0.109696],0.000366296],["O_HMG_01_high_F",[-0.366211,10.3037,-0.774117],0.000287276],["O_HMG_01_high_F",[0.436768,-11.6377,-0.774117],0.000287533],["O_HMG_01_high_F",[-11.8674,-9.59229,-0.774119],359.999]],[]], - ["Land_Bunker_01_tall_F",[16.7253,-8.66455,-0.00143909],270.416,true,true,[["O_HMG_01_high_F",[-5.13818,-2.33496,-0.0121202],0.00145227],["O_HMG_01_high_F",[1.45801,0.0512695,4.96698],360],["O_HMG_01_high_F",[-10.4924,-6.61719,-0.0121179],0.000581377]],[]], - ["Land_Bunker_01_tall_F",[16.5664,28.7466,-0.00143909],270.416,true,true,[["O_HMG_01_high_F",[-5.00977,2.1792,-0.0121174],0.000287538],["O_HMG_01_high_F",[1.80957,0.26709,4.96756],0.000969946],["O_HMG_01_high_F",[-10.7739,2.07715,-0.0121174],0.000287469],["O_HMG_01_high_F",[-12.0127,6.1333,-0.0121188],360]],[]] -]; - - - -_missionLandscape = [ - //["Sign_Arrow_F",[-3166.38,-5166.64,-0.00143909],0,true,true], - //["Sign_Arrow_Green_F",[-3166.38,-5166.64,-0.00143909],0,true,true], - //["Sign_Arrow_Yellow_F",[-3166.38,-5166.64,-0.00143909],0,true,true], - ["babe_helper",[-3168.88,-5166.14,-0.00143909],87.9418,true,true], - ["Land_Bunker_01_blocks_3_F",[-16.9785,-4.23682,-0.00143909],270.35,true,true], - ["Land_Bunker_01_blocks_3_F",[-8.35254,-12.7046,-0.00143909],179.955,true,true], - ["Land_Bunker_01_blocks_3_F",[-3.26245,-12.6987,-0.00143909],179.955,true,true], - ["Land_Bunker_01_blocks_3_F",[-13.3396,-12.7207,-0.502439],179.955,true,true], - ["Land_Bunker_01_blocks_3_F",[-16.9604,0.749512,-0.00143909],270.35,true,true], - ["Land_Bunker_01_blocks_3_F",[-16.9265,17.7563,-0.00143909],270.35,true,true], - ["CamoNet_INDP_big_F",[-0.926514,-2.50049,-0.00143909],182.545,true,true], - ["Land_Bunker_01_blocks_3_F",[-8.79468,32.8765,-0.00143909],0.106,true,true], - ["Land_Bunker_01_blocks_3_F",[-13.7825,32.8735,-0.432439],0.106,true,true], - ["Land_Bunker_01_blocks_3_F",[-5.68066,30.3096,-0.00143909],90.192,true,true], - ["Land_Bunker_01_blocks_3_F",[-16.9097,22.7437,-0.00143909],270.35,true,true], - ["Land_Bunker_01_blocks_3_F",[1.72437,-12.6807,-0.00143909],179.955,true,true], - ["Land_Bunker_01_blocks_3_F",[14.7463,-2.58447,-0.00143909],90.695,true,true], - ["Land_Bunker_01_blocks_3_F",[6.82544,-12.6665,-0.00143909],179.955,true,true], - ["Land_Bunker_01_blocks_3_F",[14.7935,2.40039,-0.00143909],90.695,true,true], - ["Land_Bunker_01_blocks_3_F",[11.8125,-12.6494,-0.529439],179.955,true,true], - ["Land_Bunker_01_blocks_3_F",[3.42236,30.3735,-0.00143909],269.774,true,true], - ["Land_Bunker_01_blocks_3_F",[14.9304,19.4072,-0.00143909],90.695,true,true], - ["Land_Bunker_01_blocks_3_F",[6.38452,32.8735,-0.00143909],0.106,true,true], - ["Land_Bunker_01_blocks_3_F",[14.9763,24.3936,-0.00143909],90.695,true,true], - ["Land_Bunker_01_blocks_3_F",[11.3713,32.8774,-0.363439],0.106,true,true] -]; - -_missionLootBoxes = [ -]; - -_missionLootVehicles = [ -]; - -_missionPatrolVehicles = [ - ["O_LSV_02_armed_F",[-40.6245,8.75732,-0.0378561],359.999], - ["O_LSV_02_unarmed_F",[35.2053,8.41943,-0.0378113],359.999] -]; - -_submarinePatrolParameters = [ -]; - -_airPatrols = [ -]; - -_missionEmplacedWeapons = []; // - - - -////////// -// The lines below define additional variables you may wish to configure. - - -// Change _useMines to true/false below to enable mission-specific settings. -_useMines = blck_useMines; -_minNoAI = blck_MinAI_Orange; -_maxNoAI = blck_MaxAI_Orange; -_noAIGroups = blck_AIGrps_Orange; -_noVehiclePatrols = blck_SpawnVeh_Orange; -_noEmplacedWeapons = blck_SpawnEmplaced_Orange; -//_uniforms = blck_SkinList; -//_headgear = blck_headgear; - -_chancePara = 0.75; // Setting this in the mission file overrides the defaults -_noPara = 5; // Setting this in the mission file overrides the defaults -_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0. -_paraSkill = "Red"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot. - -_chanceLoot = 0.7; -private _lootIndex = selectRandom[1,2,3,4]; -private _paralootChoices = [blck_contructionLoot,blck_contructionLoot,blck_highPoweredLoot,blck_supportLoot]; -private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; -_paraLoot = _paralootChoices select _lootIndex; -_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. - -_endCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" -//_timeOut = -1; -#include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; \ No newline at end of file diff --git a/@GMS/addons/custom_server/Missions/Orange/dashq.sqf b/@GMS/addons/custom_server/Missions/Orange/dashq.sqf index ce2d371..fcd8d5d 100644 --- a/@GMS/addons/custom_server/Missions/Orange/dashq.sqf +++ b/@GMS/addons/custom_server/Missions/Orange/dashq.sqf @@ -22,7 +22,7 @@ _endMsg = "The HQ at the Orange Marker is under survivor control!"; _markerLabel = ""; _markerType = ["ELLIPSE",[300,300],"Solid"]; _markerColor = "ColorOrange"; -_markerMissionName = "Operationsbasis"; +_markerMissionName = "Operations Base"; _missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" ////////// @@ -179,7 +179,7 @@ _missionLandscape = [ ]; _missionLootBoxes = [ - //["Exile_Container_SupplyBox",[0.0717773,16.9431,-0.00143814],_crateLoot,_lootCounts,0.000320471] + [selectRandom blck_crateTypes,[0.0717773,16.9431,-0.00143814],_crateLoot,_lootCounts,0.000320471] ]; _missionLootVehicles = [ @@ -226,6 +226,6 @@ private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0 _paraLoot = _paralootChoices select _lootIndex; _paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. -_endCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" //_timeOut = -1; #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; \ No newline at end of file diff --git a/@GMS/addons/custom_server/Missions/Orange/derbunker.sqf b/@GMS/addons/custom_server/Missions/Orange/derbunker.sqf index eb51178..4b9f76a 100644 --- a/@GMS/addons/custom_server/Missions/Orange/derbunker.sqf +++ b/@GMS/addons/custom_server/Missions/Orange/derbunker.sqf @@ -68,7 +68,7 @@ _missionLandscape = [ ]; _missionLootBoxes = [ - //["Exile_Container_SupplyBox",[0.0446777,-1.31494,-0.001441],_crateLoot,_lootCounts,0.00167282] + [selectRandom blck_crateTypes,[0.0446777,-1.31494,-0.001441],_crateLoot,_lootCounts,0.00167282] ]; _missionLootVehicles = [ @@ -115,6 +115,6 @@ private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0 _paraLoot = _paralootChoices select _lootIndex; _paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. -_endCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" //_timeOut = -1; #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Orange/lager.sqf b/@GMS/addons/custom_server/Missions/Orange/lager.sqf index 5799cb2..5728569 100644 --- a/@GMS/addons/custom_server/Missions/Orange/lager.sqf +++ b/@GMS/addons/custom_server/Missions/Orange/lager.sqf @@ -132,7 +132,7 @@ _missionLandscape = [ ]; _missionLootBoxes = [ - //["Exile_Container_SupplyBox",[-2.28174,0.128662,-0.00143862],_crateLoot,_lootCounts,0.000181514] + [selectRandom blck_crateTypes,[-2.28174,0.128662,-0.00143862],_crateLoot,_lootCounts,0.000181514] ]; _missionLootVehicles = [ @@ -180,6 +180,6 @@ private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0 _paraLoot = _paralootChoices select _lootIndex; _paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. -_endCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" //_timeOut = -1; #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Orange/tko_camp.sqf b/@GMS/addons/custom_server/Missions/Orange/tko_camp.sqf index ed2488d..a0561eb 100644 --- a/@GMS/addons/custom_server/Missions/Orange/tko_camp.sqf +++ b/@GMS/addons/custom_server/Missions/Orange/tko_camp.sqf @@ -122,7 +122,7 @@ _missionLandscape = [ ]; _missionLootBoxes = [ - //["Exile_Container_SupplyBox",[1.55273,0.0065918,-0.00143957],_crateLoot,_lootCounts,0.000522983] + [selectRandom blck_crateTypes,[1.55273,0.0065918,-0.00143957],_crateLoot,_lootCounts,0.000522983] ]; _missionLootVehicles = [ @@ -169,6 +169,6 @@ private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0 _paraLoot = _paralootChoices select _lootIndex; _paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. -_endCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" //_timeOut = -1; #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Red/Ammunition_depot.sqf b/@GMS/addons/custom_server/Missions/Red/Ammunition_depot.sqf index 4098cc0..6fe6711 100644 --- a/@GMS/addons/custom_server/Missions/Red/Ammunition_depot.sqf +++ b/@GMS/addons/custom_server/Missions/Red/Ammunition_depot.sqf @@ -156,18 +156,18 @@ _noEmplacedWeapons = blck_SpawnEmplaced_Red; //_uniforms = blck_SkinList; //_headgear = blck_headgear; -_chancePara = 0.75; // Setting this in the mission file overrides the defaults -_noPara = 5; // Setting this in the mission file overrides the defaults -_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0. -_paraSkill = "Red"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot. +//_chancePara = 0.75; // Setting this in the mission file overrides the defaults +//_noPara = 5; // Setting this in the mission file overrides the defaults +//_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0. +//_paraSkill = "Red"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot. -_chanceLoot = 0.7; -private _lootIndex = selectRandom[1,2,3,4]; -private _paralootChoices = [blck_contructionLoot,blck_contructionLoot,blck_highPoweredLoot,blck_supportLoot]; -private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; -_paraLoot = _paralootChoices select _lootIndex; -_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. +//_chanceLoot = 0.7; +//private _lootIndex = selectRandom[1,2,3,4]; +//private _paralootChoices = [blck_contructionLoot,blck_contructionLoot,blck_highPoweredLoot,blck_supportLoot]; +//private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +//_paraLoot = _paralootChoices select _lootIndex; +//_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. -_endCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" //_timeOut = -1; #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Red/Camp_Moreell.sqf b/@GMS/addons/custom_server/Missions/Red/Camp_Moreell.sqf index 1056112..3377100 100644 --- a/@GMS/addons/custom_server/Missions/Red/Camp_Moreell.sqf +++ b/@GMS/addons/custom_server/Missions/Red/Camp_Moreell.sqf @@ -104,6 +104,7 @@ _missionLandscape = [ ]; _missionLootBoxes = [ + [selectRandom blck_crateTypes,[9.8,9.8,0],_crateLoot,_lootCounts,0.000320471] ]; _missionLootVehicles = [ @@ -151,6 +152,6 @@ private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0 _paraLoot = _paralootChoices select _lootIndex; _paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. -_endCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" //_timeOut = -1; #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Red/Operations_Command.sqf b/@GMS/addons/custom_server/Missions/Red/Operations_Command.sqf index a6d00ea..642d49a 100644 --- a/@GMS/addons/custom_server/Missions/Red/Operations_Command.sqf +++ b/@GMS/addons/custom_server/Missions/Red/Operations_Command.sqf @@ -132,6 +132,7 @@ _missionLandscape = [ ]; _missionLootBoxes = [ + [selectRandom blck_crateTypes,[-22.2104,-10.704,0],_crateLoot,_lootCounts,0.000320471] ]; _missionLootVehicles = [ @@ -179,6 +180,6 @@ private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0 _paraLoot = _paralootChoices select _lootIndex; _paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. -_endCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" //_timeOut = -1; #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Red/Outpost.sqf b/@GMS/addons/custom_server/Missions/Red/Outpost.sqf index b8a03e6..790b25d 100644 --- a/@GMS/addons/custom_server/Missions/Red/Outpost.sqf +++ b/@GMS/addons/custom_server/Missions/Red/Outpost.sqf @@ -104,6 +104,7 @@ _missionLandscape = [ ]; _missionLootBoxes = [ + [selectRandom blck_crateTypes,[-9.93359,-5.85596,0],_crateLoot,_lootCounts,0.000320471] ]; _missionLootVehicles = [ @@ -149,6 +150,6 @@ private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0 _paraLoot = _paralootChoices select _lootIndex; _paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. -_endCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" //_timeOut = -1; #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Red/carThieves.sqf b/@GMS/addons/custom_server/Missions/Red/carThieves.sqf index f8b69c7..567f439 100644 --- a/@GMS/addons/custom_server/Missions/Red/carThieves.sqf +++ b/@GMS/addons/custom_server/Missions/Red/carThieves.sqf @@ -69,6 +69,6 @@ _backpacs = blck_CUPBackpacks; _headgear = blck_CUPHeadgear; #endif -_endCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" //_timeOut = -1; #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Red/dashq.sqf b/@GMS/addons/custom_server/Missions/Red/dashq.sqf index fd02f47..2b0ddfe 100644 --- a/@GMS/addons/custom_server/Missions/Red/dashq.sqf +++ b/@GMS/addons/custom_server/Missions/Red/dashq.sqf @@ -22,7 +22,7 @@ _endMsg = "The HQ at the Red Marker is under survivor control!"; _markerLabel = ""; _markerType = ["ELLIPSE",[300,300],"Solid"]; _markerColor = "ColorRed"; -_markerMissionName = "Operationsbasis"; +_markerMissionName = "Operations Base"; _missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" ////////// @@ -179,14 +179,14 @@ _missionLandscape = [ ]; _missionLootBoxes = [ - //["Exile_Container_SupplyBox",[0.0717773,16.9431,-0.00143814],_crateLoot,_lootCounts,0.000320471] + [selectRandom blck_crateTypes,[0.0717773,16.9431,-0.00143814],_crateLoot,_lootCounts,0.000320471] ]; _missionLootVehicles = [ ]; _missionPatrolVehicles = [ - //["O_T_LSV_02_armed_F",[-62.7971,0.422119,-0.0236669],0.00164848], + ["O_T_LSV_02_armed_F",[-62.7971,0.422119,-0.0236669],0.00164848], ["O_T_LSV_02_armed_F",[31.9084,-7.18774,-0.0238085],0.00168349] ]; @@ -226,6 +226,6 @@ private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0 _paraLoot = _paralootChoices select _lootIndex; _paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. -_endCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" //_timeOut = -1; #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Red/derbunker.sqf b/@GMS/addons/custom_server/Missions/Red/derbunker.sqf index 7f24242..2b47374 100644 --- a/@GMS/addons/custom_server/Missions/Red/derbunker.sqf +++ b/@GMS/addons/custom_server/Missions/Red/derbunker.sqf @@ -68,7 +68,7 @@ _missionLandscape = [ ]; _missionLootBoxes = [ - //["Exile_Container_SupplyBox",[0.0446777,-1.31494,-0.001441],_crateLoot,_lootCounts,0.00167282] + [selectRandom blck_crateTypes,[0.0446777,-1.31494,-0.001441],_crateLoot,_lootCounts,0.00167282] ]; _missionLootVehicles = [ @@ -115,6 +115,6 @@ private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0 _paraLoot = _paralootChoices select _lootIndex; _paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. -_endCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" //_timeOut = -1; #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Red/factory.sqf b/@GMS/addons/custom_server/Missions/Red/factory.sqf index 9e74a87..6449cd1 100644 --- a/@GMS/addons/custom_server/Missions/Red/factory.sqf +++ b/@GMS/addons/custom_server/Missions/Red/factory.sqf @@ -97,6 +97,7 @@ _missionLandscape = [ ]; _missionLootBoxes = [ + [selectRandom blck_crateTypes,[0.337891,-44.,0],_crateLoot,_lootCounts,0.000320471] ]; _missionLootVehicles = [ @@ -143,6 +144,6 @@ private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0 _paraLoot = _paralootChoices select _lootIndex; _paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. -_endCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" //_timeOut = -1; #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Red/junkyardWilly.sqf b/@GMS/addons/custom_server/Missions/Red/junkyardWilly.sqf index 93f662c..5b48eda 100644 --- a/@GMS/addons/custom_server/Missions/Red/junkyardWilly.sqf +++ b/@GMS/addons/custom_server/Missions/Red/junkyardWilly.sqf @@ -54,6 +54,6 @@ _headgear = blck_CUPHeadgear; _weaponList = _weaponList + + blck_NIA_WeaponsSniper; #endif -_endCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" //_timeOut = -1; #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Red/lager.sqf b/@GMS/addons/custom_server/Missions/Red/lager.sqf index b43bdc5..bf1ca51 100644 --- a/@GMS/addons/custom_server/Missions/Red/lager.sqf +++ b/@GMS/addons/custom_server/Missions/Red/lager.sqf @@ -132,7 +132,7 @@ _missionLandscape = [ ]; _missionLootBoxes = [ - //["Exile_Container_SupplyBox",[-2.28174,0.128662,-0.00143862],_crateLoot,_lootCounts,0.000181514] + [selectRandom blck_crateTypes,[-2.28174,0.128662,-0.00143862],_crateLoot,_lootCounts,0.000181514] ]; _missionLootVehicles = [ @@ -180,6 +180,6 @@ private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0 _paraLoot = _paralootChoices select _lootIndex; _paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. -_endCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" //_timeOut = -1; #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Red/tko_camp.sqf b/@GMS/addons/custom_server/Missions/Red/tko_camp.sqf index c211921..f71feaf 100644 --- a/@GMS/addons/custom_server/Missions/Red/tko_camp.sqf +++ b/@GMS/addons/custom_server/Missions/Red/tko_camp.sqf @@ -122,14 +122,14 @@ _missionLandscape = [ ]; _missionLootBoxes = [ - //["Exile_Container_SupplyBox",[1.55273,0.0065918,-0.00143957],_crateLoot,_lootCounts,0.000522983] + [selectRandom blck_crateTypes,[1.55273,0.0065918,-0.00143957],_crateLoot,_lootCounts,0.000522983] ]; _missionLootVehicles = [ ]; _missionPatrolVehicles = [ - //["B_LSV_01_armed_F",[-41.377,-5.40894,-0.0238895],0.00171121], + ["B_LSV_01_armed_F",[-41.377,-5.40894,-0.0238895],0.00171121], ["B_LSV_01_armed_F",[39.5627,-5.26709,-0.0237107],0.00169144] ]; @@ -169,6 +169,6 @@ private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0 _paraLoot = _paralootChoices select _lootIndex; _paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. -_endCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" +_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" //_timeOut = -1; #include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Static/Code/GMS_fnc_sm_initializeMission.sqf b/@GMS/addons/custom_server/Missions/Static/Code/GMS_fnc_sm_initializeMission.sqf index a9875a1..f9bd0a7 100644 --- a/@GMS/addons/custom_server/Missions/Static/Code/GMS_fnc_sm_initializeMission.sqf +++ b/@GMS/addons/custom_server/Missions/Static/Code/GMS_fnc_sm_initializeMission.sqf @@ -84,8 +84,8 @@ _blck_localMissionMarker set [3,blck_labelMapMarkers select 1]; // Use an arrow uiSleep 30; // spawn loot chests -[_missionLootBoxes,_missionCenter] call blck_fnc_sm_spawnLootContainers; -[_missionLootVehicles,_missionCenter] call blck_fnc_sm_spawnLootVehicles; +[_missionLootBoxes,_missionCenter,_crateMoney] call blck_fnc_sm_spawnLootContainers; +[_missionLootVehicles,_missionCenter,_crateMoney] call blck_fnc_sm_spawnLootVehicles; diag_log format["[blckeagls] Static Mission Spawner: Mission %1 spawned",_mission]; diff --git a/@GMS/addons/custom_server/Missions/Static/Code/GMS_fnc_sm_initializeVariables.sqf b/@GMS/addons/custom_server/Missions/Static/Code/GMS_fnc_sm_initializeVariables.sqf new file mode 100644 index 0000000..a082f91 --- /dev/null +++ b/@GMS/addons/custom_server/Missions/Static/Code/GMS_fnc_sm_initializeVariables.sqf @@ -0,0 +1,89 @@ +/* + by Ghostrider [GRG] + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\q\addons\custom_server\Configs\blck_defines.hpp"; +params["_mission"]; +// Spawn landscape +// params["_objects"]; +if (isNil "_markerColor") then {_markerColor = "ColorBlack"}; +if (isNil "_markerType") then {_markerType = ["mil_box",[]]}; +if (isNil "_missionLandscape") then {_missionLandscape = []}; +if (isNil "_garrisonedBuilding_ASLsystem") then { + //diag_log "_fnc_sm_initializeMission: _garrisonedBuilding_ASLsystem set to []"; + _garrisonedBuilding_ASLsystem = []; + }; +if (isNil "_garrisonedBuildings_BuildingPosnSystem") then { + //diag_log "_fnc_sm_initializeMission: _garrisonedBuildings_BuildingPosnSystem set to []"; + _garrisonedBuildings_BuildingPosnSystem = []; + }; +if (isNil "_airPatrols") then {_airPatrols = []}; +if (isNil "_aiGroupParameters") then {_aiGroupParameters = []}; +if (isNil "_missionEmplacedWeapons") then {_missionEmplacedWeapons = []}; +if (isNil "_vehiclePatrolParameters") then {_vehiclePatrolParameters = []}; +if (isNil "_missionLootVehicles") then {_missionLootVehicles = []}; + +_markerClass = format["static%1",floor(random(1000000))]; +_blck_localMissionMarker = [_markerClass,_missionCenter,"","",_markerColor,_markerType]; +if (blck_labelMapMarkers select 0) then +{ + _blck_localMissionMarker set [2, _markerMissionName]; +}; +if !(blck_preciseMapMarkers) then +{ + _blck_localMissionMarker set [1,[_missionCenter,75] call blck_fnc_randomPosition]; +}; +_blck_localMissionMarker set [3,blck_labelMapMarkers select 1]; // Use an arrow labeled with the mission name? +[_blck_localMissionMarker] call blck_fnc_spawnMarker; + +[_missionLandscape] call blck_fnc_sm_spawnObjects; + +{ + //diag_log format["processing _garrisonedBuilding_ASL %1 which = %2",_forEachIndex,_x]; + // ["Land_i_House_Big_02_V2_F",[23650.3,18331.9,3.19],[[0,1,0],[0,0,1]],[true,true],"Red", + _x params["_buildingClassName","_buildingPosnASL","_buildingVectorDirUp","_buildingDamSim","_aiDifficulty","_staticsASL","_unitsASL","_respawnTimer","_noRespawns"]; + private _building = [_buildingClassName,_buildingPosnASL,_buildingVectorDirUp,_buildingDamSim] call blck_fnc_sm_spawnObjectASLVectorDirUp; + [blck_sm_garrisonBuildings_ASL,[_building,_aiDifficulty,_staticsASL,_unitsASL,_respawnTimer,_noRespawns]] call blck_fnc_sm_AddGroupToArray; + //diag_log format["_fnc_sm_initializeMission: blck_sm_garrisonBuildings_ASL updated to: %1",blck_sm_garrisonBuildings_ASL]; +}forEach _garrisonedBuilding_ASLsystem; + +// blcl_sm_garrisonBuilding_relPos +{ + //diag_log format["processing _garrisonedBuilding_relPos %1 which = %2",_forEachIndex,_x]; + _x params["_buildingClassName","_buildingPosnASL","_buildingVectorDirUp","_buildingDamSim","_aiDifficulty","_p","_noStatics","_typesStatics","_noUnits","_respawnTimer","_noRespawns"]; + private _building = [_buildingClassName,_buildingPosnASL,_buildingVectorDirUp,_buildingDamSim] call blck_fnc_sm_spawnObjectASLVectorDirUp; + [blcl_sm_garrisonBuilding_relPos,[_building,_aiDifficulty,_noStatics,_typesStatics,_noUnits,_respawnTimer,_noRespawns]] call blck_fnc_sm_AddGroupToArray; + //diag_log format["_fnc_sm_initializeMission: blcl_sm_garrisonBuilding_relPos updated to: %1",blcl_sm_garrisonBuilding_relPos]; +}forEach _garrisonedBuildings_BuildingPosnSystem; + +{ + [blck_sm_Aircraft,_x] call blck_fnc_sm_AddGroupToArray; + +}forEach _airPatrols; +//uiSleep 1; + +{ + [blck_sm_Infantry,_x] call blck_fnc_sm_AddGroupToArray; +}forEach _aiGroupParameters; + +{ + [blck_sm_Emplaced,_x] call blck_fnc_sm_AddGroupToArray; +}forEach _missionEmplacedWeapons; + +{ + [blck_sm_Vehicles,_x] call blck_fnc_sm_AddGroupToArray; +}forEach _vehiclePatrolParameters; + +uiSleep 30; +// spawn loot chests +[_missionLootBoxes,_missionCenter] call blck_fnc_sm_spawnLootContainers; +[_missionLootVehicles,_missionCenter] call blck_fnc_sm_spawnLootVehicles; + +[format["Static Mission Spawner: Mission %1 spawned",_mission]] call blck_fnc_log; + diff --git a/@GMS/addons/custom_server/Missions/Static/GMS_StaticMissions_init.sqf b/@GMS/addons/custom_server/Missions/Static/GMS_StaticMissions_init.sqf index 068ce9b..df01fd6 100644 --- a/@GMS/addons/custom_server/Missions/Static/GMS_StaticMissions_init.sqf +++ b/@GMS/addons/custom_server/Missions/Static/GMS_StaticMissions_init.sqf @@ -36,5 +36,5 @@ blck_sm_patrolRespawnInterval = 600; }; }; }forEach _staticMissions; -diag_log "[blckeagls] GMS_StaticMissions Initialized.sqf "; +["GMS_StaticMissions Initialized.sqf "] call blck_fnc_log; diff --git a/@GMS/addons/custom_server/changeLog.sqf b/@GMS/addons/custom_server/changeLog.sqf index fc29705..c8dd221 100644 --- a/@GMS/addons/custom_server/changeLog.sqf +++ b/@GMS/addons/custom_server/changeLog.sqf @@ -436,7 +436,7 @@ bugfixes. _useMines = blck_useMines; [Fixed] Logging by the time acceleration module was disabled. [Fixed] Emplaced weapons now spawn in the correct locations. -[Fixed] Missions end correctly when all AI are dead and _endCondition = "allKilledOrPlayerNear"; +[Fixed] Missions end correctly when all AI are dead and _endCondition = [changed] Reverted to the waypoint system from build 42. 3/18/17 Version 6.58 Build 44 diff --git a/@blckeagls_EDEN/addons/3EDEN_plugin.pbo b/@blckeagls_EDEN/addons/3EDEN_plugin.pbo index af5f333..0809a60 100644 Binary files a/@blckeagls_EDEN/addons/3EDEN_plugin.pbo and b/@blckeagls_EDEN/addons/3EDEN_plugin.pbo differ diff --git a/@blckeagls_EDEN/addons/3EDEN_plugin.pbo.bak b/@blckeagls_EDEN/addons/3EDEN_plugin.pbo.bak new file mode 100644 index 0000000..0e447ec Binary files /dev/null and b/@blckeagls_EDEN/addons/3EDEN_plugin.pbo.bak differ diff --git a/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_configureGarrisonForBuildingATL.sqf b/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_configureGarrisonForBuildingATL.sqf deleted file mode 100644 index 6fdaf17..0000000 --- a/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_configureGarrisonForBuildingATL.sqf +++ /dev/null @@ -1,65 +0,0 @@ - - - -#define oddsOfGarrison 0.67 -#define maxGarrisonStatics 3 -#define maxGarrisonUnits 4 -#define typesGarrisonStatics [] // When empty a static will be randomly chosen from the defaults for blckeagls -#define garrisonMarkerObject "Sign_Sphere100cm_F" // This can be anything you like. I find this large sphere easy to see and convenient. -#define unitMarkerObject "Sign_Arrow_Direction_Green_F" // This can be anything. I chose this arrow type because it allows you to easily indicate direction. - -private["_b","_staticsInBuilding","_unitsInBuilding","_staticsText","_unitsText","_buildingGarrisonATL","_staticsInBuilding","_unitsInBuilding","_count"]; -_b = _this select 0; -private _count = 0; -if (_b in blck_garrisonedBuildings) exitWith {""}; -private _staticsText = ""; -private _unitsText = ""; -private _buildingGarrisonATL = ""; -_staticsInBuilding = nearestObjects[getPosATL _building,["StaticWeapon"],sizeOf (typeOf _building)]; -{ - if !(_x in _configuredStatics) then - { - _isInside = [_x] call _fn_isInside; - if (_isInside) then {_building = [_x] call _fn_buildingContainer}; - if (_b isEqualTo _building) then - { - _configuredStatics pushBackUnique _x; - //_configuredStaticsPositions pushBack (getPosATL _x) vectorDiff CENTER; - if (_staticsText isEqualTo "") then - { - _staticsText = format['["%1",%2,%3]',typeOf _x,(getPosATL _x) vectorDiff (getPosATL _b),getDir _x]; - } else { - _staticsText = _staticsText + format[',["%1",%2,%3]',typeOf _x,(getPosATL _x) vectorDiff (getPosATL _b),getDir _x]; - }; - }; - }; -} forEach _staticsInBuilding; -// Since this is run from the editor we do not have to worry about units running off from their original locations -_unitsInBuilding = nearestObjects[getPosATL _building,["Man"],sizeOf (typeOf _building)] select {(vehicle _x) isEqualTo _x}; - -{ - if !(_x in _configuredUnits) then - { - _isInside = [_x] call _fn_isInside; - if (_isInside) then {_building = [_x] call _fn_buildingContainer}; - if (_b isEqualTo _building) then - { - _configuredUnits pushBackUnique _x; - - if (_unitsText isEqualTo "") then - { - _unitsText = format["[%1,%2]",(getPosATL _x) vectorDiff (getPosATL _b),getDir _x]; - } else { - _unitsText = _unitsText + format[",[%1,%2]",(getPosATL _x) vectorDiff (getPosATL _b),getDir _x]; - }; - _count = _count + 1; - }; - }; -} forEach _unitsInBuilding; - -if ( !(_staticsText isEqualTo "") || !(_unitsText isEqualTo "")) then -{ - _buildingGarrisonATL = format[' ["%1",%2,%3,%4,%5,[%6],[%7]]',typeOf _b,(getPosATL _b) vectorDiff CENTER,getDir _b,'true','true',_staticsText,_unitsText]; - blck_garrisonedBuildings pushBackUnique _b; -}; -_buildingGarrisonATL diff --git a/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_getGarrisonInfo.sqf b/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_getGarrisonInfo.sqf new file mode 100644 index 0000000..c5c01ba --- /dev/null +++ b/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_getGarrisonInfo.sqf @@ -0,0 +1,19 @@ + +private _object = get3DENSelected "object" select {((typeOf _x) isKindOf "House") && [_x] call BIS_fnc_isBuildingEnterable}; +private "_message"; + switch (count _objecct) do + { + case 0: {_message = "No Enterable Buildings selected"}; + case 1: { + if (_object getVariable["garrisoned",false]) then + { + _message = format["Building %1 IS Garrisoned",typeOf _object]; + } else { + _message = format["Building %1 is NOT Garrisoned",typeOf _object]; + }; + }; + default {_message = "Select a single building then try again"}; + }; + [_message,"Status"] call BIS_fnc_3DENShowMessage; + systemChat _message; + diag_log _message; \ No newline at end of file diff --git a/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_getLootVehicleInfo.sqf b/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_getLootVehicleInfo.sqf new file mode 100644 index 0000000..d096d5f --- /dev/null +++ b/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_getLootVehicleInfo.sqf @@ -0,0 +1,22 @@ + +private _objects = get3DENSelected "object" select {(typeOf _x) isKindOf "Car"}; +private "_message"; + +switch (count _objects) do +{ + case 0: {_message = "Select a vehicle and try again"}; + case 1: { + if ((_objects select 0) getVariable["lootvehicle",false]) then + { + _message = format["Vehicle %1 IS a loot vehicle",typeOf (_objects select 0)]; + } else { + _message = format["Vehicle %1 is NOT a loot vehicle",typeOf (_objects select 0)]; + }; + }; + default {_message = "Select a single vehicle and try again"}; +}; + +[_message,"Status"] call BIS_fnc_3DENShowMessage; + + systemChat _message; + diag_log _message; diff --git a/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_getMissionGarrisonInfo.sqf b/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_getMissionGarrisonInfo.sqf new file mode 100644 index 0000000..19ebc9f --- /dev/null +++ b/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_getMissionGarrisonInfo.sqf @@ -0,0 +1,11 @@ + +private _objects = get3DENSelected "object" select {((typeOf _x) isKindOf "House") && [_x] call BIS_fnc_isBuildingEnterable}; +private _lines = []; +private _lineBreak = toString [10]; +{ + _message pushBack format["Garrison Flag for Building type %1 at %2 = %3",typeOf _x,getPosATL _x,_x getVariable["garrisoned",false]]; +} forEach _objects; + +uiNameSpace setVariable ["Display3DENCopy_data", ["garrisonedBuildings.sqf", _lines joinString _lineBreak]]; +(findDisplay 313) createdisplay "Display3DENCopy"; + diff --git a/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_getMissionLootVehicleInfo.sqf b/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_getMissionLootVehicleInfo.sqf new file mode 100644 index 0000000..1b81631 --- /dev/null +++ b/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_getMissionLootVehicleInfo.sqf @@ -0,0 +1,11 @@ + + +private _objects = get3DENSelected "object" select {(typeOf _x) isKindOf "Car"}; +private _lines = []; +private _lineBreak = toString [10]; +{ + _message pushBack format["Loot Vehicle Flag for Vehicle type %1 at %2 = %3",typeOf _x,getPosATL _x,_x getVariable["garrisoned",false]]; +} forEach _objects; + +uiNameSpace setVariable ["Display3DENCopy_data", ["lootVehicles.sqf", _lines joinString _lineBreak]]; +(findDisplay 313) createdisplay "Display3DENCopy"; \ No newline at end of file diff --git a/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_init.sqf b/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_init.sqf deleted file mode 100644 index d7712cb..0000000 --- a/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_init.sqf +++ /dev/null @@ -1,57 +0,0 @@ - -blck_dynamicStartMessage = "TODO: Change approiately"; -blck_dynamicEndMessage = "TODO: Change Appropriately"; -blck_dynamicCrateLoot = "_crateLoot = blck_BoxLoot_Green;"; -blck_dynamicCrateLootCounts = "_lootCounts = blck_lootCountsGreen;"; -blck_dynamicmarkerMissionName = '_markerMissionName = "TODO: Update appropriately";'; -blck_dynamicMissionDifficulty = "Blue"; -diag_log format["Initilization Complete for 3EDEN plugin for blckeagls"]; -/* -_markerMissionName = "Research Center"; -_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" - -_useMines = blck_useMines; -_minNoAI = blck_MinAI_Green; -_maxNoAI = blck_MaxAI_Green; -_noAIGroups = blck_AIGrps_Green; -_noVehiclePatrols = blck_SpawnVeh_Green; -_noEmplacedWeapons = blck_SpawnEmplaced_Green; -_minNoAI = blck_MinAI_Blue; // Setting this in the mission file overrides the defaults such as blck_MinAI_Blue -_maxNoAI = blck_MaxAI_Blue; // Setting this in the mission file overrides the defaults -_noAIGroups = blck_AIGrps_Blue; // Setting this in the mission file overrides the defaults -_noVehiclePatrols = blck_SpawnVeh_Blue; // Setting this in the mission file overrides the defaults -_noEmplacedWeapons = blck_SpawnEmplaced_Blue; // Setting this in the mission file overrides the defaults -// Change _useMines to true/false below to enable mission-specific settings. -_useMines = blck_useMines; // Setting this in the mission file overrides the defaults -_uniforms = blck_SkinList; // Setting this in the mission file overrides the defaults -_headgear = blck_headgear; // Setting this in the mission file overrides the defaults -_vests = blck_vests; -_backpacks = blck_backpacks; -_weaponList = ["blue"] call blck_fnc_selectAILoadout; -_sideArms = blck_Pistols; -_chanceHeliPatrol = blck_chanceHeliPatrolBlue; // Setting this in the mission file overrides the defaults -_noChoppers = blck_noPatrolHelisBlue; -_missionHelis = blck_patrolHelisBlue; -_chancePara = blck_chanceParaBlue; // Setting this in the mission file overrides the defaults -_noPara = blck_noParaBlue; // Setting this in the mission file overrides the defaults -_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0. -_paraSkill = "red"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot. -_chanceLoot = 0.0; // The chance that a loot crate will be dropped with paratroops. -_paraLoot = blck_BoxLoot_Blue; -_paraLootCounts = blck_lootCountsRed; // Throw in something more exotic than found at a normal blue mission. - -_spawnCratesTiming = blck_spawnCratesTiming; // Choices: "atMissionSpawnGround","atMissionEndGround","atMissionEndAir". - // Crates spawned in the air will be spawned at mission center or the position(s) defined in the mission file and dropped under a parachute. - // This sets the default value but can be overridden by defining _spawnCrateTiming in the file defining a particular mission. -_loadCratesTiming = blck_loadCratesTiming; // valid choices are "atMissionCompletion" and "atMissionSpawn"; - // Pertains only to crates spawned at mission spawn. - // This sets the default but can be overridden for specific missions by defining _loadCratesTiming - - // Examples: - // To spawn crates at mission start loaded with gear set blck_spawnCratesTiming = "atMissionSpawnGround" && blck_loadCratesTiming = "atMissionSpawn" - // To spawn crates at mission start but load gear only after the mission is completed set blck_spawnCratesTiming = "atMissionSpawnGround" && blck_loadCratesTiming = "atMissionCompletion" - // To spawn crates on the ground at mission completion set blck_spawnCratesTiming = "atMissionEndGround" // Note that a loaded crate will be spawned. - // To spawn crates in the air and drop them by chutes set blck_spawnCratesTiming = "atMissionEndAir" // Note that a loaded crate will be spawned. -_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" - // Setting this in the mission file overrides the defaults -diag_log format["Inilized 3EDEN Plugin for blckeagles"]; diff --git a/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_setGarrison.sqf b/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_setGarrison.sqf new file mode 100644 index 0000000..268fb11 --- /dev/null +++ b/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_setGarrison.sqf @@ -0,0 +1,26 @@ + + +params["_state"]; +private _objects = get3DENSelected "object" select {(typeOf _x) isKindOf "House"}; +if (_objects isEqualTo []) exitWith +{ + _m = "Select one or more buildings to configure"; + systemChat _m; +}; + +{ + if ([_x] call BIS_fnc_isBuildingEnterable) then + { + _x setVariable["garrisoned",_state]; + _m = format["building of type %1 had garrison state set to %2",typeOf _x,_state]; + systemChat _m; + diag_log _m; + } else { + _m = format["Object type %1 ignored: only enterable buildings can be garrisoned",typeOf _x]; + systemChat _x; + diag_log _x; + }; + +} forEach _objects; +_m = format["Garrison State of %1 buildings updated to %2",count _objects,_state]; +systemChat _m; \ No newline at end of file diff --git a/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_setLootVehicle.sqf b/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_setLootVehicle.sqf new file mode 100644 index 0000000..27f574a --- /dev/null +++ b/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_setLootVehicle.sqf @@ -0,0 +1,22 @@ +params["_state"]; +private _objects = get3DENSelected "object" select {(typeOf _x) isKindOf "Car"}; +if (_objects isEqualTo []) exitWith +{ + _m = "Select one or more vehicles to configure"; + systemChat _m; +}; +{ + if ((typeOf _x) isKindOf "Car") then + { + _x setVariable["lootvehicle",_state]; + _m = format["Vehicle type %1 set to Loot Vehilce = %1",typeOf _x,_state]; + systemChat _m; + diag_log _m; + } else { + _m = format["Object with type %1 ignored:: only objects of type Car can be used as loot vehicles",typeOf _x]; + diag_log _m; + systemChat _m; + }; +} forEach _objects; +_m = format["Loot Vehicle State of %1 vehicles updated to %2",count _objects,_state]; +systemChat _m; \ No newline at end of file diff --git a/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_updateObjects.sqf b/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_updateObjects.sqf new file mode 100644 index 0000000..dbdf17a --- /dev/null +++ b/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_updateObjects.sqf @@ -0,0 +1,9 @@ + +private _objects = get3DENSelected "object"; +private _markers select {(typeOf _x) = _markerType}; +{ + +}; +_m = "Update Objects Called"; +diag_log _m; +systemChat _m; \ No newline at end of file diff --git a/@blckeagls_EDEN/addons/3EDEN_plugin/Export/pullDynamicMission.sqf b/@blckeagls_EDEN/addons/3EDEN_plugin/Export/pullDynamicMission.sqf deleted file mode 100644 index 5ea7458..0000000 --- a/@blckeagls_EDEN/addons/3EDEN_plugin/Export/pullDynamicMission.sqf +++ /dev/null @@ -1,411 +0,0 @@ - - -diag_log "========== =========================="; - -private _markers = all3DENEntities select 5; - -/////////////////// -// Define some values for our AI -// Change values of these variables to suit your needs -/////////////////// -#define aiDifficulty "Red" -#define minAI 3 -#define maxAI 6 -#define minPatrolRadius 30 -#define maxPatrolRadius 45 -#define AI_respawnTime 600 -#define aiVehiclePatrolRadius 75 -#define vehiclePatrolRespawnTime 600 -#define staticWeaponRespawnTime 600 -#define aiAircraftPatrolRespawnTime 600 -#define aiAircraftPatrolRadius 1700 -#define oddsOfGarrison 0.67 -#define maxGarrisonStatics 3 -#define maxGarrisonUnits 4 -#define typesGarrisonStatics [] // When empty a static will be randomly chosen from the defaults for blckeagls -#define garrisonMarkerObject "Sign_Sphere100cm_F" // This can be anything you like. I find this large sphere easy to see and convenient. -#define unitMarkerObject "Sign_Arrow_Direction_Green_F" // This can be anything. I chose this arrow type because it allows you to easily indicate direction. -#define objectAtMissionCenter "RoadCone_L_F" -#define lootVehicleMarker "Sign_Arrow_F" -#define landVehicles "LandVehicle" - -/////////////////// -// Define the coordinates of the center of the mission. -/////////////////// -if (isNil "CENTER") then -{ - CENTER = [0,0,0]; -}; -if (CENTER isEqualTo [0,0,0]) then -{ - hint "Please define a center point for your mission"; - _obj = allMissionObjects objectAtMissionCenter; - _obj1 = _obj select 0; - diag_log format["Determining position of first roadcone found which is located at %1 with player found at %2",getPos _obj1,position Player]; - if (count _obj > 0) then - { - CENTER = [3,3,0] vectorAdd (getPosATL _obj1); - }; - hint format["Position of Road Cone at %1 used to define mission center",CENTER]; - diag_log format["Position of Road Cone at %1 used to define mission center",CENTER]; - diag_log format["Player located at position %1",position player]; -}; -diag_log format["CENTER Set to %1",CENTER]; - -/////////////////// -// Identify any buildings in which a garrison should be spawned using the Arma building positions. -// Tell the script which buildings to garrison by placing an object inside that designates them as such. -// I use a large yellow sphere for this purpose. -// The function below assembles a list of such buildings for use in defining the data for mission buildings. -/////////////////// - -_cb = ""; - -////////////////// -// *** OPTIONAL **** -// Place a marker over your mission and configure it as you would like to to appear in the tame. -// The marker configuration will be included in the output of this script. -// Note ** Only the first marker placed will be processed ** -// Configure Marker -///////////////// - -diag_log format["<< ---- pullDynamicMision: START %1 ---- >>",diag_tickTime]; - -//////////////////////// -// Begin pulling data here -/////////////////////// - -_cb = _cb + format["blck_garrisonedBuildings_BuildingPosnSystem = [",endl]; - -_helpers = allMissionObjects garrisonMarkerObject; -//diag_log format["_helpers = %1",_helpers]; -{ - if ( (typeOf _x) isEqualTo garrisonMarkerObject) then - { - private _isInside = [_x] call _fn_isInside; - if (_isInside) then - { - _building = [_x] call _fn_buildingContainer; - blck_garrisonedBuildings pushbackunique _building; - blck_garrisonedBuildings pushbackunique _x; - // data structure ["building Classname",[/*building pos*/],/*building dir*/,/*odds of garrison*/, /*Max Statics*/,/*types statics*/,/*max units*/], - // 1 2 3 4 5 6 7 8 9 - _line = format[' ["%1",%2,%3,%4,%5,%6,%7,%8,%9]',typeOf _building,(getPosATL _building) vectorDiff CENTER,getDir _building, 'true','true',oddsOfGarrison,maxGarrisonStatics,typesGarrisonStatics,maxGarrisonUnits]; - systemChat _line; - //diag_log _line; - if (_forEachIndex == 0) then - { - _cb = _cb + format["%1%2",endl,_line]; - } else { - _cb = _cb + format[",%1%2",endl,_line]; - }; - }; - }; -} forEach _helpers; -_cb = _cb + format["%1];%1%1",endl]; - -_logging = format["blck_garrisonedBuildings = %1",blck_garrisonedBuildings]; -diag_log _logging; -systemChat _logging; -//diag_log format["_cb = %1%2",endl,_cb]; - - -/* - This bit will set up the garrison for each building having units and / or statics inside it or on top. - Coding must ensure that nothing is repeated but everything is captured. -*/ - -_fn_configureGarrisonForBuildingATL = { - private["_b","_staticsInBuilding","_unitsInBuilding","_staticsText","_unitsText","_buildingGarrisonATL","_staticsInBuilding","_unitsInBuilding","_count"]; - _b = _this select 0; - _count = 0; - if (_b in blck_garrisonedBuildings) exitWith {""}; - _staticsText = ""; - _unitsText = ""; - _buildingGarrisonATL = ""; - _staticsInBuilding = nearestObjects[getPosATL _building,["StaticWeapon"],sizeOf (typeOf _building)]; - { - if !(_x in _configuredStatics) then - { - _isInside = [_x] call _fn_isInside; - if (_isInside) then {_building = [_x] call _fn_buildingContainer}; - if (_b isEqualTo _building) then - { - _configuredStatics pushBackUnique _x; - //_configuredStaticsPositions pushBack (getPosATL _x) vectorDiff CENTER; - if (_staticsText isEqualTo "") then - { - _staticsText = format['["%1",%2,%3]',typeOf _x,(getPosATL _x) vectorDiff (getPosATL _b),getDir _x]; - } else { - _staticsText = _staticsText + format[',["%1",%2,%3]',typeOf _x,(getPosATL _x) vectorDiff (getPosATL _b),getDir _x]; - }; - }; - }; - } forEach _staticsInBuilding; - _unitsInBuilding = nearestObjects[getPosATL _building,[unitMarkerObject],sizeOf (typeOf _building)]; - - { - if !(_x in _configuredUnits) then - { - _isInside = [_x] call _fn_isInside; - if (_isInside) then {_building = [_x] call _fn_buildingContainer}; - if (_b isEqualTo _building) then - { - _configuredUnits pushBackUnique _x; - - if (_unitsText isEqualTo "") then - { - _unitsText = format["[%1,%2]",(getPosATL _x) vectorDiff (getPosATL _b),getDir _x]; - } else { - _unitsText = _unitsText + format[",[%1,%2]",(getPosATL _x) vectorDiff (getPosATL _b),getDir _x]; - }; - _count = _count + 1; - }; - }; - } forEach _unitsInBuilding; - if ( !(_staticsText isEqualTo "") || !(_unitsText isEqualTo "")) then - { - _buildingGarrisonATL = format[' ["%1",%2,%3,%4,%5,[%6],[%7]]',typeOf _b,(getPosATL _b) vectorDiff CENTER,getDir _b,'true','true',_staticsText,_unitsText]; - blck_garrisonedBuildings pushBackUnique _b; - }; - _buildingGarrisonATL -}; - -private _count = 0; -_cb = _cb + "_garrisonedBuilding_ATLsystem = ["; -{ - private _isInside = [_x] call _fn_isInside; - if (_isInside) then - { - private _building = [_x] call _fn_buildingContainer; - private _include = if ( !(_building in blck_garrisonedBuildings) && !((typeOf _building) isEqualTo unitMarkerObject) && !((typeOf _building) isEqualTo garrisonMarkerObject)) then {true} else {false}; - if (_include) then - { - //diag_log format["_x = %1 | _building = %1",_x,_building]; - private _buildingGarrisonInformation = [_building] call _fn_configureGarrisonForBuildingATL; - diag_log format["_buildingGarrisonInformation = %1",_buildingGarrisonInformation]; - if !(_buildingGarrisonInformation isEqualTo "") then - { - if (_count == 0) then - { - _cb = _cb + format["%1%2",endl,_buildingGarrisonInformation]; - } else { - _cb = _cb + format[",%1%2",endl,_buildingGarrisonInformation]; - }; - _count = _count + 1; - }; - }; - }; - -} forEach ((allMissionObjects "StaticWeapon") + (allMissionObjects "Man") + (allMissionObjects unitMarkerObject)); -_cb = _cb + format["%1];%1%1",endl]; - -/////////////////// -// Configure info remaining mission landscape -/////////////////// -_land = allMissionObjects "Static"; -_count = 0; -_cb = _cb + format["_missionLandscape = [",endl]; -{ - diag_log format["evaluating mission landscape: _x = %1 | typeOf _x = %1",_x, typeOf _x]; - //diag_log format["evaluating mission landscape: _x %1 | typeOf _x %1",_x, _x isKindOf "Helper_Base_F"]; - if !(_x in blck_garrisonedBuildings && !((typeOf _x) isEqualTo unitMarkerObject) && !((typeOf _x) isEqualTo garrisonMarkerObject)) then - { - _line = format[' ["%1",%2,%3,%4,%5]',typeOf _x,(getPosATL _x) vectorDiff CENTER,getDir _x, 'true','true']; - systemChat _line; - if (_count == 0) then - { - _cb = _cb + format["%1%2",endl,_line]; - } else { - _cb = _cb + format[",%1%2",endl,_line]; - }; - _count = _count + 1; - }; -}forEach allMissionObjects "Static"; -_cb = _cb + format["%1];%1%1",endl]; - -/////////////////// -// Configure loot boxes -/////////////////// -_cb = _cb + "_missionLootBoxes = ["; -{ - _line = format[' ["%1",%2,%3,%4,%5]',typeOf _x,(getPosATL _x) vectorDiff CENTER, '_crateLoot','_lootCounts',getDir _x]; - systemChat _line; - if (_forEachIndex == 0) then - { - _cb = _cb + format["%1%2",endl,_line]; - } else { - _cb = _cb + format[",%1%2",endl,_line]; - }; -}forEach ((allMissionObjects "ReammoBox") + (allMissionObjects "ReammoBox_F")); -_cb = _cb + format["%1];%1%1",endl]; - -/////////////////// -// Setup Info for loot vehicles -/////////////////// -_missionLootVehicles = []; -_missionVehicles = ((allMissionObjects "Car") + (allMissionObjects "Tank") + allMissionObjects "Ship"); -_lootVehicleMarkers = allMissionObjects lootVehicleMarker; -diag_log format["_lootVehicleMarkers = %1",_lootVehicleMarkers]; -_cb = _cb + format["_missionLootVehicles = ["]; -{ - _kindOf = "nothing"; - _isInside = [_x,"Car"] call _fn_isInside; - if (_isInside) then {_kindOf = "Car"}; - if !(_isInside) then {_isInside = [_x,"Ship"] call _fn_isInside}; - if (_isInside) then {_kindOf = "Ship"}; - if (_isInside) then - { - - _object = [_x,_kindOf] call _fn_buildingContainer; - diag_log format["object %1 is inside object %2",_x,_object]; - _missionLootVehicles pushBack _object; - _line = format[' ["%1",%2,%3,%4,%5]',typeOf _object,(getPosATL _x) vectorDiff CENTER, '_crateLoot','_lootCounts',getDir _x]; - systemChat _line; - if (_forEachIndex == 0) then - { - _cb = _cb + format["%1%2",endl,_line]; - } else { - _cb = _cb + format[",%1%2",endl,_line]; - }; - }; -} forEach allMissionObjects lootVehicleMarker; -_cb = _cb + format["%1];%1%1",endl]; - -/////////////////// -// Setup Info for vehicle patrols -/////////////////// -_cb = _cb + format["_missionPatrolVehicles = ["]; -{ - if ( !((typeOf _x) isKindOf "SDV_01_base_F") && !(_x in _missionLootVehicles) ) then - { - _line = format[' ["%1",%2,%3]',typeOf _x,(getPosATL _x) vectorDiff CENTER,getDir _x]; - systemChat _line; - if (_forEachIndex == 0) then - { - _cb = _cb + format["%1%2",endl,_line]; - } else { - _cb = _cb + format[",%1%2",endl,_line]; - }; - }; -}forEach ((allMissionObjects "Car") + (allMissionObjects "Tank") + allMissionObjects "Ship"); -_cb = _cb + format["%1];%1%1",endl]; - -_cb = _cb + "_submarinePatrolParameters = ["; -{ - if ((typeOf _x) isKindOf "SDV_01_base_F") then - { - _line = format[' ["%1",%2,%3]',typeOf _x,(getPosATL _x) vectorDiff CENTER,getDir _x]; - systemChat _line; - if (_forEachIndex == 0) then - { - _cb = _cb + format["%1%2",endl,_line]; - } else { - _cb = _cb + format[",%1%2",endl,_line]; - }; - }; -}forEach allMissionObjects "Ship"; -_cb = _cb + format["%1];%1%1",endl]; - -/////////////////// -// Configs for Air Patrols -/////////////////// -_cb = _cb + "_airPatrols = ["; - //[selectRandom _aircraftTypes,[22830.2,16618.1,11.4549],"blue",1000,60] -{ - _line = format[' ["%1",%2,%3]',typeOf _x,(getPosATL _x) vectorDiff CENTER,getDir _x, 'true','true']; - systemChat _line; - if (_forEachIndex == 0) then - { - _cb = _cb + format["%1%2",endl,_line]; - } else { - _cb = _cb + format[",%1%2",endl,_line]; - }; -}forEach allMissionObjects "Air"; -_cb = _cb + format["%1];%1%1",endl]; - -/////////////////// -// Setup info for remaining static/emplaced weapons -/////////////////// -_count = 0; -_cb = _cb + format["_missionEmplacedWeapons = ["]; -{ - - //if !(_x in _configuredStatics) then - private _isInside = [_x] call _fn_isInside; - if !(_isInside) then - { - // ["B_HMG_01_high_F",[22883.5,16757.6,6.31652],"blue",0,10] - _line = format[' ["%1",%2,%3]',typeOf _x,(getPosATL _x) vectorDiff CENTER,getDir _x, 'true','true']; - systemChat _line; - if (_count == 0) then - { - _cb = _cb + format["%1%2",endl,_line]; - } else { - _cb = _cb + format[",%1%2",endl,_line]; - }; - _count = _count + 1; - }; - -}forEach allMissionObjects "StaticWeapon"; -_cb = _cb + format["%1];%1%1",endl]; - -/////////////////// -// Setup information for infantry groups spawning outside buildings -/////////////////// -_cb = _cb + format["_missionGroups = ["]; -{ - //[[22920.4,16887.3,3.19144],"red",[1,2], 75,120], - _isInside = [_x] call _fn_isInside; - _isInfantry = [_x] call _fn_isInfantry; - //diag_log format["_missionGroups: _unit %1 | _isInside %2 _isInfantry %3",_x,_isInside,_isInfantry]; - if (_isInfantry) then - { - if (!(surfaceIsWater (getPos _x)) && !(_isInside) && !(isPlayer _x)) then - { - _line = format[' [%1,%2,%3,"%4",%5,%6]',(getPosATL _x) vectorDiff CENTER,minAI,maxAI,aiDifficulty,minPatrolRadius,maxPatrolRadius]; - systemChat _line; - if (_forEachIndex == 0) then - { - _cb = _cb + format["%1%2",endl,_line]; - } else { - _cb = _cb + format[",%1%2",endl,_line]; - }; - }; - }; -}forEach allMissionObjects "Man"; -_cb = _cb + format["%1];%1%1",endl]; - -_cb = _cb + "_scubaGroupParameters = ["; -{ - //[[22920.4,16887.3,3.19144],"red",[1,2], 75,120], - _isInside = [_x] call _fn_isInside; - _isInfantry = [_x] call _fn_isInfantry; - //diag_log format["_missionGroups: _unit %1 | _isInside %2 _isInfantry %3",_x,_isInside,_isInfantry]; - if (_isInfantry) then - { - if ((surfaceIsWater (getPos _x)) && !(_isInside) && !(isPlayer _x)) then - { - _line = format[' [%1,%2,%3,"%4",%5,%6]',(getPosATL _x) vectorDiff CENTER,minAI,maxAI,aiDifficulty,minPatrolRadius,maxPatrolRadius]; - systemChat _line; - if (_forEachIndex == 0) then - { - _cb = _cb + format["%1%2",endl,_line]; - } else { - _cb = _cb + format[",%1%2",endl,_line]; - }; - }; - }; -}forEach allMissionObjects "Man"; -_cb = _cb + format["%1];%1%1",endl]; - -/////////////////// -// All done, notify the user and copy the output to the clipboard -/////////////////// -_msg = "All Objects organzied, formated and copied to the Clipboard"; -hint _msg; -systemChat _msg; -systemChat format["_cb has %1 characters",count _cb]; -copyToClipboard _cb; -diag_log "DONE"; - diff --git a/@blckeagls_EDEN/addons/3EDEN_plugin/Export/pullMarkerInfo.sqf b/@blckeagls_EDEN/addons/3EDEN_plugin/Export/pullMarkerInfo.sqf deleted file mode 100644 index 442a5b1..0000000 --- a/@blckeagls_EDEN/addons/3EDEN_plugin/Export/pullMarkerInfo.sqf +++ /dev/null @@ -1,62 +0,0 @@ - -_cb = ""; - -////////////////// -// *** OPTIONAL **** -// Place a marker over your mission and configure it as you would like to to appear in the tame. -// The marker configuration will be included in the output of this script. -// Note ** Only the first marker placed will be processed ** -// Configure Marker -///////////////// -/* - _markerType = ["ELIPSE",[175,175],"GRID"]; - _markerType = ["mil_triangle",[0,0]]; -*/ - -diag_log format["<< ---- START %1 ---- >>",diag_tickTime]; - -_allmkr = allMapMarkers; -diag_log format["_allmkr = %1",_allmkr]; -if (count _allmkr == 0) then -//if !(typeName _mk isEqualTo "STRING") then -{ - hint "No Marker Found, no Marker Definitions Will Be generated"; - uiSleep 5; -} else { - - _mk = _allmkr select 0; - diag_log format["_mk = %1",_mk]; - systemChat format["marker shape = %1",markerShape _mk]; - systemChat format["marker type = %1",markerType _mk]; - systemChat format["marker size = %1",markerSize _mk]; - systemChat format["markerColor = %1",markerColor _mk]; - systemChat format["marker brush = %1",markerBrush _mk]; - //systemChat - switch (toUpper(markerShape _mk)) do - { - case "ELLIPSE": { - _cb = _cb + format['_markerType = ["%1",%2,"%3"];%4',toUpper(MarkerShape _mk),getMarkerSize _mk,toUpper(markerBrush _mk),endl]; - }; - case "RECTANGLE": { - _cb = _cb + format['_markerType = ["%1",%2,"%3"];%4',toUpper(MarkerShape _mk),getMarkerSize _mk,toUpper(markerBrush _mk),endl]; - }; - case "ICON": { - _cb = _cb + format['_markerType = ["%1"];%2',getMarkerType _mk,endl]; - }; - }; - - _cb = _cb + format['_markerColor = "%1";%2',markerColor _mk,endl]; - _cb = _cb + format['_markerLabel = "%1";%2',MarkerText _mk,endl]; - _cb = _cb + format["%1%1",endl]; -}; - -/////////////////// -// All done, notify the user and copy the output to the clipboard -/////////////////// -_msg = "Marker Data organzied, formated and copied to the Clipboard"; -hint _msg; -systemChat _msg; -systemChat format["_cb has %1 characters",count _cb]; -copyToClipboard _cb; -diag_log "DONE"; - diff --git a/@blckeagls_EDEN/addons/3EDEN_plugin/Export/setCenterAtPlayer.sqf b/@blckeagls_EDEN/addons/3EDEN_plugin/Export/setCenterAtPlayer.sqf deleted file mode 100644 index 6db9def..0000000 --- a/@blckeagls_EDEN/addons/3EDEN_plugin/Export/setCenterAtPlayer.sqf +++ /dev/null @@ -1 +0,0 @@ -CENTER = getPos player; \ No newline at end of file diff --git a/@blckeagls_EDEN/addons/3EDEN_plugin/Export/template.sqf b/@blckeagls_EDEN/addons/3EDEN_plugin/Export/template.sqf deleted file mode 100644 index 8a0afe9..0000000 --- a/@blckeagls_EDEN/addons/3EDEN_plugin/Export/template.sqf +++ /dev/null @@ -1,11 +0,0 @@ - - -all3DENEntities params ["_objects","_groups","_triggers","_systems","_waypoints","_markers","_layers","_comments"]; -_units = []; -{ - { - if (vehicle _x isEqualTo _x) then {_units pushBack _x}; - } forEach (units _x); -} forEach _groups; -diag_log format["_groups = %1",_groups]; -diag_log format["_units = %1",_units]; \ No newline at end of file diff --git a/@blckeagls_EDEN/addons/3EDEN_plugin/config.cpp b/@blckeagls_EDEN/addons/3EDEN_plugin/config.cpp index ceac19f..5c8ba4a 100644 --- a/@blckeagls_EDEN/addons/3EDEN_plugin/config.cpp +++ b/@blckeagls_EDEN/addons/3EDEN_plugin/config.cpp @@ -52,8 +52,8 @@ class CfgBlck3DEN class CfgVersion { version = 1.0; - build = 2; - date = "08/15/20"; + build = 3; + date = "08/23/20"; }; }; diff --git a/@blckeagls_EDEN/addons/3EDEN_plugin/defines.h b/@blckeagls_EDEN/addons/3EDEN_plugin/defines.h index 425b445..034f2a8 100644 --- a/@blckeagls_EDEN/addons/3EDEN_plugin/defines.h +++ b/@blckeagls_EDEN/addons/3EDEN_plugin/defines.h @@ -19,7 +19,7 @@ class CfgPatches class blckeagls_3den { requiredVersion = 0.1; - requiredAddons[] = {"3den"}; + requiredAddons[] = {3DEN}; units[] = {}; weapons[] = {}; magazines[] = {}; @@ -46,6 +46,10 @@ class CfgFunctions file = "3EDEN_plugin\Core"; class help {}; class about {}; + class getGarrisonInfo {}; + class getLootVehicleInfo {}; + class getMissionGarrisonInfo {}; + class getMissionLootVehicleInfo {}; class initializeAttributes {}; class isInfantry {}; class isInside {}; @@ -53,6 +57,8 @@ class CfgFunctions class display {}; class setDifficulty {}; class setCompletionMode {} + class setGarrison {}; + class setLootVehicle {}; class setSpawnLocations {}; class spawnCratesTiming {}; class loadCratesTiming {}; @@ -79,6 +85,7 @@ class cfg3DEN { OnMissionLoad = "call blck3DEN_fnc_initializeAttributes"; OnMissionNew = "call blck3DEN_fnc_initializeAttributes"; + onHistoryChange = "call blck3DEN_fnc_updateObjects"; }; }; @@ -141,30 +148,97 @@ class cfg3DEN class CfgVehicles { - class Static; + class House; - class blck_static: Static + class blck_House: House { class Attributes { - class garison + class blck_garisoned { displayName = "Garrison"; - toolTip = "Define Garisoned Buildings"; + toolTip = "Define Garrisoned Buildings"; control = "blck_garison"; + + expression = "_this setVariable ['garrisoned',_value];"; + defaultValue = false; + unique = 0; }; }; }; }; class ctrlMenuStrip; +class ctrlMenu; class display3DEN { class Controls { + /* + class ContextMenu: ctrlMenu + { + class Items + { + items[] += { + "blck_markLootVehicle", + "blck_markGarisonBuildingPos" + }; + class blck_markLootVehicle + { + text = "Designate Loot Vehicles"; + value = false; + //action = "systemChat 'value toggled'"; + conditionShow = "selectedObject"; + items[] = { + "blck_clearLootVehicle", + "blck_designateLootVehicle" + }; + }; + class blck_clearLootVehicle + { + text = "Clear Loot Vehicle Settings"; + value = false; + action = "[false] call blck3DEN_fnc_setLootVehicleStatus"; + }; + class blck_deisgnateLootVehicle + { + text = "Desinate Loot Vehicle"; + value = true; + action = "[true] call blck3DEN_fnc_setLootVehicleStatus"; + }; + + class blck_markGarisonBuildingPos + { + text = "Designate Garisoned Buildings"; + value = false; + conditionShow = "selectedObject"; + items[] = { + "blck_clearGarisonSettings", + "blck_designateGarisonedBuilding" + }; + }; + class blck_clearGarisonSettings + { + text = "Clear Garison Settings"; + value = false; + conditionShow = "selectedObject"; + action = "[false] call blck3DEN_fnc_setGarison"; + }; + class blck_designateGarisonedBuilding + { + text = "Set as Garisoned Building"; + value = true; + conditionShow = "SelectedObject"; + action = "[true] call blck3DEN_fnc_setGarison"; + }; + + }; + }; + */ class MenuStrip: ctrlMenuStrip { + class Items { items[] += {"Blackeagls"}; @@ -183,6 +257,14 @@ class display3DEN //"blckMissionMessages", "blckMissionLocation", "blckSeparator", + "blck_setGarrison", + "blck_getGarrisonInfo", + "blck_getMissionGarrisonInfo", + "blckSeparator", + "blck_markLootVehicle", + "blck_getLootVehicleInfo", + "blck_getMissionLootVehicleInfo", + "blckSeparator", "blckSaveStaticMission", "blckSaveDynamicMission", "blckSeparator", @@ -369,7 +451,7 @@ class display3DEN class blckMissionLocation { - text = "Toggle Random or Fixed Location" + text = "Toggle Random or Fixed Location"; toolTip = "Set whether mission spawns at random or fixed locations"; items[] = { "blck_randomLocation", @@ -387,6 +469,75 @@ class display3DEN toolTip = "Use to have mission respawn at same location"; action = "['fixed'] call blck3DEN_fnc_setSpawnLocations"; }; + + class blck_setGarrison + { + text = "Set as Garrisoned Building"; + toolTip = "Set garrison status of selected buildings"; + items[] = { + "blck_isGarrisoned", + "blck_clearGarrisoned", + "blck_getGarrisonInfo" + }; + }; + class blck_isGarrisoned + { + text = "Garrison Building"; + toolTip = "Flag selected buildings to be garrisoned"; + value = true; + action = "[true] call blck3DEN_fnc_setGarrison"; + }; + class blck_clearGarrisoned + { + text = "Remove Garrison"; + toolTip = "Selected Buildings will Not be Garrisoned"; + value = false; + action = "[false] call blck3DEN_fnc_setGarrison"; + }; + class blck_getGarrisonInfo + { + text = "Get Building Garrisoned Setting"; + toolTip = "Get the selected buildings garrisoned flag"; + value = 0; + action = "call blck3DEN_fnc_getGarrisonInfo"; + }; + class getMissionGarrisonInfo + { + text = "Get garrison flag for selected buildings"; + toolTip = "The garrisoned flag state will be displayed for selected bulidings"; + value = 0; + action = "call blck3DEN_fnc_getMissionGarrisonInfo"; + }; + + class blck_markLootVehicle + { + text = "Designate Loot Vehicles"; + value = false; + //action = "systemChat 'value toggled'"; + conditionShow = "selectedObject"; + items[] = { + "blck_clearLootVehicle", + "blck_designateLootVehicle" + }; + }; + class blck_clearLootVehicle + { + text = "Clear Loot Vehicle Settings"; + value = false; + action = "[false] call blck3DEN_fnc_setLootVehicle"; + }; + class blck_designateLootVehicle + { + text = "Desinate Loot Vehicle"; + value = true; + action = "[true] call blck3DEN_fnc_setLootVehicle"; + }; + class blck_getLootVehicleInfo + { + text = "Get setting for selected vehicle"; + value = 0; + action = "call blck3DEN_fnc_getLootVehicleInfo"; + }; ///////////////////////////// class blckSaveStaticMission { @@ -410,37 +561,11 @@ class display3DEN }; }; - - class Attributes - { - //items[] += {"blck_messages"}; - text = "blckeagls: Mission Messages" - }; - class blck_messages - { - text = "Mission Messages"; - items[] = {"blck_startMessage","blck_endMessage"}; - }; - class Edit; - class blck_editMessages - { - control = Edit; - value = ""; - }; - class blck_startMessage: blck_editMessages - { - text = "Set start Message"; - action = "['_value'] call blck3DEN_fnc_startMessage"; - }; - class blck_endMessage: blck_editMessages - { - text = "Set end message"; - action = "['_value'] call blck3DEN_fnc_endMessage"; - }; }; }; }; + ///////////////////////////////////////////////////////////////////////////////