diff --git a/@GMS/addons/custom_server/Configs/blck_configs.sqf b/@GMS/addons/custom_server/Configs/blck_configs.sqf index e9859eb..4628e99 100644 --- a/@GMS/addons/custom_server/Configs/blck_configs.sqf +++ b/@GMS/addons/custom_server/Configs/blck_configs.sqf @@ -178,12 +178,12 @@ //////////////////// // Maximum number of missions shown on the map at any one time. - blck_maxSpawnedMissions = 4; + blck_maxSpawnedMissions = 9; //Set to -1 to disable. Values of 2 or more force the mission spawner to spawn copies of that mission - this feature is not recommended because you may run out of available groups. blck_enableOrangeMissions = 1; blck_enableGreenMissions = 1; - blck_enableRedMissions = 2; - blck_enableBlueMissions = 2; + blck_enableRedMissions = 1; + blck_enableBlueMissions = 1; blck_numberUnderwaterDynamicMissions = 5; // Values from 0 (no UMS) to N (N Underwater missions will be spawned; static UMS units and subs will be spawned. //////////////////// diff --git a/@GMS/addons/custom_server/Configs/blck_configs_mil.sqf b/@GMS/addons/custom_server/Configs/blck_configs_mil.sqf index f25cf45..e2375f0 100644 --- a/@GMS/addons/custom_server/Configs/blck_configs_mil.sqf +++ b/@GMS/addons/custom_server/Configs/blck_configs_mil.sqf @@ -184,13 +184,13 @@ // Maximum number of missions shown on the map at any one time. // Change this value to reduce the number of spawned missions at any one time. - blck_maxSpawnedMissions = 4; + blck_maxSpawnedMissions = 9; //Set to -1 to disable. Values of 2 or more force the mission spawner to spawn copies of that mission - this feature is not recommended because you may run out of available groups. blck_enableOrangeMissions = 1; blck_enableGreenMissions = 1; - blck_enableRedMissions = 2; - blck_enableBlueMissions = 2; + blck_enableRedMissions = 1; + blck_enableBlueMissions = 1; blck_numberUnderwaterDynamicMissions = 5; // Values from 0 (no UMS) to N (N Underwater missions will be spawned; static UMS units and subs will be spawned. diff --git a/MPMissions/Exile.Altis/debug/blckClient.sqf b/MPMissions/Exile.Altis/debug/blckClient.sqf index 6f7fbdc..ba9cc46 100644 --- a/MPMissions/Exile.Altis/debug/blckClient.sqf +++ b/MPMissions/Exile.Altis/debug/blckClient.sqf @@ -3,8 +3,6 @@ // Last Updated 1/11/17 // by Ghostrider-DbD- ////////////////////////////////////////// -_blck_clientVersion = "6.72 Build 82"; -//if (_blck_clientVersion != blck_pvs_version) then {diag_log "[BLCKEAGLS CLIENT] WARNING!! CLIENT VERSION DOES NOT MATCH SERVER VERSION"}; blck_fnc_spawnMarker = compileFinal preprocessfilelinenumbers "debug\spawnMarker.sqf"; blck_fnc_deleteMarker = compileFinal preprocessfilelinenumbers "debug\deleteMarker.sqf"; blck_fnc_missionCompleteMarker = compileFinal preprocessfilelinenumbers "debug\missionCompleteMarker.sqf"; @@ -156,30 +154,25 @@ if !(isServer) then }; case "reinforcements": { - if ( (player distance _mission) < 1000) then {playsound "AddItemOK"; ["Alert",_message] call fn_missionNotification;}; + if ( (player distance _mission) < 1000) then {playsound "AddItemOK"; ["Alert",_message] call fn_dynamicNotification;}; //diag_log "---->>>> Reinforcements Spotted"; }; case "IED": { - playSound "Alarm"; - ["IED","Bandit Grenades Detonated Under Your Vehicle","Nearby Explosion"] call fn_missionNotification; [1] call BIS_fnc_Earthquake; + //["IED","Bandits targeted your vehicle with an IED"] call fn_dynamicNotification; + ["Bandits targeted your vehicle with an IED.", 5] call Epoch_message; for "_i" from 1 to 3 do {playSound "BattlefieldExplosions3_3D";uiSleep 0.3;}; }; case "showScore": { [_message select 0, _message select 1, _message select 2] call fn_killScoreNotification; }; - case "abort": - { - playSound "Alarm"; - [_event,_message,"Warning"] spawn fn_missionNotification; - }; }; }; - diag_log "blck client loaded ver 10/13/17 8 PM"; + diag_log "blck client loaded ver 1/11/17 2.0 8 PM"; diag_log "[blckeagls] starting client loop"; diff --git a/MPMissions/Exile.Altis/debug/build.sqf b/MPMissions/Exile.Altis/debug/build.sqf new file mode 100644 index 0000000..b3b85e8 --- /dev/null +++ b/MPMissions/Exile.Altis/debug/build.sqf @@ -0,0 +1,3 @@ +private ["_version","_versionDate"]; +_blck_version = "6.72 Build 78"; +_blck_versionDate = "10-01-17 4:00 PM"; diff --git a/MPMissions/Exile.Altis/debug/deleteMarker.sqf b/MPMissions/Exile.Altis/debug/deleteMarker.sqf index 3ed7c11..5ad507c 100644 --- a/MPMissions/Exile.Altis/debug/deleteMarker.sqf +++ b/MPMissions/Exile.Altis/debug/deleteMarker.sqf @@ -5,10 +5,10 @@ ////////////////////////////////////////// // delete a marker -diag_log format["blck_fnc_deleteMarker:: _this = %1",_this]; +//diag_log format["blck_fnc_deleteMarker:: _this = %1",_this]; private["_markerName"]; _markerName = _this select 0; deleteMarker _markerName; _markerName = "label" + _markerName; deleteMarker _markerName; -diag_log format["deleteMarker complete script for _this = %1",_this]; +//diag_log format["deleteMarker complete script for _this = %1",_this]; diff --git a/MPMissions/Exile.Altis/debug/missionCompleteMarker.sqf b/MPMissions/Exile.Altis/debug/missionCompleteMarker.sqf index 9353c33..ea8eee7 100644 --- a/MPMissions/Exile.Altis/debug/missionCompleteMarker.sqf +++ b/MPMissions/Exile.Altis/debug/missionCompleteMarker.sqf @@ -7,7 +7,7 @@ // this will not show to JIP players private["_location","_MainMarker","_name"]; -diag_log format["blck_fnc_missionCompleteMarker:: _this = %1",_this]; +//diag_log format["blck_fnc_missionCompleteMarker:: _this = %1",_this]; _location = _this select 0; _name = str(random(1000000)) + "MarkerCleared"; _MainMarker = createMarker [_name, _location]; @@ -16,4 +16,4 @@ _MainMarker setMarkerType "n_hq"; _MainMarker setMarkerText "Mission Cleared"; uiSleep 300; deleteMarker _MainMarker; -diag_log format["missionCompleteMarker complete script for _this = %1",_this]; +//diag_log format["missionCompleteMarker complete script for _this = %1",_this]; diff --git a/MPMissions/Exile.Altis/debug/spawnMarker.sqf b/MPMissions/Exile.Altis/debug/spawnMarker.sqf index 87e67cf..32ad44a 100644 --- a/MPMissions/Exile.Altis/debug/spawnMarker.sqf +++ b/MPMissions/Exile.Altis/debug/spawnMarker.sqf @@ -1,6 +1,6 @@ //////////////////////////////////////////// // Create Mission Markers that are visible to JIP players -// 8/3/17 +// 10/14/16 // by Ghostrider-DbD- ////////////////////////////////////////// // spawn a round marker of a size and color specified in passed parameters @@ -10,8 +10,19 @@ private["_blck_fn_configureRoundMarker"]; private["_blck_fn_configureRoundMarker"]; _blck_fn_configureRoundMarker = { private["_name","_pos","_color","_size","_MainMarker","_labelType"]; + //diag_log format["_blck_fn_configureRoundMarker: -: _this = %1", _this]; params["_name","_pos","_color","_text","_size","_labelType"]; - + /* + _name = _this select 0; + _pos = _this select 1; + _color = _this select 2; + _text = _this select 3; + _size = _this select 4; + _labelType = _this select 5; + //_shape = _this select 6; + //_brush = _this select 7; + */ + //diag_log format["_blck_fn_configureRoundMarker: _pos = %1, _color = %2, _size = %3, _name = %4, label %5",_pos, _color, _size, _name, _text]; // Do not show the marker if it is in the left upper corner if ((_pos distance [0,0,0]) < 10) exitWith {}; @@ -20,11 +31,13 @@ _blck_fn_configureRoundMarker = { _MainMarker setMarkerShape "ELLIPSE"; _MainMarker setMarkerBrush "Grid"; _MainMarker setMarkerSize _size; // + //diag_log format["_blck_fn_configureRoundMarker: -: _labelType = %1", _labelType]; if (count toArray(_text) > 0) then { switch (_labelType) do { case "arrow": { + //diag_log "++++++++++++++--- marker label arrow detected"; _name = "label" + _name; _textPos = [(_pos select 0) + (count toArray (_text) * 12), (_pos select 1) - (_size select 0), 0]; _MainMarker = createMarker [_name, _textPos]; @@ -32,9 +45,11 @@ _blck_fn_configureRoundMarker = { _MainMarker setMarkerType "HD_Arrow"; _MainMarker setMarkerColor "ColorBlack"; _MainMarker setMarkerText _text; + //_MainMarker setMarkerDir 37; }; case "center": { + //diag_log "++++++++++++++--- marker label dot detected"; _name = "label" + _name; _MainMarker = createMarker [_name, _pos]; _MainMarker setMarkerShape "Icon"; @@ -49,6 +64,7 @@ _blck_fn_configureRoundMarker = { _blck_fn_configureIconMarker = { private["_MainMarker"]; params["_name","_pos",["_color","ColorBlack"],["_text",""],["_icon","mil_triangle"]]; + //diag_log format["_blck_fn_configureIconMarker: _name=%1; _pos=%2; _color=%3; _text=%4",_name,_pos,_color,_text]; _name = "label" + _name; _MainMarker = createMarker [_name, _pos]; @@ -58,10 +74,14 @@ _blck_fn_configureIconMarker = { _MainMarker setMarkerText _text; }; +//diag_log format["spawnMarker:: -- >> _this = %1",_this]; +// _this = [[""BlueMarker"",[12524.1,18204.7,0],""Bandit Patrol"",""center"",""ColorBlue"",[""ELIPSE"",[175,175]]],""ColorBlue"",""BlueMarker""]" params["_mArray"]; _mArray params["_missionType","_markerPos","_markerLabel","_markerLabelType","_markerColor","_markerType"]; _markerType params["_mShape","_mSize","_mBrush"]; +//diag_log format["spawnMarker.sqf:: -- >> _missionType %1 | _markerPos %2 | _markerLabel %3 | _markerLabelType %4 | _markerColor %5 | _markerType %6",_missionType,_markerPos,_markerLabel,_markerLabelType,_markerColor,_markerType]; + if ((_markerType select 0) in ["ELIPSE","RECTANGLE"]) then // not an Icon .... { switch (_missionType) do { @@ -72,5 +92,8 @@ if ((_markerType select 0) in ["ELIPSE","RECTANGLE"]) then // not an Icon .... }; if !((_markerType select 0) in ["ELIPSE","RECTANGLE"]) then { // Deal with case of an icon + // params["_name","_pos",["_color","ColorBlack"],["_text",""],["_icon","mil_triangle"]]; [_missionType,_markerPos, _markerColor,_markerLabel,_markerType select 0] call _blck_fn_configureIconMarker; -}; \ No newline at end of file +}; +//diag_log format["spawnMarker complete script for _this = %1",_this]; + diff --git a/MPMissions/Exile.Altis/debug/versionCheck.sqf b/MPMissions/Exile.Altis/debug/versionCheck.sqf new file mode 100644 index 0000000..9ef231a --- /dev/null +++ b/MPMissions/Exile.Altis/debug/versionCheck.sqf @@ -0,0 +1,187 @@ +//////////////////////////////////////////// +// Start Server-side functions and Create, Display Mission Messages for blckeagls mission system for Arma 3 Epoch +// Last Updated 1/11/17 +// by Ghostrider-DbD- +////////////////////////////////////////// +blck_fnc_spawnMarker = compileFinal preprocessfilelinenumbers "debug\spawnMarker.sqf"; +blck_fnc_deleteMarker = compileFinal preprocessfilelinenumbers "debug\deleteMarker.sqf"; +blck_fnc_missionCompleteMarker = compileFinal preprocessfilelinenumbers "debug\missionCompleteMarker.sqf"; +if !(isServer) then +{ + //diag_log "[blckeagls] initializing client variables"; + blck_MarkerPeristTime = 300; + blck_useHint = false; + blck_useSystemChat = true; + blck_useTitleText = false; + blck_useDynamic = true; + blck_useToast = false; // Exile only + blck_aiKilluseSystemChat = true; + blck_aiKilluseDynamic = false; + blck_aiKilluseTitleText = false; + blck_processingMsg = -1; + blck_processingKill = -1; + blck_message = ""; + + fn_killScoreNotification = { + params["_bonus","_distanceBonus","_killStreak"]; + //diag_log format["fn_killScoreNotification:: -- >> _bonus = %1 | _distanceBonus = %2 | _killStreak = %3",_bonus,_distanceBonus,_killStreak]; + _msg2 = format["AI Killed
"]; + if (typeName _bonus isEqualTo "SCALAR") then // add message for the bonus + { + if (_bonus > 0) then + { + _msg2 = _msg2 + format["Bonus +%1
",_bonus]; + }; + }; + if (typeName _distanceBonus isEqualTo "SCALAR") then // Add message for distance bonus + { + if (_distanceBonus > 0) then + { + _msg2 = _msg2 + format["Dist Bonus +%1
",_distanceBonus]; + }; + }; + if (typeName _killStreak isEqualTo "SCALAR") then + { + if (_killStreak > 0) then + { + _msg2 = _msg2 + format["Killstreak %1X
",_killStreak]; + }; + }; + [parseText _msg2,[0.0823437 * safezoneW + safezoneX,0.379 * safezoneH + safezoneY,0.0812109 * safezoneW,0.253 * safezoneH], nil, 7, 0.3, 0] spawn BIS_fnc_textTiles; + }; + + fn_dynamicNotification = { + private["_text","_screentime","_xcoord","_ycoord"]; + params["_mission","_message"]; + + waitUntil {blck_processingMsg < 0}; + blck_processingMsg = 1; + _screentime = 7; + _text = format[ + "%1

+ %2
", + _mission,_message + ]; + _ycoord = [safezoneY + safezoneH - 0.8,0.7]; + _xcoord = [safezoneX + safezoneW - 0.5,0.35]; + [_text,_xcoord,_ycoord,_screentime,0.5] spawn BIS_fnc_dynamicText; + uiSleep 3; // 3 second delay before the next message + blck_processingMsg = -1; + }; + + //diag_log "[blckeagls] initializing client functions"; + fn_missionNotification = { + params["_event","_message","_mission"]; + + if (blck_useSystemChat) then {systemChat format["%1",_message];}; + if (blck_useHint) then { + hint parseText format[ + "%1
+ ______________

+ %2
+ ______________

+ Any loot you find is yours as payment for eliminating the threat!",_mission,_message + ]; + }; + if (blck_useDynamic) then { + [_mission,_message] call fn_dynamicNotification; + }; + if (blck_useTitleText) then { + [_message] spawn { + params["_msg"]; + titleText [_msg, "PLAIN DOWN",5];uiSleep 5; titleText ["", "PLAIN DOWN",5] + }; + }; + if (blck_useToast) then + { + ["InfoTitleAndText", [_mission, _message]] call ExileClient_gui_toaster_addTemplateToast; + }; + //diag_log format["_fn_missionNotification ====] Paremeters _event %1 _message %2 _mission %3",_event,_message,_mission]; + }; + + fn_AI_KilledNotification = { + private["_message","_text","_screentime","_xcoord","_ycoord"]; + _message = _this select 0; + //diag_log format["_fn_AI_KilledNotification ====] Paremeters _event %1 _message %2 _mission %3",_message]; + if (blck_aiKilluseSystemChat) then {systemChat format["%1",_message];}; + if (blck_aiKilluseTitleText) then {titleText [_message, "PLAIN DOWN",5];uiSleep 5; titleText ["", "PLAIN DOWN",5]}; + if (blck_aiKilluseDynamic) then { + //diag_log format["blckClient.sqf:: dynamic messaging called for mission %2 with message of %1",_message]; + waitUntil{blck_processingKill < 0}; + blck_processingKill = 1; + _text = format["%1",_message]; + _xcoord = [safezoneX,0.8]; + _ycoord = [safezoneY + safezoneH - 0.5,0.2]; + _screentime = 5; + [" "+ _text,_xcoord,_ycoord,_screentime] spawn BIS_fnc_dynamicText; + uiSleep 3; + blck_processingKill = -1; + }; + }; + + fn_handleMessage = { + //private["_event","_msg","_mission"]; + //diag_log format["blck_Message ====] Paremeters = _this = %1",_this]; + params["_event","_message",["_mission",""]]; + + //diag_log format["blck_Message ====] Paremeters _event %1 _message %2 paramter #3 %3",_event,_message,_mission]; + //diag_log format["blck_Message ====] _message isEqualTo %1",_message]; + + switch (_event) do + { + case "start": + { + playSound "UAV_05"; + //diag_log "switch start"; + //_mission = _this select 1 select 2; + [_event,_message,_mission] spawn fn_missionNotification; + }; + case "end": + { + playSound "UAV_03"; + //diag_log "switch end"; + //_mission = _this select 1 select 2; + [_event,_message,_mission] spawn fn_missionNotification; + }; + case "aikilled": + { + //diag_log "switch aikilled"; + [_message] spawn fn_AI_KilledNotification; + }; + case "DLS": + { + if ( (player distance _mission) < 1000) then {playsound "AddItemOK"; hint _message;systemChat _message}; + }; + case "reinforcements": + { + if ( (player distance _mission) < 1000) then {playsound "AddItemOK"; ["Alert",_message] call fn_dynamicNotification;}; + //diag_log "---->>>> Reinforcements Spotted"; + }; + case "IED": + { + [1] call BIS_fnc_Earthquake; + //["IED","Bandits targeted your vehicle with an IED"] call fn_dynamicNotification; + ["Bandits targeted your vehicle with an IED.", 5] call Epoch_message; + for "_i" from 1 to 3 do {playSound "BattlefieldExplosions3_3D";uiSleep 0.3;}; + }; + case "showScore": + { + [_message select 0, _message select 1, _message select 2] call fn_killScoreNotification; + }; + }; + + }; + + diag_log "blck client loaded ver 1/11/17 2.0 8 PM"; + diag_log "[blckeagls] starting client loop"; + + while {true} do + { + waitUntil {!(blck_message isEqualTo "")}; + //diag_log format["[blckClient] blck_Message = %1", blck_message]; + private["_message"]; + _message = blck_message; + _message spawn fn_handleMessage; + blck_Message = ""; + }; +}; \ No newline at end of file diff --git a/MPMissions/epoch.Altis/debug/blckClient.sqf b/MPMissions/epoch.Altis/debug/blckClient.sqf index 6f7fbdc..ba9cc46 100644 --- a/MPMissions/epoch.Altis/debug/blckClient.sqf +++ b/MPMissions/epoch.Altis/debug/blckClient.sqf @@ -3,8 +3,6 @@ // Last Updated 1/11/17 // by Ghostrider-DbD- ////////////////////////////////////////// -_blck_clientVersion = "6.72 Build 82"; -//if (_blck_clientVersion != blck_pvs_version) then {diag_log "[BLCKEAGLS CLIENT] WARNING!! CLIENT VERSION DOES NOT MATCH SERVER VERSION"}; blck_fnc_spawnMarker = compileFinal preprocessfilelinenumbers "debug\spawnMarker.sqf"; blck_fnc_deleteMarker = compileFinal preprocessfilelinenumbers "debug\deleteMarker.sqf"; blck_fnc_missionCompleteMarker = compileFinal preprocessfilelinenumbers "debug\missionCompleteMarker.sqf"; @@ -156,30 +154,25 @@ if !(isServer) then }; case "reinforcements": { - if ( (player distance _mission) < 1000) then {playsound "AddItemOK"; ["Alert",_message] call fn_missionNotification;}; + if ( (player distance _mission) < 1000) then {playsound "AddItemOK"; ["Alert",_message] call fn_dynamicNotification;}; //diag_log "---->>>> Reinforcements Spotted"; }; case "IED": { - playSound "Alarm"; - ["IED","Bandit Grenades Detonated Under Your Vehicle","Nearby Explosion"] call fn_missionNotification; [1] call BIS_fnc_Earthquake; + //["IED","Bandits targeted your vehicle with an IED"] call fn_dynamicNotification; + ["Bandits targeted your vehicle with an IED.", 5] call Epoch_message; for "_i" from 1 to 3 do {playSound "BattlefieldExplosions3_3D";uiSleep 0.3;}; }; case "showScore": { [_message select 0, _message select 1, _message select 2] call fn_killScoreNotification; }; - case "abort": - { - playSound "Alarm"; - [_event,_message,"Warning"] spawn fn_missionNotification; - }; }; }; - diag_log "blck client loaded ver 10/13/17 8 PM"; + diag_log "blck client loaded ver 1/11/17 2.0 8 PM"; diag_log "[blckeagls] starting client loop"; diff --git a/MPMissions/epoch.Altis/debug/build.sqf b/MPMissions/epoch.Altis/debug/build.sqf new file mode 100644 index 0000000..b3b85e8 --- /dev/null +++ b/MPMissions/epoch.Altis/debug/build.sqf @@ -0,0 +1,3 @@ +private ["_version","_versionDate"]; +_blck_version = "6.72 Build 78"; +_blck_versionDate = "10-01-17 4:00 PM"; diff --git a/MPMissions/epoch.Altis/debug/deleteMarker.sqf b/MPMissions/epoch.Altis/debug/deleteMarker.sqf index 3ed7c11..5ad507c 100644 --- a/MPMissions/epoch.Altis/debug/deleteMarker.sqf +++ b/MPMissions/epoch.Altis/debug/deleteMarker.sqf @@ -5,10 +5,10 @@ ////////////////////////////////////////// // delete a marker -diag_log format["blck_fnc_deleteMarker:: _this = %1",_this]; +//diag_log format["blck_fnc_deleteMarker:: _this = %1",_this]; private["_markerName"]; _markerName = _this select 0; deleteMarker _markerName; _markerName = "label" + _markerName; deleteMarker _markerName; -diag_log format["deleteMarker complete script for _this = %1",_this]; +//diag_log format["deleteMarker complete script for _this = %1",_this]; diff --git a/MPMissions/epoch.Altis/debug/missionCompleteMarker.sqf b/MPMissions/epoch.Altis/debug/missionCompleteMarker.sqf index 9353c33..ea8eee7 100644 --- a/MPMissions/epoch.Altis/debug/missionCompleteMarker.sqf +++ b/MPMissions/epoch.Altis/debug/missionCompleteMarker.sqf @@ -7,7 +7,7 @@ // this will not show to JIP players private["_location","_MainMarker","_name"]; -diag_log format["blck_fnc_missionCompleteMarker:: _this = %1",_this]; +//diag_log format["blck_fnc_missionCompleteMarker:: _this = %1",_this]; _location = _this select 0; _name = str(random(1000000)) + "MarkerCleared"; _MainMarker = createMarker [_name, _location]; @@ -16,4 +16,4 @@ _MainMarker setMarkerType "n_hq"; _MainMarker setMarkerText "Mission Cleared"; uiSleep 300; deleteMarker _MainMarker; -diag_log format["missionCompleteMarker complete script for _this = %1",_this]; +//diag_log format["missionCompleteMarker complete script for _this = %1",_this]; diff --git a/MPMissions/epoch.Altis/debug/spawnMarker.sqf b/MPMissions/epoch.Altis/debug/spawnMarker.sqf index 87e67cf..32ad44a 100644 --- a/MPMissions/epoch.Altis/debug/spawnMarker.sqf +++ b/MPMissions/epoch.Altis/debug/spawnMarker.sqf @@ -1,6 +1,6 @@ //////////////////////////////////////////// // Create Mission Markers that are visible to JIP players -// 8/3/17 +// 10/14/16 // by Ghostrider-DbD- ////////////////////////////////////////// // spawn a round marker of a size and color specified in passed parameters @@ -10,8 +10,19 @@ private["_blck_fn_configureRoundMarker"]; private["_blck_fn_configureRoundMarker"]; _blck_fn_configureRoundMarker = { private["_name","_pos","_color","_size","_MainMarker","_labelType"]; + //diag_log format["_blck_fn_configureRoundMarker: -: _this = %1", _this]; params["_name","_pos","_color","_text","_size","_labelType"]; - + /* + _name = _this select 0; + _pos = _this select 1; + _color = _this select 2; + _text = _this select 3; + _size = _this select 4; + _labelType = _this select 5; + //_shape = _this select 6; + //_brush = _this select 7; + */ + //diag_log format["_blck_fn_configureRoundMarker: _pos = %1, _color = %2, _size = %3, _name = %4, label %5",_pos, _color, _size, _name, _text]; // Do not show the marker if it is in the left upper corner if ((_pos distance [0,0,0]) < 10) exitWith {}; @@ -20,11 +31,13 @@ _blck_fn_configureRoundMarker = { _MainMarker setMarkerShape "ELLIPSE"; _MainMarker setMarkerBrush "Grid"; _MainMarker setMarkerSize _size; // + //diag_log format["_blck_fn_configureRoundMarker: -: _labelType = %1", _labelType]; if (count toArray(_text) > 0) then { switch (_labelType) do { case "arrow": { + //diag_log "++++++++++++++--- marker label arrow detected"; _name = "label" + _name; _textPos = [(_pos select 0) + (count toArray (_text) * 12), (_pos select 1) - (_size select 0), 0]; _MainMarker = createMarker [_name, _textPos]; @@ -32,9 +45,11 @@ _blck_fn_configureRoundMarker = { _MainMarker setMarkerType "HD_Arrow"; _MainMarker setMarkerColor "ColorBlack"; _MainMarker setMarkerText _text; + //_MainMarker setMarkerDir 37; }; case "center": { + //diag_log "++++++++++++++--- marker label dot detected"; _name = "label" + _name; _MainMarker = createMarker [_name, _pos]; _MainMarker setMarkerShape "Icon"; @@ -49,6 +64,7 @@ _blck_fn_configureRoundMarker = { _blck_fn_configureIconMarker = { private["_MainMarker"]; params["_name","_pos",["_color","ColorBlack"],["_text",""],["_icon","mil_triangle"]]; + //diag_log format["_blck_fn_configureIconMarker: _name=%1; _pos=%2; _color=%3; _text=%4",_name,_pos,_color,_text]; _name = "label" + _name; _MainMarker = createMarker [_name, _pos]; @@ -58,10 +74,14 @@ _blck_fn_configureIconMarker = { _MainMarker setMarkerText _text; }; +//diag_log format["spawnMarker:: -- >> _this = %1",_this]; +// _this = [[""BlueMarker"",[12524.1,18204.7,0],""Bandit Patrol"",""center"",""ColorBlue"",[""ELIPSE"",[175,175]]],""ColorBlue"",""BlueMarker""]" params["_mArray"]; _mArray params["_missionType","_markerPos","_markerLabel","_markerLabelType","_markerColor","_markerType"]; _markerType params["_mShape","_mSize","_mBrush"]; +//diag_log format["spawnMarker.sqf:: -- >> _missionType %1 | _markerPos %2 | _markerLabel %3 | _markerLabelType %4 | _markerColor %5 | _markerType %6",_missionType,_markerPos,_markerLabel,_markerLabelType,_markerColor,_markerType]; + if ((_markerType select 0) in ["ELIPSE","RECTANGLE"]) then // not an Icon .... { switch (_missionType) do { @@ -72,5 +92,8 @@ if ((_markerType select 0) in ["ELIPSE","RECTANGLE"]) then // not an Icon .... }; if !((_markerType select 0) in ["ELIPSE","RECTANGLE"]) then { // Deal with case of an icon + // params["_name","_pos",["_color","ColorBlack"],["_text",""],["_icon","mil_triangle"]]; [_missionType,_markerPos, _markerColor,_markerLabel,_markerType select 0] call _blck_fn_configureIconMarker; -}; \ No newline at end of file +}; +//diag_log format["spawnMarker complete script for _this = %1",_this]; + diff --git a/MPMissions/epoch.Altis/debug/versionCheck.sqf b/MPMissions/epoch.Altis/debug/versionCheck.sqf new file mode 100644 index 0000000..9ef231a --- /dev/null +++ b/MPMissions/epoch.Altis/debug/versionCheck.sqf @@ -0,0 +1,187 @@ +//////////////////////////////////////////// +// Start Server-side functions and Create, Display Mission Messages for blckeagls mission system for Arma 3 Epoch +// Last Updated 1/11/17 +// by Ghostrider-DbD- +////////////////////////////////////////// +blck_fnc_spawnMarker = compileFinal preprocessfilelinenumbers "debug\spawnMarker.sqf"; +blck_fnc_deleteMarker = compileFinal preprocessfilelinenumbers "debug\deleteMarker.sqf"; +blck_fnc_missionCompleteMarker = compileFinal preprocessfilelinenumbers "debug\missionCompleteMarker.sqf"; +if !(isServer) then +{ + //diag_log "[blckeagls] initializing client variables"; + blck_MarkerPeristTime = 300; + blck_useHint = false; + blck_useSystemChat = true; + blck_useTitleText = false; + blck_useDynamic = true; + blck_useToast = false; // Exile only + blck_aiKilluseSystemChat = true; + blck_aiKilluseDynamic = false; + blck_aiKilluseTitleText = false; + blck_processingMsg = -1; + blck_processingKill = -1; + blck_message = ""; + + fn_killScoreNotification = { + params["_bonus","_distanceBonus","_killStreak"]; + //diag_log format["fn_killScoreNotification:: -- >> _bonus = %1 | _distanceBonus = %2 | _killStreak = %3",_bonus,_distanceBonus,_killStreak]; + _msg2 = format["AI Killed
"]; + if (typeName _bonus isEqualTo "SCALAR") then // add message for the bonus + { + if (_bonus > 0) then + { + _msg2 = _msg2 + format["Bonus +%1
",_bonus]; + }; + }; + if (typeName _distanceBonus isEqualTo "SCALAR") then // Add message for distance bonus + { + if (_distanceBonus > 0) then + { + _msg2 = _msg2 + format["Dist Bonus +%1
",_distanceBonus]; + }; + }; + if (typeName _killStreak isEqualTo "SCALAR") then + { + if (_killStreak > 0) then + { + _msg2 = _msg2 + format["Killstreak %1X
",_killStreak]; + }; + }; + [parseText _msg2,[0.0823437 * safezoneW + safezoneX,0.379 * safezoneH + safezoneY,0.0812109 * safezoneW,0.253 * safezoneH], nil, 7, 0.3, 0] spawn BIS_fnc_textTiles; + }; + + fn_dynamicNotification = { + private["_text","_screentime","_xcoord","_ycoord"]; + params["_mission","_message"]; + + waitUntil {blck_processingMsg < 0}; + blck_processingMsg = 1; + _screentime = 7; + _text = format[ + "%1

+ %2
", + _mission,_message + ]; + _ycoord = [safezoneY + safezoneH - 0.8,0.7]; + _xcoord = [safezoneX + safezoneW - 0.5,0.35]; + [_text,_xcoord,_ycoord,_screentime,0.5] spawn BIS_fnc_dynamicText; + uiSleep 3; // 3 second delay before the next message + blck_processingMsg = -1; + }; + + //diag_log "[blckeagls] initializing client functions"; + fn_missionNotification = { + params["_event","_message","_mission"]; + + if (blck_useSystemChat) then {systemChat format["%1",_message];}; + if (blck_useHint) then { + hint parseText format[ + "%1
+ ______________

+ %2
+ ______________

+ Any loot you find is yours as payment for eliminating the threat!",_mission,_message + ]; + }; + if (blck_useDynamic) then { + [_mission,_message] call fn_dynamicNotification; + }; + if (blck_useTitleText) then { + [_message] spawn { + params["_msg"]; + titleText [_msg, "PLAIN DOWN",5];uiSleep 5; titleText ["", "PLAIN DOWN",5] + }; + }; + if (blck_useToast) then + { + ["InfoTitleAndText", [_mission, _message]] call ExileClient_gui_toaster_addTemplateToast; + }; + //diag_log format["_fn_missionNotification ====] Paremeters _event %1 _message %2 _mission %3",_event,_message,_mission]; + }; + + fn_AI_KilledNotification = { + private["_message","_text","_screentime","_xcoord","_ycoord"]; + _message = _this select 0; + //diag_log format["_fn_AI_KilledNotification ====] Paremeters _event %1 _message %2 _mission %3",_message]; + if (blck_aiKilluseSystemChat) then {systemChat format["%1",_message];}; + if (blck_aiKilluseTitleText) then {titleText [_message, "PLAIN DOWN",5];uiSleep 5; titleText ["", "PLAIN DOWN",5]}; + if (blck_aiKilluseDynamic) then { + //diag_log format["blckClient.sqf:: dynamic messaging called for mission %2 with message of %1",_message]; + waitUntil{blck_processingKill < 0}; + blck_processingKill = 1; + _text = format["%1",_message]; + _xcoord = [safezoneX,0.8]; + _ycoord = [safezoneY + safezoneH - 0.5,0.2]; + _screentime = 5; + [" "+ _text,_xcoord,_ycoord,_screentime] spawn BIS_fnc_dynamicText; + uiSleep 3; + blck_processingKill = -1; + }; + }; + + fn_handleMessage = { + //private["_event","_msg","_mission"]; + //diag_log format["blck_Message ====] Paremeters = _this = %1",_this]; + params["_event","_message",["_mission",""]]; + + //diag_log format["blck_Message ====] Paremeters _event %1 _message %2 paramter #3 %3",_event,_message,_mission]; + //diag_log format["blck_Message ====] _message isEqualTo %1",_message]; + + switch (_event) do + { + case "start": + { + playSound "UAV_05"; + //diag_log "switch start"; + //_mission = _this select 1 select 2; + [_event,_message,_mission] spawn fn_missionNotification; + }; + case "end": + { + playSound "UAV_03"; + //diag_log "switch end"; + //_mission = _this select 1 select 2; + [_event,_message,_mission] spawn fn_missionNotification; + }; + case "aikilled": + { + //diag_log "switch aikilled"; + [_message] spawn fn_AI_KilledNotification; + }; + case "DLS": + { + if ( (player distance _mission) < 1000) then {playsound "AddItemOK"; hint _message;systemChat _message}; + }; + case "reinforcements": + { + if ( (player distance _mission) < 1000) then {playsound "AddItemOK"; ["Alert",_message] call fn_dynamicNotification;}; + //diag_log "---->>>> Reinforcements Spotted"; + }; + case "IED": + { + [1] call BIS_fnc_Earthquake; + //["IED","Bandits targeted your vehicle with an IED"] call fn_dynamicNotification; + ["Bandits targeted your vehicle with an IED.", 5] call Epoch_message; + for "_i" from 1 to 3 do {playSound "BattlefieldExplosions3_3D";uiSleep 0.3;}; + }; + case "showScore": + { + [_message select 0, _message select 1, _message select 2] call fn_killScoreNotification; + }; + }; + + }; + + diag_log "blck client loaded ver 1/11/17 2.0 8 PM"; + diag_log "[blckeagls] starting client loop"; + + while {true} do + { + waitUntil {!(blck_message isEqualTo "")}; + //diag_log format["[blckClient] blck_Message = %1", blck_message]; + private["_message"]; + _message = blck_message; + _message spawn fn_handleMessage; + blck_Message = ""; + }; +}; \ No newline at end of file