0.3.9.0454

Init weather script at server startup
1= Epoch Events run at server startup and then again after given delay.
0 = Default, runs after given delay.

Changed path from \x\addons\a3_epoch_server to \epoch_server to match
new build tool prefixes
This commit is contained in:
vbawol 2016-05-09 14:54:57 -05:00
parent 15b063387a
commit 54c76c1994
40 changed files with 51 additions and 25 deletions

View File

@ -1,7 +1,8 @@
[Added] Player option to Morph into a random antagonist (from deathMorphClass) after death. The array 'deathMorphClass' found in CfgEpochClient can be used to specify what antagonists to randomly spawn. [Added] Player option to Morph into a random antagonist (from deathMorphClass) after death. The array 'deathMorphClass' found in CfgEpochClient can be used to specify what antagonists to randomly spawn.
[Added] Player option to detonate body after death. Sacrifice yourself by generating a runaway thermal cascade using the nano bots within your body. Nothing left to revive. [Added] Player option to detonate body after death. Sacrifice yourself by generating a runaway thermal cascade using the nano bots within your body. Nothing left to revive.
[Added] Server function to allow remote exec of setVariable on client - Allows client to ask another client to set a local variable, via the server. Server can run same function.
[Changed] Moved all Base Building configs to gamemode. [Changed] Moved all Base Building variables to gamemode config 'CfgObjectInteractions'.
[Changed] Moved all Item Interaction to gamemode config 'CfgItemInteractions'.
[Changed] Sapper groan or detonate can be triggered by setting a variable on the target or sapper. [Changed] Sapper groan or detonate can be triggered by setting a variable on the target or sapper.
[Changed] Server can be asked by a client / server to trigger an antagonist on another client. Antagonist is then run on target PC, independent from caller of function. [Changed] Server can be asked by a client / server to trigger an antagonist on another client. Antagonist is then run on target PC, independent from caller of function.
[Changed] Epoch Unit Spawn code. Now can be called specifying the target of the antagonist. Antagonist will run on target client PC. [Changed] Epoch Unit Spawn code. Now can be called specifying the target of the antagonist. Antagonist will run on target client PC.
@ -16,13 +17,17 @@ unitTypes - an array of soldier classes to randomly choose from. Custom weapons
maxUnitNum - Maximum number of units to spawn per UAV. maxUnitNum - Maximum number of units to spawn per UAV.
minAISkill - Minimum value for any AI skill. minAISkill - Minimum value for any AI skill.
maxAimingAccuracy -> maxGeneral - Set the maximum value for each available AI skill. A random number between minAISkill and the value for each will be set as that skill. maxAimingAccuracy -> maxGeneral - Set the maximum value for each available AI skill. A random number between minAISkill and the value for each will be set as that skill.
[Fixed] Getting wet and cold on standing on pier. Thanks to umfufu for the report! http://epochmod.com/forum/topic/41929-getting-10-points-of-wetness/ [Fixed] Getting wet and cold on standing on pier. Thanks to umfufu for the report! http://epochmod.com/forum/topic/41929-getting-10-points-of-wetness/
[Fixed] Missing texture issues with some base building objects since 0.3.8. [Fixed] Missing texture issues with some base building objects since 0.3.8.
[Info] RConPort 2306 added to example-beserver.cfg for changes since A3 1.58. [Info] RConPort 2306 added to example-beserver.cfg for changes since A3 1.58.
[Info] Removed old .bikey and added new one for 0390. [Info] Removed old .bikey and added new one for 0390.
[Info] Requires Arma 3 1.58 or higher. [Info] Requires Arma 3 1.58 or higher.
[Info] A big thanks to Isaac, Axeman's chief tester. [Info] A big thanks to Isaac, Axeman's chief tester.
**Server Only** **Server Only**
[Added] Server function to allow remote exec of setVariable on client - Allows client to ask another client to set a local variable, via the server. Server can run same function.
[Changed] Epoch Events can now self initlize
[Info] Changed name of a3_epoch_server to epoch_server. [Info] Changed name of a3_epoch_server to epoch_server.
[Info] Changed name of a3_epoch_server_settings to epoch_server_settings. [Info] Changed name of a3_epoch_server_settings to epoch_server_settings.

