Merge pull request #4 from Ghostrider-DbD-/Fix-Typos

Fix typos
This commit is contained in:
Ghostrider-DbD- 2016-10-25 19:42:07 -04:00 committed by GitHub
commit 4d8bca64bb
14 changed files with 145 additions and 80 deletions

View File

@ -0,0 +1,23 @@
// Configures a mission vehicle
// by Ghostrider-DBD-
// Last Updated 10/25/16
params["_veh"];
clearWeaponCargoGlobal _veh;
clearMagazineCargoGlobal _veh;
clearBackpackCargoGlobal _veh;
clearItemCargoGlobal _veh;
_veh setVehicleLock "LOCKEDPLAYER";
_veh addEventHandler ["GetIn",{
private["_unit","_veh"];
_unit = _this select 2;
_veh = _this select 0;
if (isPlayer _unit) then
{
_unit action ["eject",_veh];
cutText ["You are not allowed to enter that vehicle at this time","PLAIN DOWN"];
};
}];
_veh

View File

@ -1,6 +1,6 @@
// Spawns a vehicle or emplaced weapons, man's it, and destroys it when the AI gets out.
// Spawns an emplaced weapons, man's it, and saves it to an array of monitored vehicles.
// by Ghostrider-DBD-
// Last Updated 9-10-16
// Last Updated 10-25-16
private["_emplaced","_safepos","_emp","_gunner"];
params["_pos","_emplacedGroup","_emplacedTypes",["_minDist",20],["_maxDist",35] ];
@ -9,28 +9,13 @@ if (isNull _emplacedGroup) exitWith {};
_safepos = [_pos,_minDist,_maxDist,0,0,20,0] call BIS_fnc_findSafePos;
_emplaced = selectRandom _emplacedTypes;
_emp = createVehicle[_emplaced, _safepos, [], 0, "NONE"];
private["_modType"];
_modType = call blck_getModType;
if (_modType isEqualTo "Epoch") then
{
//_emp call EPOCH_server_vehicleInit;
_emp call EPOCH_server_setVToken;
};
clearWeaponCargoGlobal _emp;
clearMagazineCargoGlobal _emp;
clearBackpackCargoGlobal _emp;
clearItemCargoGlobal _emp;
_emp addEventHandler ["GetOut",{(_this select 0) setDamage 1;}];
_emp addEventHandler ["GetIn",{(_this select 0) setDamage 1;}];
_emp = [_emplaced,_safepos] call blck_fnc_spawnVehicle;
_emp setVariable["DBD_vehType","emplaced"];
_gunner = (units _emplacedGroup) select 0;
_gunner moveingunner _emp;
_emp setVehicleLock "LOCKEDPLAYER";
[_emp] spawn blck_fnc_vehicleMonitor;
//diag_log format["spawnEmplaced.sqf: Emplaced weapon %1 spawned"];
[_emp] call blck_fnc_configureMissionVehicle;
waitUntil { count crew _emp > 0};
blck_missionVehicles pushback _emp;
diag_log format["spawnEmplaced.sqf: Emplaced weapon %1 spawned"];
_emp

View File

@ -5,36 +5,20 @@
Last modified 10-24-16
*/
private["_veh"];
private["_veh","_modType"];
params["_vehType","_pos"];
//_vehType = _this select 0; // type of vehicle to be spawned
//_pos = _this select 1; // position at which vehicle is to be spawned
//diag_log format["spawnVehicle.sqf: _this = %1",_this];
diag_log format["spawnVehicle.sqf: _this = %1",_this];
_veh = createVehicle[_vehType, _pos, [], 0, "NONE"];
uisleep 0.1;
private["_modType"];
_modType = call blck_getModType;
if (_modType isEqualTo "Epoch") then
{
//_veh call EPOCH_server_vehicleInit;
_veh call EPOCH_server_setVToken;
};
clearWeaponCargoGlobal _veh;
clearMagazineCargoGlobal _veh;
clearBackpackCargoGlobal _veh;
clearItemCargoGlobal _veh;
_veh setVehicleLock "LOCKEDPLAYER";
[_veh] spawn blck_fnc_vehicleMonitor;
_veh addEventHandler ["GetIn",{ // forces player to be ejected if he/she tries to enter the vehicle
private ["_theUnit"];
_theUnit = _this select 2;
if (isPlayer _theUnit) then
{
_theUnit action ["Eject", vehicle _theUnit];
};
}];
[_veh] call blck_fnc_configureMissionVehicle;
_veh

View File

