Merge pull request #48 from Ghostrider-DbD-/Version-6.59-Build-64

Bug fixes, updates to documentation and logging
This commit is contained in:
Ghostrider-DbD- 2017-06-12 15:17:42 -04:00 committed by GitHub
commit 826c1f267b
6 changed files with 109 additions and 55 deletions

View File

@ -1,6 +1,6 @@
/*
calculate a reward player for AI Kills
calculate a reward player for AI Kills in crypto.
Code fragment adapted from VEMF
call as [_unit,_killer] call blck_fnc_rewardKiller;
Last modified 6/3/17
@ -19,28 +19,73 @@ params["_unit","_killer"];
private["_modType","_reward","_maxReward","_dist","_killstreakReward","_distanceBonus","_newKillerScore","_newKillerFrags","_money"];
_modType = call blck_fnc_getModType;
//diag_log format["[blckeagles] rewardKiller:: - _modType = %1",_modType];
//if (_modType isEqualTo "Epoch") exitWith {}; // Have players pull crypto from AI bodies now that this feature is available.
diag_log format["[blckeagles] rewardKiller:: - _modType = %1",_modType];
if (_modType isEqualTo "Epoch") then
{
//diag_log "calculating reward for Epoch";
if ( (vehicle _killer) in blck_forbidenVehicles || (currentWeapon _killer) in blck_forbidenVehicleGuns ) then
{
_reward = 0;
}
else
{
// Give the player money for killing an AI
_maxReward = 50;
_dist = _unit distance _killer;
_reward = 0;
if (_modType isEqualTo "Epoch") exitWith {}; // Have players pull crypto from AI bodies now that this feature is available.
if (_dist < 50) then { _reward = _maxReward - (_maxReward / 1.25); _reward };
if (_dist < 100) then { _reward = _maxReward - (_maxReward / 1.5); _reward };
if (_dist < 800) then { _reward = _maxReward - (_maxReward / 2); _reward };
if (_dist > 800) then { _reward = _maxReward - (_maxReward / 4); _reward };
private _killstreakReward=+(_kills*2);
//diag_log format["fnd_rewardKiller:: _bonus returned will be %1",_reward];
if (blck_addAIMoney) then
{
[_killer,_reward + _killstreakReward] call blck_fnc_giveTakeCrypto;
};
if (blck_useKillScoreMessage) then
{
[["showScore",[_reward,"",_kills],""],[_killer]] call blck_fnc_messageplayers;
};
};
};
/*
_player setVariable ["ExileHunger", _data select 4];
_player setVariable ["ExileThirst", _data select 5];
_player setVariable ["ExileAlcohol", _data select 6];
_player setVariable ["ExileTemperature", _data select 44];
_player setVariable ["ExileWetness", _data select 45];
*/
if (_modType isEqualTo "Exile") then
{
private["_distanceBonus","_overallRespectChange","_newKillerScore","_newKillerFrags","_maxReward","_money","_message"];
/*
// Temporary fix for the Loss of Respect Bug.
diag_log format["GMS_fnc_rewardKiller.sqf:: _killer name = %2 | ExileScore = %1 | Kills %3",_killer getVariable [ "ExileScore", 0 ], name _killer, _killer getVariable["ExileKills",0]];
diag_log format["GMS_fnc_rewardKiller.sqf:: _killer = %1 | vehicle _killer = %2 | objectParent _killer %3",_killer, vehicle _killer, objectParent _killer];
diag_log format["GMS_fnc_rewardKiller.sqf:: _killer is gunner = %1 | killer is driver = %2",_killer isEqualTo gunner objectParent _killer,_killer isEqualTo driver objectParent _killer];
diag_log format["GMS_fnc_rewardKiller.sqf:: _killer ExileOwnerUID = %1 ",_killer getVariable["ExileOwnerUID",0]]; // ExileOwnerUID
diag_log format["GMS_fnc_rewardKiller.sqf:: _killer ExileHunger = %1 ",_killer getVariable["ExileHunger",0]]; // ExileOwnerUID
diag_log format["GMS_fnc_rewardKiller.sqf:: _killer ExileThirst = %1 ",_killer getVariable["ExileThirst",0]]; // ExileOwnerUID
diag_log format["GMS_fnc_rewardKiller.sqf:: _killer ExileAlcohol = %1 ",_killer getVariable["ExileAlcohol",0]]; // ExileOwnerUID
diag_log format["GMS_fnc_rewardKiller.sqf:: _killer ExileWetness = %1 ",_killer getVariable["ExileWetness",0]]; // ExileOwnerUID
*/
if ( (isPlayer _killer) && (_killer getVariable["ExileHunger",0] > 0) && (_killer getVariable["ExileThirst",0] > 0) ) then
{
_distanceBonus = floor((_unit distance _killer)/100);
_killstreakBonus = 3 * (_killer getVariable["blck_kills",0]);
_respectGained = 25 + _distanceBonus + _killstreakBonus;
_score = _killer getVariable ["ExileScore", 0];
//diag_log format["GMS_fnc_rewardKiller.sqf:: ExileScore = %1",_killer getVariable ["ExileScore", 0]];
_score = _score + (_respectGained);
//diag_log format["GMS_fnc_rewardKiller.sqf:: _new = %1",_score];
//diag_log format["GMS_fnc_rewardKiller.sqf:: _new = %1",_score];
_killer setVariable ["ExileScore", _score];
format["setAccountScore:%1:%2", _score,getPlayerUID _killer] call ExileServer_system_database_query_fireAndForget;
_newKillerFrags = _killer getVariable ["ExileKills", 0];

View File

@ -99,6 +99,15 @@ if (blck_spawnStaticLootCrates) then
diag_log "[blckeagls] SLS:: -- >> Static Loot Spawner disabled";
};
#ifdef DBDserver
diag_log "[blckegls] Running DBD Clan Version";
#endif
#ifdef useDynamicSimulation
diag_log "[blckegls] dynamic simulation manager enabled";
#else
diag_log "[blckegls] blckegls simulation manager enabled";
#endif
//Start the mission timers
if (blck_enableOrangeMissions > 0) then
{

View File

@ -1,7 +1,5 @@
private ["_version","_versionDate"];
_blck_version = "6.59 Build 63";
_blck_versionDate = "6-7-17 9:00 PM";
_blck_version = "6.59 Build 64";
_blck_versionDate = "6-12-17 9:00 AM";

View File

@ -1,6 +1,9 @@
** Adjusting settings.
Read the faq and config files for specific information.
Some general tips are:
First, create a backup of all files.
Second, if your rpt log shows errors after a change, revert to the defaults and try again.
Third, settings that determine how messages are displayed are your mission file (i.e, epoch.Altis.pbo) in debug\blckClient.sqf.

View File

@ -2,31 +2,17 @@ Installation:
/////////////////////////////
// MPMissions - modify your mission pbo (epoch.Altis.pbo) as follows.
1) Unpack the Zip file to a folder in a convenient location.
1) Unpack the Zip file you downloaded from the Github to a folder in a convenient location.
2) Unpack your mission pbo (epoch.Altis.pbo or Exile.Altis.pbo).
3) Open the folder you just created.
4) Copy the debug folder from MPMissions\epoch.Altis.
3) Open the folder containing the unpacked mission.
4) Copy the debug folder from MPMissions\epoch.Altis
5) Merge the line in MPMissions\epoch.Altis\init.sqf with your init.sqf, or use the one provided if you do not have one.
6) Repack your mission.pbo.
6) Adjust settings for messages shown by the client by changing values in \debug\blckclient.sqf to suit your needs.
(see blckClient.sqf for details)
7) Repack your mission.pbo.
///////////////////////////
// @epochhive\addons
7) pack @epochhive\addons\custom_server
8) Copy custom_server.pbo to the @epochhive\addons folder on your server.
/////////////////////////
// Battleye Exceptions
More to come on this.
Please see the links below for some how-to's and two useful tools to automate adding appropriate exceptions:
http://opendayz.net/threads/a-guide-to-battleye-filters.21066/
https://epochmod.com/forum/topic/29736-all-you-need-to-know-about-be-filters-but-were-too-lazy-to-google/
http://www.exilemod.com/topic/9779-releasetool-bem-battleye-filter-manager-by-themeq/
http://www.exilemod.com/topic/9256-battleye-filter-tool/
http://www.exilemod.com/topic/9708-battleye-filter-editor/
12) To permit you to loot crypto from dead AI on Epoch, Open Epoch.<MAP Name>\epoch_config\CfgObjectInteractions.hpp
// For epoch only
7) To permit you to loot crypto from dead AI on Epoch, Open Epoch.<MAP Name>\epoch_config\CfgObjectInteractions.hpp
Change
@ -57,6 +43,31 @@ http://www.exilemod.com/topic/9708-battleye-filter-editor/
Save your changes, repack your mission file.
You should now get an option to take crypto when you press spacebar after hovering over a dead AI body.
///////////////////////////
// Server
// ////////////////////////
// Epoch
1) Add the custom_server folder from @epochhive\addons to @epochhive\addons on your server.
// Exile
1) Add the custom_server folder you found in @epochhive\addons to the @ExileServer\addons folder on your server.
2) Adjust configuration, and pack the custom_server folder.
/////////////////////////
// Battleye Exceptions
More to come on this.
Please see the links below for some how-to's and two useful tools to automate adding appropriate exceptions:
http://opendayz.net/threads/a-guide-to-battleye-filters.21066/
https://epochmod.com/forum/topic/29736-all-you-need-to-know-about-be-filters-but-were-too-lazy-to-google/
http://www.exilemod.com/topic/9779-releasetool-bem-battleye-filter-manager-by-themeq/
http://www.exilemod.com/topic/9256-battleye-filter-tool/
http://www.exilemod.com/topic/9708-battleye-filter-editor/
11) Start your server and join. By default missions will start spawning in around 5-10 min.
@ -64,7 +75,7 @@ http://www.exilemod.com/topic/9708-battleye-filter-editor/
// Adjusting configurations settings
a) Unpack custom_server.pbo
b) Make a backup of the relevant configuration file (custom_server\Configs\epoch_configs.sqf)
c) open the configuration file custom_server\Configs\epoch_configs.sqf) in Notepad++ or another text editor
c) open the mod-specific configuration file custom_server\Configs\epoch_configs.sqf) in Notepad++ or another text editor
d) Modify settings as desired.
e) Repack custom_server.pbo
@ -77,33 +88,17 @@ You can use blck_custom_config.sqf to code any overrides you like. An example fo
////////////////////////
// What is this blck_debugON variable about?
It turns on accelerated mission spawning by default and activated additional logging.
It turns on accelerated mission spawning by default and activates additional logging.
You can turn it on or of in custom_server\Compiles\blck_variables.sqf.
Be careful about what you change in this file.
///////////////////////////////////////////
// Further customization
Just about anything about the missions can be modified. The mission template (see Missions\Orange\supply_camp.sqf and Missions\Blue\default.sqf for examples) allow you to define mission specific parameters.
Just about anything about the missions can be modified. The mission template (see Missions\Orange\supply_camp.sqf and Missions\Blue\default.sqf for examples) allows you to define mission specific parameters.
To create a new mission, make a copy of a mission template (e.g., custom_server\Blue\default.sqf). Edit the parameters to your liking and rename to file appropriately.
Add the file name (e.g., "newmissions.sqf") the the mission list found in custom_server\Missions.
To add a new mission, create a new mission template, then add the file name (e.g., "newmissions.sqf") tothe mission list found in custom_server\Missions.
That mission will now be spawned whenever it is selected from teh list.
Items you can edit include includes:
the objects that are spawned,
The vehicles AI patrol in,
The loot added to loot chests, which can either be that defined in the default configurations or something custom for that particular loot container or mission,
The objects that are spawned with the AI, which could be a few objects as is the case with the default missions or an entire base,
Whether the objects are spawned in a precise ordered way or randomly (see the Missions\Blue\default.sqf for an example of randomly spawned objects),
The difficulty of the mission,
Please see the FAQ for more information
Settings for the mission system as a whole, and default values for most variables, are found in the mod-specific config (blck_configs_epoch.sqf or blck_configs_exile.sqf).
You can set whether:
whether vehicles are spawned as loot and whether they have anything inside them,
whether mines are spawned (better not have these if you have vehicle patrols),
whether players get to keep the AI patrol vehicles,
whether smoke is present to indicate the location of the mission,
whether players are penalized for running over AI or killing them with certain vehicle guns,
whether map markers are centered over the mission or not

View File

@ -1,6 +1,10 @@
Blckegls mission system Ver 6.59
<<<<<<< HEAD
Build 63
=======
Build 60
>>>>>>> origin/Version-6.59-Build-63
Included is an updated version of blckeagls mission system. This began as an effort to fix bugs in and upgrade version 2.0.2 as updated by Narines and has now evolved to a complete reworking of almost all code.