Merge remote-tracking branch 'refs/remotes/origin/development'
This commit is contained in:
commit
34aeba948e
1
$PBOPREFIX$
Normal file
1
$PBOPREFIX$
Normal file
@ -0,0 +1 @@
|
|||||||
|
x\addons\a3_exile_occupation
|
1
PboPrefix.txt
Normal file
1
PboPrefix.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
x\addons\a3_exile_occupation
|
102
config.sqf
102
config.sqf
@ -12,18 +12,16 @@
|
|||||||
|
|
||||||
// Shared Config for each occupation monitor
|
// Shared Config for each occupation monitor
|
||||||
|
|
||||||
|
|
||||||
SC_debug = false; // set to true to turn on debug features (not for live servers)
|
SC_debug = false; // set to true to turn on debug features (not for live servers)
|
||||||
SC_extendedLogging = false; // set to true for additional logging
|
SC_extendedLogging = false; // set to true for additional logging
|
||||||
SC_infiSTAR_log = true; // true Use infiSTAR logging, false logs to server rpt
|
SC_infiSTAR_log = true; // true Use infiSTAR logging, false logs to server rpt
|
||||||
SC_maxAIcount = 100; // the maximum amount of AI, if the AI count is above this then additional AI won't spawn
|
SC_maxAIcount = 100; // the maximum amount of AI, if the AI count is above this then additional AI won't spawn
|
||||||
|
|
||||||
SC_mapMarkers = false; // Place map markers at the occupied areas (occupyPlaces and occupyMilitary only) true/false
|
SC_mapMarkers = false; // Place map markers at the occupied areas (occupyPlaces and occupyMilitary only) true/false
|
||||||
SC_minFPS = 5; // any lower than minFPS on the server and additional AI won't spawn
|
SC_minFPS = 5; // any lower than minFPS on the server and additional AI won't spawn
|
||||||
|
|
||||||
SC_scaleAI = 10; // any more than _scaleAI players on the server and _maxAIcount is reduced for each extra player
|
SC_scaleAI = 10; // any more than _scaleAI players on the server and _maxAIcount is reduced for each extra player
|
||||||
|
|
||||||
SC_useWaypoints = true; // When spawning AI create waypoints to make them enter buildings
|
SC_useWaypoints = true; // When spawning AI create waypoints to make them enter buildings (can affect performance when the AI is spawned and the waypoints are calculated)
|
||||||
// (can affect performance when the AI is spawned and the waypoints are calculated)
|
|
||||||
|
|
||||||
SC_occupyPlaces = true; // true if you want villages,towns,cities patrolled by bandits
|
SC_occupyPlaces = true; // true if you want villages,towns,cities patrolled by bandits
|
||||||
|
|
||||||
@ -31,12 +29,20 @@ SC_occupyVehicle = true; // true if you want to have roaming AI vehicles
|
|||||||
SC_occupyVehiclesLocked = true; // true if AI vehicles to stay locked until all the linked AI are dead
|
SC_occupyVehiclesLocked = true; // true if AI vehicles to stay locked until all the linked AI are dead
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
SC_SurvivorsChance = 33; // chance in % to spawn survivors instead of bandits (for places and land vehicles)
|
SC_SurvivorsChance = 33; // chance in % to spawn survivors instead of bandits (for places and land vehicles)
|
||||||
SC_occupyPlacesSurvivors = true; // true if you want a chance to spawn survivor AI as well as bandits (SC_occupyPlaces must be true to use this option)
|
SC_occupyPlacesSurvivors = true; // true if you want a chance to spawn survivor AI as well as bandits (SC_occupyPlaces must be true to use this option)
|
||||||
SC_occupyVehicleSurvivors = true; // true if you want a chance to spawn survivor AI as well as bandits (SC_occupyVehicle must be true to use this option)
|
SC_occupyVehicleSurvivors = true; // true if you want a chance to spawn survivor AI as well as bandits (SC_occupyVehicle must be true to use this option)
|
||||||
|
SC_SurvivorsFriendly = true; // true if you want survivors to be friendly to players (until they are attacked by players)
|
||||||
|
// false if you want survivors to be aggressive to players
|
||||||
|
|
||||||
SC_occupyMilitary = true; // true if you want military buildings patrolled (specify which types of building below)
|
// Array of uniforms for survivor AI to use
|
||||||
|
SC_SurvivorUniforms = ["Exile_Uniform_BambiOverall"];
|
||||||
|
|
||||||
|
|
||||||
|
SC_occupyMilitary = false; // true if you want military buildings patrolled
|
||||||
|
|
||||||
|
// Array of buildings to add military patrols to
|
||||||
SC_buildings = [ "Land_TentHangar_V1_F","Land_Hangar_F",
|
SC_buildings = [ "Land_TentHangar_V1_F","Land_Hangar_F",
|
||||||
"Land_Airport_Tower_F","Land_Cargo_House_V1_F",
|
"Land_Airport_Tower_F","Land_Cargo_House_V1_F",
|
||||||
"Land_Cargo_House_V3_F","Land_Cargo_HQ_V1_F",
|
"Land_Cargo_House_V3_F","Land_Cargo_HQ_V1_F",
|
||||||
@ -68,7 +74,7 @@ SC_buildings = [ "Land_TentHangar_V1_F","Land_Hangar_F",
|
|||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
SC_occupyStatic = true; // true if you want to garrison AI in specific locations
|
SC_occupyStatic = false; // true if you want to garrison AI in specific locations
|
||||||
|
|
||||||
SC_occupySky = true; // true if you want to have roaming AI helis
|
SC_occupySky = true; // true if you want to have roaming AI helis
|
||||||
SC_occupySea = false; // true if you want to have roaming AI boats
|
SC_occupySea = false; // true if you want to have roaming AI boats
|
||||||
@ -82,29 +88,79 @@ SC_LootCrateGuards = 4; // number of AI to spawn at
|
|||||||
SC_LootCrateGuardsRandomize = true; // Use a random number of guards up to a maximum = SC_numberofGuards (so between 1 and SC_numberofGuards)
|
SC_LootCrateGuardsRandomize = true; // Use a random number of guards up to a maximum = SC_numberofGuards (so between 1 and SC_numberofGuards)
|
||||||
SC_occupyLootCratesMarkers = true; // true if you want to have markers on the loot crate spawns
|
SC_occupyLootCratesMarkers = true; // true if you want to have markers on the loot crate spawns
|
||||||
|
|
||||||
|
// Array of possible common items to go in loot crates ["classname",fixed amount,random amount]
|
||||||
|
// ["Exile_Item_Matches",1,2] this example would add between 1 and 3 Exile_Item_Matches to the crate (1 + 0 to 2 more)
|
||||||
|
// to add a fixed amount make the second number 0
|
||||||
|
SC_LootCrateItems = [
|
||||||
|
["Exile_Melee_Axe",1,0],
|
||||||
|
["Exile_Item_GloriousKnakworst",1,2],
|
||||||
|
["Exile_Item_PlasticBottleFreshWater",1,2],
|
||||||
|
["Exile_Item_Beer",5,1],
|
||||||
|
["Exile_Item_BaseCameraKit",0,2],
|
||||||
|
["Exile_Item_InstaDoc",1,1],
|
||||||
|
["Exile_Item_Matches",1,0],
|
||||||
|
["Exile_Item_CookingPot",1,0],
|
||||||
|
["Exile_Item_MetalPole",1,0],
|
||||||
|
["Exile_Item_LightBulb",1,0],
|
||||||
|
["Exile_Item_FuelCanisterEmpty",1,0],
|
||||||
|
["Exile_Item_WoodPlank",1,8],
|
||||||
|
["Exile_Item_woodFloorKit",1,2],
|
||||||
|
["Exile_Item_WoodWindowKit",1,1],
|
||||||
|
["Exile_Item_WoodDoorwayKit",1,1],
|
||||||
|
["Exile_Item_WoodFloorPortKit",1,2],
|
||||||
|
["Exile_Item_Laptop",0,1],
|
||||||
|
["Exile_Item_CodeLock",0,1]
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
SC_occupyHeliCrashes = true; // true if you want to have Dayz style helicrashes
|
SC_occupyHeliCrashes = true; // true if you want to have Dayz style helicrashes
|
||||||
SC_numberofHeliCrashes = 5; // if SC_occupyHeliCrashes = true spawn this many loot crates (overrided below for Namalsk)
|
SC_numberofHeliCrashes = 5; // if SC_occupyHeliCrashes = true spawn this many loot crates (overrided below for Namalsk)
|
||||||
|
|
||||||
|
// Array of possible common items to go in heli crash crates ["classname",fixed amount,random amount] NOT INCLUDING WEAPONS
|
||||||
|
// ["HandGrenade",0,2] this example would add between 0 and 2 HandGrenade to the crate (fixed 0 plus 0-2 random)
|
||||||
|
// to add a fixed amount make the second number 0
|
||||||
|
SC_HeliCrashItems = [
|
||||||
|
["HandGrenade",0,2],
|
||||||
|
["APERSBoundingMine_Range_Mag",0,2],
|
||||||
|
["B_Parachute",1,1],
|
||||||
|
["H_CrewHelmetHeli_B",1,1],
|
||||||
|
["ItemGPS",0,1],
|
||||||
|
["Exile_Item_InstaDoc",0,1],
|
||||||
|
["Exile_Item_PlasticBottleFreshWater",2,2],
|
||||||
|
["Exile_Item_EMRE",2,2]
|
||||||
|
];
|
||||||
|
// Array of possible weapons to place in the crate
|
||||||
|
SC_HeliCrashWeapons = ["srifle_DMR_02_camo_F","srifle_DMR_03_woodland_F","srifle_DMR_04_F","srifle_DMR_05_hex_F"];
|
||||||
|
SC_HeliCrashWeaponsAmount = [1,3]; // [fixed amount to add, random amount to add]
|
||||||
|
SC_HeliCrashMagazinesAmount = [2,2]; // [fixed amount to add, random amount to add]
|
||||||
|
|
||||||
SC_statics = [ [[1178,2524,0],8,250,true] ]; //[[pos],ai count,radius,search buildings]
|
SC_statics = [ [[1178,2524,0],8,250,true] ]; //[[pos],ai count,radius,search buildings]
|
||||||
|
|
||||||
|
|
||||||
|
SC_maximumCrewAmount = 2; // Maximum amount of AI allowed in a vehicle
|
||||||
|
// (essential crew like drivers and gunners will always spawn regardless of this setting)
|
||||||
|
|
||||||
// Settings for roaming ground vehicle AI
|
// Settings for roaming ground vehicle AI
|
||||||
SC_maxNumberofVehicles = 4;
|
SC_maxNumberofVehicles = 4;
|
||||||
SC_VehicleClassToUse = [ "Exile_Car_LandRover_Green","Exile_Bike_QuadBike_Black","Exile_Car_Octavius_White"];
|
|
||||||
|
// Array of ground vehicles which can be used by AI patrols
|
||||||
|
SC_VehicleClassToUse = [ "Exile_Car_LandRover_Green","Exile_Bike_QuadBike_Black","Exile_Car_UAZ_Open_Green"];
|
||||||
|
|
||||||
// Settings for roaming airborne AI (non armed helis will just fly around)
|
// Settings for roaming airborne AI (non armed helis will just fly around)
|
||||||
SC_maxNumberofHelis = 1;
|
SC_maxNumberofHelis = 1;
|
||||||
|
|
||||||
|
// Array of aircraft which can be used by AI patrols
|
||||||
SC_HeliClassToUse = [ "Exile_Chopper_Huey_Armed_Green"];
|
SC_HeliClassToUse = [ "Exile_Chopper_Huey_Armed_Green"];
|
||||||
|
|
||||||
// Settings for roaming seaborne AI (non armed boats will just sail around)
|
// Settings for roaming seaborne AI (non armed boats will just sail around)
|
||||||
SC_maxNumberofBoats = 1;
|
SC_maxNumberofBoats = 1;
|
||||||
|
|
||||||
|
// Array of boats which can be used by AI patrols
|
||||||
SC_BoatClassToUse = [ "B_Boat_Armed_01_minigun_F","I_Boat_Armed_01_minigun_F","O_Boat_Transport_01_F","Exile_Boat_MotorBoat_Police" ];
|
SC_BoatClassToUse = [ "B_Boat_Armed_01_minigun_F","I_Boat_Armed_01_minigun_F","O_Boat_Transport_01_F","Exile_Boat_MotorBoat_Police" ];
|
||||||
|
|
||||||
// AI Custom Loadouts
|
|
||||||
|
|
||||||
// namalsk specific settings
|
|
||||||
|
// namalsk specific settings (if you want to override settings for specific maps if you run multiple servers)
|
||||||
if (worldName == 'Namalsk') then
|
if (worldName == 'Namalsk') then
|
||||||
{
|
{
|
||||||
SC_maxAIcount = 80;
|
SC_maxAIcount = 80;
|
||||||
@ -116,7 +172,31 @@ if (worldName == 'Namalsk') then
|
|||||||
SC_occupyPublicBusClass = "Exile_Car_LandRover_Urban"; // the ikarus bus gets stuck on Namalsk
|
SC_occupyPublicBusClass = "Exile_Car_LandRover_Urban"; // the ikarus bus gets stuck on Namalsk
|
||||||
};
|
};
|
||||||
|
|
||||||
// Don't alter anything below this point
|
if (SC_debug) then
|
||||||
|
{
|
||||||
|
SC_extendedLogging = true;
|
||||||
|
SC_mapMarkers = true;
|
||||||
|
SC_occupyPlaces = true;
|
||||||
|
SC_occupyVehicle = true;
|
||||||
|
SC_occupyMilitary = true;
|
||||||
|
SC_occupyStatic = true;
|
||||||
|
SC_occupySky = true;
|
||||||
|
SC_occupySea = true;
|
||||||
|
SC_occupyPublicBus = true;
|
||||||
|
SC_occupyLootCrates = true;
|
||||||
|
SC_occupyHeliCrashes = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Don't alter anything below this point, unless you want your server to explode :)
|
||||||
|
if(!SC_SurvivorsFriendly) then
|
||||||
|
{
|
||||||
|
CIVILIAN setFriend[RESISTANCE,0];
|
||||||
|
};
|
||||||
|
CIVILIAN setFriend[EAST,0];
|
||||||
|
CIVILIAN setFriend[WEST,0];
|
||||||
|
EAST setFriend[CIVILIAN,0];
|
||||||
|
WEST setFriend[CIVILIAN,0];
|
||||||
|
|
||||||
SC_SurvivorSide = CIVILIAN;
|
SC_SurvivorSide = CIVILIAN;
|
||||||
SC_BanditSide = EAST;
|
SC_BanditSide = EAST;
|
||||||
SC_liveVehicles = 0;
|
SC_liveVehicles = 0;
|
||||||
@ -126,7 +206,6 @@ SC_liveHelisArray = [];
|
|||||||
SC_liveBoats = 0;
|
SC_liveBoats = 0;
|
||||||
SC_liveBoatsArray = [];
|
SC_liveBoatsArray = [];
|
||||||
SC_publicBusArray = [];
|
SC_publicBusArray = [];
|
||||||
SC_StopTheBus = false;
|
|
||||||
|
|
||||||
publicVariable "SC_liveVehicles";
|
publicVariable "SC_liveVehicles";
|
||||||
publicVariable "SC_liveVehiclesArray";
|
publicVariable "SC_liveVehiclesArray";
|
||||||
@ -136,6 +215,5 @@ publicVariable "SC_liveBoats";
|
|||||||
publicVariable "SC_liveBoatsArray";
|
publicVariable "SC_liveBoatsArray";
|
||||||
publicVariable "SC_numberofLootCrates";
|
publicVariable "SC_numberofLootCrates";
|
||||||
publicVariable "SC_publicBusArray";
|
publicVariable "SC_publicBusArray";
|
||||||
publicVariable "SC_StopTheBus";
|
|
||||||
publicVariable "SC_SurvivorSide";
|
publicVariable "SC_SurvivorSide";
|
||||||
publicVariable "SC_BanditSide";
|
publicVariable "SC_BanditSide";
|
@ -2,7 +2,7 @@
|
|||||||
//
|
//
|
||||||
// Server Occupation script by second_coming
|
// Server Occupation script by second_coming
|
||||||
//
|
//
|
||||||
SC_occupationVersion = "v20 (15-04-2016)";
|
SC_occupationVersion = "v24 (18-04-2016)";
|
||||||
//
|
//
|
||||||
// http://www.exilemod.com/profile/60-second_coming/
|
// http://www.exilemod.com/profile/60-second_coming/
|
||||||
//
|
//
|
||||||
|
@ -47,19 +47,40 @@ for "_i" from 1 to SC_numberofHeliCrashes do
|
|||||||
_box enableRopeAttach false;
|
_box enableRopeAttach false;
|
||||||
_box setVariable ["permaLoot",true];
|
_box setVariable ["permaLoot",true];
|
||||||
_box allowDamage false;
|
_box allowDamage false;
|
||||||
_box addMagazineCargoGlobal ["HandGrenade", (random 2)];
|
|
||||||
_box addMagazineCargoGlobal ["APERSBoundingMine_Range_Mag", (random 2)];
|
{
|
||||||
_box addBackpackCargoGlobal ["B_Parachute", 1 + (random 1)];
|
_item = _x select 0;
|
||||||
_box addItemCargoGlobal ["H_CrewHelmetHeli_B", 1 + (random 1)];
|
_amount = _x select 1;
|
||||||
_box addItemCargoGlobal ["U_B_HeliPilotCoveralls", 1 + (random 1)];
|
_randomAmount = _x select 2;
|
||||||
_box addItemCargoGlobal ["ItemGPS", (random 1)];
|
_amount = _amount + (random _randomAmount);
|
||||||
_box addItemCargoGlobal ["Exile_Item_InstaDoc", (random 1)];
|
_itemType = _x call BIS_fnc_itemType;
|
||||||
_box addItemCargoGlobal ["Exile_Item_PlasticBottleFreshWater", 2 + (random 2)];
|
|
||||||
_box addItemCargoGlobal ["Exile_Item_EMRE", 2 + (random 2)];
|
|
||||||
|
if((_itemType select 0) == "Weapon") then
|
||||||
|
{
|
||||||
|
_box addWeaponCargoGlobal [_item, _amount];
|
||||||
|
};
|
||||||
|
if((_itemType select 0) == "Magazine") then
|
||||||
|
{
|
||||||
|
_box addMagazineCargoGlobal [_item, _amount];
|
||||||
|
};
|
||||||
|
if((_itemType select 0) == "Item") then
|
||||||
|
{
|
||||||
|
_box addItemCargoGlobal [_item, _amount];
|
||||||
|
};
|
||||||
|
if((_itemType select 0) == "Equipment") then
|
||||||
|
{
|
||||||
|
_box addItemCargoGlobal [_item, _amount];
|
||||||
|
};
|
||||||
|
if((_itemType select 0) == "Backpack") then
|
||||||
|
{
|
||||||
|
_box addBackpackCargoGlobal [_item, _amount];
|
||||||
|
};
|
||||||
|
}forEach SC_HeliCrashItems;
|
||||||
|
|
||||||
// Add weapons with ammo to the Box
|
// Add weapons with ammo to the Box
|
||||||
_possibleWeapons = ["srifle_DMR_02_camo_F","srifle_DMR_03_woodland_F","srifle_DMR_04_F","srifle_DMR_05_hex_F"];
|
_possibleWeapons = SC_HeliCrashWeapons;
|
||||||
_amountOfWeapons = 1 + (random 3);
|
_amountOfWeapons = (SC_HeliCrashWeaponsAmount select 0) + round random (SC_HeliCrashWeaponsAmount select 1);
|
||||||
|
|
||||||
for "_i" from 1 to _amountOfWeapons do
|
for "_i" from 1 to _amountOfWeapons do
|
||||||
{
|
{
|
||||||
@ -67,6 +88,7 @@ for "_i" from 1 to SC_numberofHeliCrashes do
|
|||||||
_box addWeaponCargoGlobal [_weaponToAdd,1];
|
_box addWeaponCargoGlobal [_weaponToAdd,1];
|
||||||
|
|
||||||
_magazinesToAdd = getArray (configFile >> "CfgWeapons" >> _weaponToAdd >> "magazines");
|
_magazinesToAdd = getArray (configFile >> "CfgWeapons" >> _weaponToAdd >> "magazines");
|
||||||
|
_magazineAmount = (SC_HeliCrashMagazinesAmount select 0) + round random (SC_HeliCrashMagazinesAmount select 1);
|
||||||
_box addMagazineCargoGlobal [(_magazinesToAdd select 0),round random 5];
|
_box addMagazineCargoGlobal [(_magazinesToAdd select 0),round random 5];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
_logDetail = _this select 0;
|
_logDetail = _this select 0;
|
||||||
|
|
||||||
if(SC_infiSTAR_log) then
|
if(SC_infiSTAR_log && !isNil "INFISTARVERSION") then
|
||||||
{
|
{
|
||||||
['A3_EXILE_OCCUPATION',_logDetail] call FNC_A3_CUSTOMLOG;
|
['A3_EXILE_OCCUPATION',_logDetail] call FNC_A3_CUSTOMLOG;
|
||||||
}
|
}
|
||||||
|
@ -80,22 +80,34 @@ for "_i" from 1 to SC_numberofLootCrates do
|
|||||||
_box setVariable ["permaLoot",true]; // Crate stays until next server restart
|
_box setVariable ["permaLoot",true]; // Crate stays until next server restart
|
||||||
_box allowDamage false; // Stop crates taking damage
|
_box allowDamage false; // Stop crates taking damage
|
||||||
|
|
||||||
_box addItemCargoGlobal ["Exile_Melee_Axe", 1];
|
{
|
||||||
_box addItemCargoGlobal ["Exile_Item_GloriousKnakworst", 1 + (random 2)];
|
_item = _x select 0;
|
||||||
_box addItemCargoGlobal ["Exile_Item_PlasticBottleFreshWater", 1 + (random 2)];
|
_amount = _x select 1;
|
||||||
_box addItemCargoGlobal ["Exile_Item_Beer", 5 + (random 1)];
|
_randomAmount = _x select 2;
|
||||||
_box addItemCargoGlobal ["Exile_Item_Laptop", (random 1)];
|
_amount = _amount + (random _randomAmount);
|
||||||
_box addItemCargoGlobal ["Exile_Item_BaseCameraKit", (random 2)];
|
_itemType = _x call BIS_fnc_itemType;
|
||||||
_box addItemCargoGlobal ["Exile_Item_InstaDoc", 1 + (random 1)];
|
|
||||||
_box addItemCargoGlobal ["Exile_Item_Matches", 1];
|
|
||||||
_box addItemCargoGlobal ["Exile_Item_CookingPot", 1];
|
if((_itemType select 0) == "Weapon") then
|
||||||
_box addItemCargoGlobal ["Exile_Item_CodeLock", (random 1)];
|
{
|
||||||
_box addItemCargoGlobal ["Exile_Item_MetalPole", 1];
|
_box addWeaponCargoGlobal [_item, _amount];
|
||||||
_box addItemCargoGlobal ["Exile_Item_LightBulb", 1];
|
};
|
||||||
_box addItemCargoGlobal ["Exile_Item_FuelCanisterEmpty", 1];
|
if((_itemType select 0) == "Magazine") then
|
||||||
_box addItemCargoGlobal ["Exile_Item_WoodPlank", 1 + (random 8)];
|
{
|
||||||
_box addItemCargoGlobal ["Exile_Item_woodFloorKit", 1 + (random 2)];
|
_box addMagazineCargoGlobal [_item, _amount];
|
||||||
_box addItemCargoGlobal ["Exile_Item_WoodWindowKit", 1 + (random 1)];
|
};
|
||||||
_box addItemCargoGlobal ["Exile_Item_WoodDoorwayKit", 1 + (random 1)];
|
if((_itemType select 0) == "Item") then
|
||||||
_box addItemCargoGlobal ["Exile_Item_WoodFloorPortKit", 1 + (random 2)];
|
{
|
||||||
|
_box addItemCargoGlobal [_item, _amount];
|
||||||
|
};
|
||||||
|
if((_itemType select 0) == "Equipment") then
|
||||||
|
{
|
||||||
|
_box addItemCargoGlobal [_item, _amount];
|
||||||
|
};
|
||||||
|
if((_itemType select 0) == "Backpack") then
|
||||||
|
{
|
||||||
|
_box addBackpackCargoGlobal [_item, _amount];
|
||||||
|
};
|
||||||
|
}forEach SC_LootCrateItems;
|
||||||
|
|
||||||
};
|
};
|
@ -127,7 +127,7 @@ _locations = (nearestLocations [_spawnCenter, ["NameVillage","NameCity", "NameCi
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if(_nearBanditAI == 0 AND _nearSurvivorAI == 0) then
|
if(_nearSurvivorAI == 0) then
|
||||||
{
|
{
|
||||||
_sideToSpawn = random 100;
|
_sideToSpawn = random 100;
|
||||||
if(_sideToSpawn <= SC_SurvivorsChance) then
|
if(_sideToSpawn <= SC_SurvivorsChance) then
|
||||||
@ -140,16 +140,9 @@ _locations = (nearestLocations [_spawnCenter, ["NameVillage","NameCity", "NameCi
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
|
||||||
if(_nearSurvivorAI == 0) then
|
|
||||||
{
|
|
||||||
_side = "survivor";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
_side = "bandit";
|
_side = "bandit";
|
||||||
};
|
};
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
if(_okToSpawn) then
|
if(_okToSpawn) then
|
||||||
@ -192,8 +185,10 @@ _locations = (nearestLocations [_spawnCenter, ["NameVillage","NameCity", "NameCi
|
|||||||
if(_side == "survivor") then
|
if(_side == "survivor") then
|
||||||
{
|
{
|
||||||
_unit addMPEventHandler ["mphit", "_this call SC_fnc_unitMPHit;"];
|
_unit addMPEventHandler ["mphit", "_this call SC_fnc_unitMPHit;"];
|
||||||
|
_unit addMPEventHandler ["mpkilled", "_this call SC_fnc_unitMPKilled;"];
|
||||||
removeUniform _unit;
|
removeUniform _unit;
|
||||||
_unit forceAddUniform "Exile_Uniform_BambiOverall";
|
_survivorUniform = SC_SurvivorUniforms call BIS_fnc_selectRandom;
|
||||||
|
_unit forceAddUniform _survivorUniform;
|
||||||
if(SC_debug) then
|
if(SC_debug) then
|
||||||
{
|
{
|
||||||
_tag = createVehicle ["Sign_Arrow_Green_F", position _unit, [], 0, "CAN_COLLIDE"];
|
_tag = createVehicle ["Sign_Arrow_Green_F", position _unit, [], 0, "CAN_COLLIDE"];
|
||||||
@ -289,8 +284,10 @@ _locations = (nearestLocations [_spawnCenter, ["NameVillage","NameCity", "NameCi
|
|||||||
if(_side == "survivor") then
|
if(_side == "survivor") then
|
||||||
{
|
{
|
||||||
_unit addMPEventHandler ["mphit", "_this call SC_fnc_unitMPHit;"];
|
_unit addMPEventHandler ["mphit", "_this call SC_fnc_unitMPHit;"];
|
||||||
|
_unit addMPEventHandler ["mpkilled", "_this call SC_fnc_unitMPKilled;"];
|
||||||
removeUniform _unit;
|
removeUniform _unit;
|
||||||
_unit forceAddUniform "Exile_Uniform_BambiOverall";
|
_survivorUniform = SC_SurvivorUniforms call BIS_fnc_selectRandom;
|
||||||
|
_unit forceAddUniform _survivorUniform;
|
||||||
if(SC_debug) then
|
if(SC_debug) then
|
||||||
{
|
{
|
||||||
_tag = createVehicle ["Sign_Arrow_Green_F", position _unit, [], 0, "CAN_COLLIDE"];
|
_tag = createVehicle ["Sign_Arrow_Green_F", position _unit, [], 0, "CAN_COLLIDE"];
|
||||||
@ -313,17 +310,40 @@ _locations = (nearestLocations [_spawnCenter, ["NameVillage","NameCity", "NameCi
|
|||||||
};
|
};
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
_markerName = "Occupation Area";
|
||||||
|
_markerColour = "ColorOrange";
|
||||||
|
|
||||||
if(SC_mapMarkers) then
|
if(SC_mapMarkers) then
|
||||||
{
|
{
|
||||||
|
deleteMarker format ["%1", _spawnPosition];
|
||||||
|
_nearBanditAI = { side _x == SC_BanditSide AND _x distance _pos < 500 } count allUnits;
|
||||||
|
_nearSurvivorAI = { side _x == SC_SurvivorSide AND _x distance _pos < 500 } count allUnits;
|
||||||
|
|
||||||
|
if(_nearBanditAI > 0 && _nearSurvivorAI > 0) then
|
||||||
|
{
|
||||||
|
_markerName = "Survivors and Bandits";
|
||||||
|
_markerColour = "ColorOrange";
|
||||||
|
};
|
||||||
|
if(_nearBanditAI == 0 && _nearSurvivorAI > 0) then
|
||||||
|
{
|
||||||
|
_markerName = "Survivors";
|
||||||
|
_markerColour = "ColorGreen";
|
||||||
|
};
|
||||||
|
if(_nearBanditAI > 0 && _nearSurvivorAI == 0) then
|
||||||
|
{
|
||||||
|
_markerName = "Bandits";
|
||||||
|
_markerColour = "ColorRed";
|
||||||
|
};
|
||||||
|
|
||||||
_marker = createMarker [format ["%1", _spawnPosition],_pos];
|
_marker = createMarker [format ["%1", _spawnPosition],_pos];
|
||||||
_marker setMarkerShape "Icon";
|
_marker setMarkerShape "Icon";
|
||||||
_marker setMarkerSize [3,3];
|
_marker setMarkerSize [3,3];
|
||||||
_marker setMarkerType "mil_dot";
|
_marker setMarkerType "mil_dot";
|
||||||
_marker setMarkerBrush "Solid";
|
_marker setMarkerBrush "Solid";
|
||||||
|
_marker setMarkerText _markerName;
|
||||||
|
_marker setMarkerColor _markerColour;
|
||||||
_marker setMarkerAlpha 0.5;
|
_marker setMarkerAlpha 0.5;
|
||||||
_marker setMarkerColor "ColorOrange";
|
|
||||||
_marker setMarkerText "Occupied Area";
|
|
||||||
};
|
|
||||||
|
|
||||||
if(_side == "survivor") then
|
if(_side == "survivor") then
|
||||||
{
|
{
|
||||||
@ -334,6 +354,9 @@ _locations = (nearestLocations [_spawnCenter, ["NameVillage","NameCity", "NameCi
|
|||||||
_logDetail = format ["[OCCUPATION:Places]:: Spawning %2 bandit AI in at %3 to patrol %1",_locationName,_aiCount,_spawnPosition];
|
_logDetail = format ["[OCCUPATION:Places]:: Spawning %2 bandit AI in at %3 to patrol %1",_locationName,_aiCount,_spawnPosition];
|
||||||
};
|
};
|
||||||
[_logDetail] call SC_fnc_log;
|
[_logDetail] call SC_fnc_log;
|
||||||
|
_logDetail = format ["[OCCUPATION:Places]:: %1 Bandits:%2 Survivors:%3 Marker Colour:%4 Marker Name:%5",_locationName,_nearBanditAI,_nearSurvivorAI,_markerColour,_markerName];
|
||||||
|
[_logDetail] call SC_fnc_log;
|
||||||
|
};
|
||||||
_okToSpawn = false;
|
_okToSpawn = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -36,6 +36,7 @@ busDriver setCaptive true;
|
|||||||
_publicBus = createVehicle [SC_occupyPublicBusClass, _spawnLocation, [], 0, "CAN_COLLIDE"];
|
_publicBus = createVehicle [SC_occupyPublicBusClass, _spawnLocation, [], 0, "CAN_COLLIDE"];
|
||||||
SC_publicBusArray = SC_publicBusArray + [_publicBus];
|
SC_publicBusArray = SC_publicBusArray + [_publicBus];
|
||||||
_publicBus setVariable ["SC_assignedDriver", busDriver,true];
|
_publicBus setVariable ["SC_assignedDriver", busDriver,true];
|
||||||
|
_publicBus setVariable ["SC_publicBus", true,true];
|
||||||
_publicBus setVariable ["SC_vehicleSpawnLocation", _spawnLocation,true];
|
_publicBus setVariable ["SC_vehicleSpawnLocation", _spawnLocation,true];
|
||||||
_publicBus addEventHandler ["getin", "_this call SC_fnc_getOnBus;"];
|
_publicBus addEventHandler ["getin", "_this call SC_fnc_getOnBus;"];
|
||||||
_publicBus addEventHandler ["getout", "_this call SC_fnc_getOffBus;"];
|
_publicBus addEventHandler ["getout", "_this call SC_fnc_getOffBus;"];
|
||||||
@ -116,15 +117,6 @@ while {true} do
|
|||||||
busDriver enableAI "MOVE";
|
busDriver enableAI "MOVE";
|
||||||
if(!Alive busDriver) exitWith {};
|
if(!Alive busDriver) exitWith {};
|
||||||
};
|
};
|
||||||
|
|
||||||
if(SC_StopTheBus) then
|
|
||||||
{
|
|
||||||
uiSleep 0.5;
|
|
||||||
_publicBus setFuel 0;
|
|
||||||
busDriver disableAI "MOVE";
|
|
||||||
uiSleep 5;
|
|
||||||
SC_StopTheBus = false;
|
|
||||||
};
|
|
||||||
uiSleep 5;
|
uiSleep 5;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -71,6 +71,8 @@ for "_i" from 1 to _vehiclesToSpawn do
|
|||||||
sleep 0.2;
|
sleep 0.2;
|
||||||
_group addVehicle _vehicle;
|
_group addVehicle _vehicle;
|
||||||
|
|
||||||
|
_amountOfCrew = 0;
|
||||||
|
_unitPlaced = false;
|
||||||
|
|
||||||
// Calculate the crew requried
|
// Calculate the crew requried
|
||||||
_vehicleRoles = (typeOf _vehicle) call bis_fnc_vehicleRoles;
|
_vehicleRoles = (typeOf _vehicle) call bis_fnc_vehicleRoles;
|
||||||
@ -81,6 +83,7 @@ for "_i" from 1 to _vehiclesToSpawn do
|
|||||||
if(_vehicleRole == "Driver") then
|
if(_vehicleRole == "Driver") then
|
||||||
{
|
{
|
||||||
_unit = [_group,_spawnLocation,"assault","random","bandit","Vehicle"] call DMS_fnc_SpawnAISoldier;
|
_unit = [_group,_spawnLocation,"assault","random","bandit","Vehicle"] call DMS_fnc_SpawnAISoldier;
|
||||||
|
_amountOfCrew = _amountOfCrew + 1;
|
||||||
_unit assignAsDriver _vehicle;
|
_unit assignAsDriver _vehicle;
|
||||||
_unit moveInDriver _vehicle;
|
_unit moveInDriver _vehicle;
|
||||||
_unit setVariable ["DMS_AssignedVeh",_vehicle];
|
_unit setVariable ["DMS_AssignedVeh",_vehicle];
|
||||||
@ -89,18 +92,21 @@ for "_i" from 1 to _vehiclesToSpawn do
|
|||||||
if(_vehicleRole == "Turret") then
|
if(_vehicleRole == "Turret") then
|
||||||
{
|
{
|
||||||
_unit = [_group,_spawnLocation,"assault","random","bandit","Vehicle"] call DMS_fnc_SpawnAISoldier;
|
_unit = [_group,_spawnLocation,"assault","random","bandit","Vehicle"] call DMS_fnc_SpawnAISoldier;
|
||||||
|
_amountOfCrew = _amountOfCrew + 1;
|
||||||
_unit moveInTurret [_vehicle, _vehicleSeat];
|
_unit moveInTurret [_vehicle, _vehicleSeat];
|
||||||
_unit setVariable ["DMS_AssignedVeh",_vehicle];
|
_unit setVariable ["DMS_AssignedVeh",_vehicle];
|
||||||
_unitPlaced = true;
|
_unitPlaced = true;
|
||||||
};
|
};
|
||||||
if(_vehicleRole == "CARGO") then
|
if(_vehicleRole == "CARGO" && _amountOfCrew <= SC_maximumCrewAmount) then
|
||||||
{
|
{
|
||||||
_unit = [_group,_spawnLocation,"assault","random","bandit","Vehicle"] call DMS_fnc_SpawnAISoldier;
|
_unit = [_group,_spawnLocation,"assault","random","bandit","Vehicle"] call DMS_fnc_SpawnAISoldier;
|
||||||
|
_amountOfCrew = _amountOfCrew + 1;
|
||||||
_unit assignAsCargo _vehicle;
|
_unit assignAsCargo _vehicle;
|
||||||
_unit moveInCargo _vehicle;
|
_unit moveInCargo _vehicle;
|
||||||
_unit setVariable ["DMS_AssignedVeh",_vehicle];
|
_unit setVariable ["DMS_AssignedVeh",_vehicle];
|
||||||
_unitPlaced = true;
|
_unitPlaced = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
if(SC_extendedLogging && _unitPlaced) then
|
if(SC_extendedLogging && _unitPlaced) then
|
||||||
{
|
{
|
||||||
_logDetail = format['[OCCUPATION:Sky] %1 added to %2',_vehicleRole,_vehicle];
|
_logDetail = format['[OCCUPATION:Sky] %1 added to %2',_vehicleRole,_vehicle];
|
||||||
|
@ -90,39 +90,47 @@ for "_i" from 1 to _vehiclesToSpawn do
|
|||||||
_vehicle setVariable ["ExileIsLocked", 0, true];
|
_vehicle setVariable ["ExileIsLocked", 0, true];
|
||||||
_vehicle action ["LightOn", _vehicle];
|
_vehicle action ["LightOn", _vehicle];
|
||||||
|
|
||||||
|
_amountOfCrew = 0;
|
||||||
|
_unitPlaced = false;
|
||||||
|
|
||||||
// Calculate the crew requried
|
// Calculate the crew requried
|
||||||
_vehicleRoles = (typeOf _vehicle) call bis_fnc_vehicleRoles;
|
_vehicleRoles = (typeOf _vehicle) call bis_fnc_vehicleRoles;
|
||||||
{
|
{
|
||||||
|
_unitPlaced = false;
|
||||||
_vehicleRole = _x select 0;
|
_vehicleRole = _x select 0;
|
||||||
_vehicleSeat = _x select 1;
|
_vehicleSeat = _x select 1;
|
||||||
if(_vehicleRole == "Driver") then
|
if(_vehicleRole == "Driver") then
|
||||||
{
|
{
|
||||||
_unit = [_group,_spawnLocation,"assault","random","bandit","Vehicle"] call DMS_fnc_SpawnAISoldier;
|
_unit = [_group,_spawnLocation,"assault","random","bandit","Vehicle"] call DMS_fnc_SpawnAISoldier;
|
||||||
|
_amountOfCrew = _amountOfCrew + 1;
|
||||||
_unit assignAsDriver _vehicle;
|
_unit assignAsDriver _vehicle;
|
||||||
_unit moveInDriver _vehicle;
|
_unit moveInDriver _vehicle;
|
||||||
//_vehicle lockDriver true;
|
//_vehicle lockDriver true;
|
||||||
_unit setVariable ["DMS_AssignedVeh",_vehicle];
|
_unit setVariable ["DMS_AssignedVeh",_vehicle];
|
||||||
removeBackpackGlobal _unit;
|
removeBackpackGlobal _unit;
|
||||||
_unit addBackpackGlobal "B_Parachute";
|
_unit addBackpackGlobal "B_Parachute";
|
||||||
|
_unitPlaced = true;
|
||||||
};
|
};
|
||||||
if(_vehicleRole == "Turret") then
|
if(_vehicleRole == "Turret") then
|
||||||
{
|
{
|
||||||
_unit = [_group,_spawnLocation,"assault","random","bandit","Vehicle"] call DMS_fnc_SpawnAISoldier;
|
_unit = [_group,_spawnLocation,"assault","random","bandit","Vehicle"] call DMS_fnc_SpawnAISoldier;
|
||||||
|
_amountOfCrew = _amountOfCrew + 1;
|
||||||
_unit moveInTurret [_vehicle, _vehicleSeat];
|
_unit moveInTurret [_vehicle, _vehicleSeat];
|
||||||
_unit setVariable ["DMS_AssignedVeh",_vehicle];
|
_unit setVariable ["DMS_AssignedVeh",_vehicle];
|
||||||
removeBackpackGlobal _unit;
|
removeBackpackGlobal _unit;
|
||||||
_unit addBackpackGlobal "B_Parachute";
|
_unit addBackpackGlobal "B_Parachute";
|
||||||
|
_unitPlaced = true;
|
||||||
};
|
};
|
||||||
if(_vehicleRole == "CARGO") then
|
if(_vehicleRole == "CARGO" && _amountOfCrew <= SC_maximumCrewAmount) then
|
||||||
{
|
{
|
||||||
_unit = [_group,_spawnLocation,"assault","random","bandit","Vehicle"] call DMS_fnc_SpawnAISoldier;
|
_unit = [_group,_spawnLocation,"assault","random","bandit","Vehicle"] call DMS_fnc_SpawnAISoldier;
|
||||||
|
_amountOfCrew = _amountOfCrew + 1;
|
||||||
_unit assignAsCargo _vehicle;
|
_unit assignAsCargo _vehicle;
|
||||||
_unit moveInCargo _vehicle;
|
_unit moveInCargo _vehicle;
|
||||||
_unit setVariable ["DMS_AssignedVeh",_vehicle];
|
_unit setVariable ["DMS_AssignedVeh",_vehicle];
|
||||||
removeBackpackGlobal _unit;
|
removeBackpackGlobal _unit;
|
||||||
_unit addBackpackGlobal "B_Parachute";
|
_unit addBackpackGlobal "B_Parachute";
|
||||||
|
_unitPlaced = true;
|
||||||
};
|
};
|
||||||
if(SC_extendedLogging) then
|
if(SC_extendedLogging) then
|
||||||
{
|
{
|
||||||
@ -137,14 +145,12 @@ for "_i" from 1 to _vehiclesToSpawn do
|
|||||||
[_unit] joinSilent _group;
|
[_unit] joinSilent _group;
|
||||||
}foreach units _group;
|
}foreach units _group;
|
||||||
|
|
||||||
if(SC_infiSTAR_log) then
|
if(SC_extendedLogging && _unitPlaced) then
|
||||||
{
|
{
|
||||||
_logDetail = format['[OCCUPATION:Sky] %1 spawned @ %2',_VehicleClassToUse,_spawnLocation];
|
_logDetail = format['[OCCUPATION:Sky] %1 spawned @ %2',_VehicleClassToUse,_spawnLocation];
|
||||||
[_logDetail] call SC_fnc_log;
|
[_logDetail] call SC_fnc_log;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
clearMagazineCargoGlobal _vehicle;
|
clearMagazineCargoGlobal _vehicle;
|
||||||
clearWeaponCargoGlobal _vehicle;
|
clearWeaponCargoGlobal _vehicle;
|
||||||
clearItemCargoGlobal _vehicle;
|
clearItemCargoGlobal _vehicle;
|
||||||
|
@ -149,6 +149,9 @@ if(_vehiclesToSpawn >= 1) then
|
|||||||
_vehicle limitSpeed 60;
|
_vehicle limitSpeed 60;
|
||||||
_vehicle action ["LightOn", _vehicle];
|
_vehicle action ["LightOn", _vehicle];
|
||||||
|
|
||||||
|
_amountOfCrew = 0;
|
||||||
|
_unitPlaced = false;
|
||||||
|
|
||||||
// Calculate the crew requried
|
// Calculate the crew requried
|
||||||
_vehicleRoles = (typeOf _vehicle) call bis_fnc_vehicleRoles;
|
_vehicleRoles = (typeOf _vehicle) call bis_fnc_vehicleRoles;
|
||||||
{
|
{
|
||||||
@ -158,11 +161,16 @@ if(_vehiclesToSpawn >= 1) then
|
|||||||
if(_vehicleRole == "Driver") then
|
if(_vehicleRole == "Driver") then
|
||||||
{
|
{
|
||||||
_unit = [_group,_spawnLocation,"assault","random",_side,"Vehicle"] call DMS_fnc_SpawnAISoldier;
|
_unit = [_group,_spawnLocation,"assault","random",_side,"Vehicle"] call DMS_fnc_SpawnAISoldier;
|
||||||
|
_amountOfCrew = _amountOfCrew + 1;
|
||||||
|
_unit removeAllMPEventHandlers "mphit";
|
||||||
|
_unit removeAllMPEventHandlers "mpkilled";
|
||||||
_unit disableAI "FSM";
|
_unit disableAI "FSM";
|
||||||
if(_side == "survivor") then
|
if(_side == "survivor") then
|
||||||
{
|
{
|
||||||
removeUniform _unit;
|
removeUniform _unit;
|
||||||
_unit forceAddUniform "Exile_Uniform_BambiOverall";
|
sleep 0.1;
|
||||||
|
_survivorUniform = SC_SurvivorUniforms call BIS_fnc_selectRandom;
|
||||||
|
_unit forceAddUniform _survivorUniform;
|
||||||
};
|
};
|
||||||
_unit disableAI "TARGET";
|
_unit disableAI "TARGET";
|
||||||
_unit disableAI "AUTOTARGET";
|
_unit disableAI "AUTOTARGET";
|
||||||
@ -186,27 +194,35 @@ if(_vehiclesToSpawn >= 1) then
|
|||||||
_vehicle addMPEventHandler ["mpkilled", "_this call SC_fnc_vehicleDestroyed;"];
|
_vehicle addMPEventHandler ["mpkilled", "_this call SC_fnc_vehicleDestroyed;"];
|
||||||
_vehicle addMPEventHandler ["mphit", "_this call SC_fnc_repairVehicle;"];
|
_vehicle addMPEventHandler ["mphit", "_this call SC_fnc_repairVehicle;"];
|
||||||
};
|
};
|
||||||
if(_vehicleRole == "Turret") then
|
if(_vehicleRole == "Turret" && _amountOfCrew <= SC_maximumCrewAmount) then
|
||||||
{
|
{
|
||||||
_unit = [_group,_spawnLocation,"assault","random",_side,"Vehicle"] call DMS_fnc_SpawnAISoldier;
|
_unit = [_group,_spawnLocation,"assault","random",_side,"Vehicle"] call DMS_fnc_SpawnAISoldier;
|
||||||
|
_amountOfCrew = _amountOfCrew + 1;
|
||||||
if(_side == "survivor") then
|
if(_side == "survivor") then
|
||||||
{
|
{
|
||||||
_unit addMPEventHandler ["mphit", "_this call SC_fnc_unitMPHit;"];
|
_unit addMPEventHandler ["mphit", "_this call SC_fnc_unitMPHit;"];
|
||||||
|
_unit addMPEventHandler ["mpkilled", "_this call SC_fnc_unitMPKilled;"];
|
||||||
removeUniform _unit;
|
removeUniform _unit;
|
||||||
_unit forceAddUniform "Exile_Uniform_BambiOverall";
|
sleep 0.1;
|
||||||
|
_survivorUniform = SC_SurvivorUniforms call BIS_fnc_selectRandom;
|
||||||
|
_unit forceAddUniform _survivorUniform;
|
||||||
};
|
};
|
||||||
_unit moveInTurret [_vehicle, _vehicleSeat];
|
_unit moveInTurret [_vehicle, _vehicleSeat];
|
||||||
_unit setVariable ["DMS_AssignedVeh",_vehicle];
|
_unit setVariable ["DMS_AssignedVeh",_vehicle];
|
||||||
_unitPlaced = true;
|
_unitPlaced = true;
|
||||||
};
|
};
|
||||||
if(_vehicleRole == "CARGO") then
|
if(_vehicleRole == "CARGO" && _amountOfCrew <= SC_maximumCrewAmount) then
|
||||||
{
|
{
|
||||||
_unit = [_group,_spawnLocation,"assault","random",_side,"Vehicle"] call DMS_fnc_SpawnAISoldier;
|
_unit = [_group,_spawnLocation,"assault","random",_side,"Vehicle"] call DMS_fnc_SpawnAISoldier;
|
||||||
|
_amountOfCrew = _amountOfCrew + 1;
|
||||||
if(_side == "survivor") then
|
if(_side == "survivor") then
|
||||||
{
|
{
|
||||||
_unit addMPEventHandler ["mphit", "_this call SC_fnc_unitMPHit;"];
|
_unit addMPEventHandler ["mphit", "_this call SC_fnc_unitMPHit;"];
|
||||||
|
_unit addMPEventHandler ["mpkilled", "_this call SC_fnc_unitMPKilled;"];
|
||||||
removeUniform _unit;
|
removeUniform _unit;
|
||||||
_unit forceAddUniform "Exile_Uniform_BambiOverall";
|
sleep 0.1;
|
||||||
|
_survivorUniform = SC_SurvivorUniforms call BIS_fnc_selectRandom;
|
||||||
|
_unit forceAddUniform _survivorUniform;
|
||||||
};
|
};
|
||||||
_unit assignAsCargo _vehicle;
|
_unit assignAsCargo _vehicle;
|
||||||
_unit moveInCargo _vehicle;
|
_unit moveInCargo _vehicle;
|
||||||
|
@ -8,10 +8,9 @@ if(SC_extendedLogging) then
|
|||||||
};
|
};
|
||||||
|
|
||||||
_deadDriver = _this select 0;
|
_deadDriver = _this select 0;
|
||||||
_deadDriver removeAllMPEventHandlers "mpkilled";
|
//_deadDriver removeAllMPEventHandlers "mpkilled";
|
||||||
_vehicle = _deadDriver getVariable "SC_drivenVehicle";
|
_vehicle = _deadDriver getVariable "SC_drivenVehicle";
|
||||||
|
|
||||||
|
|
||||||
if(SC_debug) then
|
if(SC_debug) then
|
||||||
{
|
{
|
||||||
{ detach _x; deleteVehicle _x; } forEach attachedObjects _deadDriver;
|
{ detach _x; deleteVehicle _x; } forEach attachedObjects _deadDriver;
|
||||||
@ -48,6 +47,7 @@ if(count units _group > 0) then
|
|||||||
_driver setVariable ["SC_drivenVehicle", _vehicle,true];
|
_driver setVariable ["SC_drivenVehicle", _vehicle,true];
|
||||||
_vehicle setVariable ["SC_assignedDriver", _driver,true];
|
_vehicle setVariable ["SC_assignedDriver", _driver,true];
|
||||||
_vehicle addMPEventHandler ["mphit", "_this call SC_fnc_repairVehicle;"];
|
_vehicle addMPEventHandler ["mphit", "_this call SC_fnc_repairVehicle;"];
|
||||||
|
_driver removeAllMPEventHandlers "mpkilled";
|
||||||
_driver addMPEventHandler ["mpkilled", "_this call SC_fnc_driverKilled;"];
|
_driver addMPEventHandler ["mpkilled", "_this call SC_fnc_driverKilled;"];
|
||||||
|
|
||||||
if(SC_debug) then
|
if(SC_debug) then
|
||||||
|
@ -3,7 +3,9 @@
|
|||||||
_bus = _this select 0;
|
_bus = _this select 0;
|
||||||
_unit = _this select 2;
|
_unit = _this select 2;
|
||||||
|
|
||||||
if(isPlayer _unit) then
|
_bus setFuel 0;
|
||||||
{
|
_busDriver = driver _bus;
|
||||||
_bus removeAction SC_bustop;
|
_busDriver disableAI "MOVE";
|
||||||
};
|
_bus animateDoor ["Doors_1", 1];
|
||||||
|
_bus animateDoor ["Doors_2", 1];
|
||||||
|
_bus animateDoor ["Doors_3", 1];
|
@ -3,9 +3,3 @@
|
|||||||
_bus = _this select 0;
|
_bus = _this select 0;
|
||||||
_unit = _this select 2;
|
_unit = _this select 2;
|
||||||
|
|
||||||
if(isPlayer _unit) then
|
|
||||||
{
|
|
||||||
hint "You got on the bus";
|
|
||||||
SC_bustop = _bus addAction ["Stop the bus", { SC_StopTheBus = true } ];
|
|
||||||
};
|
|
||||||
|
|
||||||
|
@ -4,7 +4,6 @@ _killer = _this select 1;
|
|||||||
|
|
||||||
// remove all eventhandlers from the dead unit
|
// remove all eventhandlers from the dead unit
|
||||||
_unit removeAllMPEventHandlers "mphit";
|
_unit removeAllMPEventHandlers "mphit";
|
||||||
_unit removeAllMPEventHandlers "mpkilled";
|
|
||||||
|
|
||||||
if(SC_debug) then
|
if(SC_debug) then
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user