View File

@ -12,11 +12,11 @@ lootMultiplier = 0.5; // 1 = max loot bias. This controls how much loot can payo
// Events // Events
WeatherStaticForecast[] = {}; // Default: {75.5,0,{0,0,0},0,{1,1}}; // Clear day; {19,1,{1,1,40},1,{5,5}}; // Cold Foggy Rainy Overcast Windy; Format: {temp <scalar>,rain <scalar>,fog <array>,overcast <scalar>,wind <array>} WeatherStaticForecast[] = {}; // Default: {75.5,0,{0,0,0},0,{1,1}}; // Clear day; {19,1,{1,1,40},1,{5,5}}; // Cold Foggy Rainy Overcast Windy; Format: {temp <scalar>,rain <scalar>,fog <array>,overcast <scalar>,wind <array>}
events[] = { events[] = {
{ 3600, "CarnivalSpawner" }, // SECOND <scalar>, EVENT <string> { 3600, "CarnivalSpawner", 0 }, // SECOND <scalar>, EVENT <string>, INIT (1 or 0) 1 = run script at startup, 0 normal delay
{ 2400, "EarthQuake" }, { 2400, "EarthQuake", 0 },
{ 1800, "ChangeWeather" }, { 1800, "ChangeWeather", 1 },
{ 1200, "ContainerSpawner" }, { 1200, "ContainerSpawner", 0 },
{ 300, "PlantSpawner" } //No comma on last Entry { 300, "PlantSpawner", 0 } //No comma on last Entry
}; };
// Antagonists // Antagonists

View File

@ -1 +1 @@
build=453; build=454;

View File

@ -1 +1 @@
build=453; build=454;

View File

