Français Solved Comment permettre aux dépanneurs d'accéder au Dispatch sur leur téléphone ?

  • Auteur de la discussion Auteur de la discussion Okaneto
  • Date de début Date de début

Okaneto

User
29/12/19
6
3
100
Bonjour,

J'aimerais que les dépanneurs aient accès au Dispatch sur leur téléphone, ils ont une licence et c'est pas un playerside.

Des solutions ?

Merci.
 
  • Like
Les réactions: Mathis
Solution
Dans le config_master de l'Iphone, il y a comme condition :
Code:
condition = "(((getNumber (missionConfigFile >> ""The_Programmer_Settings_Iphone"" >> ""dispatch_script_enable"")) isEqualTo 1) && !(playerSide isEqualTo civilian))";
Il faut la remplacer par :
Code:
condition = "(((getNumber (missionConfigFile >> ""The_Programmer_Settings_Iphone"" >> ""dispatch_script_enable"")) isEqualTo 1) && (!(playerSide isEqualTo civilian) || (missionNameSpace getVariable [""license_civ_depanneur"",false])))";
Yo !

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_replyCall.sqf, fn_sendMessageManagement.sqf, fn_showCall.sqf :
Trouve 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 ajoute en dessous :
Code:
if (missionNamespace getVariable ["license_civ_depanneur",false]) then {_var = maxence_waiting_dep_calls;};
Tu peux adapter license_civ_depanneur à ta licence dépanneur, évidement :)

Dans ton @The_Programmer/addons/dispatch/client/fn_openCallsManagementMenu.sqf trouve cette ligne :
Code:
if (playerSide in [west,independent]) then {_allow = true};
et ajoute en dessous :
Code:
if (missionNamespace getVariable ["license_civ_depanneur",false]) then {_allow = true};
Dans le même fichier, trouve 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 ajoute en dessous :
Code:
if (missionNamespace getVariable ["license_civ_depanneur",false]) then {_newVar = maxence_waiting_dep_calls;};

Dans le fichier @The_Programmer/addons/dispatch/server/fn_serverInitDispatch.sqf, ajoute à 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 ton @The_Programmer/addons/advanced_phone/client/fn_sendMSG.sqf, trouve cette ligne :
Code:
[_message,"**********",6,"",player] remoteExec ["max_phone_fnc_clientMessage",-2];
et ajoute 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];
ajoute :
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 ton @The_Programmer/addons/advanced_phone/client/fn_sendCall.sqf, trouve ces lignes :
Code:
case 3 : { // NUM DEP
    _fn_findStandardDepanneur = {
        {
            if (_x getVariable "getCalls_dep") exitWith {
                _x;
            };
            objNull
        } foreach playableUnits;
    };
    _playerTo = _toNum call _fn_findStandardDepanneur;

    if (isNull _playerTo) exitWith {
        uiSleep 1;
        hint (["STR_NO_DEP_CALL","Max_Settings_Phone","Phone_Localization"] call theprogrammer_core_fnc_localize);
        _exit = true;
    };
};
et remplace 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,_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,_pos,player] remoteExec ["max_phone_fnc_clientMessage",-2];
            player setVariable ["calls_management_call_status",2,true];
            player setVariable ["calling_ano",false,true];
        };
    };
};

Il y a beaucoup de modification à faire, j'espère que je n'ai rien oublié 😅
 
Dernière édition:
  • Like
Les réactions: MaKKo
Dans le config_master de l'Iphone, il y a comme condition :
Code:
condition = "(((getNumber (missionConfigFile >> ""The_Programmer_Settings_Iphone"" >> ""dispatch_script_enable"")) isEqualTo 1) && !(playerSide isEqualTo civilian))";
Il faut la remplacer par :
Code:
condition = "(((getNumber (missionConfigFile >> ""The_Programmer_Settings_Iphone"" >> ""dispatch_script_enable"")) isEqualTo 1) && (!(playerSide isEqualTo civilian) || (missionNameSpace getVariable [""license_civ_depanneur"",false])))";
 
Dernière édition:
Solution
Il faut la remplacer par :
Code:
condition = "(((getNumber (missionConfigFile >> ""The_Programmer_Settings_Iphone"" >> ""dispatch_script_enable"")) isEqualTo 1) && (!(playerSide isEqualTo civilian) || (missionNameSpace getVariable ["license_civ_depanneur",false])))";


Je me permet de corriger avec

Code:
condition = "(((getNumber (missionConfigFile >> ""The_Programmer_Settings_Iphone"" >> ""dispatch_script_enable"")) isEqualTo 1) && (!(playerSide isEqualTo civilian) || (missionNameSpace getVariable [""license_civ_depanneur"",false])))";

Sinon, ça ne fonctionnera pas ^^