Build 177

Implemented fixes that check when a unit gets out of a vehicle so that empty tanks and such are detected and released to players.
This commit is contained in:
Chris Cardozo 2019-06-17 22:52:54 -04:00
parent 8b3c6a2e34
commit cfc22d4165
108 changed files with 288 additions and 234 deletions

View File

@ -1,6 +1,7 @@
//This script sends Message Information to allplayers
// Last modified 1/4/17 by Ghostrider [GRG]
/*
By Ghostrider [GRG]
Copyright 2016
--------------------------
License
--------------------------

View File

@ -1,9 +1,8 @@
/*
Determines the total number of spawned groups on the side used by the mission system and returns this value.
By Ghostrider [GRG]
Last updated 12/21/16
/*
By Ghostrider [GRG]
Copyright 2016
--------------------------
License
--------------------------

View File

@ -6,15 +6,16 @@
If _item is a string then add 1 of that item to the container.
If _item is an array with 2 elements ["itemName",3] then assume that the first element is a string and is the name of the item, and the second is the number to add.
if _item is an array with 3 elements ["itemName",2,6] assume that the first element is the item name (string), the second the min # to add and the third the max # to add.
by Ghostrider [GRG]
11/14/16
By Ghostrider [GRG]
Copyright 2016
--------------------------
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/
http://creativecommons.org/licenses/by-nc-sa/4.0/
*/
#include "\q\addons\custom_server\Configs\blck_defines.hpp";

View File

@ -2,7 +2,7 @@
By Ghostrider [GRG]
Copyright 2016
Last Modified 8/16/17
--------------------------
License
--------------------------

View File

@ -1,8 +1,9 @@
/*
call as [] call blck_fnc_cleanEmptyGroups;
Deletes any empty groups and thereby prevents errors resulting from createGroup returning nullGroup.
By Ghostrider [GRG]
11/16/16
By Ghostrider [GRG]
Copyright 2016
--------------------------
License
--------------------------

View File

@ -1,3 +1,13 @@
/*
By Ghostrider [GRG]
Copyright 2016
--------------------------
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/
*/
for "_i" from 1 to (count blck_temporaryMarkers) do
{
if (_i > (count blck_temporaryMarkers)) exitWith {};
@ -11,4 +21,4 @@ for "_i" from 1 to (count blck_temporaryMarkers) do
blck_temporaryMarkers pushBack _m;
//diag_log format["_cleanupTemporaryMarkers: wait longer before deleting _marker = %1 | _deleteAt = %2",_marker, _deleteAt];
};
};
};

View File

@ -1,7 +1,6 @@
/*
Killed handler for _units
By Ghostrider-GRG-
By Ghostrider [GRG]
Copyright 2016
--------------------------
License
--------------------------

View File

@ -1,8 +1,10 @@
/*
/*
Remove all inventory from an object.
By Ghostrider-GRG-
--------------------------
By Ghostrider [GRG]
Copyright 2016
--------------------------
License
--------------------------
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.

View File

@ -3,7 +3,6 @@
for ghostridergaming
By Ghostrider [GRG]
Copyright 2016
Last Modified 1-22-17
--------------------------
License
--------------------------

View File

@ -2,7 +2,16 @@
Determine the map name, set the map center and size, and return the map name.
Trader coordinates were pulled from the config.cfg
Inspired by the Vampire and DZMS
Last Modified 9/3/16
By Ghostrider [GRG]
Copyright 2016
--------------------------
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/
--------------------------
License
--------------------------

View File

@ -1,6 +1,8 @@
// Last modified 8/13/17 by Ghostrider [GRG]
/*
By Ghostrider [GRG]
Copyright 2016
--------------------------
License
--------------------------
@ -27,4 +29,4 @@ if (typeName _data isEqualTo "ARRAY") then
_value = _data;
};
};
_value
_value

View File

@ -1,6 +1,7 @@
// pull trader cities from config
/*
By Ghostrider [GRG]
Copyright 2016
--------------------------
License
--------------------------

View File

@ -5,7 +5,17 @@
Parameters: _item, a string to be interrogated.
Returns: true if the string is a valid classname.
*/
/*
By Ghostrider [GRG]
Copyright 2016
--------------------------
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 "GMSCore\init\GMS_defines.hpp" "\addons\GMSCore\init\GMS_defines.hpp"
params["_item"];
private _result = if ([_item] call GMS_fnc_getCfgType isEqualTo "") then {false} else {true};
_result
_result

View File

@ -15,16 +15,17 @@
case 1: [["item1",...,"itemN"],6]; The script will randomly select from the array of item names 6 times and call the loot loader each time.
case 2: [["item1",...,"itemN"],6, 9]; As above except that an item will be selected a minimum of 6 and maximum of 9 times.
by Ghostrider [GRG]
8/13/17
By Ghostrider [GRG]
Copyright 2016
--------------------------
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/
http://creativecommons.org/licenses/by-nc-sa/4.0/
*/
#include "\q\addons\custom_server\Configs\blck_defines.hpp";

View File

