Advertisement
Guest User

Untitled

a guest
May 27th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.92 KB | None | 0 0
  1. #include "..\script_macros.hpp"
  2. /*
  3. File: init.sqf
  4. Author:
  5.  
  6. Description:
  7. Master client initialization file
  8. */
  9.  
  10. private["_handle","_timeStamp","_server_isReady","_extDB_notLoaded"];
  11.  
  12. if (life_HC_isActive) then {
  13. _server_isReady = life_HC_server_isReady;
  14. _extDB_notLoaded = life_HC_server_extDB_notLoaded;
  15. } else {
  16. _server_isReady = life_server_isReady;
  17. _extDB_notLoaded = life_server_extDB_notLoaded;
  18. };
  19.  
  20. life_firstSpawn = true;
  21. life_session_completed = false;
  22. 0 cutText["Setting up client, please wait...","BLACK FADED"];
  23. 0 cutFadeOut 9999999;
  24. _timeStamp = diag_tickTime;
  25. diag_log "----------------------------------------------------------------------------------------------------";
  26. diag_log "--------------------------------- Starting Altis Life Client Init ----------------------------------";
  27. diag_log "------------------------------------------ Version 4.4r4 -------------------------------------------";
  28. diag_log "----------------------------------------------------------------------------------------------------";
  29. waitUntil {!isNull player && player == player}; //Wait till the player is ready
  30. [] call compile PreprocessFileLineNumbers "core\clientValidator.sqf";
  31. enableSentences false;
  32.  
  33. //Setup initial client core functions
  34. diag_log "::Life Client:: Initialization Variables";
  35. [] call compile PreprocessFileLineNumbers "core\configuration.sqf";
  36.  
  37. //Set bank amount for new players
  38. switch (playerSide) do {
  39. case west: {
  40. life_paycheck = LIFE_SETTINGS(getNumber,"paycheck_cop");
  41. };
  42. case civilian: {
  43. life_paycheck = LIFE_SETTINGS(getNumber,"paycheck_civ");
  44. };
  45. case independent: {
  46. life_paycheck = LIFE_SETTINGS(getNumber,"paycheck_med");
  47. };
  48. };
  49.  
  50. diag_log "::Life Client:: Variables initialized";
  51. diag_log "::Life Client:: Setting up Eventhandlers";
  52. [] call life_fnc_setupEVH;
  53.  
  54. diag_log "::Life Client:: Eventhandlers completed";
  55. diag_log "::Life Client:: Setting up user actions";
  56. [] call life_fnc_setupActions;
  57.  
  58. diag_log "::Life Client:: User actions completed";
  59. diag_log "::Life Client:: Waiting for server functions to transfer..";
  60. waitUntil {(!isNil "TON_fnc_clientGangLeader")};
  61.  
  62. diag_log "::Life Client:: Received server functions.";
  63. 0 cutText ["Waiting for the server to be ready...","BLACK FADED"];
  64. 0 cutFadeOut 99999999;
  65.  
  66. diag_log "::Life Client:: Waiting for the server to be ready..";
  67. waitUntil{!isNil "_server_isReady"};
  68. waitUntil{(_server_isReady || !isNil "_extDB_notLoaded")};
  69.  
  70. if (!isNil "_extDB_notLoaded" && {_extDB_notLoaded isEqualType []}) exitWith {
  71. diag_log _extDB_notLoaded;
  72. 999999 cutText ["extDB failed to load, please contact an administrator.","BLACK FADED"];
  73. 999999 cutFadeOut 99999999;
  74. };
  75.  
  76. [] call SOCK_fnc_dataQuery;
  77. waitUntil {life_session_completed};
  78. 0 cutText["Finishing client setup procedure","BLACK FADED"];
  79. 0 cutFadeOut 9999999;
  80.  
  81. //diag_log "::Life Client:: Group Base Execution";
  82. [] spawn life_fnc_escInterupt;
  83.  
  84. switch (playerSide) do {
  85. case west: {
  86. _handle = [] spawn life_fnc_initCop;
  87. waitUntil {scriptDone _handle};
  88. };
  89. case civilian: {
  90. //Initialize Civilian Settings
  91. _handle = [] spawn life_fnc_initCiv;
  92. waitUntil {scriptDone _handle};
  93. };
  94. case independent: {
  95. //Initialize Medics and blah
  96. _handle = [] spawn life_fnc_initMedic;
  97. waitUntil {scriptDone _handle};
  98. };
  99. };
  100.  
  101. player setVariable ["restrained",false,true];
  102. player setVariable ["Escorting",false,true];
  103. player setVariable ["transporting",false,true];
  104. player setVariable ["playerSurrender",false,true];
  105.  
  106. diag_log "Past Settings Init";
  107. [] execFSM "core\fsm\client.fsm";
  108.  
  109. diag_log "Executing client.fsm";
  110. waitUntil {!(isNull (findDisplay 46))};
  111.  
  112. diag_log "Display 46 Found";
  113. (findDisplay 46) displayAddEventHandler ["KeyDown", "_this call life_fnc_keyHandler"];
  114. player addRating 99999999;
  115.  
  116. [player,life_settings_enableSidechannel,playerSide] remoteExecCall ["TON_fnc_managesc",RSERV];
  117. 0 cutText ["","BLACK IN"];
  118. [] call life_fnc_hudSetup;
  119.  
  120. /* Set up frame-by-frame handlers */
  121. LIFE_ID_PlayerTags = ["LIFE_PlayerTags","onEachFrame","life_fnc_playerTags"] call BIS_fnc_addStackedEventHandler;
  122. LIFE_ID_RevealObjects = ["LIFE_RevealObjects","onEachFrame","life_fnc_revealObjects"] call BIS_fnc_addStackedEventHandler;
  123.  
  124. player setVariable ["steam64ID",getPlayerUID player];
  125. player setVariable ["realname",profileName,true];
  126.  
  127. life_fnc_moveIn = compileFinal
  128. "
  129. life_disable_getIn = false;
  130. player moveInCargo (_this select 0);
  131. life_disable_getOut = true;
  132. ";
  133.  
  134. life_fnc_RequestClientId = player;
  135. publicVariableServer "life_fnc_RequestClientId"; //Variable OwnerID for HeadlessClient
  136.  
  137. [] spawn life_fnc_survival;
  138.  
  139. [] spawn {
  140. for "_i" from 0 to 1 step 0 do {
  141. waitUntil{(!isNull (findDisplay 49)) && (!isNull (findDisplay 602))}; // Check if Inventory and ESC dialogs are open
  142. (findDisplay 49) closeDisplay 2; // Close ESC dialog
  143. (findDisplay 602) closeDisplay 2; // Close Inventory dialog
  144. };
  145. };
  146.  
  147. CONSTVAR(life_paycheck); //Make the paycheck static.
  148. if (LIFE_SETTINGS(getNumber,"enable_fatigue") isEqualTo 0) then {player enableFatigue false;};
  149.  
  150. if (LIFE_SETTINGS(getNumber,"pump_service") isEqualTo 1) then{
  151. [] execVM "core\fn_setupStationService.sqf";
  152. };
  153.  
  154. if (life_HC_isActive) then {
  155. [getPlayerUID player,player getVariable["realname",name player]] remoteExec ["HC_fnc_wantedProfUpdate",HC_Life];
  156. } else {
  157. [getPlayerUID player,player getVariable["realname",name player]] remoteExec ["life_fnc_wantedProfUpdate",RSERV];
  158. };
  159.  
  160. diag_log "----------------------------------------------------------------------------------------------------";
  161. diag_log format[" End of Altis Life Client Init :: Total Execution Time %1 seconds ",(diag_tickTime) - _timeStamp];
  162. diag_log "----------------------------------------------------------------------------------------------------";
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement