A couple things...

This commit is contained in:
eraser1 2016-06-27 19:07:18 -05:00
parent 26d1da80ff
commit 9df447db8b
11 changed files with 44 additions and 21 deletions

View File

@ -4,7 +4,7 @@ class CfgPatches
{
units[] = {};
weapons[] = {};
a3_DMS_version = "June 25, 2016";
a3_DMS_version = "June 27, 2016";
requiredVersion = 1.36;
requiredAddons[] = {"exile_client","exile_server_config"};
};

View File

@ -114,7 +114,7 @@ DMS_SpawnMissions_Scheduled = false; // Whether or not to spawn missions in a sc
DMS_TraderZoneNearBlacklist = 2500; // Missions won't spawn in a position this many meters close to a trader zone
DMS_MissionNearBlacklist = 2500; // Missions won't spawn in a position this many meters close to another mission
DMS_WaterNearBlacklist = 500; // Missions won't spawn in a position this many meters close to water
DMS_TerritoryNearBlacklist = 100; // Missions won't spawn in a position this many meters close to a territory flag
DMS_TerritoryNearBlacklist = 100; // Missions won't spawn in a position this many meters close to a territory flag. This is a resource intensive check, don't set this value too high!
DMS_MinSurfaceNormal = 0.9; // Missions won't spawn in a position where its surfaceNormal is less than this amount. The lower the value, the steeper the location. Greater values means flatter locations. Values can range from 0-1, with 0 being sideways, and 1 being perfectly flat. For reference: SurfaceNormal of about 0.7 is when you are forced to walk up a surface. If you want to convert surfaceNormal to degrees, use the arc-cosine of the surfaceNormal. 0.9 is about 25 degrees. Google "(arccos 0.9) in degrees"
DMS_MinDistFromWestBorder = 250; // Missions won't spawn in a position this many meters close to the western map border.
DMS_MinDistFromEastBorder = 250; // Missions won't spawn in a position this many meters close to the easter map border.

View File

@ -2,6 +2,8 @@
DMS_fnc_AILocalityManager
Created by Defent and eraser1
https://github.com/Defent/DMS_Exile/wiki/DMS_fnc_AILocalityManager
Offloads AI groups to a nearby client in order to improve server performance.
*/

View File

@ -2,6 +2,8 @@
DMS_fnc_AddMissionToMonitor
Created by eraser1
https://github.com/Defent/DMS_Exile/wiki/DMS_fnc_AddMissionToMonitor
Parses and adds mission information to "DMS_Mission_Arr" for Mission Monitoring.
Usage:

View File

