1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- /*
- Init_SCFramework.SQF
-
- SCFramework initialization script that handles which instances load what processes
- */
- diag_log format["(SCFramework) Loading Configuration options and functions."];
- #include "Config_SCFramework.SQF"; // Configuration file loaded for everyone
- Functions_SCFramework = call compile preProcessFileLineNumbers "SCFramework\Functions_SCFramework.SQF";
- if (!hasInterface && !isServer) then { // Dedicated headless client
- #include "HeadlessClient_SCFramework.SQF";
- };
- if (isServer) then { // Server only
- #include "Server_SCFramework.SQF";
- };
- if (hasInterface) then { // Player client only
- #include "Player_SCFramework.SQF";
- [] spawn {
- // Wait until player object is created
- waitUntil {!isNull player};
- // GetOutMan event handler - Used for retaining vehicle ownership when player is last to exit a now otherwise empty vehicle
- player addEventHandler ["GetOutMan", {
- _player = _this select 0;
- _vehicle = _this select 2;
- _isEmpty = false;
- if (count crew _Vehicle == 0 && alive _Vehicle) then {
- _isEmpty = true;
- };
- diag_log format["(SCFramework) GetOutMan EH Tripped. Vehicle %1 %2, isEmpty %3",_Vehicle,typeOf _Vehicle,_isEmpty];
- if (alive _vehicle && _isEmpty) then {
- SCFramework_RequestRetainVehOwnership = [SCFramework_ClientID,_Vehicle];
- publicVariableServer "SCFramework_RequestRetainVehOwnership";
- };
- }];
- // Send ping to server requesting our Client ID
- SCFramework_PlayerPingResponseServer = getPlayerUID player; // InitServer
- publicVariableServer "SCFramework_PlayerPingResponseServer";
- diag_log format["(SCFramework) Sending server request (UID %1) for my client ID.",(getPlayerUID player)];
- };
- };
- diag_log format["(SCFramework) Initialization script complete."];
|