diff --git a/@GMS/addons/custom_server/Changelog 6.90.txt b/@GMS/addons/custom_server/Changelog 6.90.txt new file mode 100644 index 0000000..a40b99c --- /dev/null +++ b/@GMS/addons/custom_server/Changelog 6.90.txt @@ -0,0 +1,28 @@ +1. Added new settings to specify the number of crew per vehhicle to blck_config.sqf and blck_config_mil.sqf + + // global settings for this parameters + // Determine the number of crew plus driver per vehicle; excess crew are ignored. + // This can be a value or array of [_min, _max]; + blck_vehCrew_blue = 3; + blck_vehCrew_red = 3; + blck_vehCrew_green = 3; + blck_vehCrew_orange = 3; + + You can also define this value in missions by adding the following variable definition to the mission template: + + _vehicleCrewCount = [3,6]; // min/max number of AI to load including driver. see the missions\blue\template.sqf and blck_configs.sqf for more info. + +2. Lists of items to be excluded from dynamically generated loadouts has been moved to: + blck_config.sqf + blck_config_mil.sqf + +3. Added a new setting that specifies whether logging of blacklisted items is done (handy for debugging) + blck_logBlacklistedItems = true; // set to false to disable logging + +4. Hit and Killed event handlers extensively reworked. Methods for notification of nearby AI and Vehicles of the killers whereabouts were revised to be more inclusive of neighboring AI. + +5. Issues with AIHit events fixed; AI now deploy smoke and heal. + +6. Removed some unnecessary logging. + +7. Other minor coding fixes and optimizations. \ No newline at end of file diff --git a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_ai_offloadToClients.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_ai_offloadToClients.sqf index 8e4edee..9ccc8fa 100644 --- a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_ai_offloadToClients.sqf +++ b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_ai_offloadToClients.sqf @@ -56,7 +56,7 @@ diag_log format[ if (((isNull _ownerObj) || {(_ownerObj distance2D _leader)>3500}) && {!([_group,_leader] call blck_fnc_SetAILocality)} && {!_isLocal}) then { // Reset locality to the server - diag_log format["_fnc_ai_offloadToClients: setting locality of group %1 to server",_group]; + //diag_log format["_fnc_ai_offloadToClients: setting locality of group %1 to server",_group]; _group setGroupOwner 2; #ifdef blck_debugMode if (blck_debugOn) then @@ -67,4 +67,4 @@ diag_log format[ }; }; }; -} forEach _groups; \ No newline at end of file +} forEach _groups; diff --git a/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_releaseVehicleToPlayers.sqf b/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_releaseVehicleToPlayers.sqf index bdb2ab8..1f8c35f 100644 --- a/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_releaseVehicleToPlayers.sqf +++ b/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_releaseVehicleToPlayers.sqf @@ -13,7 +13,7 @@ #include "\q\addons\custom_server\Configs\blck_defines.hpp"; params["_veh"]; -diag_log format["_fnc_releaseVehicleToPlayers: _veh = %1",_veh]; +//diag_log format["_fnc_releaseVehicleToPlayers: _veh = %1",_veh]; [_veh] call GMS_fnc_unlockServerVehicle; { _veh removealleventhandlers _x; diff --git a/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_vehicleMonitor.sqf b/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_vehicleMonitor.sqf index f1ec01e..1a07363 100644 --- a/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_vehicleMonitor.sqf +++ b/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_vehicleMonitor.sqf @@ -22,7 +22,7 @@ for "_i" from 1 to (count blck_monitoredVehicles) do // if the owner is a player do not add back for further monitoring if ((owner _veh) in (_serverIDs)) then { - diag_log format["_fnc_vehicleMonitor: vehicle %1 to be deleted at %2",_veh,(_veh getVariable ["blck_deleteAtTime",0])]; + //diag_log format["_fnc_vehicleMonitor: vehicle %1 to be deleted at %2",_veh,(_veh getVariable ["blck_deleteAtTime",0])]; if ((_veh getVariable ["blck_deleteAtTime",0]) > 0) then { if (diag_tickTime > ( _veh getVariable ["blck_deleteAtTime",0])) then @@ -37,7 +37,12 @@ for "_i" from 1 to (count blck_monitoredVehicles) do blck_monitoredVehicles pushBack _veh; }; } else { - diag_log format["_fnc_vehicleMonitor: owner of vehicle %1 is a player, discontinuing further monitoring",_veh] + #ifdef blck_debugMode + if (blck_debugOn) then + { + diag_log format["_fnc_vehicleMonitor: owner of vehicle %1 is a player, discontinuing further monitoring",_veh]; + }; + #endif }; }; }; diff --git a/@GMS/addons/custom_server/Configs/blck_configs.sqf b/@GMS/addons/custom_server/Configs/blck_configs.sqf index e5b78c2..a75f560 100644 --- a/@GMS/addons/custom_server/Configs/blck_configs.sqf +++ b/@GMS/addons/custom_server/Configs/blck_configs.sqf @@ -77,7 +77,6 @@ // Credit to Defent and eraser for their excellent work on scripts to transfer AI to clients for which these settings are required. blck_ai_offload_to_client = true; // forces AI to be transfered to player's PCs. Disable if you have players running slow PCs. blck_ai_offload_notifyClient = false; // Set true if you want notifications when AI are offloaded to a client PC. Only for testing/debugging purposes. - // TODO: set to false before release blck_limit_ai_offload_to_blckeagls = true; // when true, only groups spawned by blckeagls are evaluated. /////////////////////////////// @@ -135,19 +134,17 @@ /////////////////////////////// // PLAYER PENALTIES /////////////////////////////// - + blck_RunGear = true; // When set to true, AI that have been run over will ve stripped of gear, and the vehicle will be given blck_RunGearDamage of damage. blck_RunGearDamage = 0.2; // Damage applied to player vehicle for each AI run over - blck_VK_Gear = false; // When set to true, AI that have been killed by a player in a vehicle in the list of forbidden vehicles or using a forbiden gun will be stripped of gear and the vehicle will be given blck_RunGearDamage of damage + blck_VK_Gear = true; // When set to true, AI that have been killed by a player in a vehicle in the list of forbidden vehicles or using a forbiden gun will be stripped of gear and the vehicle will be given blck_RunGearDamage of damage blck_VK_RunoverDamage = true; // when the AI was run over blck_RunGearDamage of damage will be applied to the killer's vehicle. blck_VK_GunnerDamage = false; // when the AI was killed by a gunner on a vehicle that is is in the list of forbidden vehicles, blck_RunGearDamage of damage will be applied to the killer's vehicle each time an AI is killed with a vehicle's gun. - //blck_forbidenVehicles = ["B_MRAP_01_hmg_F","O_MRAP_02_hmg_F","I_MRAP_03_hmg_F","B_MRAP_01_hmg_F","O_MRAP_02_hmg_F"]; // Add any vehicles for which you wish to forbid vehicle kills - blck_forbidenVehicles = []; - + blck_forbidenVehicles = ["B_MRAP_01_hmg_F","O_MRAP_02_hmg_F","I_MRAP_03_hmg_F","B_MRAP_01_hmg_F","O_MRAP_02_hmg_F"]; // Add any vehicles for which you wish to forbid vehicle kills // For a listing of the guns mounted on various land vehicles see the following link: https://community.bistudio.com/wiki/Arma_3_CfgWeapons_Vehicle_Weapons // HMG_M2 is mounted on the armed offroad that is spawned by Epoch - //blck_forbidenVehicleGuns = ["LMG_RCWS","LMG_M200","HMG_127","HMG_127_APC","HMG_M2","HMG_NSVT","GMG_40mm","GMG_UGV_40mm","autocannon_40mm_CTWS","autocannon_30mm_CTWS","autocannon_35mm","LMG_coax","autocannon_30mm","HMG_127_LSV_01"]; // Add any vehicles for which you wish to forbid vehicle kills, o - blck_forbidenVehicleGuns = []; + blck_forbidenVehicleGuns = ["LMG_RCWS","LMG_M200","HMG_127","HMG_127_APC","HMG_M2","HMG_NSVT","GMG_40mm","GMG_UGV_40mm","autocannon_40mm_CTWS","autocannon_30mm_CTWS","autocannon_35mm","LMG_coax","autocannon_30mm","HMG_127_LSV_01"]; // Add any vehicles for which you wish to forbid vehicle kills, o + /////////////////////////////// // MISC MISSION PARAMETERS @@ -307,18 +304,20 @@ //blck_maximumitempriceinai_loadouts = 1000; // lists of black-listed items to be excluded from dynamic loadouts blck_blacklistedVests = [ - "V_Press_F" + //"V_Press_F" ]; blck_blacklistedUniforms = [ "U_I_Protagonist_VR", "U_C_Protagonist_VR", "U_O_Protagonist_VR", - "U_B_Protagonist_VR" + "U_B_Protagonist_VR", + "Exile_Uniform_BambiOverall", + "Exile_Uniform_ExileCustoms" ]; blck_blacklistedBackpacks = [ - "B_ViperLightHarness_blk_F" + //"B_ViperLightHarness_blk_F" ]; blck_blacklistedHeadgear = [ @@ -327,7 +326,7 @@ ]; blck_blacklistedPrimaryWeapons = [ - "srifle_LRR_tna_F" + //"srifle_LRR_tna_F" ]; blck_blacklistedSecondaryWeapons = [ @@ -339,7 +338,7 @@ ]; blck_blacklistedOptics = [ - "optic_tws" + //"optic_tws" ]; blck_blacklistedAttachments = [ @@ -350,8 +349,8 @@ ]; ///////////////////////////////////////////// - - blck_groupBehavior = "SENTRY"; // Suggested choices are "SAD", "SENTRY", "AWARE" https://community.bistudio.com/wiki/ArmA:_AI_Combat_Modes + + blck_groupBehavior = "SAD"; // Suggested choices are "SAD", "SENTRY", "AWARE" https://community.bistudio.com/wiki/ArmA:_AI_Combat_Modes blck_combatMode = "RED"; // Change this to "YELLOW" if the AI wander too far from missions for your tastes. blck_groupFormation = "WEDGE"; // Possibilities include "WEDGE","VEE","FILE","DIAMOND" @@ -422,7 +421,7 @@ ["aimingAccuracy",0.1],["aimingShake",0.5],["aimingSpeed",0.5],["endurance",0.50],["spotDistance",0.6],["spotTime",0.6],["courage",0.60],["reloadSpeed",0.60],["commanding",0.7],["general",0.60] ]; - // Add some money to AI; only works with Exile for now. + // Add some money to AI; blck_maxMoneyOrange = 25; blck_maxMoneyGreen = 20; blck_maxMoneyRed = 15; diff --git a/@GMS/addons/custom_server/Configs/blck_configs_mil.sqf b/@GMS/addons/custom_server/Configs/blck_configs_mil.sqf index 7c2c8c3..8598722 100644 --- a/@GMS/addons/custom_server/Configs/blck_configs_mil.sqf +++ b/@GMS/addons/custom_server/Configs/blck_configs_mil.sqf @@ -52,8 +52,7 @@ blck_useHC = true; // // Credit to Defent and eraser for their excellent work on scripts to transfer AI to clients for which these settings are required. blck_ai_offload_to_client = true; // forces AI to be transfered to player's PCs. Disable if you have players running slow PCs. - blck_ai_offload_notifyClient = true; // Set true if you want notifications when AI are offloaded to a client PC. Only for testing/debugging purposes. - // TODO: set to false before release + blck_ai_offload_notifyClient = false; // Set true if you want notifications when AI are offloaded to a client PC. Only for testing/debugging purposes. blck_limit_ai_offload_to_blckeagls = true; // when true, only groups spawned by blckeagls are evaluated. /////////////////////////////// @@ -290,27 +289,33 @@ //blck_maximumitempriceinai_loadouts = 1000; // lists of black-listed items to be excluded from dynamic loadouts blck_blacklistedVests = [ - + //"V_Press_F" ]; blck_blacklistedUniforms = [ - + "U_I_Protagonist_VR", + "U_C_Protagonist_VR", + "U_O_Protagonist_VR", + "U_B_Protagonist_VR", + "Exile_Uniform_BambiOverall", + "Exile_Uniform_ExileCustoms" ]; blck_blacklistedBackpacks = [ - + //"B_ViperLightHarness_blk_F" ]; blck_blacklistedHeadgear = [ - + "H_HelmotO_ViperSP_ghex_F", + "H_HelmetO_VierSP_hex" ]; blck_blacklistedPrimaryWeapons = [ - + //"srifle_LRR_tna_F" ]; blck_blacklistedSecondaryWeapons = [ - + "hgun_Pistol_heav_02_F" ]; blck_blacklistedLaunchersAndSwingWeapons = [ @@ -318,7 +323,7 @@ ]; blck_blacklistedOptics = [ - + //"optic_tws" ]; blck_blacklistedAttachments = [