@ -1,6 +1,6 @@
/*
By Ghostrider [GRG]
Copyright 2016
--------------------------
License
--------------------------
@ -45,7 +45,7 @@ while {true} do
[] call blck_fnc_scanForPlayersNearVehicles;
[] call GMS_fnc_cleanupTemporaryMarkers;
[] call GMS_fnc_updateCrateSignals;
//[] call blck_fnc_cleanEmptyGroups;
[] call blck_fnc_cleanEmptyGroups;
_timer20sec = diag_tickTime + 20;
};
if ((diag_tickTime > _timer1min)) then

View File

@ -1,7 +1,6 @@
/*
Killed handler for _units
By Ghostrider-GRG-
By Ghostrider [GRG]
Copyright 2016
--------------------------
License
--------------------------
@ -21,4 +20,4 @@ _MainMarker setMarkerType "HD_Arrow";
_MainMarker setMarkerColor "ColorBlack";
_MainMarker setMarkerText format["% Alive",_count];
//_MainMarker setMarkerDir 37;
//_MainMarker setMarkerDir 37;

View File

@ -1,7 +1,7 @@
/*
Killed handler for _units
By Ghostrider-GRG-
By Ghostrider [GRG]
Copyright 2016
--------------------------
License
--------------------------

View File

@ -1,9 +1,8 @@
/*
Check if an HC is connected and if so transfer some AI to it.
By Ghostrider [GRG]
Last modified 11-8-16
/*
By Ghostrider [GRG]
Copyright 2016
--------------------------
License
--------------------------

View File

@ -1,4 +1,6 @@
/*
By Ghostrider [GRG]
Copyright 2016
--------------------------
License
--------------------------
@ -8,4 +10,4 @@
*/
params["_killer"];
[["IED","",0,0],[_killer]] call blck_fnc_MessagePlayers;
[["IED","",0,0],[_killer]] call blck_fnc_MessagePlayers;

View File

@ -1,12 +1,8 @@
//////////////////////////////////////////////////////
// Test whether one object (e.g., a player) is within a certain range of any of an array of other objects
/*
for ghostridergaming
By Ghostrider [GRG]
Copyright 2016
Last Modified 2/24/17
/*
By Ghostrider [GRG]
Copyright 2016
--------------------------
License
--------------------------

View File

@ -1,12 +1,8 @@
//////////////////////////////////////////////////////
// Test whether one object (e.g., a player) is within a certain range of any of an array of other objects
/*
for ghostridergaming
By Ghostrider [GRG]
Copyright 2016
Last Modified 2/24/17
/*
By Ghostrider [GRG]
Copyright 2016
--------------------------
License
--------------------------

View File

@ -1,12 +1,8 @@
//////////////////////////////////////////////
// returns a position array at random position within a radius of _range relative to _pos.
/*
for ghostridergaming
By Ghostrider [GRG]
Copyright 2016
Last Modified 8-13-16
/*
By Ghostrider [GRG]
Copyright 2016
--------------------------
License
--------------------------

View File

@ -1,7 +1,6 @@
/*
Killed handler for _units
By Ghostrider-GRG-
By Ghostrider [GRG]
Copyright 2016
--------------------------
License
--------------------------

View File

@ -1,10 +1,10 @@
//////////////////////////////////////////////////////
// test if a timeout condition exists.
// by Ghostrider [GRG]
// Last modified 1/22/17
// [_startTime] call blck_fnc_timedOut
// Returns true (timed out) or false (not timed out)
/*
By Ghostrider [GRG]
Copyright 2016
--------------------------
License
--------------------------

View File

@ -1,4 +1,12 @@
/*
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/
*/
for "_i" from 1 to (count blck_illuminatedCrates) do
{
if (_i > (count blck_illuminatedCrates)) exitWith {};
@ -38,4 +46,4 @@ for "_i" from 1 to (count blck_illuminatedCrates) do
} else {
//diag_log format["_updateCrateSignals: crate has been illuminated for enough time, no need to continue"];
};
};
};

View File

@ -1,5 +1,6 @@
/*
by Ghostrider [GRG]
Copyright 2016
--------------------------
License
--------------------------
@ -9,4 +10,4 @@
*/
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
params["_marker","_rootText","_missionAI"];
_marker setMarkerText format["%1 / %2 AI Alive",_rootText,{alive _x} count _missionAI];
_marker setMarkerText format["%1 / %2 AI Alive",_rootText,{alive _x} count _missionAI];

View File

@ -2,7 +2,6 @@
for ghostridergaming
By Ghostrider [GRG]
Copyright 2016
Last Modified 8-13-16
Waits for a random period between _min and _max seconds
Call as

View File

