Français [Dispatch System] Accéder au dispatch pour les dépanneurs

  • Auteur de la discussion Auteur de la discussion Loic Shmit
  • Date de début Date de début

Loic Shmit

User
25/8/18
40
2
35
300
the-programmer.com
vdgrg-ConvertImage.png

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 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 {[]};
};
et ajouter en dessous (dans chaque fichier) :
Code:
if (missionNamespace getVariable ["license_civ_depanneur",false]) then {_var = maxence_waiting_dep_calls;};
Vous pouvez adapter license_civ_depanneur à votre licence dépanneur, évidement :)

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 {};
};
et ajouter en dessous :
Code:
if (missionNamespace getVariable ["license_civ_depanneur",false]) then {_var = maxence_waiting_dep_calls; _displayNumber = str (getNumber (_curConfig >> "num_dep"));};
Vous pouvez adapter license_civ_depanneur à votre licence dépanneur également.

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);};
et remplacez-là par :
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);};
Dans le même fichier, trouver ces 6 lignes :
Code:
_newVar = switch (playerSide) do {
    case west : {maxence_waiting_cop_calls};
    case independent : {maxence_waiting_med_calls};
    case east : {maxence_waiting_east_calls};
    default {[]};
};
et ajouter en dessous :
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;
et ajouter en dessous :
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 {"??"};
};
et ajouter en dessous :
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];
et ajouter en dessous :
Code:
maxence_waiting_dep_calls pushBack ["**********","",_message,servertime,"",player,0];
publicVariable "maxence_waiting_dep_calls";
Dans le même fichier, en dessous de cette ligne :
Code:
[_message,_fromNum,6,(mapGridPosition player),player] remoteExec ["max_phone_fnc_clientMessage",-2];
ajouter :
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;
    };
};
et remplacer les par :
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 Okaneto
 
Dernière édition par un modérateur:
  • Love
  • Like
Les réactions: MrB et Teravince
Bonjour le bouton dispatch n'apparait pas quand on a la licence dépanneur ces normal ?
Bonjour, je veux pas dire de bêtise (si tu as L'Iphone X) mais tu as ajouté la licence dépanneur dans les conditions du boutons (Config.cpp de l’Iphone X et class CallsManagement) ? Car moi le tuto est fonctionnel.


(((getNumber (missionConfigFile >> ""The_Programmer_Settings_Iphone"" >> ""dispatch_script_enable"")) isEqualTo 1) && (!(playerSide isEqualTo civilian) || license_civ_depanneur))
 
Dernière édition:
Voici la modification à faire dans le ficher config de l’Iphone X, Merci Maxence pour ceci
Code:
(((getNumber (missionConfigFile >> ""The_Programmer_Settings_Iphone"" >> ""dispatch_script_enable"")) isEqualTo 1) && (!(playerSide isEqualTo civilian) || license_civ_depanneur))
 
  • Like
Les réactions: Jean-Baptiste et Maxence
Bonjour,
j'ai suivi ce tuto. Mais le dispatch n'apparait pas sur l'Iphone XI.
Pour la condition dans le config de l'iphone j'ai ajouté:
Code:
"(((getNumber (missionConfigFile >> ""The_Programmer_IphoneXI"" >> ""dispatch_script_enable"")) isEqualTo 1) && (!(playerSide isEqualTo civilian) || entreprise_8))";

Merci pour votre aide.
 
Oui j’avais bien mit le dispatch_script_enable=true;
J’avais fait une erreur dans ma condition. Du coup maintenant j’ai bien mon dispatch qui s’affiche dans mon tel en tant que dépanneur.
Dernier petit problème, les messages et appel n’apparaissent pas dans le dispatch. Seul le marker apparaît dans la petite carte.
 
Bonjour, $

j'ai appliqué toutes les modifications,
Pourtant j'ai ce message que s'affiche sur mon écran

20221022103459_1.jpg
 
J'ai corrigé une étape du guide, qui a du changer à cause d'une update de Dispatch System. Est-ce que tu peux refaire la modification et ressayer ?
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);};
et remplacez-là par :
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);};
 
Voici la modification à faire dans le ficher config de l’Iphone X, Merci Maxence pour ceci
Code:
(((getNumber (missionConfigFile >> ""The_Programmer_Settings_Iphone"" >> ""dispatch_script_enable"")) isEqualTo 1) && (!(playerSide isEqualTo civilian) || license_civ_depanneur))
Bonsoir j'ai suivi cette modification mais le bouton dispatch ne s'affiche pas en dépanneur ni en policier, pompier.

Si quelqu'un à une solution svp.

Merci !