@ -2,7 +2,9 @@
DMS_fnc_AddMissionToMonitor_Static
Created by eraser1
Parses and adds mission information to "DMS_Mission_Arr" for Mission Monitoring.
https://github.com/Defent/DMS_Exile/wiki/DMS_fnc_AddMissionToMonitor_Static
Parses and adds mission information to "DMS_StaticMission_Arr" for Mission Monitoring.
Usage:
[

View File

@ -2,15 +2,17 @@
DMS_fnc_AddWeapon
created by eraser1 - based off of BIS_fnc_AddWeapon
https://github.com/Defent/DMS_Exile/wiki/DMS_fnc_AddWeapon
Description:
Add a weapon to a unit with the right magazines. Magazine class is obtained from the weapon's config.
Usage:
[
_unit, // <object> unit that is issued new equipment
_weapon, // <string> weapon classname
_magazineCount, // <scalar> number of magazines
_magClassname // (Optional): <scalar> index of magazine class in weapon's config (default 0) OR <string> magazine classname
_unit, // <object> The unit that is to receive the weapon (and magazines).
_weapon, // <string> The classname of the weapon to be added.
_magazineCount, // <scalar> Number of magazines to be added.
_magClassname // <string> (Optional) The classname of the magazine to be added.
] call DMS_fnc_AddWeapon;
Nothing is returned

View File

@ -2,6 +2,8 @@
DMS_fnc_BroadcastMissionStatus
Created by eraser1
https://github.com/Defent/DMS_Exile/wiki/DMS_fnc_BroadcastMissionStatus
Usage:
[
_messageTitle,
@ -16,7 +18,7 @@
if !(params
[
"_missionName",
"_messageTitle",
"_messageInfo"
])
exitWith
@ -26,7 +28,7 @@ exitWith
_messageInfo params
[
["_titleColor","#FFFF00",[""]],
"_titleColor",
"_message"
];
@ -47,7 +49,7 @@ if (_message isEqualTo "") exitWith {};
{
case "systemchatrequest":
{
format["%1: %2",toUpper _missionName,_message] remoteExecCall ["systemChat",-2];
format["%1: %2",toUpper _messageTitle,_message] remoteExecCall ["systemChat",-2];
};
case "standardhintrequest":
@ -58,7 +60,7 @@ if (_message isEqualTo "") exitWith {};
_titleColor,
DMS_standardHint_Title_Size,
DMS_standardHint_Title_Font,
_missionName,
_messageTitle,
DMS_standardHint_Message_Color,
DMS_standardHint_Message_Size,
DMS_standardHint_Message_Font,
@ -74,7 +76,7 @@ if (_message isEqualTo "") exitWith {};
_titleColor,
DMS_dynamicText_Title_Size,
DMS_dynamicText_Title_Font,
_missionName,
_messageTitle,
DMS_dynamicText_Message_Color,
DMS_dynamicText_Message_Size,
DMS_dynamicText_Message_Font,
@ -90,7 +92,7 @@ if (_message isEqualTo "") exitWith {};
_titleColor,
DMS_textTiles_Title_Size,
DMS_textTiles_Title_Font,
_missionName,
_messageTitle,
DMS_textTiles_Message_Color,
DMS_textTiles_Message_Size,
DMS_textTiles_Message_Font,

View File

@ -2,6 +2,8 @@
DMS_fnc_CalcPos
Created by eraser1
https://github.com/Defent/DMS_Exile/wiki/DMS_fnc_CalcPos
Usage:
[
_positionOrObject, // Object or Position: The center

View File

@ -90,19 +90,27 @@ else
_missionPos = missionNamespace getVariable [format ["%1_pos",_x], []];
if (!(_missionPos isEqualTo []) && {(_missionPos distance2D _pos)<=_missionNearLimit}) throw "a mission";
if (((_x find "VEMFr_DynaLocInva_ID")>0) && {((getMarkerPos _x) distance2D _pos)<=_missionNearLimit}) throw "a VEMF mission";
if
(
(
((_x find "ZCP_CM_dot_") >= 0) // Look in the marker string for the ZCP marker prefix
||
{(_x find "VEMFr_DynaLocInva_ID") >= 0} // Look in the marker string for the VEMF marker prefix
)
&&
{((getMarkerPos _x) distance2D _pos)<=_missionNearLimit} // Then check if the marker is close to the position
) throw "a VEMF or ZCP mission";
};
} forEach allMapMarkers;
// Check for nearby players
// This is done last because it is likely to be the most resource intensive.
if ((_playerNearLimit>0) && {[_pos,_playerNearLimit] call DMS_fnc_IsPlayerNearby}) throw "a player";
// Check for nearby territories. This is done last because it is likely to be the most resource intensive.
if ((_territoryNearLimit>0) && {[_pos,_territoryNearLimit] call ExileClient_util_world_isTerritoryInRange}) throw "a territory";
// No exceptions found
_isValidPos = true;
}

View File

@ -73,6 +73,7 @@ if ((!isNull _playerObj) && {(_playerUID != "") && {_playerObj isKindOf "Exile_U
private _playerRespect = _playerObj getVariable ["ExileScore", 0];
private _playerRank = _playerObj getVariable ["ExileHumanity", 0];
private _unitName = name _unit;
private _distance = [];
/*
if (DMS_DEBUG) then
@ -83,8 +84,6 @@ if ((!isNull _playerObj) && {(_playerUID != "") && {_playerObj isKindOf "Exile_U
if (_moneyChange!=0) then
{
private _distance = [];
// Set client's money
// I also make sure that they don't get negative poptabs
_playerMoney = (_playerMoney + _moneyChange) max 0;
@ -185,9 +184,6 @@ if ((!isNull _playerObj) && {(_playerUID != "") && {_playerObj isKindOf "Exile_U
format ["PlayerAwardOnAIKill :: %1 (%2) awarded %3 poptabs and %4 respect for killing %5. Player's money is now %6, and respect is now %7. Roadkill: %8", name _playerObj, _playerUID, _moneyChange, _repChange, _unit, _playerMoney, _playerRespect, _roadKilled] call DMS_fnc_DebugLog;
};
// Update client database entry
format["setAccountMoneyAndRespect:%1:%2:%3", _playerMoney, _playerRespect, _playerUID] call ExileServer_system_database_query_fireAndForget;
if (DMS_Show_Party_Kill_Notification) then
{
private _group = group _playerObj;

View File

@ -150,6 +150,13 @@ ___
# Changelog:
### Main Branch
#### June 27, 2016 (7:00 PM CST-America):
* DMS should now properly detect VEMF markers (it wasn't working before because of a minor typo).
* DMS will now detect (and avoid) ZCP missions if you're updated to the latest version of ZCP on the test branch.
* Fixed an issue where distance wasn't shown in kill messages to group members. Thanks to Stoll on the forums for pointing that out.
* Updated function headers for functions that now have a wiki entry, as well as some clarification and cleanup.
#### June 25, 2016 (5:00 PM CST-America):
* Updated almost all map configs in regards to "DMS_findSafePosBlacklist"; they should no longer overwrite main config settings.
* Optimized "fn_isValidPosition" with the "new" throw functionality (forgot to do it earlier lol).