0.3.7.005

This commit is contained in:
vbawol 2015-12-28 10:31:54 -06:00
parent eaea7a471a
commit ba8702d9ed
18 changed files with 193 additions and 39 deletions

View File

@ -1,12 +1,16 @@
**Client**
[ADDED] Hotwire Kit (ItemHotwire)
[ADDED] Key Makers Kit (ItemKeyKit)
[ADDED] Keys in colors: (Black ItemKey,ItemKeyRed,ItemKeyGreen,ItemKeyBlue,ItemKeyYellow)
[ADDED] 55 Gallon Fuel Barrel (Full - ItemBarrelF | Empty - ItemBarrelE)
[ADDED] Metal Pipes (ItemPipe)
[WIP] Light Bulb (ItemBulb)
[WIP] Burlap (ItemBurlap)
[WIP] Briefcase (Empty - ItemBriefcaseE)
[WIP] Documents (Trash,Books,Vehicle Upgrades) (ItemDoc1, ItemDoc2)
[Changed] Change all publicVariableServer calls to use remoteExec calls for better performance.
[Fixed] Custom epoch swing animations for Hatchet and sledge now work correctly.
[WIP] Hotwire Kit
[WIP] Key Makers Kit
[WIP] Keys in colors: (Black,Red,Green,Blue,Yellow)
[WIP] 55 Gallon Fuel Barrel (Full/Empty)
[WIP] Metal Pipes
[WIP] Documents (Trash,Vehicle Upgrades)
**Server**
[Updated] New Battleye remoteExec.txt for added remoteExec calls.
[Changed] Driver or passengers of a driverless can now control vehicle locks.
[Info] Removed old .bikey and added new one for 0370.

View File

@ -1 +1 @@
5 "" !="epoch_server_checkplayer [A-Z]{1} [A-Za-z]{4,10} [0-9]{1,3}-[0-9]{1,3}:[0-9]{1,3} \(.+\) REMOTE" !="epoch_server_(save(_vehicles|building)|(lock|pack)Storage|(upgrade|remove|paint|maint)build) \[.+\]" !="epoch_server_((load|respawn|dead|invite|revive|teleport)Player|(upgrade|updateplayer|create|delete)Group) \[.+\]" !="epoch_server_(knockDownTree|mineRocks|lootAnimal|handle_(say3d|switchmove|sapperObjs)) \[.+\]" !="epoch_server_((repair|fill|lock)Vehicle|(loot|fill)Container|(store|take)Crypto|make(NPC|)Trade) \[.+\]" !="epoch_server_(tradeRequest|equippeditem|packJack|localCleanup|createAirDrop|airDropCrate) \[.+\]"
5 "" !="epoch_server_checkplayer [A-Z]{1} [A-Za-z]{4,10} [0-9]{1,3}-[0-9]{1,3}:[0-9]{1,3} \(.+\) REMOTE" !="epoch_server_(save(_vehicles|building)|(lock|pack)Storage|(upgrade|remove|paint|maint)build) \[.+\]" !="epoch_server_((load|respawn|dead|invite|revive|teleport)Player|(upgrade|updateplayer|create|delete)Group) \[.+\]" !="epoch_server_(knockDownTree|mineRocks|lootAnimal|handle_(say3d|switchmove|sapperObjs)) \[.+\]" !="epoch_server_((repair|fill|lock)Vehicle|(loot|fill)Container|(store|take)Crypto|make(NPC|)Trade) \[.+\]" !="epoch_server_(tradeRequest|equippeditem|packJack|localCleanup|createAirDrop|airDropCrate|destroytrash) \[.+\]"

View File

