0.3.8.0439

[Fixed] BE kick since 1.58 hotfix.
[Fixed] Attempt fix issues with temporary angle and rotation issues with
base building.
[Fixed] Check for base kit item is in players inventory before spawning
ghost.
[Fixed] Use object as input for remoteExec instead of owner.
http://epochmod.com/forum/topic/41959-be-carefull-with-remoteexec-and-owner/
This commit is contained in:
vbawol 2016-04-29 09:28:51 -05:00
parent f453683d46
commit dabb8ff068
48 changed files with 32 additions and 29 deletions

View File

@ -43,7 +43,7 @@
[Info] Some AI Scripts Mods may not work with disableRemoteSensors enabled. You can disable with "disableRemoteSensors = false;" in CfgEpochClient.
[Info] Removed old .bikey and added new one for 0380.
Build: 438
Build: 439
[Added] FastNights Epoch Event. http://epochmod.com/forum/topic/41949-accelerated-time/?do=findComment&comment=275310
[Added] Install batch for all CUP mods and CBA. https://github.com/EpochModTeam/Epoch/tree/master/Tools/Install
[Changed] The function EPOCH_fnc_addItemOverflow now supports spawning items and weapons types given a count.
@ -55,6 +55,10 @@ Build: 438
[Changed] Increased range for vehicle interactions to fix issues with access to larger vehicles. Thanks to Grahame for the report: http://epochmod.com/forum/index.php?/topic/41894-cannot-unlock-large-vehicles/
[Changed] Preloading sapper by spawning one on the map at server start.
[Changed] Change to github markdown for credits and license.
[Fixed] BE kick since 1.58 hotfix.
[Fixed] Use object as input for remoteExec instead of owner. http://epochmod.com/forum/topic/41959-be-carefull-with-remoteexec-and-owner/
[Fixed] Attempt fix issues with temporary angle and rotation issues with base building.
[Fixed] Check for base kit item is in players inventory before spawning ghost.
[Fixed] Prevent empty group menu display. Thanks to He-Man! for the fix.
[Fixed] Group system marked player as "Dead Player" if moderator status was change while player offline. Thanks to He-Man! for the fix.
[Fixed] Group system invite and kick from group options not working. Thanks to He-Man for the fixes: http://epochmod.com/forum/topic/41893-group-menu-broken-kick-invite-for-admin-not-possible/#comment-275429

View File

@ -117,9 +117,9 @@ switch _interactOption do {
closeDialog 0;
_buildingJammerRange = ["CfgEpochClient", "buildingJammerRange", 75] call EPOCH_fnc_returnConfigEntryV2;
_buildingCountLimit = ["CfgEpochClient", "buildingCountLimit", 200] call EPOCH_fnc_returnConfigEntryV2;
_partCheck = _item in (magazines player);
_buildClass = getText(configfile >> "CfgMagazines" >> _item >> "buildClass");
if (_buildClass != "") then {
if (_buildClass != "" && _partCheck) then {
_isStorage = getNumber(configfile >> "CfgMagazines" >> _item >> "isStorage");
_isOk = if (_isStorage == 1 || _buildClass isKindOf "Secure_Storage_Temp") then { EPOCH_StorageSlotsCount > 0 } else { EPOCH_BuildingSlotCount > 0 };

View File

@ -1 +1 @@
build=438;
build=439;

View File

@ -1 +1 @@
build=438;
build=439;

View File

@ -72,7 +72,7 @@ for "_i" from 0 to _this do {
// remove old safes on && !(_class isKindOf 'Constructions_lockedstatic_F')
if (isClass (configFile >> "CfgVehicles" >> _class) && (_damage < 1) && !(_class isKindOf 'Constructions_lockedstatic_F')) then {
_baseObj = createVehicle [_class, _location, [], 0, "CAN_COLLIDE"];
_baseObj = createVehicle [_class, [0,0,0], [], 0, "CAN_COLLIDE"];
_baseObj setposATL _location;
_baseObj setVectorDirAndUp _worldspace;
@ -81,7 +81,7 @@ for "_i" from 0 to _this do {
_ammoClass = (configFile >> "CfgVehicles" >> _class >> "ammoClass");
if(isText _ammoClass) then {
_ammoClass = getText _ammoClass;
_ammoObj = createVehicle [_ammoClass, _location, [], 0, "CAN_COLLIDE"];
_ammoObj = createVehicle [_ammoClass, [0,0,0], [], 0, "CAN_COLLIDE"];
_ammoObj setposATL _location;
_ammoObj setVectorDirAndUp _worldspace;
_baseObj setVariable ["EPOCH_TRAP_OBJ",_ammoObj];

View File

@ -81,7 +81,7 @@ if (typeOf _object == "PlotPole_EPOCH") then {
_playerCryptoLimit params ["_playerCryptoLimitMax","_playerCryptoLimitMin"];
_current_crypto = ((_current_crypto - _counter) min _playerCryptoLimitMax) max _playerCryptoLimitMin;
_current_crypto remoteExec ['EPOCH_effectCrypto',(owner _player)];
_current_crypto remoteExec ['EPOCH_effectCrypto',_player];
_vars set[_cIndex, _current_crypto];
_player setVariable["VARS", _vars];

View File

@ -41,7 +41,7 @@ if (_vehSlot != -1 || _storageSlot != "ABORT" || _isTemporary == 1) then{
_gwh = _nearbyWH select 0;
// _posWH = getPosATL _gwh;
} else {
_gwh = createVehicle["groundWeaponHolder", _posWH, [], 0, "CAN_COLLIDE"];
_gwh = createVehicle["groundWeaponHolder", [0,0,0], [], 0, "CAN_COLLIDE"];
_gwh setPosATL _posWH;
};

View File

@ -41,8 +41,7 @@ if (isText _config) then {
_vectorDirAndUp = [vectordir _vehicle, vectorup _vehicle];
deleteVehicle _vehicle;
_storageObj = createVehicle[_staticClass, _vehiclePos, [], 0, "CAN_COLLIDE"];
_storageObj = createVehicle[_staticClass, [0,0,0], [], 0, "CAN_COLLIDE"];
_storageObj setposATL _vehiclePos;
_storageObj setVectorDirAndUp _vectorDirAndUp;

View File

@ -25,7 +25,7 @@ _entities = allMissionObjects "Constructions_modular_F";
if (_objSlot != -1) then {
_worldspace = [_currentPosition,(vectordir _x),(vectorup _x)];
deleteVehicle _x;
_newObj = createVehicle [_class, (_worldspace select 0), [], 0, "CAN_COLLIDE"];
_newObj = createVehicle [_class, [0,0,0], [], 0, "CAN_COLLIDE"];
_newObj setVariable ["BUILD_SLOT",_objSlot,true];
_newObj call EPOCH_server_buildingInit;

View File

@ -36,7 +36,7 @@ if (_objSlot != -1) then {
_worldspace = [getposATL _object,vectordir _object,vectorup _object];
deleteVehicle _object;
_newObj = createVehicle [_class, _worldspace select 0, [], 0, "CAN_COLLIDE"];
_newObj = createVehicle [_class, [0,0,0], [], 0, "CAN_COLLIDE"];
_newObj setVariable ["BUILD_SLOT",_objSlot,true];
_newObj call EPOCH_server_buildingInit;
@ -53,7 +53,7 @@ if (_objSlot != -1) then {
_ammoClass = (configFile >> "CfgVehicles" >> _class >> "ammoClass");
if (isText _ammoClass) then {
_ammoClass = getText _ammoClass;
_ammoObj = createVehicle [_ammoClass, _worldspace select 0, [], 0, "CAN_COLLIDE"];
_ammoObj = createVehicle [_ammoClass, [0,0,0], [], 0, "CAN_COLLIDE"];
_ammoObj setposATL (_worldspace select 0);
_ammoObj setVectorDirAndUp [(_worldspace select 1),(_worldspace select 2)];
_newObj setVariable ["EPOCH_TRAP_OBJ",_ammoObj];

View File

@ -55,7 +55,7 @@ if (_objSlot != -1) then {
deleteVehicle _object;
_class = _upgrade select 0;
_newObj = createVehicle[_class, (_worldspace select 0), [], 0, "CAN_COLLIDE"];
_newObj = createVehicle[_class, [0,0,0], [], 0, "CAN_COLLIDE"];
_newObj setposATL(_worldspace select 0);
_newObj setVectorDirAndUp[(_worldspace select 1), (_worldspace select 2)];
};

View File

@ -40,7 +40,7 @@ if ((_response select 0) == 1 && (_response select 1) isEqualType []) then {
_playerCryptoLimit params ["_playerCryptoLimitMax","_playerCryptoLimitMin"];
_current_crypto = ((_current_crypto - _upgradePrice) min _playerCryptoLimitMax) max _playerCryptoLimitMin;
// send to player
_current_crypto remoteExec ['EPOCH_effectCrypto',(owner _player)];
_current_crypto remoteExec ['EPOCH_effectCrypto',_player];
_vars set[_cIndex, _current_crypto];
_player setVariable["VARS", _vars];

View File

@ -22,7 +22,7 @@ if !(isNull _object) then {
deleteVehicle _object;
_item = createVehicle["groundWeaponHolder", _pos, [], 0.0, "CAN_COLLIDE"];
_item = createVehicle["groundWeaponHolder", [0,0,0], [], 0.0, "CAN_COLLIDE"];
_item setPosATL _pos;
_class = "SeaFood";

View File

@ -267,7 +267,7 @@ if (_slot != -1) then {
_playerCryptoLimit params ["_playerCryptoLimitMax","_playerCryptoLimitMin"];
_current_crypto = ((_current_cryptoRaw + _tradeTotal) min _playerCryptoLimitMax) max _playerCryptoLimitMin;
// send to player
_current_crypto remoteExec ['EPOCH_effectCrypto',(owner _player)];
_current_crypto remoteExec ['EPOCH_effectCrypto',_player];
_vars set[_cIndex, _current_crypto];
_player setVariable["VARS", _vars];
};

View File

@ -44,7 +44,7 @@ if ((_player1 getVariable["currentTradeKey", -1]) isEqualto (_player2 getVariabl
_current_crypto1 = ((_current_crypto1 - _tradeCryptoOffer1) min _playerCryptoLimitMax) max _playerCryptoLimitMin;
// send to player
_current_crypto1 remoteExec ['EPOCH_effectCrypto',(owner _player1)];
_current_crypto1 remoteExec ['EPOCH_effectCrypto',_player1];
_player1_vars set[_cIndex, _current_crypto1];
_player1 setVariable["VARS", _player1_vars];
};
@ -64,7 +64,7 @@ if ((_player1 getVariable["currentTradeKey", -1]) isEqualto (_player2 getVariabl
_current_crypto1 = ((_current_crypto1 + _tradeCryptoOffer2) min _playerCryptoLimitMax) max _playerCryptoLimitMin;
// send to player
_current_crypto1 remoteExec ['EPOCH_effectCrypto',(owner _player1)];
_current_crypto1 remoteExec ['EPOCH_effectCrypto',_player1];
_player1_vars set[_cIndex, _current_crypto1];
_player1 setVariable["VARS", _player1_vars];
};

View File

@ -33,7 +33,7 @@ if (_getCrypto > 0) then {
_playerCryptoLimit params ["_playerCryptoLimitMax","_playerCryptoLimitMin"];
_current_crypto = ((_current_crypto + _getCrypto) min _playerCryptoLimitMax) max _playerCryptoLimitMin;
// send to player
_current_crypto remoteExec ['EPOCH_effectCrypto',(owner _player)];
_current_crypto remoteExec ['EPOCH_effectCrypto',_player];
_vars set[_cIndex, _current_crypto];
_player setVariable["VARS", _vars];
};

View File

@ -76,10 +76,10 @@ if (_logic) then {
} else {
if (_value) then {
// send to player
[_vehicle, true] remoteExec ['EPOCH_client_lockVehicle',(owner _vehicle)];
[_vehicle, true] remoteExec ['EPOCH_client_lockVehicle',_vehicle];
} else {
// send to player
[_vehicle, false] remoteExec ['EPOCH_client_lockVehicle',(owner _vehicle)];
[_vehicle, false] remoteExec ['EPOCH_client_lockVehicle',_vehicle];
};
};
};

View File

@ -23,7 +23,7 @@ if ((_value select 0) isEqualTo "ALL") then {
if (local _vehicle) then {
_vehicle setHitIndex _value;
} else {
[_vehicle, _value] remoteExec ['EPOCH_client_repairVehicle',(owner _vehicle)];
[_vehicle, _value] remoteExec ['EPOCH_client_repairVehicle',_vehicle];
};
};
_vehicle call EPOCH_server_save_vehicle;

View File

@ -1089,7 +1089,7 @@ call compile ("'"+_skn_doAdminRequest+"' addPublicVariableEventHandler {
_cIndex = EPOCH_customVars find 'Crypto';
_vars = _player getVariable['VARS', call EPOCH_defaultVars_SEPXVar];
_current_crypto = (((_vars select _cIndex) + (_content select 1)) min "+str _skn_playerCryptoLimit+") max 0;
_current_crypto remoteExec ['EPOCH_effectCrypto',(owner _player)];
_current_crypto remoteExec ['EPOCH_effectCrypto',_player];
_vars set[_cIndex, _current_crypto];
_player setVariable['VARS', _vars];
if (_player == _admin) then {

View File

@ -1 +1 @@
build=438;
build=439;

View File

@ -17,7 +17,7 @@ if ((count _position) == 2) then{
if ((random 1) > _chance) then {
// send earthquake to each player in zone
{
[_position] remoteExec ['EPOCH_client_earthQuake',(owner _x)];
[_position] remoteExec ['EPOCH_client_earthQuake',_x];
}forEach _playersNearEpicenter;
// todo configize

View File

@ -1 +1 @@
build=438;
build=439;

View File

@ -1 +1 @@
438
439