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 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] 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.
@ -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.
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.
[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.
[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] Requires Arma 3 1.58 or higher.
[Info] A big thanks to Isaac, Axeman's chief tester.
**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_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
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[] = {
{ 3600, "CarnivalSpawner" }, // SECOND <scalar>, EVENT <string>
{ 2400, "EarthQuake" },
{ 1800, "ChangeWeather" },
{ 1200, "ContainerSpawner" },
{ 300, "PlantSpawner" } //No comma on last Entry
{ 3600, "CarnivalSpawner", 0 }, // SECOND <scalar>, EVENT <string>, INIT (1 or 0) 1 = run script at startup, 0 normal delay
{ 2400, "EarthQuake", 0 },
{ 1800, "ChangeWeather", 1 },
{ 1200, "ContainerSpawner", 0 },
{ 300, "PlantSpawner", 0 } //No comma on last Entry
};
// 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; }];
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];

View File

@ -76,7 +76,7 @@ for "_i" from 1 to _spawnCount do {
_agent addEventHandler["Killed", { _this call EPOCH_server_traderKilled; }];
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;

View File

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

View File

@ -16,7 +16,7 @@ if (isNil "Epoch_SStart") then {
Epoch_SStart = true;
[] spawn {
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";
call compile preprocessFileLineNumbers "\x\addons\a3_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_variables.sqf";
call compile preprocessFileLineNumbers "\epoch_server\init\server_securityfunctions.sqf";
["I", _instanceID, "86400", ["CONTINUE"]] call EPOCH_fnc_server_hiveSETEX;
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";
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
_dateChanged = false;

View File

@ -257,6 +257,27 @@ EPOCH_server_disconnect = compileFinal("
_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 = {
private "_ret";
_ret = false;

View File

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

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!
SET SOURCE_PATH=%MAIN_PATH%\Sources\epoch_server
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!
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!
@ -94,7 +94,7 @@ echo building settings pbo
echo build=%BUILDNUMBER%; > !settingsBuildInc!
SET SOURCE_PATH=%MAIN_PATH%\Sources\epoch_server_settings
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!
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!

View File

@ -1 +1 @@
453
454