View difference between Paste ID: 64ZXzXX0 and RhBRNKdu
SHOW: | | - or go back to the newest paste.
1
#include "..\script_macros.hpp"
2
/*
3
    File: init.sqf
4
    Author: Bryan "Tonic" Boardwine
5
6
    Description:
7
    Master client initialization file
8
*/
9
10
private ["_handle","_timeStamp","_extDB_notLoaded"];
11
life_firstSpawn = true;
12
life_session_completed = false;
13
[] call mav_introcam_fnc_startCinematicCam;
14
[0, "Setting up client, please wait"] call mav_introcam_fnc_updateCinematicStatus;
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
enableSentences false;
24
25
//Setup initial client core functions
26
diag_log "::Life Client:: Initialization Variables";
27
[] call compile preprocessFileLineNumbers "core\configuration.sqf";
28
29
diag_log "::Life Client:: Variables initialized";
30
diag_log "::Life Client:: Setting up Eventhandlers";
31
[] call life_fnc_setupEVH;
32
33
diag_log "::Life Client:: Eventhandlers completed";
34
diag_log "::Life Client:: Setting up user actions";
35
[] call life_fnc_setupActions;
36
37
diag_log "::Life Client:: User actions completed";
38
diag_log "::Life Client:: Waiting for server functions to transfer..";
39
waitUntil {(!isNil "TON_fnc_clientGangLeader")};
40
41
diag_log "::Life Client:: Received server functions.";
42
[0, "Waiting for server to be ready"] call mav_introcam_fnc_updateCinematicStatus;
43
0 cutFadeOut 99999999;
44
45
diag_log "::Life Client:: Waiting for the server to be ready..";
46
waitUntil {!isNil "life_server_isReady"};
47
waitUntil {!isNil "life_HC_isActive" && {!isNil "life_server_extDB_notLoaded"}};
48
49
if (life_server_extDB_notLoaded) exitWith {
50
    999999 cutText [localize "STR_Init_ExtdbFail","BLACK FADED"];
51
    999999 cutFadeOut 99999999;
52
};
53
54
waitUntil {life_server_isReady};
55
[] call SOCK_fnc_dataQuery;
56
waitUntil {life_session_completed};
57
[1, "APPUIE SUR ESPACE POUR PASSER"] call mav_introcam_fnc_updateCinematicStatus;
58
waitUntil {mav_introcam_continue};
59
0 cutFadeOut 9999999;
60
61
//diag_log "::Life Client:: Group Base Execution";
62
[] spawn life_fnc_escInterupt;
63
64
//Set bank amount for new players
65
switch (playerSide) do {
66
    case west: {
67
        life_paycheck = LIFE_SETTINGS(getNumber,"paycheck_cop");
68
    };
69
    case civilian: {
70
        life_paycheck = LIFE_SETTINGS(getNumber,"paycheck_civ");
71
    };
72
    case independent: {
73
        life_paycheck = LIFE_SETTINGS(getNumber,"paycheck_med");
74
    };
75
	case east : {
76
        life_paycheck = LIFE_SETTINGS(getNumber,"paycheck_adac");
77
    };
78
};
79
80
switch (playerSide) do {
81
    case west: {
82
        _handle = [] spawn life_fnc_initCop;
83
        waitUntil {scriptDone _handle};
84
    };
85
    case civilian: {
86
        //Initialize Civilian Settings
87
        _handle = [] spawn life_fnc_initCiv;
88
        waitUntil {scriptDone _handle};
89
    };
90
    case independent: {
91
        //Initialize Medics and blah
92
        _handle = [] spawn life_fnc_initMedic;
93
        waitUntil {scriptDone _handle};
94
    };
95
	case east : {
96
        _handle = [] spawn life_fnc_initAdac;
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
115
[player,life_settings_enableSidechannel,playerSide] remoteExecCall ["TON_fnc_manageSC",RSERV];
116
0 cutText ["","BLACK IN"];
117
[] call life_fnc_hudSetup;
118
119
/* Set up frame-by-frame handlers */
120
//LIFE_ID_PlayerTags = ["LIFE_PlayerTags","onEachFrame","life_fnc_playerTags"] call BIS_fnc_addStackedEventHandler;
121
LIFE_ID_RevealObjects = ["LIFE_RevealObjects","onEachFrame","life_fnc_revealObjects"] call BIS_fnc_addStackedEventHandler;
122
123
player setVariable ["steam64ID",getPlayerUID player];
124
player setVariable ["realname",profileName,true];
125
player setVariable ["missingOrgan",false,true];//sets variables to false on start  
126
player setVariable ["hasOrgan",false,true];  
127
128
life_fnc_moveIn = compileFinal
129
"
130
    life_disable_getIn = false;
131
    player moveInCargo (_this select 0);
132
    life_disable_getOut = true;
133
";
134
135
life_fnc_RequestClientId = player;
136
publicVariableServer "life_fnc_RequestClientId"; //Variable OwnerID for HeadlessClient
137
138
[] spawn life_fnc_survival;
139
140
[] spawn {
141
    for "_i" from 0 to 1 step 0 do {
142
        waitUntil {(!isNull (findDisplay 49)) && {(!isNull (findDisplay 602))}}; // Check if Inventory and ESC dialogs are open
143
        (findDisplay 49) closeDisplay 2; // Close ESC dialog
144
        (findDisplay 602) closeDisplay 2; // Close Inventory dialog
145
    };
146
};
147
148
CONSTVAR(life_paycheck); //Make the paycheck static.
149
if (LIFE_SETTINGS(getNumber,"enable_fatigue") isEqualTo 0) then {player enableFatigue false;};
150
151
if (LIFE_SETTINGS(getNumber,"pump_service") isEqualTo 1) then {
152
    [] execVM "core\fn_setupStationService.sqf";
153
};
154
155
/*
156
    https://feedback.bistudio.com/T117205 - disableChannels settings cease to work when leaving/rejoining mission
157
    Universal workaround for usage in a preInit function. - AgentRev
158
    Remove if Bohemia actually fixes the issue.
159
*/
160
{
161
    _x params [["_chan",-1,[0]], ["_noText","false",[""]], ["_noVoice","false",[""]]];
162
163
    _noText = [false,true] select ((["false","true"] find toLower _noText) max 0);
164
    _noVoice = [false,true] select ((["false","true"] find toLower _noVoice) max 0);
165
166
    _chan enableChannel [!_noText, !_noVoice];
167
168
} forEach getArray (missionConfigFile >> "disableChannels");
169
170
if (life_HC_isActive) then {
171
    [getPlayerUID player,player getVariable ["realname",name player]] remoteExec ["HC_fnc_wantedProfUpdate",HC_Life];
172
} else {
173
    [getPlayerUID player,player getVariable ["realname",name player]] remoteExec ["life_fnc_wantedProfUpdate",RSERV];
174
};
175
176
if (life_HC_isActive) then {
177
    [getPlayerUID player,player getVariable ["realname",name player]] remoteExec ["HC_fnc_bountyProfUpdate",HC_Life];
178
} else {
179
    [getPlayerUID player,player getVariable ["realname",name player]] remoteExec ["life_fnc_bountyProfUpdate",RSERV];
180
};
181
182
life_hideoutBuildings = [];
183
{
184
    private _building = nearestBuilding getMarkerPos _x;
185
    life_hideoutBuildings pushBack _building;
186
    false
187
} count ["gang_area_1","gang_area_2","gang_area_3"];
188
189
[] spawn theprogrammer_core_fnc_clientInit;
190
191
DYNAMICMARKET_boughtItems = [];
192
[player] remoteExec ["TON_fnc_playerLogged",RSERV];
193
194
195
[] spawn {  
196
	while {true} do {  
197
		sleep (1 + random 1);   
198
		[] spawn SOCK_fnc_updateRequest;  
199
	};  
200
};  
201
202
//Hotel des ventes
203
waitUntil {!isNil "vAH_loaded"};
204
private["_total","_uid","_toDel"];
205
_total = 0;
206
_toDel = [];
207
_uid = getPlayerUID player;
208
{if ((_x select 5 IsEqualto _uid) && (_x select 7 IsEqualto 2)) then {_total = _total + (_x select 4);_toDel pushBack (_x select 0)};}forEach all_ah_items;
209
210
 if (_total > 0) then {
211
 {[1,_x] remoteExec ["TON_fnc_vAH_update",false];}forEach _toDel;
212
[0,format["Pendant que vous étiez déconnecté vous avez vendu $%1 à l'hotel des ventes",[_total]call life_fnc_numberText]] remoteExec ["life_fnc_broadcast",player];
213
life_atmcash = life_atmcash + _total;
214
};
215
216
[] call life_fnc_cellPhoneCheck;
217
218
219
220
diag_log "----------------------------------------------------------------------------------------------------";
221
diag_log format ["               End of Altis Life Client Init :: Total Execution Time %1 seconds ",(diag_tickTime) - _timeStamp];
222
diag_log "----------------------------------------------------------------------------------------------------";