@ -50,8 +50,8 @@
7 displaySetEventHandler
7 ctrlSetEventHandler !"BIS_fnc_guiMessage_status" !"ctrlSetEventHandler ['LBDblClick', '_this call" !="_buttonRespawn ctrlseteventhandler [\"buttonclick\",\"with uinamespace do {['buttonRespawn'," !="_ctrl ctrlSetEventHandler [\"mouseEnter\""
7 addMPEventHandler
7 addEventHandler !"displayAddEventHandler" !"ctrlAddEventHandler" !"FiredNear" !"EpeContactStart" !"InventoryClosed" !"GetOut" !"InventoryOpened" !"local" !"Respawn" !"Put" !"Take" !"Fired" !"Killed" !" [\"PostReset\",{BIS_EnginePPReset = true;} ];" !"_logic addeventhandler [\n\"local\""
7 displayAddEventHandler !"[_display] call _fnc_animate;" !"tVersion select 4) == \"Development\") then" !"_display displayaddeventhandler\n[\n\"mousemoving\"," !"(findDisplay 46) displayAddEventHandler [\"KeyDown\",\"true\"];" !"(findDisplay 46) displayAddEventHandler [\"KeyDown\",\"_this call EPOCH_KeyDown\"];" !="_addCase = _display46 displayAddEventHandler ['KeyDown',{_this call EPOCH_KeyDown;}];" !"_display displayaddeventhandler [\"unload\",\"uinamespace setvariable ['BIS_fnc_guiMess" !="findDisplay -1337 displayAddEventHandler ['Unload'" !="_display displayaddeventhandler [\"keydown\",\"with uinamespace do {['keyDown'"
7 addEventHandler !"displayAddEventHandler" !"ctrlAddEventHandler" !"[\"FiredNear"\" !"[\"EpeContactStart"\" !"[\"GetOut"\" !"[\"local"\" !"[\"PostReset"\" !"[\"TaskSetAsCurrent"\" !="player addEventHandler [_x,([\"CfgEpochClient\", _x, \"\"] call EPOCH_fnc_returnConfigEntryV2)];"
7 displayAddEventHandler !="_display displayAddEventHandler [_x,([\"CfgEpochClient\", _x, \"\"] call EPOCH_fnc_returnConfigEntryV2)];" !"[_display] call _fnc_animate;" !"tVersion select 4) == \"Development\") then" !"_display displayaddeventhandler\n[\n\"mousemoving\"," !="_addCase = _display46 displayAddEventHandler ['KeyDown',{_this call EPOCH_KeyDown;}];" !"_display displayaddeventhandler [\"unload\",\"uinamespace setvariable ['BIS_fnc_guiMess" !="findDisplay -1337 displayAddEventHandler ['Unload'" !="_display displayaddeventhandler [\"keydown\",\"with uinamespace do {['keyDown'"
7 ctrlAddEventHandler !"rCfg >> \"refreshDelay\");" !" [\n\"draw\"," !" [\"buttonclick\"," !="(uiNamespace getVariable 'ESP_map') ctrlAddEventHandler['Draw', '_esp_targets = EPOCH_ESPMAP_TARGETS;" !="ctrlAddEventHandler ['MouseButtonDown'" !="(_display displayctrl _idc) ctrlAddEventHandler [\"LBSelChanged\"," !="_ctrl ctrlSetEventHandler [\"mouseEnter\", (format [\"_c = _this select 0;" !="_ctrl ctrlSetEventHandler [\"mouseExit\", (format [\"_c = _this select 0;" !="_ctrl ctrlSetEventHandler [\"mouseButtonDown\", (format [\"call %1;\",(_buttonSettings select _e select 2)])];"
7 removeAllEventHandlers !="ctrlRemoveAllEventHandlers" !="_vehicle removeAllEventHandlers \"GetOut\";" !="_sapper removeAllEventHandlers \"Hit\";\n_sapper removeAllEventHandlers \"FiredNear\";" !="_unit removeAllEventHandlers \"Hit\";\n_unit removeAllEventHandlers \"FiredNear\";" !="_display46 displayRemoveAllEventHandlers 'KeyDown';"
7 removeAllMissionEventHandlers

View File

@ -1206,8 +1206,8 @@ class FSM
"_bomb = createVehicle [""Sapper_Charge_Ammo"", (getposATL _nestMate), [], 0, ""CAN_COLLIDE""] ; " \n
"_bomb attachTo [_nestMate, [0,0,0],""Pelvis""];" \n
"_nestMate setVariable [""bomb"",_bomb];" \n
"EPOCH_TEMPOBJ_PVS = _nestMate;" \n
"EPOCH_TEMPOBJ_PVS remoteExec [""EPOCH_localCleanup"",2];" \n
"" \n
"[_nestMate] remoteExec [""EPOCH_localCleanup"",2];" \n
"_nestMate disableAI ""TARGET"";" \n
"_nestMate disableAI ""AUTOTARGET"";" \n
"_nestMate disableAI ""FSM"";" \n

View File

@ -914,8 +914,8 @@ class FSM
"axeVIP = _grp createUnit [""Epoch_Female_CamoRed_F"",_pos,[],0,""FORM""];" \n
"" \n
"if !(isNull axeVIP) then {" \n
" EPOCH_TEMPOBJ_PVS = axeVIP;" \n
" EPOCH_TEMPOBJ_PVS remoteExec [""EPOCH_localCleanup"",2];" \n
"" \n
" [axeVIP] remoteExec [""EPOCH_localCleanup"",2];" \n
"};" \n
"" \n
"_grp setCombatMode ""BLUE"";" \n
@ -1038,8 +1038,8 @@ class FSM
" removeAllWeapons axeGeneral;" \n
"" \n
"if !(isNull axeGeneral) then {" \n
" EPOCH_TEMPOBJ_PVS = axeGeneral;" \n
" EPOCH_TEMPOBJ_PVS remoteExec [""EPOCH_localCleanup"",2];" \n
"" \n
" [axeGeneral] remoteExec [""EPOCH_localCleanup"",2];" \n
"};" \n
"" \n
" for ""_i"" from 1 to 3 step 1 do" \n
@ -1051,8 +1051,8 @@ class FSM
" _unit addEventHandler [""FiredNear"", ""group (_this select 0) setVariable[""""shotsFired"""",[(_this select 1),(_this select 2)]]""];" \n
" _unit addEventHandler [""Killed"", ""group (_this select 0) setVariable[""""killer"""",_this select 1]""];" \n
" if !(isNull _unit) then {" \n
" EPOCH_TEMPOBJ_PVS = _unit;" \n
" EPOCH_TEMPOBJ_PVS remoteExec [""EPOCH_localCleanup"",2];" \n
"" \n
" [_unit] remoteExec [""EPOCH_localCleanup"",2];" \n
" };" \n
" [_unit,axeGeneral] execFSM ""\x\addons\a3_epoch_code\System\Mission_VIP_Militia.fsm"";" \n
"" \n

View File

@ -49,8 +49,8 @@ class FSM
"" \n
"" \n
"if !(isNull _unit) then {" \n
" EPOCH_TEMPOBJ_PVS = _unit;" \n
" EPOCH_TEMPOBJ_PVS remoteExec [""EPOCH_localCleanup"",2];" \n
"" \n
" [_unit] remoteExec [""EPOCH_localCleanup"",2];" \n
"};" \n
"" \n
"_randomGroan = {" \n
@ -610,4 +610,4 @@ class FSM
{
"end"
};
};
};

View File

@ -34,8 +34,8 @@ if (surfaceIsWater _currentPos) then {
// Cast
_bobber = createVehicle ["Bobber_EPOCH",_currentPos, [], 0, "CAN_COLLIDE"];
EPOCH_TEMPOBJ_PVS = [_bobber];
EPOCH_TEMPOBJ_PVS remoteExec ["EPOCH_localCleanup",2];
// send to server
[_bobber] remoteExec ["EPOCH_localCleanup",2];
_bobber setPosASL _currentPos;
_bobber setVariable ["EPOCH_bobberTime", diag_tickTime];

View File

@ -107,8 +107,7 @@ if (diag_tickTime - EPOCH_lastTrash > 2) then {
_id = [_animal, true] execFSM "\x\addons\a3_epoch_code\System\Animal_brain.fsm";
_animals pushBack _animal;
};
EPOCH_TEMPOBJ_PVS = _animals;
EPOCH_TEMPOBJ_PVS remoteExec ["EPOCH_localCleanup",2];
_animals remoteExec ["EPOCH_localCleanup",2];
};
};
if (!isNull EPOCH_bankTerminal) then {

View File

@ -58,5 +58,5 @@ for "_i" from 0 to ((count _arrUnits)-1) do {
};
// cleanup units or (transfer ownership) if player logs out
EPOCH_TEMPOBJ_PVS = _units;
EPOCH_TEMPOBJ_PVS remoteExec ["EPOCH_localCleanup",2];
// send to server
_units remoteExec ["EPOCH_localCleanup",2];

View File

@ -114,6 +114,6 @@ switch _unitClass do {
};
if !(isNull _unit) then {
EPOCH_TEMPOBJ_PVS = _unit;
EPOCH_TEMPOBJ_PVS remoteExec ["EPOCH_localCleanup",2];
// send to server
[_unit] remoteExec ["EPOCH_localCleanup",2];
};

View File

@ -73,8 +73,8 @@ if (_class != "") then {
_pos2 = player modelToWorldVisual[EPOCH_X_OFFSET, EPOCH_Y_OFFSET, EPOCH_Z_OFFSET];
EPOCH_target = createVehicle[_class, _pos2, [], 0, "CAN_COLLIDE"];
EPOCH_TEMPOBJ_PVS = EPOCH_target;
EPOCH_TEMPOBJ_PVS remoteExec ["EPOCH_localCleanup",2];
// send to server
[EPOCH_target] remoteExec ["EPOCH_localCleanup",2];
if (_pos2 select 2 > _maxHeight) then {
_pos2 set[2, _maxHeight];

View File

@ -50,8 +50,8 @@ if!(isNil "_animalPos") then {
// diag_log format["DEBUG: spawned %1", _randomAIClass];
EPOCH_TEMPOBJ_PVS = _animal;
EPOCH_TEMPOBJ_PVS remoteExec ["EPOCH_localCleanup",2];
// send to server
[_animal] remoteExec ["EPOCH_localCleanup",2];
{
_animal disableAI _x;

View File

@ -9,8 +9,8 @@ _cage2 = createVehicle ["Land_Cages_F", _cagePos, [], 2, "CAN_COLLIDE"] ;
_cage2 setVectorDirAndUp [[0,0,1],[0,1,0]];
_cage attachTo [_cage2,[0,1.3,0]];
EPOCH_TEMPOBJ_PVS = [_cage,_cage2];
EPOCH_TEMPOBJ_PVS remoteExec ["EPOCH_localCleanup",2];
// send to server
[_cage,_cage2] remoteExec ["EPOCH_localCleanup",2];
_startCage = diag_tickTime;
@ -27,8 +27,8 @@ _sapper setVectorDirAndUp [[0,0,1],[0,1,0]];
_sapper forcespeed 0;
if !(isNull _sapper) then {
EPOCH_TEMPOBJ_PVS = _sapper;
EPOCH_TEMPOBJ_PVS remoteExec ["EPOCH_localCleanup",2];
// send to server
[_sapper] remoteExec ["EPOCH_localCleanup",2];
};
[player,Epoch_personalToken,objNull,false,25] remoteExec ["EPOCH_server_fillContainer",2];

View File

@ -18,6 +18,9 @@ class CfgMagazines
class Default;
class CA_Magazine;
#include "CfgMagazines\Custom.hpp"
// 037 custom end
class 1Rnd_Soda: CA_Magazine
{
picture = "";

View File

@ -0,0 +1,101 @@
class ItemHotwire : CA_Magazine {
picture = "\x\addons\a3_epoch_assets_1\pictures\equip_hotwire_ca.paa";
displayName = "$STR_EPOCH_VehicleHotwireK_19"; // Vehicle Hotwire Kit
scope = 2;
model = "\x\addons\a3_epoch_assets_1\models\hotwire.p3d";
descriptionShort = "$STR_EPOCH_Usedtounlockveh_24"; // Used to unlock vehicles.
count = 1;
mass = 2;
interactAction = 2;
interactText = "USE";
};
class ItemKeyKit : CA_Magazine {
picture = "\x\addons\a3_epoch_assets_1\pictures\equip_keykit_ca.paa";
displayName = "$STR_EPOCH_KeyMakersKit_14"; // Key Makers Kit
scope = 2;
model = "\x\addons\a3_epoch_assets_1\models\keykit.p3d";
descriptionShort = "$STR_EPOCH_Usedtocraftdupl_29"; // Used to craft duplicate keys.
count = 1;
mass = 2;
interactAction = 2;
interactText = "USE";
};
class ItemBarrelF : CA_Magazine {
picture = "\x\addons\a3_epoch_assets_1\pictures\equip_oil_drum_model_ca.paa";
displayName = "$STR_EPOCH_FuelBarrelFull_18"; // Fuel Barrel (Full)
scope = 2;
model = "\x\addons\a3_epoch_assets_1\models\oil_drum_model.p3d";
descriptionShort = "$STR_EPOCH_55gallonfuelbar_22"; // 55 gallon fuel barrel.
count = 1;
mass = 25;
interactAction = 2;
interactText = "USE";
};
class ItemBarrelE : CA_Magazine {
picture = "\x\addons\a3_epoch_assets_1\pictures\equip_oildrum_e_CA.paa";
displayName = "$STR_EPOCH_FuelBarrelEmpty_19"; // Fuel Barrel (Empty)
scope = 2;
model = "\x\addons\a3_epoch_assets_1\models\oil_drum_model.p3d";
descriptionShort = "$STR_EPOCH_Empty55gallonfu_28"; // Empty 55 gallon fuel barrel.
count = 1;
mass = 25;
interactAction = 2;
interactText = "USE";
};
class ItemPipe : CA_Magazine {
picture = "\x\addons\a3_epoch_assets_1\pictures\equip_pipe_CA.paa";
displayName = "$STR_EPOCH_Pipes_5"; // Pipes
scope = 2;
model = "\x\addons\a3_epoch_assets_1\models\pipe.p3d";
descriptionShort = "$STR_EPOCH_Smallpileofmeta_26"; // Small pile of metal pipes.
count = 1;
mass = 15;
};
class ItemKey : CA_Magazine {
picture = "\x\addons\a3_epoch_assets_1\pictures\equip_key_CA.paa";
displayName = "$STR_EPOCH_Key_3"; // Key
scope = 2;
model = "\x\addons\a3_epoch_assets_1\models\key.p3d";
descriptionShort = "$STR_EPOCH_Keyusedinalock_19"; // Key used in a lock.
count = 1;
mass = 1;
interactAction = 2;
interactText = "USE";
};
class ItemKeyBlue : ItemKey {
picture = "\x\addons\a3_epoch_assets_1\pictures\equip_key_CA_blue.paa";
displayName = "$STR_EPOCH_KeyBlue_10"; // Key (Blue)
model = "\x\addons\a3_epoch_assets_1\models\key_blue.p3d";
};
class ItemKeyGreen : ItemKey {
picture = "\x\addons\a3_epoch_assets_1\pictures\equip_key_CA_green.paa";
displayName = "$STR_EPOCH_KeyGreen_11"; // Key (Green)
model = "\x\addons\a3_epoch_assets_1\models\key_green.p3d";
};
class ItemKeyRed : ItemKey {
picture = "\x\addons\a3_epoch_assets_1\pictures\equip_key_CA_red.paa";
displayName = "$STR_EPOCH_KeyRed_9"; // Key (Red)
model = "\x\addons\a3_epoch_assets_1\models\key_red.p3d";
};
class ItemKeyYellow : ItemKey {
picture = "\x\addons\a3_epoch_assets_1\pictures\equip_key_CA_yellow.paa";
displayName = "$STR_EPOCH_KeyYellow_12"; // Key (Yellow)
model = "\x\addons\a3_epoch_assets_1\models\key_yellow.p3d";
};
class ItemDoc1 : CA_Magazine {
picture = "\x\addons\a3_epoch_assets_1\pictures\equip_child1_ca.paa";
displayName = "$STR_EPOCH_Book_4"; // Book
scope = 2;
model = "\x\addons\a3_epoch_assets_1\models\doc_child1.p3d";
descriptionShort = "$STR_EPOCH_Book_4"; // Book
count = 1;
mass = 1;
interactAction = -1;
interactText = "READ";
};
class ItemDoc2 : ItemDoc1 {
picture = "\x\addons\a3_epoch_assets_1\pictures\equip_child2_ca.paa";
displayName = "$STR_EPOCH_Book_4"; // Book
scope = 2;
model = "\x\addons\a3_epoch_assets_1\models\doc_child2.p3d";
};

View File

@ -15,6 +15,46 @@
class CfgPricing
{
// 037
class ItemHotwire {
price = 15;
};
class ItemKeyKit {
price = 15;
};
class ItemBarrelF {
price = 150;
};
class ItemBarrelE {
price = 150;
};
class ItemPipe {
price = 10;
};
class ItemKey {
price = 10;
};
class ItemKeyBlue {
price = 10;
};
class ItemKeyGreen {
price = 10;
};
class ItemKeyRed {
price = 10;
};
class ItemKeyYellow {
price = 10;
};
class ItemDoc1 {
price = 10;
};
class ItemDoc2 {
price = 10;
};
// 037
class ChainSaw {price = 125;};
class CircuitParts {price = 50;};
class ItemCoolerE {price = 50;};

View File

@ -9,7 +9,7 @@ if (isNull _vehicle) exitWith {};
if !([_player,_this select 3] call EPOCH_server_getPToken) exitWith {};
if (_player distance _vehicle > 20) exitWith {};
// Group access
// Group access
_plyrUID = getPlayerUID _player;
_plyrGroup = _player getVariable["GROUP", ""];
@ -28,10 +28,17 @@ if (_vehSlot != "ABORT") then {
};
};
// get locked state
_isLocked = locked _vehicle in[2, 3];
_driver = driver _vehicle;
// check if player is driver
_isDriver = _player isEqualTo _driver;
// check if player is inside vehicle without driver
_isInsideVehicle = _player in (crew _vehicle);
// Lockout mech
if (!_isLocked || _lockedOwner == _lockOwner || _lockedOwner == "-1") then {
if (!_isLocked || _lockedOwner == _lockOwner || _lockedOwner == "-1" || _isDriver || (isNull(_driver) && _isInsideVehicle)) then {
_value = _this select 1;
@ -48,4 +55,4 @@ if (!_isLocked || _lockedOwner == _lockOwner || _lockedOwner == "-1") then {
[["unlockVehicle", _vehicle], (owner _vehicle)] call EPOCH_sendPublicVariableClient;
};
};
};
};