Added several improvements to the user interface. See Changlog for details
Added mission notifications using Toasts (Exile Only) Added Killer notifications that display Bonus Recieved for the Kill. Minor corrections of typos and bug fixes
This commit is contained in:
parent
aa7ed60592
commit
4a2e7088b9
@ -1,16 +0,0 @@
|
||||
//This script sends Message Information to allplayers
|
||||
// Last modified 9/3/15 by Ghostrider-DBD-
|
||||
|
||||
blck_Message = _this;
|
||||
//diag_log format["AIM.sqf ===] _this = %1",_this];
|
||||
{
|
||||
//diag_log format["AIM.sqf ===] (owner _x) = %1", (owner _x)];
|
||||
(owner _x) publicVariableClient "blck_Message";
|
||||
} forEach playableUnits;
|
||||
/*
|
||||
if (_modType isEqualTo "Exile") then
|
||||
{
|
||||
[_blck_Message] remoteExec["fn_blck_MessageHandler",0];
|
||||
};
|
||||
*/
|
||||
|
@ -3,10 +3,10 @@
|
||||
|
||||
//blck_Message = _this;
|
||||
params["_msg",["_players",playableUnits]];
|
||||
diag_log format["AIM.sqf ===] _this = %1 | _msg = %2 | _players = %3",_this,_msg, _players];
|
||||
//diag_log format["AIM.sqf ===] _this = %1 | _msg = %2 | _players = %3",_this,_msg, _players];
|
||||
blck_Message = _msg;
|
||||
{
|
||||
diag_log format["AIM.sqf ===] _ = %2, and (owner _x) = %1", (owner _x), _x];
|
||||
//diag_log format["AIM.sqf ===] _ = %2, and (owner _x) = %1", (owner _x), _x];
|
||||
(owner _x) publicVariableClient "blck_Message";
|
||||
} forEach _players;
|
||||
/*
|
||||
|
@ -4,7 +4,7 @@
|
||||
By Ghostrider-DbD-
|
||||
11/16/16
|
||||
*/
|
||||
if (_fnc_cleanEmptyGroups) then
|
||||
if (true) then
|
||||
{
|
||||
diag_log format ["_fnc_cleanEmptyGroups:: -- >> group count = %1 ",(count allGroups)];
|
||||
};
|
||||
|
@ -11,6 +11,8 @@ private _index = 0;
|
||||
_timeAccelUpdated = diag_tickTime;
|
||||
_timer1min = diag_tickTime;
|
||||
_timer5min = diag_tickTime;
|
||||
_timer10Min = diag_tickTime;
|
||||
_modType = [] call blck_fnc_getModType;
|
||||
while {true} do
|
||||
{
|
||||
uiSleep blck_mainThreadUpdateInterval;
|
||||
@ -33,16 +35,24 @@ while {true} do
|
||||
}forEach blck_oldMissionObjects;
|
||||
|
||||
[] call GMS_fnc_cleanupDeadAI;
|
||||
|
||||
if ((diag_tickTime - _timeAccelUpdated) > 300) then
|
||||
{
|
||||
[] call blck_fnc_timeAcceleration;
|
||||
_timeAccelUpdated = diag_tickTime;
|
||||
};
|
||||
|
||||
if (blck_useHC) then {[] call blck_fnc_monitorHC;};
|
||||
[] call blck_fnc_cleanEmptyGroups;
|
||||
|
||||
if (_modType isEqualTo "Epoch") then {[] call blck_fnc_cleanEmptyGroups;}; // Exile cleans up empty groups automatically so this should not be needed with that mod.
|
||||
};
|
||||
|
||||
|
||||
if ((diag_tickTime - _timer5min) > 300) then {
|
||||
[] call blck_fnc_timeAcceleration;
|
||||
if (blck_useHC) then {[] call blck_fnc_monitorHC;};
|
||||
_timer5min = diag_tickTime;
|
||||
};
|
||||
|
||||
/*
|
||||
if ((diag_tickTime - _timer10Min) > 600) then
|
||||
{
|
||||
// Reserved for future use
|
||||
_timer10Min = diag_tickTime;
|
||||
};
|
||||
*/
|
||||
/*
|
||||
{
|
||||
if (_x select 6 > 0) then // The mission is not running, check the time left till it is spawned
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
Handle AI Deaths
|
||||
Last Modified 11/6/16
|
||||
Last Modified 11/20/16
|
||||
By Ghostrider-DBD-
|
||||
Copyright 2016
|
||||
*/
|
||||
@ -20,6 +20,9 @@ if (blck_removeNVG) then {[_unit] spawn blck_fnc_removeNVG;};
|
||||
if !(isPlayer _killer) exitWith {};
|
||||
[_unit,_killer] call blck_fnc_alertNearbyUnits;
|
||||
_isLegal = [_unit,_killer] call blck_fnc_processIlleagalAIKills;
|
||||
|
||||
if !(_isLegal) exitWith {};
|
||||
|
||||
_lastkill = _killer getVariable["blck_lastkill",diag_tickTime];
|
||||
_killer setVariable["blck_lastkill",diag_tickTime];
|
||||
_kills = (_killer getVariable["blck_kills",0]) + 1;
|
||||
@ -29,9 +32,10 @@ if ((diag_tickTime - _lastkill) < 240) then
|
||||
} else {
|
||||
_killer setVariable["blck_kills",0];
|
||||
};
|
||||
if (_isLegal) then {[_unit,_killer,_kills] call blck_fnc_rewardKiller;};
|
||||
|
||||
_weapon = currentWeapon _killer;
|
||||
_killstreakMsg = format[" %1X KILLSTREAK",_kills];
|
||||
|
||||
if (blck_useKilledAIName) then
|
||||
{
|
||||
_message = format["[blck] %2: killed by %1 from %3m",name _killer,name _unit,round(_unit distance _killer)];
|
||||
@ -39,8 +43,9 @@ if (blck_useKilledAIName) then
|
||||
_message = format["[blck] %1 killed with %2 from %3 meters",name _killer,getText(configFile >> "CfgWeapons" >> _weapon >> "DisplayName"), round(_unit distance _killer)];
|
||||
};
|
||||
_message =_message + _killstreakMsg;
|
||||
//diag_log format["[blck] unit killed message is %1",_message,""];
|
||||
diag_log format["[blck] unit killed message is %1",_message,""];
|
||||
[["aikilled",_message,"victory"]] call blck_fnc_messageplayers;
|
||||
[_unit,_killer,_kills] call blck_fnc_rewardKiller;
|
||||
{
|
||||
_unit removeAllEventHandlers _x;
|
||||
}forEach ["Killed","Fired","HandleDamage","HandleHeal","FiredNear"]
|
||||
|
@ -34,9 +34,10 @@ if (_modType isEqualTo "Epoch") then
|
||||
if (_dist < 800) then { _reward = _maxReward - (_maxReward / 2); _reward };
|
||||
if (_dist > 800) then { _reward = _maxReward - (_maxReward / 4); _reward };
|
||||
|
||||
_reward=+(_kills*2);
|
||||
private _killstreakReward=+(_kills*2);
|
||||
//diag_log format["fnd_rewardKiller:: _bonus returned will be %1",_reward];
|
||||
[_killer,_reward] call blck_fnc_giveTakeCrypto;
|
||||
[_killer,_reward + _killstreakReward] call blck_fnc_giveTakeCrypto;
|
||||
[["showScore",[_reward,"",_kills],""],[_killer]] call blck_fnc_messageplayers;
|
||||
};
|
||||
};
|
||||
|
||||
@ -59,8 +60,8 @@ if (_modType isEqualTo "Exile") then
|
||||
_killer setVariable ["ExileMoney", _money];
|
||||
format["setAccountMoney:%1:%2", _money, (getPlayerUID _killer)] call ExileServer_system_database_query_fireAndForget;
|
||||
_message = ["showFragRequest",_overallRespectChange];
|
||||
//_message remoteExecCall ["ExileClient_system_network_dispatchIncomingMessage", (owner _killer)];
|
||||
_killer call ExileServer_object_player_sendStatsUpdate;
|
||||
[["showScore",[50,_distanceBonus,_kills]], [_killer]] call blck_fnc_messageplayers;
|
||||
};
|
||||
|
||||
//_reward
|
||||
|
@ -0,0 +1,21 @@
|
||||
/*
|
||||
|
||||
|
||||
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.
|
||||
damage: Number - Resulting level of damage for the selection.
|
||||
source: Object - The source unit that caused the damage.
|
||||
projectile: String - Classname of the projectile that caused inflicted the damage. ("" for unknown, such as falling damage.)
|
||||
|
||||
(Since Arma 3 v 1.49.131802)
|
||||
|
||||
hitPartIndex: Number - Hit part index of the hit point, -1 otherwise.
|
||||
*/
|
||||
|
||||
private ["_unit","_killer","_group","_deleteAI_At"];
|
||||
_unit = _this select 0;
|
||||
_source = _this select 3;
|
||||
|
||||
if (isPlayer _source) then {
|
||||
[_unit,_source] call GRMS_fnc_alertGroup;
|
||||
};
|
@ -0,0 +1,23 @@
|
||||
|
||||
/*
|
||||
Send player a mesage regarding reward for the kill.
|
||||
|
||||
*/
|
||||
|
||||
params["_killer","_distanceBonus"];
|
||||
private["_kills","_mt"];
|
||||
_mt = call blck_fnc_getModType;
|
||||
diag_log format["_fnc_sendRewardMessage:: -- >> _this = %1 and mod type = %2",_this, _mt];
|
||||
|
||||
if (_mt isEqualTo "Exile") then
|
||||
{
|
||||
_kills = getVariable [_killer,"ExileKills"];
|
||||
private _killerMsg = [];
|
||||
_killerMsg pushback "Enemy AI Killed";
|
||||
_killerMsg pushback _newKillerScore;
|
||||
_killerMsg pushback format["%1X Killstreak",_kills];
|
||||
_killerMsg pushback format["Killstreak Bonus %1",(_kills*2)];
|
||||
private _message = ["showFragRequest",_killerMsg];
|
||||
diag_log format ["_fnc_rewardKiller:: -- >> _killer %1 _kills %2 _distanceBonus %3 _killerMsg = %1",_killer, _kills, _distanceBonus, _killerMsg];
|
||||
_message remoteExecCall ["ExileClient_system_network_dispatchIncomingMessage", (owner _killer)];
|
||||
};
|
@ -19,6 +19,7 @@ blck_fnc_getModType = compileFinal preprocessFileLineNumbers "\q\addons\custom_
|
||||
// Player-related functions
|
||||
blck_fnc_rewardKiller = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_rewardKiller.sqf";
|
||||
blck_fnc_MessagePlayers = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_AIM.sqf"; // Send messages to players regarding Missions
|
||||
//blck_fnc_sendRewardMessage = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_sendRewardMessage.sqf";
|
||||
|
||||
// Mission-related functions
|
||||
blck_fnc_missionTimer = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionTimer.sqf";
|
||||
|
@ -4,6 +4,9 @@ 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.
|
||||
|
||||
11/20/16 Build 6.45 Build 16
|
||||
Added Option to display mission information in Toasts (Exile Only).
|
||||
|
||||
11/16/16 Version 6.44 Build 15
|
||||
Added parameters
|
||||
blck_blacklistTraderCities=true; // the locations of the Epoch/Exile trader cities will be pulled from the config and added to the location blacklist for the mission system.
|
||||
|
Loading…
Reference in New Issue
Block a user