@ -7,20 +7,7 @@
Copyright 2016
Last updated 8-14-16
*/
/*
fn_setWaypoints =
{
private["_group","_center"];
_group = _this select 0; // The group to which waypoints should be assigned
_center = _this select 1; // center of the mission area
while {(count (waypoints _group)) > 0} do
{
deleteWaypoint ((waypoints _group) select 0);
};
[_center,50,100,_group] call blck_fnc_setupWaypoints;
};
*/
private["_vehType","_safepos","_veh"];
params["_center","_pos",["_vehType","I_G_Offroad_01_armed_F"],["_minDis",30],["_maxDis",45],["_group",grpNull] ];
//_pos Center of the mission area
@ -29,9 +16,6 @@ params["_center","_pos",["_vehType","I_G_Offroad_01_armed_F"],["_minDis",30],["_
//_maxDis = maximum distance from the center of the mission for vehicle waypoints
//_groupForVehiclePatrol = The group with which to man the vehicle
//diag_log format["spawnVehiclePatrol:: _pos %1 _vehTypes %2",_pos,_vehType];
//diag_log format["spawnVehiclePatrol:: _minDis %1 _maxDis %2 _groupForVehiclePatrol %3",_minDis,_maxDis,_groupForVehiclePatrol];
if (isNull _group) exitWith {};
_safepos = [_pos,0,25,0,0,20,0] call BIS_fnc_findSafePos;
@ -74,5 +58,7 @@ for "_i" from 1 to _count do
};
_wp = _group addWaypoint [_pos, 25];
_wp setWaypointType "CYCLE";
waitUntil { count crew _veh > 0};
blck_missionVehicles pushback _veh;
_veh

View File

@ -16,7 +16,7 @@ _count = 0;
waitUntil { count crew _veh > 0};
//diag_log format["vehicle Manned %1",_veh];
uiSleep 60;
while { (getDammage _veh > 0) && ({alive _x} count crew _veh > 0)} do
while { (getDammage _veh < 1) && ({alive _x} count crew _veh > 0)} do
{ //diag_log format["vehicleMonitor: vehicle crew consists of %1", crew _veh];
//diag_log format["vehicleMonitor: number of crew alive is %1", {alive _x} count crew _veh];
_veh setVehicleAmmo 1;
@ -44,7 +44,7 @@ while { (getDammage _veh > 0) && ({alive _x} count crew _veh > 0)} do
//diag_log format["vehiclemonitor.sqf all crew for vehicle %1 are dead",_veh];
if (typeOf _veh in blck_staticWeapons) then // always destroy mounted weapons
if (_veh getVariable["DBD_vehType","null"] isEqualTo "emplaced") then // always destroy mounted weapons
{
//diag_log format["vehicleMonitor.sqf: _veh %1 is (in blck_staticWeapons) = true",_veh];
_veh setDamage 1;

View File

@ -0,0 +1,68 @@
/*
Handle the case that all AI assigned to a vehicle are dead.
Allows players to enter and use the vehicle when appropriate
or otherwise destroys the vehicle.
By Ghostrider-DBD-
Copyright 2016
Last updated 8-14-16
*/
diag_log "----<< [blckeagls] VEHICLE MONITOR STARTED >>";
while {true} do
{
private _vehList = blck_missionVehicles;
uiSleep 3;
{
private ["_veh"];
_veh = _x;
if ({alive _x} count crew _veh < 1) then
{
if (_veh getVariable["DBD_vehType","none"] isEqualTo "emplaced") then
{
[_veh] spawn {uiSleep 1;(_this select 0) setDamage 1;};
blck_missionVehicles = blck_missionVehicles - [_veh];
if (blck_debugOn) then{
diag_log format["_fnc_vehicleMonitor:: deleting emplaced weapon %1",_veh];
};
}else {
if (blck_killEmptyAIVehicles) then
{
blck_missionVehicles = blck_missionVehicles - [_veh];
[_veh] spawn {
params["_v"];
//diag_log format["vehicleMonitor.sqf:: case of patrol vehicle: _veh %1 is about to be killed with getAllHitPointsDamage = %2",_v, (getAllHitPointsDamage _v)];
uiSleep 20;
{
_v setHitPointDamage [_x, 1];
//diag_log format["vehicleMonitor: hitpart %1 for vehicle %1 set to 1",_x,_v];
} forEach ["HitLFWheel","HitLF2Wheel","HitRFWheel","HitRF2Wheel","HitEngine","HitLBWheel","HitLMWheel","HitRBWheel","HitRMWheel","HitTurret","HitGun","HitTurret","HitGun","HitTurret","HitGun","HitTurret","HitGun"];
if (blck_debugOn) then
{
diag_log format["_fnc_vehicleMonitor:: damage applied to a patrol vehicle -- >> current damage for vehicle %1 is = %2",_v, (getAllHitPointsDamage _v)];
};
uiSleep 60;
if (blck_debugOn) then {
diag_log format["_fnc_vehicleMonitor:: case of patrol vehicle:deleting vehicle _veh",_v];
};
deleteVehicle _v;
};
} else {
//diag_log format["vehicleMonitor.sqf: make vehicle available to players; stripping eventHandlers from_veh %1",_veh];
blck_missionVehicles = blck_missionVehicles - [_veh];
_veh removealleventhandlers "GetIn";
_veh removealleventhandlers "GetOut";
_veh setVehicleLock "UNLOCKED" ;
if (blck_debugOn) then
{
diag_log format["_fnc_vehicleMonitor:: case of patrol vehicle released to players where vehicle = %1",_veh];
};
};
};
} else {
_veh setVehicleAmmo 1;
_veh setFuel 1;
};
}forEach _vehList;
};

View File

@ -46,13 +46,14 @@ blck_fnc_setupWaypoints = compileFinal preprocessFileLineNumbers "\q\addons\cus
blck_fnc_spawnEmplacedWeapon = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_spawnEmplaced.sqf"; // Self-evident
blck_fnc_spawnVehicle = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_spawnVehicle.sqf"; // Spawn a temporary vehicle of a specified type at a specific position
blck_fnc_spawnVehiclePatrol = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_spawnVehiclePatrol.sqf"; // Spawn an AI vehicle control and have it patrol the mission perimeter
blck_fnc_vehicleMonitor = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_vehicleMonitor.sqf"; // Process events wherein all AI in a vehicle are killed
//blck_fnc_vehicleMonitor = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_vehicleMonitor.sqf"; // Process events wherein all AI in a vehicle are killed
//blck_fnc_spawnMissionVehicles = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_spawnMissionVehicles.sqf"; // Spawn non-AI vehicles at missions; these will be filled with loot following the parameters in the composition array for the mission
blck_fnc_Reinforcements = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Reinforcements\GMS_fnc_reinforcements.sqf";
blck_spawnHeliParaTroops = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Reinforcements\GMS_fnc_heliSpawnParatroops.sqf";
blck_spawnHeliParaCrate = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Reinforcements\GMS_fnc_heliSpawnCrate.sqf";
blck_spawnHeliPatrol = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Reinforcements\GMS_fnc_heliSpawnPatrol.sqf";
blck_fnc_protectVehicle = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_protectVehicle.sqf";
blck_fnc_configureMissionVehicle = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_configureMissionVehicle.sqf";
// functions to support Units
blck_fnc_removeGear = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_removeGear.sqf"; // Strip an AI unit of all gear.

View File

@ -3,7 +3,7 @@
For the Mission System originally coded by blckeagls
By Ghostrider
Functions and global variables used by the mission system.
Last modified 10/17/16
Last modified 10/25/16
*/
//blck_variablesLoaded = false;
blck_debugON = false;
@ -26,6 +26,7 @@ blck_oldMissionObjects = [];
blck_pendingMissions = [];
blck_activeMissions = [];
blck_deadAI = [];
blck_missionVehicles = [];
// Arrays for use during cleanup of alive AI at some time after the end of a mission
DBD_HeliCrashSites = [];

View File

@ -1,11 +1,4 @@
private["_pathBlue","_missionListBlue"];
_pathScouts = "Scouts";
_missionListScouts = ["Scouts"];
_pathHunters = "Hunters";
_missionListHunters = ["Hunters"];
_pathBlue = "Blue";
_missionListBlue = ["default"/*,"default2","medicalCamp","redCamp","resupplyCamp"*/];
@ -19,4 +12,3 @@ _missionListGreen = [/*"default","default2",*/"medicalCamp"/*,"redCamp","resuppl
_pathOrange = "Orange";
_missionListOrange = [/*"default","default2","medicalCamp","redCamp",*/"resupplyCamp"];
_pathHeliCrashes = "HeliCrashes";

View File

@ -4,6 +4,16 @@ Loosely based on the AI mission system by blckeagls ver 2.0.2
Contributions by Narines: bug fixes, testing, 'fired' event handler
Ideas or code from that by Vampire and KiloSwiss have been used for certain functions.
Version 6.4 10/25/16
Reworked all code for spawning, monitoring and cleaning up vehicle patrols and static weapons.
This consolidated a bunch of code used to spawn these items and eliminated quite a few spawned loops used to monitor the condition of vehicles.
Switched from a system that simply destroyed a vehicle when all AI in it were dead to one that destroys wheels, motor and guns rendering the vehicle inoperable.
Redid the code that blocks players from getting in unless that is allowed by blck_killEmptyAIVehicles = false
Version 6.3-16
system for cleanup of mission objects, live AI and dead AI was re-worked to minimize the number of spawned code running at one time and reduced the number of loops checked.
10/22/16 Version 6.2 Build 8-14-16
bug fixes

View File

@ -8,8 +8,8 @@ Credits to Vampire, Narines, KiloSwiss, blckeagls, theFUCHS, lazylink, Mark311 w
Thanks to cyncrwler for testing and bug fixes.
*/
private ["_version","_versionDate"];
_blck_version = "6.3 Build 9";
_blck_versionDate = "10-23-16 1:00 AM";
_blck_version = "6.4 Build 9";
_blck_versionDate = "10-25-16 7:00 PM";
private["_blck_loadingStartTime"];
_blck_loadingStartTime = diag_tickTime;
@ -84,7 +84,7 @@ if (blck_enableBlueMissions == 1) then
{
[_missionListBlue,_pathBlue,"BlueMarker","blue",blck_TMin_Blue,blck_TMax_Blue] spawn blck_fnc_missionTimer;//Starts minor mission system (Blue Map Markers)
};
[] execVM "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_vehicleMonitorLoop.sqf";
diag_log "[blckeagls] >>--- Completed initialization";
blck_Initialized = true;

View File

@ -10,7 +10,7 @@ if (hasInterface) then
blck_MarkerPeristTime = 300;
blck_useHint = true;
blck_useSystemChat = true;
blck_useTitleText = false;
blck_useTitleText = true;
blck_useDynamic = false;
blck_aiKilluseSystemChat = true;
blck_aiKilluseDynamic = false;
@ -43,7 +43,6 @@ if (hasInterface) then
params["_event","_message","_mission"];
if (blck_useSystemChat) then {systemChat format["%1",_message];};
if (blck_useTitleText) then {titleText [_message, "PLAIN DOWN",5];uiSleep 5; titleText ["", "PLAIN DOWN",5]};
if (blck_useHint) then {
hint parseText format[
"<t align='center' size='2.0' color='#f29420'>%1</t><br/>
@ -56,6 +55,12 @@ if (hasInterface) then
if (blck_useDynamic) then {
[_mission,_message] call fn_dynamicNotification;
};
if (blck_useTitleText) then {
[_message] spawn {
params["_msg"];
titleText [_msg, "PLAIN DOWN",5];uiSleep 5; titleText ["", "PLAIN DOWN",5]
};
};
//diag_log format["_fn_missionNotification ====] Paremeters _event %1 _message %2 _mission %3",_event,_message,_mission];
};

View File

@ -10,7 +10,7 @@ if (hasInterface) then
blck_MarkerPeristTime = 300;
blck_useHint = true;
blck_useSystemChat = true;
blck_useTitleText = false;
blck_useTitleText = true;
blck_useDynamic = false;
blck_aiKilluseSystemChat = true;
blck_aiKilluseDynamic = false;
@ -43,7 +43,6 @@ if (hasInterface) then
params["_event","_message","_mission"];
if (blck_useSystemChat) then {systemChat format["%1",_message];};
if (blck_useTitleText) then {titleText [_message, "PLAIN DOWN",5];uiSleep 5; titleText ["", "PLAIN DOWN",5]};
if (blck_useHint) then {
hint parseText format[
"<t align='center' size='2.0' color='#f29420'>%1</t><br/>
@ -56,6 +55,12 @@ if (hasInterface) then
if (blck_useDynamic) then {
[_mission,_message] call fn_dynamicNotification;
};
if (blck_useTitleText) then {
[_message] spawn {
params["_msg"];
titleText [_msg, "PLAIN DOWN",5];uiSleep 5; titleText ["", "PLAIN DOWN",5]
};
};
//diag_log format["_fn_missionNotification ====] Paremeters _event %1 _message %2 _mission %3",_event,_message,_mission];
};

View File

@ -4,8 +4,13 @@ Loosely based on the AI mission system by blckeagls ver 2.0.2
Contributions by Narines: bug fixes, testing, 'fired' event handler
Ideas or code from that by Vampire and KiloSwiss have been used for certain functions.
10/22/16 Version 6.2 Build 8-14-16
bug fixes
10/25/16 Version 6.4 Build 8
Reworked the code to spawn vehicle patrols and static weapons and clean them up.
Reworked the code that messages players to be sure that calling titleText does not hang the messaging function and delay hints or system chat notifications.
10/22/16 v 6.3 Build 8-14-16
Moved routines that delete dead AI, Alive AI and mission objects from individual loops to a single loop spawned by blck_init.sqf.
Added functions to cache these data with time stamps for later time-based deletion.
10/21/16 Version 6.2 Build 7
Redid system for markers which are now defined in the mission template reducing dependence on client side configurations for each mission or marker type.