Advertisement
Guest User

Untitled

a guest
Jun 21st, 2018
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.90 KB | None | 0 0
  1. #include "..\script_macros.hpp"
  2. #include "..\script_macros.hpp"
  3. /*
  4. File: init.sqf
  5. Author: Bryan "Tonic" Boardwine
  6.  
  7. Description:
  8. Master client initialization file
  9. */
  10.  
  11. private ["_handle","_timeStamp","_extDB_notLoaded"];
  12. life_firstSpawn = true;
  13. life_session_completed = false;
  14. 0 cutText["Setting up client, please wait...","BLACK FADED"];
  15. 0 cutFadeOut 9999999;
  16. _timeStamp = diag_tickTime;
  17. _extDB_notLoaded = "";
  18. diag_log "----------------------------------------------------------------------------------------------------";
  19. diag_log "--------------------------------- Starting Altis Life Client Init ----------------------------------";
  20. diag_log "------------------------------------------ Version 5.0.0 -------------------------------------------";
  21. diag_log "----------------------------------------------------------------------------------------------------";
  22. waitUntil {!isNull player && player == player}; //Wait till the player is ready
  23. [] call compile preprocessFileLineNumbers "core\clientValidator.sqf";
  24. enableSentences false;
  25.  
  26. //Setup initial client core functions
  27. diag_log "::Life Client:: Initialization Variables";
  28. [] call compile preprocessFileLineNumbers "core\configuration.sqf";
  29.  
  30. diag_log "::Life Client:: Variables initialized";
  31. diag_log "::Life Client:: Setting up Eventhandlers";
  32. [] call life_fnc_setupEVH;
  33.  
  34. diag_log "::Life Client:: Eventhandlers completed";
  35. diag_log "::Life Client:: Setting up user actions";
  36. [] call life_fnc_setupActions;
  37.  
  38. diag_log "::Life Client:: User actions completed";
  39. diag_log "::Life Client:: Waiting for server functions to transfer..";
  40. waitUntil {(!isNil "TON_fnc_clientGangLeader")};
  41.  
  42. diag_log "::Life Client:: Received server functions.";
  43. 0 cutText["Waiting for server to be ready","BLACK FADED"];
  44. 0 cutFadeOut 99999999;
  45.  
  46. diag_log "::Life Client:: Waiting for the server to be ready..";
  47. waitUntil {!isNil "life_server_isReady"};
  48. waitUntil {!isNil "life_HC_isActive" && {!isNil "life_server_extDB_notLoaded"}};
  49.  
  50. if (life_server_extDB_notLoaded) exitWith {
  51. 999999 cutText [localize "STR_Init_ExtdbFail","BLACK FADED"];
  52. 999999 cutFadeOut 99999999;
  53. };
  54.  
  55. waitUntil {life_server_isReady};
  56. [] call SOCK_fnc_dataQuery;
  57. waitUntil {life_session_completed};
  58. 0 cutText["Finishing client setup procedure","BLACK FADED"];
  59. 0 cutFadeOut 9999999;
  60.  
  61. //diag_log "::Life Client:: Group Base Execution";
  62. [] spawn life_fnc_escInterupt;
  63. [] execVM "core\functions\fn_markers.sqf";
  64.  
  65. //Set bank amount for new players
  66. switch (playerSide) do {
  67. case west: {
  68. life_paycheck = LIFE_SETTINGS(getNumber,"paycheck_cop");
  69. };
  70. case civilian: {
  71. life_paycheck = LIFE_SETTINGS(getNumber,"paycheck_civ");
  72. };
  73. case independent: {
  74. life_paycheck = LIFE_SETTINGS(getNumber,"paycheck_med");
  75. };
  76. };
  77.  
  78. switch (playerSide) do {
  79. case west: {
  80. _handle = [] spawn life_fnc_initCop;
  81. waitUntil {scriptDone _handle};
  82. };
  83. case civilian: {
  84. //Initialize Civilian Settings
  85. _handle = [] spawn life_fnc_initCiv;
  86. waitUntil {scriptDone _handle};
  87. };
  88. case independent: {
  89. //Initialize Medics and blah
  90. _handle = [] spawn life_fnc_initMedic;
  91. waitUntil {scriptDone _handle};
  92. };
  93. };
  94.  
  95. player setVariable ["restrained",false,true];
  96. player setVariable ["Escorting",false,true];
  97. player setVariable ["transporting",false,true];
  98. player setVariable ["playerSurrender",false,true];
  99. player setVariable ["missingOrgan",false,true];//sets variables to false on start
  100. player setVariable ["hasOrgan",false,true];
  101.  
  102. diag_log "Past Settings Init";
  103. [] execFSM "core\fsm\client.fsm";
  104.  
  105. diag_log "Executing client.fsm";
  106. waitUntil {!(isNull (findDisplay 46))};
  107.  
  108. diag_log "Display 46 Found";
  109. (findDisplay 46) displayAddEventHandler ["KeyDown", "_this call life_fnc_keyHandler"];
  110.  
  111. [player,life_settings_enableSidechannel,playerSide] remoteExecCall ["TON_fnc_manageSC",RSERV];
  112. 0 cutText ["","BLACK IN"];
  113. [] call life_fnc_hudSetup;
  114.  
  115. /* Set up frame-by-frame handlers */
  116. //LIFE_ID_PlayerTags = ["LIFE_PlayerTags","onEachFrame","life_fnc_playerTags"] call BIS_fnc_addStackedEventHandler;
  117. LIFE_ID_RevealObjects = ["LIFE_RevealObjects","onEachFrame","life_fnc_revealObjects"] call BIS_fnc_addStackedEventHandler;
  118.  
  119. player setVariable ["steam64ID",getPlayerUID player];
  120. player setVariable ["realname",profileName,true];
  121.  
  122. life_fnc_moveIn = compileFinal
  123. "
  124. life_disable_getIn = false;
  125. player moveInCargo (_this select 0);
  126. life_disable_getOut = true;
  127. ";
  128.  
  129. life_fnc_RequestClientId = player;
  130. publicVariableServer "life_fnc_RequestClientId"; //Variable OwnerID for HeadlessClient
  131.  
  132. [] spawn life_fnc_survival;
  133.  
  134. [] spawn {
  135. for "_i" from 0 to 1 step 0 do {
  136. waitUntil {(!isNull (findDisplay 49)) && {(!isNull (findDisplay 602))}}; // Check if Inventory and ESC dialogs are open
  137. (findDisplay 49) closeDisplay 2; // Close ESC dialog
  138. (findDisplay 602) closeDisplay 2; // Close Inventory dialog
  139. };
  140. };
  141.  
  142. CONSTVAR(life_paycheck); //Make the paycheck static.
  143. if (LIFE_SETTINGS(getNumber,"enable_fatigue") isEqualTo 0) then {player enableFatigue false;};
  144.  
  145. if (LIFE_SETTINGS(getNumber,"pump_service") isEqualTo 1) then {
  146. [] execVM "core\fn_setupStationService.sqf";
  147. };
  148.  
  149. /*
  150. https://feedback.bistudio.com/T117205 - disableChannels settings cease to work when leaving/rejoining mission
  151. Universal workaround for usage in a preInit function. - AgentRev
  152. Remove if Bohemia actually fixes the issue.
  153. */
  154. {
  155. _x params [["_chan",-1,[0]], ["_noText","false",[""]], ["_noVoice","false",[""]]];
  156.  
  157. _noText = [false,true] select ((["false","true"] find toLower _noText) max 0);
  158. _noVoice = [false,true] select ((["false","true"] find toLower _noVoice) max 0);
  159.  
  160. _chan enableChannel [!_noText, !_noVoice];
  161.  
  162. } forEach getArray (missionConfigFile >> "disableChannels");
  163.  
  164. if (life_HC_isActive) then {
  165. [getPlayerUID player,player getVariable ["realname",name player]] remoteExec ["HC_fnc_wantedProfUpdate",HC_Life];
  166. } else {
  167. [getPlayerUID player,player getVariable ["realname",name player]] remoteExec ["life_fnc_wantedProfUpdate",RSERV];
  168. };
  169.  
  170. life_hideoutBuildings = [];
  171. {
  172. private _building = nearestBuilding getMarkerPos _x;
  173. life_hideoutBuildings pushBack _building;
  174. false
  175. } count ["gang_area_1","gang_area_2","gang_area_3"];
  176.  
  177. //bourse 5.0
  178. DYNAMICMARKET_boughtItems = [];
  179. [player] remoteExec ["TON_fnc_playerLogged",RSERV];
  180.  
  181. diag_log "----------------------------------------------------------------------------------------------------";
  182. diag_log format [" End of Altis Life Client Init :: Total Execution Time %1 seconds ",(diag_tickTime) - _timeStamp];
  183. diag_log "----------------------------------------------------------------------------------------------------";
  184.  
  185. [] spawn max_phone_fnc_initPhone;
  186. [] execVM "scripts\autosave\fn_autosave.sqf";
  187. [player] remoteExec ["the_programmer_identity_fnc_request",2];
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement