v0.7.6 build 17

This commit is contained in:
Bjanski 2016-06-09 22:01:12 +02:00
parent 5d11afc426
commit b9f820ba87
25 changed files with 114 additions and 30 deletions

View File

@ -28,8 +28,12 @@ if((_object getVariable ["ExAd_Grinding_progress", 0]) >= ExAd_GRINDING_OBJECT_M
_databaseID = _object getVariable ["ExileDatabaseID",0];
format ["addDoorLock:%1:%2","000000",_databaseID] call ExileServer_system_database_query_fireAndForget;
["Grinding", format["Grind successful: Territory ID - %2|Object ID - %3", _object setVariable ["ExileTerritoryID", -1], _object getVariable ["ExileDatabaseID",0]]] call ExAdServer_fnc_log;
};
_object setVariable ["ExAd_Grinding_progress", (_object getVariable ["ExAd_Grinding_progress", 0]) + ExAd_GRINDING_PROGRESS, true];
true

View File

@ -24,4 +24,6 @@ if(isNull _object)exitWith{false};
_object setVariable ["ExAd_Grinding_progress", 0, true];
["Grinding", format["Lock restored: Territory ID - %2|Object ID - %3", _object setVariable ["ExileTerritoryID", -1], _object getVariable ["ExileDatabaseID",0]]] call ExAdServer_fnc_log;
true

View File

@ -22,7 +22,8 @@ _player = objectFromNetId ([_this, 1, "",[""]] call BIS_fnc_param);
if(isNull _object || isNull _player)exitWith{false};
if(((((getPos _object) nearObjects ["Exile_Construction_Flag_Static", 150]) select 0) getVariable ["ExAd_HACKS_SUCCEEDED",0]) >= ExAd_HACKING_TERRITORY_MAX)exitWith{
_flag = ((getPos _object) nearObjects ["Exile_Construction_Flag_Static", 150]) select 0;
if(_flag getVariable ["ExAd_HACKS_SUCCEEDED",0] >= ExAd_HACKING_TERRITORY_MAX)exitWith{
[STR_ExAd_HACKING_NOTI_MAX_TERRITORY_HACKS_REACHED ,0,0.6,2,0] remoteExec ["BIS_fnc_dynamicText",owner _player];
};
@ -36,6 +37,8 @@ if(isNil "ExAd_HACKS_IN_PROGRESS")then{
ExAd_HACKS_IN_PROGRESS = 0;
};
["Hacking", format["Hack started: Player - %1(%2)|Territory - %3|Hacks in motion - %4",name _player, getPlayerUID _player, _flag getVariable ["ExileTerritoryName", "Unknown"], ExAd_HACKS_IN_PROGRESS]] call ExAdServer_fnc_log;
_pos = _player modelToWorld [0, +0.5, 0];
_pos set [2,((getPosATL _player) select 2)];
@ -47,8 +50,8 @@ _laptop animate ["LaptopLidRotation", 1];
_player removeItem "Exile_Item_Laptop";
[_object, _player, _laptop] spawn {
params ["_object","_player","_laptop","_markers","_marker","_success","_ticks","_newSize","_destroy","_msg"];
[_object, _player, _laptop, _flag] spawn {
params ["_object","_player","_laptop","_flag","_markers","_marker","_success","_ticks","_newSize","_destroy","_msg"];
UISleep 2;
(parseText (format["<t color='%1' size='%2' font='%3'>%4</t><br/><t color='%5' size='%6' font='%7'>%8</t>", ExAd_Hint_Title_Color, ExAd_Hint_Title_Size, ExAd_Hint_Title_Font,STR_ExAd_HACKING_HINT_TITLE, ExAd_Hint_Msg_Color, ExAd_Hint_Msg_Size, ExAd_Hint_Msg_Font, STR_ExAd_HACKING_HINT_HACK_START])) remoteExec ["hint", -2];
@ -86,7 +89,6 @@ _player removeItem "Exile_Item_Laptop";
_destroy = false;
_msg = if(_success && ((random 1) > ExAd_HACKING_FAILED_HACK))then{
_flag = ((getPos _object) nearObjects ["Exile_Construction_Flag_Static", 150]) select 0;
_flag setVariable ["ExAd_HACKS_SUCCEEDED", (_flag getVariable ["ExAd_HACKS_SUCCEEDED",0]) + 1];
if(_object isKindOf "Exile_Construction_Flag_Static")then{
if(!isClass(configFile >> "CfgPatches" >> "ExAd_VG"))then{
@ -113,20 +115,28 @@ _player removeItem "Exile_Item_Laptop";
_vehObj setPosATL _pos;
_vehObj lock 0;
format[STR_ExAd_HACKING_NOTI_VG_SUCCESS, (getText(ConfigFile >> "CfgVehicles" >> typeOf _vehObj >> "displayName"))]
_displayName = getText(ConfigFile >> "CfgVehicles" >> typeOf _vehObj >> "displayName");
["Hacking", format["Hack Successful: Territory - %1| Virtual Garage - %2(%3)",_flag getVariable ["ExileTerritoryName", "Unknown"], _displayName, _objId]] call ExAdServer_fnc_log;
format[STR_ExAd_HACKING_NOTI_VG_SUCCESS, _displayName]
}else{
["Hacking", format["Hack Successful: Territory - %1| Virtual Garage - No Vehicle",_flag getVariable ["ExileTerritoryName", "Unknown"]]] call ExAdServer_fnc_log;
STR_ExAd_HACKING_NOTI_VG_NO_VEH
}
}
}else{
["Hacking", format["Hack Successful: Territory - %1| Safe(%2) opened",_flag getVariable ["ExileTerritoryName", "Unknown"], _object getVariable ["ExileDatabaseID", -1]]] call ExAdServer_fnc_log;
_object setVariable ["ExileIsLocked",0,true];
STR_ExAd_HACKING_NOTI_SAFE_SUCCESS
}
}else{
if(_laptop getVariable ["ExAd_HACK_INTERUPTED",false])then{
["Hacking", format["Hack Interupted: Territory - %1",_flag getVariable ["ExileTerritoryName", "Unknown"]]] call ExAdServer_fnc_log;
STR_ExAd_HACKING_NOTI_INTERUPTED
}else{
_destroy = true;
["Hacking", format["Hack Failed: Territory - %1",_flag getVariable ["ExileTerritoryName", "Unknown"]]] call ExAdServer_fnc_log;
STR_ExAd_HACKING_NOTI_FAILED
}
};

View File

@ -1,15 +1,18 @@
#<img src="logo.png" alt="ExAd" width="200" />
# Changelog:
## 16 . v0.7.6
## 160610 . v0.7.6
###Fixed
* Quick-fix - VG App scroll for stored list(Virtual Garage)
* The configuration file could be reed after the postInit script (All) - IMPORTANT TO UPDATE ALL PLUGINS.
###Added
* Extra loggin functionality (All)
* Progress bar height customizable (Grinder)
* Progress bar height customizable (Grinding)
* Added a lot of new custom UI Display texts - Check stringtabl.xml for new ones. (All)
* Added vehicle details to VirtualGarage DetailsView (Virtual Garage)
* Added function ExAd_fnc_territoryPlayerPresent, to see if a player with permissions for a specific flag is online (Core)
* Added a feature so the server owner can decide if hacking should require a player with premissions to be online.(Hacking)
## 160510 21:00 . v0.7.5
###Fixed

View File

@ -1,6 +1,15 @@
#Grinding
## Changelog:
### v0.7.6
####Fixed
* The configuration file could be reed after the postInit script - IMPORTANT TO UPDATE ALL PLUGINS.
###Added
* Extra loggin functionality
* Added a lot of new custom UI Display texts - Check stringtabl.xml for new ones.
* Progress bar height customizable
### v0.7.3
#### Fixed
* Declaration of un custamized variables

View File

@ -1,5 +1,11 @@
#Grinding
## Instructions:
### v0.7.6
* Replace or merge "mpmissions\Exile.<map>\ExAdClient\Grinding\customize.sqf"
* Replace or merge "mpmissions\Exile.<map>\stringtable.xml"
* Replace "mpmissions\Exile.<map>\ExAdClient\Grinding" - Big update
* Replace and pack "@ExileServer\addons\exad_grinding"
### v0.7.3
* Replace "mpmissions\Exile.<map>\ExAdClient\Grinding\postInit.sqf"

View File

@ -1,6 +1,15 @@
#Hacking
## Changelog:
### v0.7.6
####Fixed
* The configuration file could be reed after the postInit script - IMPORTANT TO UPDATE ALL PLUGINS.
###Added
* Extra loggin functionality
* Added a lot of new custom UI Display texts - Check stringtabl.xml for new ones.
* Added a feature so the server owner can decide if hacking should require a player with premissions to be online.
### v0.7.3
#### Fixed
* Cleaned the server code

View File

@ -1,5 +1,11 @@
#Hacking
## Instructions:
### v0.7.6
* Replace or merge "mpmissions\Exile.<map>\ExAdClient\Hacking\customize.sqf"
* Replace or merge "mpmissions\Exile.<map>\stringtable.xml"
* Replace "mpmissions\Exile.<map>\ExAdClient\Hacking" - Big update
* Replace and pack "@ExileServer\addons\exad_hacking"
### v0.7.3
* Replace and pack "@ExileServer\addons\exad_hacking"

View File

@ -1,6 +1,14 @@
#HaloParachute
## Changelog:
### v0.7.6
####Fixed
* The configuration file could be reed after the postInit script - IMPORTANT TO UPDATE ALL PLUGINS.
###Added
* Extra loggin functionality
* Added a lot of new custom UI Display texts - Check stringtabl.xml for new ones.
## v0.7.5
###Fixed
* Syntax error in postInit.sqf

View File

@ -1,6 +1,11 @@
#HaloParachute
## Instructions:
### v0.7.6
* Replace or merge "mpmissions\Exile.<map>\ExAdClient\HaloParachute\customize.sqf"
* Replace or merge "mpmissions\Exile.<map>\stringtable.xml"
* Replace "mpmissions\Exile.<map>\ExAdClient\HaloParachute" - Big update
## v0.7.5
* replace "mpmissions\Exile.<map>\ExAdClient\HaloParachute\postInit.sqf"
* replace "mpmissions\Exile.<map>\ExAdClient\HaloParachute\Functions"

View File

@ -5,6 +5,7 @@
## v0.7.6
###Fixed
* Quick-fix - VG App scroll for stored list
* The configuration file could be reed after the postInit script - IMPORTANT TO UPDATE ALL PLUGINS.
###Added
* Extra loggin functionality

View File

@ -1,7 +1,7 @@
#VirtualGarage
## Instructions:
### v0.7.6
### v0.7.6
* Replace or merge "mpmissions\Exile.<map>\ExAdClient\VG\customize.sqf"
* Replace or merge "mpmissions\Exile.<map>\stringtable.xml"
* Replace "mpmissions\Exile.<map>\ExAdClient\VG" - Big update

View File

@ -2,9 +2,13 @@
## Changelog:
### v0.7.6
####Fixed
* The configuration file could be reed after the postInit script - IMPORTANT TO UPDATE ALL PLUGINS.
####Added
* Extra loggin functionality
* Changeable variables for logging functionality
* Added function ExAd_fnc_territoryPlayerPresent, to see if a player with permissions for a specific flag is online
### v0.7.3
#### Fixed

View File

@ -2,9 +2,9 @@
## Instructions:
### v0.7.6
* Replace "mpmissions\Exile.<map>\ExAdClient\Core\postInit.sqf"
* Replace or merge "mpmissions\Exile.<map>\ExAdClient\Core\customize.sqf"
* Replace or merge "mpmissions\Exile.<map>\stringtable.xml"
* Replace "mpmissions\Exile.<map>\ExAdClient\Core" - Big update
* Replace and pack "@ExileServer\addons\exad_core"
### v0.7.3

View File

@ -31,4 +31,5 @@ class Utilities
class call {};
class getNearByLocalVeh {};
class localize {};
class territoryPlayerPresent {};
};

View File

@ -0,0 +1 @@
/* fn_territoryPlayerPresent.sqf Copyright 2016 Jan Babor Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ params ["_flag","_res"]; _res = false; { if([ExileClientInteractionObject, getPlayerUID _x] call ExileClient_util_territory_getAccessLevel > 0)exitWith{_res = true}; }forEach playableUnits _res

View File

@ -16,7 +16,8 @@
limitations under the License.
*/
execVM "ExAdClient\Core\customize.sqf";
_path = "ExAdClient\Core\customize.sqf";
call compile preprocessFileLineNumbers _path;
if(isNil "ExAd_Debug")then{ExAd_Debug = true;};
if(isNil "ExAd_Logging")then{ExAd_Logging = true;};

View File

@ -31,25 +31,27 @@ player playActionNow "medicStart";
ExAd_DRAW3D_HANDLER = addMissionEventHandler ["Draw3D", {
private ["_object","_progress"];
_height = ExAd_GRINDING_PROGRESSBAR_POS;
_object = if(isNil "ExAd_GRINDING_OBJECT")then{cursorTarget}else{ExAd_GRINDING_OBJECT};
_progress = 1 min ((_object getVariable ["ExAd_Grinding_progress", 1]) / ExAd_GRINDING_OBJECT_MAX);
drawLine3D [cursorTarget modelToWorld [-0.5, -0.15, 1], cursorTarget modelToWorld [0.5, -0.15, 1], [0,0,0,1]];
drawLine3D [cursorTarget modelToWorld [-0.5, -0.15, 0.95], cursorTarget modelToWorld [0.5, -0.15, 0.95], [0,0,0,1]];
drawLine3D [cursorTarget modelToWorld [-0.5, 0.15, 1], cursorTarget modelToWorld [0.5, 0.15, 1], [0,0,0,1]];
drawLine3D [cursorTarget modelToWorld [-0.5, 0.15, 0.95], cursorTarget modelToWorld [0.5, 0.15, 0.95], [0,0,0,1]];
drawLine3D [cursorTarget modelToWorld [-0.5, -0.15, _height], cursorTarget modelToWorld [0.5, -0.15, _height], [0,0,0,1]];
drawLine3D [cursorTarget modelToWorld [-0.5, -0.15, _height - 0.05], cursorTarget modelToWorld [0.5, -0.15, _height - 0.05], [0,0,0,1]];
drawLine3D [cursorTarget modelToWorld [-0.5, 0.15, _height], cursorTarget modelToWorld [0.5, 0.15, _height], [0,0,0,1]];
drawLine3D [cursorTarget modelToWorld [-0.5, 0.15, _height - 0.05], cursorTarget modelToWorld [0.5, 0.15, _height - 0.05], [0,0,0,1]];
drawLine3D [cursorTarget modelToWorld [-0.5, -0.15, 1], cursorTarget modelToWorld [-0.5, -0.15, 0.95], [0,0,0,1]];
drawLine3D [cursorTarget modelToWorld [0.5, -0.15, 1], cursorTarget modelToWorld [0.5, -0.15, 0.95], [0,0,0,1]];
drawLine3D [cursorTarget modelToWorld [-0.5, 0.15, 1], cursorTarget modelToWorld [-0.5, 0.15, 0.95], [0,0,0,1]];
drawLine3D [cursorTarget modelToWorld [0.5, -0.15, 1], cursorTarget modelToWorld [0.5, -0.15, 0.95], [0,0,0,1]];
drawLine3D [cursorTarget modelToWorld [-0.5, -0.15, _height], cursorTarget modelToWorld [-0.5, -0.15, _height - 0.05], [0,0,0,1]];
drawLine3D [cursorTarget modelToWorld [0.5, -0.15, _height], cursorTarget modelToWorld [0.5, -0.15, _height - 0.05], [0,0,0,1]];
drawLine3D [cursorTarget modelToWorld [-0.5, 0.15, _height], cursorTarget modelToWorld [-0.5, 0.15, _height - 0.05], [0,0,0,1]];
drawLine3D [cursorTarget modelToWorld [0.5, -0.15, _height], cursorTarget modelToWorld [0.5, -0.15, _height - 0.05], [0,0,0,1]];
for "_i" from 1 to 49 do {
drawLine3D [cursorTarget modelToWorld [-0.5, -0.15, 1 - (0.001 * _i)], cursorTarget modelToWorld [((-0.5) + _progress), -0.15, 1 - (0.001 * _i)], [1,0.482,0,1]];
drawLine3D [cursorTarget modelToWorld [0.5, 0.15, 1 - (0.001 * _i)], cursorTarget modelToWorld [((0.5) - _progress), 0.15, 1 - (0.001 * _i)], [1,0.482,0,1]];
drawLine3D [cursorTarget modelToWorld [-0.5, -0.15, _height - (0.001 * _i)], cursorTarget modelToWorld [((-0.5) + _progress), -0.15, _height - (0.001 * _i)], [1,0.482,0,1]];
drawLine3D [cursorTarget modelToWorld [0.5, 0.15, _height - (0.001 * _i)], cursorTarget modelToWorld [((0.5) - _progress), 0.15, _height - (0.001 * _i)], [1,0.482,0,1]];
drawLine3D [cursorTarget modelToWorld [0.5, -0.15, 1 - (0.001 * _i)], cursorTarget modelToWorld [((-0.5) + _progress), -0.15, 1 - (0.001 * _i)], [0.55,0.55,0.55,1]];
drawLine3D [cursorTarget modelToWorld [-0.5, 0.15, 1 - (0.001 * _i)], cursorTarget modelToWorld [((0.5) - _progress), 0.15, 1 - (0.001 * _i)], [0.55,0.55,0.55,1]];
drawLine3D [cursorTarget modelToWorld [0.5, -0.15, _height - (0.001 * _i)], cursorTarget modelToWorld [((-0.5) + _progress), -0.15, _height - (0.001 * _i)], [0.55,0.55,0.55,1]];
drawLine3D [cursorTarget modelToWorld [-0.5, 0.15, _height - (0.001 * _i)], cursorTarget modelToWorld [((0.5) - _progress), 0.15, _height - (0.001 * _i)], [0.55,0.55,0.55,1]];
}
}];

View File

@ -16,7 +16,8 @@
limitations under the License.
*/
execVM "ExAdClient\Grinding\customize.sqf";
_path = "ExAdClient\Grinding\customize.sqf";
call compile preprocessFileLineNumbers _path;
if(isNil "ExAd_GRINDING_PROGRESS_INTERVALL")then{ExAd_GRINDING_PROGRESS_INTERVALL = 60;};
if(isNil "ExAd_GRINDING_PROGRESS")then{ExAd_GRINDING_PROGRESS = 30;};

View File

@ -15,5 +15,8 @@
See the License for the specific language governing permissions and
limitations under the License.
*/
private["_res"];
(('Exile_Item_Laptop' in (magazines player)) && ((ExileClientInteractionObject getvariable ['ExileIsLocked',1]) isEqualTo -1) && (({alive _x}count playableUnits) >= ExAd_HACKING_MIN_PLAYERS_ONLINE))
_res = (('Exile_Item_Laptop' in (magazines player)) && ((ExileClientInteractionObject getvariable ['ExileIsLocked',1]) isEqualTo -1) && (({alive _x}count playableUnits) >= ExAd_HACKING_MIN_PLAYERS_ONLINE));
if(_res && ExAd_HACKING_PLAYER_ONLINE)then{ExileClientInteractionObject call ExAd_fnc_territoryPlayerPresent}else{_res}

View File

@ -15,5 +15,8 @@
See the License for the specific language governing permissions and
limitations under the License.
*/
private["_res"];
(('Exile_Item_Laptop' in (magazines player)) && ((([ExileClientInteractionObject, getPlayerUID player] call ExileClient_util_territory_getAccessLevel) select 0) < ExAd_VG_ACCESS_LEVEL) && (({alive _x}count playableUnits) >= ExAd_HACKING_MIN_PLAYERS_ONLINE))
_res = (('Exile_Item_Laptop' in (magazines player)) && ((([ExileClientInteractionObject, getPlayerUID player] call ExileClient_util_territory_getAccessLevel) select 0) < ExAd_VG_ACCESS_LEVEL) && (({alive _x}count playableUnits) >= ExAd_HACKING_MIN_PLAYERS_ONLINE));
if(_res && ExAd_HACKING_PLAYER_ONLINE)then{ExileClientInteractionObject call ExAd_fnc_territoryPlayerPresent}else{_res}

View File

@ -30,4 +30,6 @@ ExAd_HACKING_MARKER_COLOR = "ColorOrange"; //STRING - What color should the map
ExAd_HACKING_MARKER_TITLE = "Hacker activity"; //STRING - What title should the map marker have.
ExAd_HACKING_FAILED_HACK = 0.15; //SCALAR - 0-1 The possability for the hack to fail once finished.
ExAd_HACKING_FAILED_HACK = 0.15; //SCALAR - 0-1 The possability for the hack to fail once finished.
ExAd_HACKING_PLAYER_ONLINE = false; //BOLLEAN - True if a player with build permissions for a base needs to be online for a hack to be possible.

View File

@ -17,7 +17,8 @@
*/
execVM "ExAdClient\Hacking\customize.sqf";
_path = "ExAdClient\Hacking\customize.sqf";
call compile preprocessFileLineNumbers _path;
if(isNil "ExAd_HACKING_MIN_PLAYERS_ONLINE")then{ExAd_HACKING_MIN_PLAYERS_ONLINE = 30;};
if(isNil "ExAd_HACKING_ALLOWED_HACKS")then{ExAd_HACKING_ALLOWED_HACKS = 1;};
@ -30,6 +31,7 @@ if(isNil "ExAd_HACKING_FAILED_HACK")then{ExAd_HACKING_FAILED_HACK = 0.15;};
if(isNil "ExAd_HACKING_FAILED_HACK")then{ExAd_VG_ACCESS_LEVEL = 1;}; /*Needs to be here if peolpe don't use the VirtualGarage*/
STR_ExAd_HACKING_NOTI_MAX_TERRITORY_HACKS_REACHED = if(isLocalized "STR_ExAd_HACKING_NOTI_MAX_TERRITORY_HACKS_REACHED")then{localize "STR_ExAd_HACKING_NOTI_MAX_TERRITORY_HACKS_REACHED"}else{"Connection failed! Territory Wi-Fi is down!"};
STR_ExAd_HACKING_NOTI_TERRITORY_ONE_HACK = if(isLocalized "STR_ExAd_HACKING_NOTI_TERRITORY_ONE_HACK")then{localize "STR_ExAd_HACKING_NOTI_TERRITORY_ONE_HACK"}else{"Wi-Fi occupied!!"};

View File

@ -17,9 +17,9 @@
*/
ExAd_HALOPARACHUTE_VERSION = "v0.7.4";
_path = "ExAdClient\HaloParachute\customize.sqf";
call compile preprocessFileLineNumbers _path;
execVM "ExAdClient\HaloParachute\customize.sqf";
if(isNil "ExAd_HALOPARACHUTE_SAFE_MODE")then{ExAd_HALOPARACHUTE_SAFE_MODE = false;};
if(isNil "ExAd_HALOPARACHUTE_USE_ACTIONS")then{ExAd_HALOPARACHUTE_USE_ACTIONS = true;};

View File

@ -17,7 +17,8 @@
*/
execVM "ExAdClient\VirtualGarage\customize.sqf";
_path = "ExAdClient\VirtualGarage\customize.sqf";
call compile preprocessFileLineNumbers _path;
if(isNil "ExAd_VG_MIN_ALLOWED_VEH")then{ExAd_VG_MIN_ALLOWED_VEH = 5;};
if(isNil "ExAd_VG_ALLOWED_VEH_MULTIPLE_FACTOR")then{ExAd_VG_ALLOWED_VEH_MULTIPLE_FACTOR = 3;};