Bonjour et bienvenue sur ce tutoriel qui vous permettra de donner accès au dispatch dépanneur depuis leur téléphone.
Ce tutoriel fait suite à la demande d'aide de Okaneto
C'est parti !
Dans le dossier @The_Programmer/addons/dispatch/client et pour tous les fichiers suivants : fn_acceptCall.sqf, fn_addWaypoint.sqf, fn_callAgain.sqf, fn_deleteCall.sqf, fn_lbChangedCallsMenu.sqf, fn_lbChangedMessage.sqf, fn_sendMessageManagement.sqf, fn_showCall.sqf :
Trouver ces 6 lignes :
Code:
_var = switch (playerSide) do {
case west : {maxence_waiting_cop_calls};
case independent : {maxence_waiting_med_calls};
case east : {maxence_waiting_east_calls};
default {[]};
};
Code:
if (missionNamespace getVariable ["license_civ_depanneur",false]) then {_var = maxence_waiting_dep_calls;};
Dans votre @The_Programmer/addons/dispatch/client/fn_replyCall.sqf trouvez ces lignes :
Code:
switch (playerSide) do {
case west : {_var = maxence_waiting_cop_calls; _displayNumber = str (getNumber (_curConfig >> "num_cop"));};
case independent : {_var = maxence_waiting_med_calls; _displayNumber = str (getNumber (_curConfig >> "num_med"));};
case east : {_var = maxence_waiting_east_calls; _displayNumber = str (getNumber (_curConfig >> "num_east"));};
default {};
};
Code:
if (missionNamespace getVariable ["license_civ_depanneur",false]) then {_var = maxence_waiting_dep_calls; _displayNumber = str (getNumber (_curConfig >> "num_dep"));};
Dans votre @The_Programmer/addons/dispatch/client/fn_openCallsManagementMenu.sqf trouver cette ligne :
Code:
if !(playerSide in [west,independent,east]) exitWith {hint (["STR_ACCES_DENIED","Max_Settings_Dispatch","Dispatch_Localization"] call theprogrammer_core_fnc_localize);};
Code:
if (!(playerSide in [west,independent,east]) && !(missionNamespace getVariable ["license_civ_depanneur",false])) exitWith {hint (["STR_ACCES_DENIED","Max_Settings_Dispatch","Dispatch_Localization"] call theprogrammer_core_fnc_localize);};
Code:
_newVar = switch (playerSide) do {
case west : {maxence_waiting_cop_calls};
case independent : {maxence_waiting_med_calls};
case east : {maxence_waiting_east_calls};
default {[]};
};
Code:
if (missionNamespace getVariable ["license_civ_depanneur",false]) then {_newVar = maxence_waiting_dep_calls;};
Dans votre @The_Programmer/addons/dispatch/client/fn_deleteCall.sqf trouver cette ligne :
Code:
_requestList lbDelete _curSelection;
Code:
if (missionNamespace getVariable ["license_civ_depanneur",false]) then {maxence_waiting_dep_calls deleteAt _curSelection; publicVariable "maxence_waiting_dep_calls";};
Dans votre @The_Programmer/addons/dispatch/client/fn_sendMessageManagement.sqf trouver ces lignes :
Code:
_number = switch (playerSide) do {
case west : {str (getNumber (missionConfigFile >> "Max_Settings_Phone" >> "num_cop"))};
case independent : {str (getNumber (missionConfigFile >> "Max_Settings_Phone" >> "num_med"))};
case east : {str (getNumber (missionConfigFile >> "Max_Settings_Phone" >> "num_east"))};
default {"??"};
};
Code:
if (missionNamespace getVariable ["license_civ_depanneur",false]) then {_number = str (getNumber (missionConfigFile >> "Max_Settings_Phone" >> "num_dep"));};
Dans le fichier @The_Programmer/addons/dispatch/server/fn_serverInitDispatch.sqf, ajouter à la fin :
Code:
maxence_waiting_dep_calls = [];
publicVariable "maxence_waiting_dep_calls";
Pour ajouter les messages au dispatch des dépanneurs avec Phone Numbers ou Advanced Phone, dans votre @The_Programmer/addons/advanced_phone/client/fn_sendMSG.sqf, trouver cette ligne :
Code:
[_message,"**********",6,"",player] remoteExec ["max_phone_fnc_clientMessage",-2];
Code:
maxence_waiting_dep_calls pushBack ["**********","",_message,servertime,"",player,0];
publicVariable "maxence_waiting_dep_calls";
Code:
[_message,_fromNum,6,(mapGridPosition player),player] remoteExec ["max_phone_fnc_clientMessage",-2];
Code:
maxence_waiting_dep_calls pushBack [(name player),(position player),_message,servertime,"",player,0];
publicVariable "maxence_waiting_dep_calls";
Pour ajouter les appels au disptach des dépanneurs avec Advanced Phone dans votre @The_Programmer/addons/advanced_phone/client/fn_sendCall.sqf, trouver ces lignes :
Code:
case 3 : { // NUM DEP
{ if (_x getVariable ["getCalls_dep",false]) exitWith {_playerTo = _x;}; } foreach playableUnits;
if (isNull _playerTo) exitWith {
uiSleep 1;
hint (["STR_NO_DEP_CALL","Max_Settings_Phone","Phone_Localization"] call theprogrammer_core_fnc_localize);
_exit = true;
};
};
Code:
case 3 : { // NUM DEP
[] spawn {
_name = name player;
_pos = getPos player;
_phoneNumber = player getVariable ["maxence_numero",""];
if (player getVariable ["calling_ano",false]) then {
_name = (["STR_ANONYM_CALL","Max_Settings_Dispatch","Dispatch_Localization"] call theprogrammer_core_fnc_localize);
_pos = "";
_phoneNumber = "**********";
};
maxence_waiting_dep_calls pushBack [_name,_pos,"",servertime,"",player,1];
publicVariable "maxence_waiting_dep_calls";
player setVariable ["calls_management_call_status",0,true];
["Un appel d'urgence est en attente, veuillez vous rendre sur le centre de dispatch pour y répondre !",_phoneNumber,6,(mapGridPosition _pos),player] remoteExec ["max_phone_fnc_clientMessage",-2];
hint "Votre appel est bien enregistré, veuillez patienter quelques instants le temps qu'un dépanneur réponde à votre appel...";
uiSleep 30;
if !((player getVariable "calls_management_call_status") isEqualTo 0) exitWith {};
hint "Votre appel est bien enregistré, veuillez patienter quelques instants le temps qu'un dépanneur réponde à votre appel...";
uiSleep 30;
if ((player getVariable "calls_management_call_status") isEqualTo 0) then {
_toNum = getNumber (missionConfigFile >> "Max_Settings_Phone" >> "num_dep");
_toNum = [(str _toNum)] call max_phone_fnc_findInContacts;
hint format [(["STR_AUCUNE_REPONSE","Max_Settings_Dispatch","Dispatch_Localization"] call theprogrammer_core_fnc_localize),_toNum];
[format ["Vous avez ratté un appel d'urgence de %1 (%2) !",_name,_phoneNumber],_phoneNumber,6,(mapGridPosition _pos),player] remoteExec ["max_phone_fnc_clientMessage",-2];
player setVariable ["calls_management_call_status",2,true];
player setVariable ["calling_ano",false,true];
};
};
};
Et voila !
N'oubliez pas de modifier la condition pour afficher le bouton Dispatch dans votre menu Y ou dans l'Iphone, voir les réponses ci-dessous.
Cordialement,
Forum Manager Loic Shmit,
avec la collaboration de Okaneto
Dernière édition par un modérateur: