Guest User

Untitled

a guest
Apr 2nd, 2020
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.59 KB | None | 0 0
  1. #include "..\script_macros.hpp"
  2. /*
  3. File: init.sqf
  4. Author: Bryan "Tonic" Boardwine
  5. Description:
  6. Master client initialization file
  7. */
  8. diag_log "----------------------------------------------------------------------------------------------------";
  9. diag_log "--------------------------------- Starting Altis Life Client Init ----------------------------------";
  10. diag_log format["------------------------------------------ Version %1 -------------------------------------------",(LIFE_SETTINGS(getText,"framework_version"))];
  11. diag_log "----------------------------------------------------------------------------------------------------";
  12.  
  13. 0 cutText[localize "STR_Init_ClientSetup","BLACK FADED",99999999];
  14. _timeStamp = diag_tickTime;
  15.  
  16. waitUntil {!isNull (findDisplay 46)};
  17. enableSentences false;
  18.  
  19. diag_log "[Life Client] Initialization Variables";
  20. [] call compile preprocessFileLineNumbers "core\configuration.sqf";
  21. diag_log "[Life Client] Variables initialized";
  22.  
  23. diag_log "[Life Client] Setting up Eventhandlers";
  24. [] call life_fnc_setupEVH;
  25. diag_log "[Life Client] Eventhandlers completed";
  26.  
  27. diag_log "[Life Client] Setting up user actions";
  28. [] call life_fnc_setupActions;
  29. diag_log "[Life Client] User actions completed";
  30.  
  31. diag_log "[Life Client] Waiting for the server to be ready...";
  32. waitUntil {!isNil "life_server_isReady" && {!isNil "life_server_extDB_notLoaded"}};
  33.  
  34. if (life_server_extDB_notLoaded) exitWith {
  35. 0 cutText [localize "STR_Init_ExtdbFail","BLACK FADED",99999999];
  36. };
  37.  
  38. waitUntil {life_server_isReady};
  39. diag_log "[Life Client] Server loading completed ";
  40. 0 cutText [localize "STR_Init_ServerReady","BLACK FADED",99999999];
  41.  
  42. [] call SOCK_fnc_dataQuery;
  43. waitUntil {life_session_completed};
  44. 0 cutText[localize "STR_Init_ClientFinish","BLACK FADED",99999999];
  45.  
  46. [] spawn life_fnc_escInterupt;
  47. switch (playerSide) do {
  48. case west: {
  49. life_paycheck = LIFE_SETTINGS(getNumber,"paycheck_cop");
  50. [] call life_fnc_initCop;
  51. };
  52. case civilian: {
  53. life_paycheck = LIFE_SETTINGS(getNumber,"paycheck_civ");
  54. [] call life_fnc_initCiv;
  55. };
  56. case independent: {
  57. life_paycheck = LIFE_SETTINGS(getNumber,"paycheck_med");
  58. [] call life_fnc_initMedic;
  59. };
  60. };
  61. CONSTVAR(life_paycheck);
  62.  
  63. player setVariable ["restrained", false, true];
  64. player setVariable ["Escorting", false, true];
  65. player setVariable ["transporting", false, true];
  66. player setVariable ["playerSurrender", false, true];
  67. player setVariable ["realname", profileName, true];
  68.  
  69. diag_log "[Life Client] Past Settings Init";
  70. [] execFSM "core\fsm\client.fsm";
  71. diag_log "[Life Client] Executing client.fsm";
  72.  
  73. (findDisplay 46) displayAddEventHandler ["KeyDown", "_this call life_fnc_keyHandler"];
  74. [player, life_settings_enableSidechannel, playerSide] remoteExecCall ["TON_fnc_manageSC", RSERV];
  75.  
  76. [] call life_fnc_hudSetup;
  77. [] spawn life_fnc_survival;
  78.  
  79. 0 cutText ["","BLACK IN"];
  80.  
  81. [] spawn {
  82. for "_i" from 0 to 1 step 0 do {
  83. waitUntil {(!isNull (findDisplay 49)) && {(!isNull (findDisplay 602))}}; // Check if Inventory and ESC dialogs are open
  84. (findDisplay 49) closeDisplay 2; // Close ESC dialog
  85. (findDisplay 602) closeDisplay 2; // Close Inventory dialog
  86. };
  87. };
  88.  
  89. addMissionEventHandler ["EachFrame", life_fnc_playerTags];
  90. addMissionEventHandler ["EachFrame", life_fnc_revealObjects];
  91.  
  92. if (LIFE_SETTINGS(getNumber,"enable_fatigue") isEqualTo 0) then {player enableFatigue false;};
  93. if (LIFE_SETTINGS(getNumber,"pump_service") isEqualTo 1) then {
  94. [] execVM "core\fn_setupStationService.sqf";
  95. };
  96.  
  97. life_fnc_RequestClientId = player;
  98. publicVariableServer "life_fnc_RequestClientId";
  99.  
  100. /*
  101. https://feedback.bistudio.com/T117205 - disableChannels settings cease to work when leaving/rejoining mission
  102. Universal workaround for usage in a preInit function. - AgentRev
  103. Remove if Bohemia actually fixes the issue.
  104. */
  105. {
  106. _x params [["_chan",-1,[0]], ["_noText","false",[""]], ["_noVoice","false",[""]]];
  107.  
  108. _noText = [false,true] select ((["false","true"] find toLower _noText) max 0);
  109. _noVoice = [false,true] select ((["false","true"] find toLower _noVoice) max 0);
  110.  
  111. _chan enableChannel [!_noText, !_noVoice];
  112.  
  113. } forEach getArray (missionConfigFile >> "disableChannels");
  114.  
  115. if (life_HC_isActive) then {
  116. [getPlayerUID player, player getVariable ["realname", name player]] remoteExec ["HC_fnc_wantedProfUpdate", HC_Life];
  117. } else {
  118. [getPlayerUID player, player getVariable ["realname", name player]] remoteExec ["life_fnc_wantedProfUpdate", RSERV];
  119. };
  120.  
  121. diag_log "----------------------------------------------------------------------------------------------------";
  122. diag_log format [" End of Altis Life Client Init :: Total Execution Time %1 seconds ",(diag_tickTime - _timeStamp)];
  123. diag_log "----------------------------------------------------------------------------------------------------";
  124. [] spawn theprogrammer_core_fnc_clientInit;
  125. /*----------------------------------*\
  126. -- Réglage Task Force Radio --
  127. /*----------------------------------*/
  128. tf_radio_channel_name = "TaskForceRadio"; // ==> Nom du canal TeamSpeak
  129. tf_radio_channel_password = "fefe58"; // ==> Mot de passe du channel TeamSpeak
  130. tf_no_auto_long_range_radio = false ; // ==> Désactive les radios longue porté au spawn du joueur
  131. tf_terrain_interception_coefficient = 4.0; // ==> Réglage de l'interception sur le terrain
  132. player setVariable ["tf_sendingDistanceMultiplicator", 10.0]; //==> Permet de multiplier la distance par défault sur les radios (10 correspond à une multiplication par rapport à la valeur par défaut)
Advertisement
Add Comment
Please, Sign In to add comment