@ -1,3 +1,13 @@
/*
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/
*/
// TODO: Which of the to versions is active; delete the inactive one.
if (!isServer) exitWith {};
blck_fnc_countGroupsAssigned = {
params["_HC"];

View File

@ -3,7 +3,6 @@
for ghostridergaming
By Ghostrider [GRG]
Copyright 2016
Last modified 4/23/17
--------------------------
License

View File

@ -3,7 +3,6 @@
for ghostridergaming
By Ghostrider [GRG]
Copyright 2016
Last modified 4/29/17
--------------------------
License

View File

@ -1,9 +1,9 @@
// Sets the WP type for WP for the specified group and updates other atributes accordingly.
// TODO: Not uses? how to handle
/*
for ghostridergaming
By Ghostrider [GRG]
Copyright 2016
Last modified 4/29/17
--------------------------
License

View File

@ -13,8 +13,8 @@
http://creativecommons.org/licenses/by-nc-sa/4.0/
*/
params["_group","_maxTime","radius"];
if ((diag_tickTime > (_group getVariable "timeStamp") + _maxTime) || ( (getPos (leader)) distance2d (_group getVariable "patrolCenter") > 200)) then
params["_group","_maxTime","_radius"];
if ((diag_tickTime > (_group getVariable "timeStamp") + _maxTime) || ( (getPos (leader)) distance2d (_group getVariable "patrolCenter") > _radius)) then
{
(leader _group) call blck_fnc_changeToMoveWaypoint;
#ifdef blck_debugMode

View File

@ -13,6 +13,8 @@
http://creativecommons.org/licenses/by-nc-sa/4.0/
*/
// TODO: Add pushBack for groups spawned at static missions.
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
_fn_waypointComplete = {

View File

@ -3,7 +3,6 @@
for ghostridergaming
By Ghostrider [GRG]
Copyright 2016
Last modified 3/14/17
--------------------------
License

View File

@ -3,7 +3,6 @@
for ghostridergaming
By Ghostrider [GRG]
Copyright 2016
Last modified 6/1/17
--------------------------
License
@ -82,4 +81,4 @@ if !(_soldierType isEqualTo "emplaced") then
#else
_wp setWaypointStatements ["true","this call blck_fnc_emplacedWeaponWaypoint;"];
#endif
};
};

View File

@ -15,8 +15,8 @@
case 1: [["item1",...,"itemN"],6]; The script will randomly select from the array of item names 6 times and call the loot loader each time.
case 2: [["item1",...,"itemN"],6, 9]; As above except that an item will be selected a minimum of 6 and maximum of 9 times.
by Ghostrider [GRG]
11/14/16
By Ghostrider-GRG-
Copyright 2016
--------------------------
License
@ -25,6 +25,8 @@
http://creativecommons.org/licenses/by-nc-sa/4.0/
*/
// TODO: Check file name which seems to have an extra _ in it.
#include "\q\addons\custom_server\Configs\blck_defines.hpp";

View File

@ -6,8 +6,8 @@
If _item is a string then add 1 of that item to the container.
If _item is an array with 2 elements ["itemName",3] then assume that the first element is a string and is the name of the item, and the second is the number to add.
if _item is an array with 3 elements ["itemName",2,6] assume that the first element is the item name (string), the second the min # to add and the third the max # to add.
by Ghostrider [GRG]
11/14/16
By Ghostrider-GRG-
Copyright 2016
--------------------------
License

View File

@ -2,8 +2,8 @@
Adds a list of live AI associated with a mission to a que of live AI that will be deleted at a later time by the main thread
call as [ [list of AI], time] call blck_fnc_addLiveAItoQue; where time is the time delay before deletion occurs
by Ghostrider [GRG]
Last modified 3-13-17
By Ghostrider-GRG-
Copyright 2016
--------------------------
License

View File

@ -1,8 +1,8 @@
/*
Adds the basic list of parameters that define a mission such as the marker name, mission list, mission path, AI difficulty, and timer settings, to the arrays that the main thread inspects.
by Ghostrider [GRG]
Last modified 1-21-17
By Ghostrider-GRG-
Copyright 2016
--------------------------
License
@ -38,4 +38,4 @@ for "_i" from 1 to _noMissions do
#ifdef blck_debugMode
if (blck_debugLevel >= 4) then {diag_log format["_fnc_addMissionToQue:: -- >> Result - blck_pendingMissions = %1",blck_pendingMissions];};
#endif
#endif

View File

@ -2,8 +2,8 @@
Adds a list of live AI associated with a mission to a que of live AI that will be deleted at a later time by the main thread
call as [ [list of AI], time] call blck_fnc_addLiveAItoQue; where time is the time delay before deletion occurs
by Ghostrider [GRG]
Last modified 10-14-16
By Ghostrider-GRG-
Copyright 2016
--------------------------
License

View File

@ -6,7 +6,6 @@
for ghostridergaming
By Ghostrider [GRG]
Copyright 2016
Last Modified 4-11-17
--------------------------
License
@ -32,4 +31,4 @@ for "_i" from 1 to (count blck_oldMissionObjects) do {
blck_oldMissionObjects pushback _oldObjs;
};
};
};
};

View File

@ -3,7 +3,6 @@
for ghostridergaming
By Ghostrider [GRG]
Copyright 2016
Last Modified 8-13-16
--------------------------
License

View File

@ -1,11 +1,6 @@
/*
Dynamic Loot Crate Spaw System for Exile Mod for Arma 3
by
Ghostrider [GRG]
for ghostridergaming
4-6-16
Spawn a crate on land or in the air
By Ghostrider-GRG-
Copyright 2016
--------------------------
License
--------------------------

View File

@ -1,5 +1,6 @@
/*
by Ghostrider
By Ghostrider-GRG-
Copyright 2016
--------------------------
License

View File

@ -2,7 +2,8 @@
schedules deletion of all remaining alive AI and mission objects.
Updates the mission que.
Updates mission markers.
By Ghostrider GRG
By Ghostrider-GRG-
Copyright 2016
--------------------------
License
@ -132,4 +133,4 @@ _fn_missionCleanup = {
diag_log format["_fnc_endMission: after to running mission end functions -> blck_missionsRunning = %1 | blck_dynamicUMS_MissionsRuning = %2",blck_missionsRunning,blck_dynamicUMS_MissionsRuning];
#endif
//diag_log format["_fnc_endMission (138): after to running mission end functions -> blck_missionsRunning = %1 | blck_dynamicUMS_MissionsRuning = %2",blck_missionsRunning,blck_dynamicUMS_MissionsRuning];
_endCondition
_endCondition

View File

@ -1,6 +1,7 @@
/*
By Ghostrider [GRG]
By Ghostrider-GRG-
Copyright 2016
--------------------------
License
@ -160,4 +161,4 @@
};
//diag_log "_fnc_fillBoxes <END>";
//diag_log format["testCrateLoading: crate inventory = %1",getItemCargo _crate];
//diag_log "_fnc_fillBoxes <END>";
//diag_log "_fnc_fillBoxes <END>";

View File

@ -1,5 +1,7 @@
/*
By Ghostrider-GRG-
Copyright 2016
--------------------------
License
--------------------------

View File

@ -1,5 +1,7 @@
/*
By Ghostrider-GRG-
Copyright 2016
--------------------------
License
--------------------------

View File

@ -1,4 +1,6 @@
/*
By Ghostrider-GRG-
Copyright 2016
--------------------------
License
--------------------------

View File

@ -10,6 +10,7 @@
http://creativecommons.org/licenses/by-nc-sa/4.0/
*/
// TODO: Make sure all groups are captured in the list o factive groups
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
#define delayTime 1
private ["_abort","_crates","_aiGroup","_objects","_groupPatrolRadius","_missionLandscape","_mines","_blck_AllMissionAI","_blck_localMissionMarker","_assetKilledMsg","_enemyLeaderConfig",

View File

@ -6,7 +6,6 @@
returns:
_lootarray
by Ghostrider [GRG]
1/9-17
--------------------------
License

View File

@ -1,7 +1,6 @@
//////////////////////////////////////////////////////
// Attach a marker of type _marker to an object _crate
// by Ghostrider [GRG] based on code from Wicked AI for Arma 2 Dayz Epoch
// Last modified 8/2/15
/////////////////////////////////////////////////////
/*
--------------------------

View File

@ -3,7 +3,6 @@
for ghostridergaming
By Ghostrider [GRG]
Copyright 2016
Last updated 8-14-16
--------------------------
License

View File

@ -2,7 +2,6 @@
Spawn objects from an array using offsects from a central location.
The code provided by M3Editor EDEN has been addapted to add checks for vehicles, should they be present.
Returns an array of spawned objects.
version of 10/13/17
--------------------------
License

View File

@ -1,7 +1,6 @@
/*
[_missionEmplacedWeapons,_noEmplacedWeapons,_aiDifficultyLevel,_coords,_uniforms,_headGear] call blck_fnc_spawnEmplacedWeaponArray;
Last modified 4/27/17
By Ghostrider [GRG]
--------------------------
@ -99,7 +98,8 @@ if (blck_debugLevel > 1) then
// params["_vehType","_pos",["_clearInventory",true]];
private _wep = [(_x select 0),[0,0,0],false,true] call blck_fnc_spawnVehicle;
_wep addMPEventHandler ["MPHit",{[_this] call blck_EH_AIVehicle_HandleDamage}];
_wep setVariable["vehicleGroup",_empGroup];
_wep addEventHandler["GetOut",{_this remoteExec["blck_EH_vehicleGetOut",2]}];
//_wep setVariable["vehicleGroup",_empGroup];
_wep setVariable["GRG_vehType","emplaced"];
_wep setPos _pos;
_wep setdir (random 359);
@ -110,6 +110,7 @@ if (blck_debugLevel > 1) then
_gunner moveingunner _wep;
_gunner setVariable["GRG_vehType","emplaced"];
_gunner setVariable["GRG_vehicle",_wep];
//_gunner addEventHandler["GetOutMan",{_this remoteExec["blck_EH_vehcleManGetOut",2]}];
_emplacedAI append _units;
} forEach _missionEmplacedWeapons;
blck_monitoredVehicles append _emplacedWeps;

View File

@ -1,9 +1,7 @@
//////////////////////////////////////////////////////
// Attach a marker of type _marker to an object _crate
// by Ghostrider [GRG] based on code from Wicked AI for Arma 2 Dayz Epoch
// Last modified 8/2/15
/////////////////////////////////////////////////////
/*
By Ghostrider-GRG-
Copyright 2016
--------------------------
License
--------------------------

View File

@ -1,9 +1,6 @@
//////////////////////////////////////////////////////
// Attach a marker of type _marker to an object _crate
// by Ghostrider [GRG] based on code from Wicked AI for Arma 2 Dayz Epoch
// Last modified 8/2/15
/////////////////////////////////////////////////////
/*
By Ghostrider-GRG-
Copyright 2016
--------------------------
License
--------------------------

View File

@ -2,7 +2,6 @@
/*
By Ghostrider [GRG]
Copyright 2016
Last updated 8-14-16
--------------------------
License

View File

@ -1,7 +1,6 @@
/*
blck_fnc_spawnMissionVehiclePatrols
by Ghostrider [GRG]
3/17/17
returns [] if no groups could be created
returns [_AI_Vehicles,_missionAI] otherwise;

View File

@ -2,7 +2,6 @@
for ghostridergaming
By Ghostrider [GRG]
Copyright 2016
Last modified 4/29/17
checks the status of each entry in
/*
By Ghostrider [GRG]

View File

@ -2,7 +2,6 @@
Update the parameters for a mission in the list of missions running at that time.
Call with the name of the marker associated with the mission and either "Active" or "Completed"
by Ghostrider [GRG]
Last modified 1-22-17
--------------------------
License

View File

@ -2,7 +2,6 @@
Deals with instances in which a unit is damaged (not in use).
By Ghostrider [GRG]
Last modified 4-11-17
unit: Object - Object the event handler is assigned to.
selectionName: String - Name of the selection where the unit was damaged. "" for over-all structural damage, "?" for unknown selections.

View File

@ -1,3 +1,4 @@
// TODO: Delete?
/*
by Ghostrider

View File

@ -3,7 +3,6 @@
Handle case where a unit reloads weapon.
This was used in place of fired event handlers to add realism and deal with issues with the arma engine post v1.64
By Ghostrider [GRG]
Last modified 4-11-17
https://community.bistudio.com/wiki/Arma_3:_Event_Handlers/Reloaded

View File

@ -1,7 +1,6 @@
/*
_fnc_alertNearbyGroups
by Ghostrider
9-20-15
Allerts all units within the nearest group to the location of a killer.
** Not in use at this time; reserved for the future **
--------------------------

View File

@ -1,7 +1,6 @@
/*
_fnc_alertNearbyUnits
by Ghostrider
9-20-15
Allerts all units within a certain radius of the location of a killer.
** Not in use at this time; reserved for the future **
--------------------------

View File

@ -23,4 +23,3 @@ private _nearestVehicle = _nearestVehicles select 0;

View File

@ -2,7 +2,16 @@
/*
_fnc_alertNearestGroup
*/
/*
By Ghostrider [GRG]
Copyright 2016
--------------------------
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/
*/
params["_group"];
private _nearbyGroup = [group _unit] call blck_fnc_findNearestGroup;
{

View File

@ -1,8 +1,6 @@
/*
Delete alive AI.
Now called from the main thread which tracks the time elapsed so that we no longer spawn a wait timer for each completed mission.
by Ghostrider
Last updated 4/11/17
--------------------------
License
@ -29,4 +27,4 @@ for "_i" from 1 to (count blck_liveMissionAI) do {
blck_liveMissionAI pushback _units;
};
};
};
};

View File

@ -1,7 +1,7 @@
/*
Delete a unit.
by Ghostrider
Last updated 1/22/17
--------------------------
License
--------------------------

View File

@ -2,7 +2,6 @@
calculate a reward player for AI Kills in crypto.
Code fragment adapted from VEMF
call as [_unit,_killer] call blck_fnc_handlePlayerUpdates;
Last modified 6/3/17
--------------------------
License
--------------------------

View File

@ -1,3 +1,5 @@
// Probably not used -
// TODO: delete ?
/*
by Ghostrider

View File

@ -1,6 +1,5 @@
/*
By Ghostrider [GRG]
Last Modified 7-27-17
Handles the case where a unit is hit.
@ -12,7 +11,7 @@
http://creativecommons.org/licenses/by-nc-sa/4.0/
*/
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
if !(isServer) exitWith {};
private ["_unit","_instigator","_group","_wp"];
_unit = _this select 0 select 0;
_instigator = _this select 0 select 3;

View File

@ -1,7 +1,7 @@
/*
Handle AI Deaths
By Ghostrider [GRG]
Copyright 2016
--------------------------
License
--------------------------
@ -12,50 +12,31 @@
// assumptions: this is always run on the server rgardless if th event is triggered on an HC or other client.
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
if !(isServer) exitWith {};
params["_unit","_killer","_instigator"];
//diag_log format["_fnc_processAIKill: _unit = %1 | _killer = %2",_unit,_killer];
if (_unit getVariable["blck_cleanupAt",-1] > 0) exitWith {}; // this is here so that the script is not accidently run more than once for each MPKilled occurrence.
_unit setVariable ["blck_cleanupAt", (diag_tickTime) + blck_bodyCleanUpTimer];
blck_deadAI pushback _unit;
private _group = group _unit;
[_unit] joinSilent grpNull;
if (count(units _group) == 0) then
if (count(units (group _unit)) isEqualTo 0) then
{
deleteGroup _group;
};
if !((vehicle _unit) isKindOf "Man") then
[_unit] joinSilent grpNull;
if !(_unit isKindOf "Man") then
{
private _veh = vehicle _unit;
//diag_log format["_processAIKill: _unit %1 is in vehicle %2",_unit,_veh];
if ({alive _x} count (crew _veh) == 0) then
{
//diag_log format["_processAIKill: no units alive in vehicle %1 of type %2",_veh, typeOf _veh];
if (_veh getVariable["GRG_vehType","none"] isEqualTo "emplaced") then
{
//diag_log format["_fnc_processAIKill: emplaced weapon %1 being handled",_veh];
[_veh] call GMS_fnc_handleEmptyStaticWeapon;
} else {
if (blck_killEmptyAIVehicles) then
{
//diag_log format["_processAIKill: disabling vehicle %1 and setting a delete time",_veh];
_veh setDamage 0.7;
_veh setFuel 0;
_veh setVariable["blck_deleteAtTime",diag_tickTime + 60];
} else {
//diag_log format["_processAIKill: releasing vehicle %1 to players and setting a default delete timer",_veh];
_veh setVariable["blck_deleteAtTime",diag_tickTime + blck_vehicleDeleteTimer,true];
[_veh] call blck_fnc_releaseVehicleToPlayers;
};
};
};
//diag_log format["_fnc_processAIKill: unit linked to crew of vehicle %1 | typeOf (vehicle _unit = %2)",vehicle _unit,typeOf (vehicle _unit)];
[_unit, ["Eject", vehicle _unit]] remoteExec ["action",(owner _unit)];
//[vehicle _unit,_unit] call blck_fnc_checkForEmptyVehicle;
/*
} else {
if (_unit getVariable["GRG_vehType","none"] isEqualTo "emplaced") then
if !(_unit getVariable["GRG_vehicle","none"] isEqualTo "none") then
{
[_unit getVariable "GRG_vehicle"] call GMS_fnc_handleEmptyStaticWeapon;
diag_log format["_fnc_processAIKill: unit linked to crew of vehicle %1",vehicle _unit];
[_unit, ["Eject", vehicle _unit]] remoteExec ["action",(owner _unit)];
[vehicle _unit,_unit] call blck_fnc_checkForEmptyVehicle;
};
*/
};
if (blck_launcherCleanup) then {[_unit] call blck_fnc_removeLaunchers};
@ -63,9 +44,9 @@ if (blck_removeNVG) then {[_unit] call blck_fnc_removeNVG};
if !(isPlayer _killer) exitWith {};
[_unit,_killer,50] call GMS_fnc_alertNearbyGroups;
[_killer] call blck_fnc_alertNearbyVehicles;
private _wp = [_group, currentWaypoint _group];
private _wp = [group _unit, currentWaypoint (group _unit)];
_wp setWaypointBehaviour "COMBAT";
_group setCombatMode "RED";
(group _unit) setCombatMode "RED";
_wp setWaypointCombatMode "RED";
if (blck_showCountAliveAI) then
@ -74,7 +55,7 @@ if (blck_showCountAliveAI) then
[_x select 0, _x select 1, _x select 2] call blck_fnc_updateMarkerAliveCount;
} forEach blck_missionMarkers;
};
private _isLegal = [_unit,_killer] call blck_fnc_processIlleagalAIKills;
if (_isLegal) then {
if ([_unit,_killer] call blck_fnc_processIlleagalAIKills) then {
[_unit,_killer] call GMS_fnc_handlePlayerUpdates;
};
};

View File

@ -51,5 +51,5 @@ if (_killer == (driver (vehicle _killer))) then // If the killer is also the dr
};
};
};
diag_log format["_fnc_testForIllegalKills: _legal = %1",_legal];
//diag_log format["_fnc_testForIllegalKills: _legal = %1",_legal];
_legal

View File

@ -1,8 +1,5 @@
/*
By Ghostrider [GRG]
Last Modified 7-27-17
Handles the case where a vehicle is hit.
--------------------------
License
@ -13,4 +10,4 @@
*/
params["_ai"];
{deleteVehicle _x}forEach nearestObjects [(getPosATL _ai), ['GroundWeaponHolder','WeaponHolderSimulated','WeaponHolder'], 3]; //Adapted from the AI cleanup logic by KiloSwiss
[_ai] call blck_fnc_removeGear;
[_ai] call blck_fnc_removeGear;

View File

@ -1,6 +1,6 @@
/*
by Ghostrider
1-22-17
Removes an AI launcher and ammo
--------------------------
License

View File

@ -1,6 +1,6 @@
/*
by Ghostrider
8-13-16
Remove NVG from AI
--------------------------
License

View File

@ -1,7 +1,7 @@
/*
Set skills for an AI Unit
by Ghostrider
Last updated 8/14/17
--------------------------
License
--------------------------

View File

@ -2,7 +2,7 @@
Author: Ghostrider [GRG]
Inspiration: blckeagls / A3EAI / VEMF / IgiLoad / SDROP
License: Attribution-NonCommercial-ShareAlike 4.0 International
3/17/17
--------------------------
License
--------------------------
@ -10,11 +10,6 @@
http://creativecommons.org/licenses/by-nc-sa/4.0/
--------------------------
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";

View File

@ -11,7 +11,7 @@
http://creativecommons.org/licenses/by-nc-sa/4.0/
*/
//#include "\q\addons\custom_server\Configs\blck_defines.hpp";
if !(isDedicated) exitWith {};
if !(isServer) exitWith {};
_this call blck_fnc_HandleAIVehicleHit;

View File

@ -12,5 +12,5 @@
http://creativecommons.org/licenses/by-nc-sa/4.0/
*/
//#include "\q\addons\custom_server\Configs\blck_defines.hpp";
if !(isDedicated) exitWith {};
if !(isServer) exitWith {};
_this call blck_fnc_processAIVehicleKill;

View File

@ -13,8 +13,8 @@
private ["_veh","_instigator","_group","_wp"];
_veh = _this select 0 select 0;
_instigator = _this select 0 select 3;
_veh = _this select 0;
_instigator = _this select 3;
//diag_log format["_fnc_HandleAIVehicleHit: _veh = %1 | _instigator = %2",_veh,_instigator];
if (!(isPlayer _instigator)) exitWith {};
_crew = crew _veh;

View File

@ -1,5 +1,5 @@
/*
Killed handler for _units
By Ghostrider-GRG-
--------------------------
@ -12,5 +12,5 @@
private["_vd"];
params["_vk"];
_vd = getDammage _vk;
_vk setDamage (_vd + blck_RunGearDamage);
_vd = damage _vk;
_vk setDamage (_vd + blck_RunGearDamage);

View File

@ -2,7 +2,6 @@
/*
By Ghostrider [GRG]
Copyright 2016
Last updated 3-14-17
spawns a vehicle of _vehType and mans it with units in _group.
returns _veh, the vehicle spawned.
@ -21,7 +20,8 @@ if (_clearInventory) then
{
[_veh] call blck_fnc_emptyObject;
};
_veh setVehicleLock "LOCKEDPLAYER";
//_veh setVehicleLock "LOCKEDPLAYER";
_veh lock 0;
if (blck_modType isEqualTo "Epoch") then
{
if (blck_allowSalesAtBlackMktTraders) then {_veh setVariable["HSHALFPRICE",1,true]};

View File

@ -1,7 +1,6 @@
/*
Delete a unit.
by Ghostrider
Last updated 1/22/17
--------------------------
License
--------------------------

View File

@ -1,6 +1,5 @@
/*
Killed handler for _units
By Ghostrider-GRG-
--------------------------

View File

@ -1,4 +1,5 @@
// GMS_fnc_handleEmptyStaticWeapon.sqf
// NOT USED AT PRESENT
/*
By Ghostrider [GRG]
@ -19,4 +20,4 @@
diag_log format["_processAIKill: releasing static %1 to players and setting a default delete timer",_veh];
[_veh] call blck_fnc_releaseVehicleToPlayers; //Call this from _processAIKill
_veh setVariable["blck_DeleteAt",diag_tickTime + blck_vehicleDeleteTimer,true];
};
};

View File

@ -27,8 +27,8 @@ diag_log format["_fnc_processAIVehicleKill: _this = %1",_this];
diag_log format["_fnc_processAIVehicleKill:: _units = %1 and _instigator = %2 units damage is %3",_veh,_instigator, damage _veh];
if (!(isPlayer _instigator)) exitWith {};
_crew = crew _veh;
if !(count _crew == 0) then
if !(count(crew _veh) isEqualTo 0) then
{
[_crew select 0,_instigator] call blck_fnc_alertGroupUnits;
_group setBehaviour "COMBAT";

View File

@ -1,5 +1,5 @@
// Protect Vehicles from being cleaned up by the server
// Last modified 2/26/16 by Ghostrider [GRG]
/*
--------------------------
License

View File

@ -12,12 +12,13 @@
// assummptions: since this is called after an AI Killed event that always runs on the server we can assume this code will too.
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
params["_veh"];
[_veh] call GMS_fnc_unlockServerVehicle;
{
_veh removealleventhandlers _x;
} forEach ["GetIn","GetOut","fired","hit","hitpart","reloaded","dammaged","HandleDamage"];
{
_veh removeAllMPEventHandlers _x;
} forEach ["MPHit","MPKilled"];
if ((damage _veh) > 0.6) then {_veh setDamage 0.6}; // So they don't blow up when a player tries to get in.
params["_veh"];
diag_log format["_fnc_releaseVehicleToPlayers: _veh = %1",_veh];
[_veh] call GMS_fnc_unlockServerVehicle;
{
_veh removealleventhandlers _x;
} forEach ["GetIn","GetOut","fired","hit","hitpart","reloaded","dammaged","HandleDamage"];
{
_veh removeAllMPEventHandlers _x;
} forEach ["MPHit","MPKilled"];
if ((damage _veh) > 0.6) then {_veh setDamage 0.6}; // So they don't blow up when a player tries to get in.

View File

@ -1,7 +1,7 @@
/*
Killed handler for _units
Reloaded eventhandler for _units
By Ghostrider-GRG-
--------------------------

View File

@ -3,7 +3,16 @@
algorhytm one: pure chance base on inverse of distance. More efficient.
algorhythm two: based on canSee. More detailed.
*/
/*
By Ghostrider [GRG]
Copyright 2016
--------------------------
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/
*/
params["_vehicle","_searchRadius","_detectionOdds"];
private["_player","_detectionOdds","_nearbyPlayers","_knowsAbout","_cansee","_knowledgeGained"];
_nearbyPlayers = [position _vehicle, _vehicle getVariable["blck_vehicleSearchRange",500]] call blck_fnc_nearestPlayers;
@ -46,4 +55,4 @@ switch blck_revealMode do {
};
}forEach _nearbyPlayers;
};
};
};

View File

@ -1,3 +1,13 @@
/*
By Ghostrider [GRG]
Copyright 2016
--------------------------
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/
*/
// GMS_fnc_vehiclePlayerSensingLogic.sqf
// No params
@ -6,4 +16,4 @@ private["_searchRadius","_detectionOdds"];
_searchRadius = _x getVariable["blck_vehicleSearchRadius",800];
_detectionOdds = _x getVariable["blck_vehiclePlayerDetectionOdds",0.5];
[_x,_searchRadius,_detectionOdds] call blck_fnc_revealNearbyPlayers;
}forEach blck_monitoredVehicles;
}forEach blck_monitoredVehicles;

View File

@ -1,4 +1,13 @@
/*
By Ghostrider [GRG]
Copyright 2016
--------------------------
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/
*/
params["_vehicle","_group","searchRadius","_detectionOdds"];
private["_nearbyPlayers","_groupLeader","_knowsAbout","_cansee"];
_groupLeader = leader _group;
@ -16,4 +25,4 @@ _nearbyPlayers = [position _vehicle, _vehicle getVariable["blck_vehicleSearchRan
};
}foreEach crew _vehicle;
};
}forEach _nearbyPlayers;
}forEach _nearbyPlayers;

View File

@ -2,7 +2,6 @@
Spawn a vehicle and protect it against cleanup by Epoch
Returns the object (vehicle) created.
By Ghostrider [GRG]
Last modified 1-27-17
--------------------------
License
--------------------------

View File

@ -83,13 +83,13 @@ if !(isNull _grpPilot) then
_patrolHeli setVariable["blck_vehicle",true];
_patrolHeli setVariable["blck_vehicleSearchRadius",blck_playerDetectionRangeAir];
_patrolHeli setVariable["blck_vehiclePlayerDetectionOdds",blck_vehiclePlayerDetectionOdds];
_patrolHeli addEventHandler["GetOut",{_this remoteExec["blck_EH_vehicleGetOut",2]}];
[_patrolHeli] call blck_fnc_protectVehicle;
_patrolHeli setFuel 1;
_patrolHeli engineOn true;
_patrolHeli flyInHeight 100;
_patrolHeli setVehicleLock "LOCKED";
//_patrolHeli addEventHandler ["GetOut",{(_this select 0) setFuel 0;(_this select 0) setDamage 1;}];
#ifdef blck_debugMode
if (blck_debugLevel > 1) then
{
@ -103,6 +103,8 @@ if !(isNull _grpPilot) then
//params["_pos","_aiGroup",["_skillLevel","red"],["_uniforms", []],["_headGear",[]],["_vests",[]],["_backpacks",[]],["_Launcher","none"],["_weaponList",[]],["_sideArms",[]],["_scuba",false]];
_unitPilot = [[100,100,100],_grpPilot,_skillAI,_uniforms,_headGear,_vests,_backpacks,_Launcher,_weaponList,_sideArms] call blck_fnc_spawnUnit;
_unitPilot setSkill 1;
_unitPilot setVariable["GRG_vehicle",_patrolHeli];
//_unitPilot addEventHandler["GetOutman",{_this remoteExec["blck_EH_vehcleManGetOut",2]}];
_unitPilot assignAsDriver _patrolHeli;
_unitPilot moveInDriver _patrolHeli;
_grpPilot selectLeader _unitPilot;
@ -145,7 +147,8 @@ if !(isNull _grpPilot) then
_unitCrew = [(getPosATL _patrolHeli),_grpPilot,_skillAI,_uniforms,_headGear,_vests,_backpacks,_Launcher,_weaponList,_sideArms] call blck_fnc_spawnUnit;
_unitCrew assignAsTurret [_patrolHeli, _x];
_unitCrew moveInTurret [_patrolHeli, _x];
_unitCrew setVariable["GRG_vehicle",_patrolHeli];
//_unitCrew addEventHandler["GetOutman",{_this remoteExec["blck_EH_vehcleManGetOut",2]}];
#ifdef blck_debugMode
diag_log format["_fnc_spawnMissionHeli (12798)::-- >> unit %1 moved into turret %2 of vehicle %3",_unitCrew,_x,_patrolHeli];
#endif

View File

@ -2,7 +2,6 @@
Author: Ghostrider [GRG]
Inspiration: blckeagls / A3EAI / VEMF / IgiLoad / SDROP
License: Attribution-NonCommercial-ShareAlike 4.0 International
3/17/17
This is basically a container that determines whether a paragroop group should be created and if so creates a group and passes it off to the routine that spawns the paratroops.

View File

@ -2,7 +2,6 @@
By Ghostrider [GRG]
Copyright 2016
Last Modified 8-16-17
--------------------------
License
@ -93,4 +92,4 @@ if ( _spawnHeli ) then // if helipatrols are 'enabled' then paratroops will only
if (blck_debugLevel > 1) then {diag_log format["_fnc_spawnMissionReinforcements (74):: _return = %1",_return];};
#endif
_return
_return

View File

@ -2,7 +2,6 @@
By Ghostrider [GRG]
Copyright 2016
Last Modified 8-16-17
--------------------------
License
@ -112,4 +111,4 @@ if ( (_chanceHeliPatrol > 0) && (random (1) < _chanceHeliPatrol) ) then // if he
if (blck_debugLevel > 1) then {diag_log format["_fnc_spawnMissionReinforcements (74):: _return = %1",_return];};
#endif
_return
_return

Some files were not shown because too many files have changed in this diff Show More