Little Bird Placement optimized

Little Birds on LHD get placed by script. Better looking, no unit init
scripting, easier to port at other maps.
This commit is contained in:
Christian 2017-03-12 14:02:27 +01:00
parent 6f47c78b4e
commit 3fb8dfc358
8 changed files with 295 additions and 376 deletions

File diff suppressed because it is too large Load Diff

View File

@ -22,10 +22,20 @@ KP_liberation_medical_vehicles = [
// 4 = RHS with BW Mod Setting
KP_liberation_preset = 0;
// Little Bird starting helicopters on LHD
KP_liberation_little_bird_classname = "B_Heli_Light_01_F";
KP_liberation_little_bird_positions = [
[(getpos lhd select 0) + 9, (getpos lhd select 1) + 116, 16.75],
[(getpos lhd select 0) + 9, (getpos lhd select 1) + 97, 16.75],
[(getpos lhd select 0) + 9, (getpos lhd select 1) + 83, 16.75],
[(getpos lhd select 0) + 9, (getpos lhd select 1) - 56, 16.75],
[(getpos lhd select 0) + 9, (getpos lhd select 1) - 71, 16.75]
];
// Fuel Consumption
// Time in Minutes till a full tank depletes when the vehicle is standing with running engine
KP_liberation_fuel_neutral = 180;
// Time in Minutes till a full tank depletes when the vehicle is driving
KP_liberation_fuel_normal = 90;
// Time in Minutes till a full tank depletes when the vehicle is driving at max speed
KP_liberation_fuel_max = 45;
KP_liberation_fuel_max = 45;

View File

@ -75,7 +75,7 @@ while { true } do {
};
};
if ( (_fobdistance < _distredeploy || count KP_liberation_neararsenal != 0 || ((count KP_liberation_nearspawn != 0) && !KP_liberation_ace) || (player distance lhd) < 200) && alive player && vehicle player == player ) then {
if ( (_fobdistance < _distredeploy || count KP_liberation_neararsenal != 0 || count KP_liberation_nearspawn != 0 || (player distance lhd) < 200) && alive player && vehicle player == player ) then {
if (_idact_arsenal == -1) then {
_idact_arsenal = player addAction ["<t color='#FFFF00'>" + localize "STR_ARSENAL_ACTION" + "</t> <img size='2' image='res\ui_arsenal.paa'/>","scripts\client\actions\open_arsenal.sqf","",-980,true,true,"","build_confirmed == 0"];
};

View File

@ -1,21 +0,0 @@
if ( isServer ) then {
waitUntil { time > 1 };
params [ "_littlebird" ];
_littlebird allowdamage false;
_littlebird setdamage 0;
_littlebird engineOn false;
waitUntil { !isNil "GRLIB_isAtlasPresent" };
if ( GRLIB_isAtlasPresent ) then {
_littlebird setdamage 0;
_littlebird engineOn false;
sleep 5;
_littlebird setdamage 0;
_littlebird engineOn false;
_littlebird allowdamage true;
};
};

View File

@ -0,0 +1,23 @@
waitUntil { time > 1 };
waitUntil { !isNil "huron" };
waitUntil { !isNil "GRLIB_isAtlasPresent" };
if (GRLIB_isAtlasPresent) then {
for [{_i=0}, {_i < (count KP_liberation_little_bird_positions)}, {_i = _i + 1}] do {
KP_liberation_little_bird = KP_liberation_little_bird_classname createVehicle (getmarkerpos "ghost_spot");
KP_liberation_little_bird enableSimulationGlobal false;
KP_liberation_little_bird allowdamage false;
KP_liberation_little_bird setDir 270;
KP_liberation_little_bird setposasl (KP_liberation_little_bird_positions select _i);
clearWeaponCargoGlobal KP_liberation_little_bird;
clearMagazineCargoGlobal KP_liberation_little_bird;
clearItemCargoGlobal KP_liberation_little_bird;
clearBackpackCargoGlobal KP_liberation_little_bird;
KP_liberation_little_bird setDamage 0;
uiSleep 0.5;
KP_liberation_little_bird enableSimulationGlobal true;
KP_liberation_little_bird setDamage 0;
KP_liberation_little_bird allowdamage true;
};
};

View File

@ -42,6 +42,7 @@ wait_to_spawn_sector = compileFinal preprocessFileLineNumbers "scripts\server\se
[] spawn compileFinal preprocessFileLineNumbers "scripts\server\base\startgame.sqf";
[] spawn compileFinal preprocessFileLineNumbers "scripts\server\base\huron_manager.sqf";
[] spawn compileFinal preprocessFileLineNumbers "scripts\server\base\littlebird_spawn.sqf";
[] spawn compileFinal preprocessFileLineNumbers "scripts\server\battlegroup\counter_battlegroup.sqf";
[] spawn compileFinal preprocessFileLineNumbers "scripts\server\battlegroup\random_battlegroups.sqf";
[] spawn compileFinal preprocessFileLineNumbers "scripts\server\battlegroup\readiness_increase.sqf";

View File

@ -3,6 +3,7 @@ private [ "_sector_to_return", "_sectors_to_search", "_sectors_to_search_sorted"
_sector_to_return = '';
_sectors_to_search = [];
waitUntil {!isNil "blufor_sectors"};
if ( _side == GRLIB_side_enemy ) then {
_sectors_to_search = (sectors_tower - blufor_sectors);
} else {

View File

@ -2,12 +2,12 @@
<Project name="Liberation">
<Package name="Liberation">
<Key ID="STR_MISSION_TITLE">
<Original>KP Liberation Altis v0.931</Original>
<German>KP Liberation Altis v0.931</German>
<Original>KP Liberation Altis v0.94</Original>
<German>KP Liberation Altis v0.94</German>
</Key>
<Key ID="STR_MISSION_VERSION">
<Original>v0.931</Original>
<German>v0.931</German>
<Original>v0.94</Original>
<German>v0.94</German>
</Key>
<Key ID="STR_MISSION_DESCRIPTION">
<Original>Free Altis from the OPFOR forces with the power of freedom and democracy.</Original>