@ -142,7 +142,7 @@ for "_i" from 0 to _maxTraderLimit do {
_agent addEventHandler ["Killed", { _this call EPOCH_server_traderKilled; }]; _agent addEventHandler ["Killed", { _this call EPOCH_server_traderKilled; }];
if !(EPOCH_forceStaticTraders) then { if !(EPOCH_forceStaticTraders) then {
[_agent, _home, _work] execFSM "\x\addons\a3_epoch_server\system\Trader_brain.fsm"; [_agent, _home, _work] execFSM "\epoch_server\system\Trader_brain.fsm";
}; };
_agent setVariable ["AI_SLOT", _i, true]; _agent setVariable ["AI_SLOT", _i, true];

View File

@ -76,7 +76,7 @@ for "_i" from 1 to _spawnCount do {
_agent addEventHandler["Killed", { _this call EPOCH_server_traderKilled; }]; _agent addEventHandler["Killed", { _this call EPOCH_server_traderKilled; }];
if !(EPOCH_forceStaticTraders) then { if !(EPOCH_forceStaticTraders) then {
[_agent, _home, [_work, _schedule]] execFSM "\x\addons\a3_epoch_server\system\Trader_brain.fsm"; [_agent, _home, [_work, _schedule]] execFSM "\epoch_server\system\Trader_brain.fsm";
}; };
["AI", _objHiveKey, [_randomAIClass, _home, [_work, _schedule]]] call EPOCH_fnc_server_hiveSET; ["AI", _objHiveKey, [_randomAIClass, _home, [_work, _schedule]]] call EPOCH_fnc_server_hiveSET;

View File

@ -20,7 +20,7 @@ class cfgFunctions
tag = "EPOCH"; tag = "EPOCH";
class Epoch_Server class Epoch_Server
{ {
file = "\x\addons\a3_epoch_server\init"; file = "\epoch_server\init";
class init class init
{ {
preInit = 1; preInit = 1;
@ -38,7 +38,7 @@ class CfgServerFunctions
class A3E class A3E
{ {
tag = "EPOCH"; tag = "EPOCH";
file = "\x\addons\a3_epoch_server\compile"; file = "\epoch_server\compile";
class epoch_group { class epoch_group {
class server_upgradeGroup {}; class server_upgradeGroup {};
class server_updatePlayerGroup {}; class server_updatePlayerGroup {};

View File

@ -16,7 +16,7 @@ if (isNil "Epoch_SStart") then {
Epoch_SStart = true; Epoch_SStart = true;
[] spawn { [] spawn {
call compile preprocessFileLineNumbers "epoch_code\init\both_init.sqf"; call compile preprocessFileLineNumbers "epoch_code\init\both_init.sqf";
call compile preprocessFileLineNumbers "\x\addons\a3_epoch_server\init\server_init.sqf"; call compile preprocessFileLineNumbers "\epoch_server\init\server_init.sqf";
}; };
}; };

View File

@ -63,8 +63,8 @@ if (EPOCH_modCUPVehiclesEnabled) then {
}; };
diag_log "Epoch: Init Variables"; diag_log "Epoch: Init Variables";
call compile preprocessFileLineNumbers "\x\addons\a3_epoch_server\init\server_variables.sqf"; call compile preprocessFileLineNumbers "\epoch_server\init\server_variables.sqf";
call compile preprocessFileLineNumbers "\x\addons\a3_epoch_server\init\server_securityfunctions.sqf"; call compile preprocessFileLineNumbers "\epoch_server\init\server_securityfunctions.sqf";
["I", _instanceID, "86400", ["CONTINUE"]] call EPOCH_fnc_server_hiveSETEX; ["I", _instanceID, "86400", ["CONTINUE"]] call EPOCH_fnc_server_hiveSETEX;
diag_log format["Epoch: Start Hive, Instance ID: '%1'", _instanceID]; diag_log format["Epoch: Start Hive, Instance ID: '%1'", _instanceID];
@ -163,7 +163,7 @@ EPOCH_StorageSlotsLimit call EPOCH_load_storage;
diag_log "Epoch: Loading static loot"; diag_log "Epoch: Loading static loot";
call EPOCH_server_spawnBoatLoot; call EPOCH_server_spawnBoatLoot;
[] execFSM "\x\addons\a3_epoch_server\system\server_monitor.fsm"; [] execFSM "\epoch_server\system\server_monitor.fsm";
// Setting Server Date and Time // Setting Server Date and Time
_dateChanged = false; _dateChanged = false;

View File

@ -257,6 +257,27 @@ EPOCH_server_disconnect = compileFinal("
_ret _ret
"); ");
EPOCH_server_movePlayer = compileFinal("
params [['_playerObj',objNull,[_playerObj]],'_pos'];
if !(isNull _playerObj) then {
"+_skn_antiTeleportPVC+" = true;
(owner _playerObj) publicVariableClient '"+_skn_antiTeleportPVC+"';
[format['Teleport %1 (%2) To Position: %3', name _playerObj, getPlayerUID _playerObj,_pos], 0] call "+_skn_server_adminLog+";
[vehicle _playerObj,_pos] spawn {
uiSleep 0.5;
(_this select 0) setPosATL (_this select 1);
};
};
");
EPOCH_server_teleportCheck = compileFinal("
params [['_playerObj',objNull,[_playerObj]],'_allow'];
if !(isNull _playerObj) then {
"+_skn_antiTeleportPVC+" = _allow;
(owner _playerObj) publicVariableClient '"+_skn_antiTeleportPVC+"';
};
");
_stringInArray = { _stringInArray = {
private "_ret"; private "_ret";
_ret = false; _ret = false;

View File

@ -385,12 +385,12 @@ class FSM
action=/*%FSM<ACTION""">*/"// Epoch Events" \n action=/*%FSM<ACTION""">*/"// Epoch Events" \n
"_pvehTime = diag_tickTime;" \n "_pvehTime = diag_tickTime;" \n
"{" \n "{" \n
" _x params [""_time"", ""_scriptName"", [""_runAtStart"",false]];" \n " _x params [""_time"", ""_scriptName"", [""_runAtStart"",0]];" \n
" _eventKey = format[""EPOCH_EVENT_%1"", _forEachIndex];" \n " _eventKey = format[""EPOCH_EVENT_%1"", _forEachIndex];" \n
" _lastTime = missionNamespace getVariable _eventKey;" \n " _lastTime = missionNamespace getVariable _eventKey;" \n
" if (isNil ""_lastTime"") then {" \n " if (isNil ""_lastTime"") then {" \n
" _startTime = diag_tickTime;" \n " _startTime = diag_tickTime;" \n
" if (_runAtStart) then {" \n " if (_runAtStart isEqualTo 1) then {" \n
" _startTime = diag_tickTime - _time;" \n " _startTime = diag_tickTime - _time;" \n
" };" \n " };" \n
" missionNamespace setVariable[_eventKey, _startTime];" \n " missionNamespace setVariable[_eventKey, _startTime];" \n

View File

@ -1 +1 @@
build=453; build=454;

View File

@ -1 +1 @@
build=453; build=454;

View File

@ -80,7 +80,7 @@ echo building server pbo
echo build=%BUILDNUMBER%; > !serverBuildInc! echo build=%BUILDNUMBER%; > !serverBuildInc!
SET SOURCE_PATH=%MAIN_PATH%\Sources\epoch_server SET SOURCE_PATH=%MAIN_PATH%\Sources\epoch_server
SET OUTPUT_PATH=%MAIN_PATH%\Server_Install_Pack\@EpochHive\addons SET OUTPUT_PATH=%MAIN_PATH%\Server_Install_Pack\@EpochHive\addons
SET TEMP_PATH=x\addons\a3_epoch_server SET TEMP_PATH=epoch_server
rd /s/q P:\!TEMP_PATH! rd /s/q P:\!TEMP_PATH!
xcopy /s/e/y/q/i "!SOURCE_PATH!" P:\!TEMP_PATH! xcopy /s/e/y/q/i "!SOURCE_PATH!" P:\!TEMP_PATH!
START "" /min /WAIT "!TOOLS_PATH!\AddonBuilder.exe" "P:\!TEMP_PATH!" "!OUTPUT_PATH!" -clear -prefix="!TEMP_PATH!" -project="P:\!TEMP_PATH!" -include=!AB_includes_path! START "" /min /WAIT "!TOOLS_PATH!\AddonBuilder.exe" "P:\!TEMP_PATH!" "!OUTPUT_PATH!" -clear -prefix="!TEMP_PATH!" -project="P:\!TEMP_PATH!" -include=!AB_includes_path!
@ -94,7 +94,7 @@ echo building settings pbo
echo build=%BUILDNUMBER%; > !settingsBuildInc! echo build=%BUILDNUMBER%; > !settingsBuildInc!
SET SOURCE_PATH=%MAIN_PATH%\Sources\epoch_server_settings SET SOURCE_PATH=%MAIN_PATH%\Sources\epoch_server_settings
SET OUTPUT_PATH=%MAIN_PATH%\Server_Install_Pack\@EpochHive\addons SET OUTPUT_PATH=%MAIN_PATH%\Server_Install_Pack\@EpochHive\addons
SET TEMP_PATH=a3_epoch_server_settings SET TEMP_PATH=epoch_server_settings
rd /s/q P:\!TEMP_PATH! rd /s/q P:\!TEMP_PATH!
xcopy /s/e/y/q/i "!SOURCE_PATH!" P:\!TEMP_PATH! xcopy /s/e/y/q/i "!SOURCE_PATH!" P:\!TEMP_PATH!
START "" /min /WAIT "!TOOLS_PATH!\AddonBuilder.exe" "P:\!TEMP_PATH!" "!OUTPUT_PATH!" -packonly -clear -prefix="!TEMP_PATH!" -project="P:\!TEMP_PATH!" -include=!AB_includes_path! START "" /min /WAIT "!TOOLS_PATH!\AddonBuilder.exe" "P:\!TEMP_PATH!" "!OUTPUT_PATH!" -packonly -clear -prefix="!TEMP_PATH!" -project="P:\!TEMP_PATH!" -include=!AB_includes_path!

View File

@ -1 +1 @@
453 454