Français Solved Problème de retrait d'argent lors de l'achat de véhicules

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

ZBlueGeek

User
1/4/22
111
5
12
800
Bonjour,

Demande particulière :
- Je possède le script Gouvernement - Duty System et j'ai suivi ce TUTO afin d'avoir garage commun pour les services publiques.

J'ai bien suivi cette partie, sans succès :

Code:
Pour retirer de l'argent sur le compte des policiers/médecin au lieu de leur compte personnel, dans ton fn_unimpound.sqf remplace ces lignes :
Code:
BANK = BANK - _price;
[1] call SOCK_fnc_updatePartial;
par :
Code:
if (playerSide isEqualTo west) then {
    maxence_compte_cop = maxence_compte_cop - _price;
    publicVariable "maxence_compte_cop";
    [maxence_compte_gouv,maxence_compte_cop,maxence_compte_med,(name player),1,3,_price,0] remoteExec ["max_gouvernement_fnc_updateAccounts",2];
} else {
    if (playerSide isEqualTo independent) then {
        maxence_compte_med = maxence_compte_med - _price;
        publicVariable "maxence_compte_med";
        [maxence_compte_gouv,maxence_compte_cop,maxence_compte_med,(name player),2,3,_price,0] remoteExec ["max_gouvernement_fnc_updateAccounts",2];
    } else {
        BANK = BANK - _price;
        [1] call SOCK_fnc_updatePartial;
    };
};

Lorsque chef de la gendarmerie, étant le seul à pouvoir acheter les véhicules pour sa faction, l'argent n'est pas retiré sur le compte gouv mais bien sur son argent en poche ou par paiement en carte.

Merci par avance.
 
Vos logs serveur | Your server logs
https://paste-me.net/pagal
Solution
Hello! La modif que tu as faite c'est pour le prix de sortie du garage, pas pour l'achat du véhicule.

Pour l'achat, dans ton fn_vehicleShopBuy.sqf remplace ces lignes :
Code:
CASH = CASH - _purchasePrice;
[0] call SOCK_fnc_updatePartial;
par :
Code:
if (playerSide isEqualTo west) then {
    maxence_compte_cop = maxence_compte_cop - _purchasePrice;
    publicVariable "maxence_compte_cop";
    [maxence_compte_gouv,maxence_compte_cop,maxence_compte_med,(name player),1,3,_purchasePrice,0] remoteExec ["max_gouvernement_fnc_updateAccounts",2];
} else {
    if (playerSide isEqualTo independent) then {
        maxence_compte_med = maxence_compte_med - _purchasePrice;
        publicVariable "maxence_compte_med"...
Hello! La modif que tu as faite c'est pour le prix de sortie du garage, pas pour l'achat du véhicule.

Pour l'achat, dans ton fn_vehicleShopBuy.sqf remplace ces lignes :
Code:
CASH = CASH - _purchasePrice;
[0] call SOCK_fnc_updatePartial;
par :
Code:
if (playerSide isEqualTo west) then {
    maxence_compte_cop = maxence_compte_cop - _purchasePrice;
    publicVariable "maxence_compte_cop";
    [maxence_compte_gouv,maxence_compte_cop,maxence_compte_med,(name player),1,3,_purchasePrice,0] remoteExec ["max_gouvernement_fnc_updateAccounts",2];
} else {
    if (playerSide isEqualTo independent) then {
        maxence_compte_med = maxence_compte_med - _purchasePrice;
        publicVariable "maxence_compte_med";
        [maxence_compte_gouv,maxence_compte_cop,maxence_compte_med,(name player),2,3,_purchasePrice,0] remoteExec ["max_gouvernement_fnc_updateAccounts",2];
    } else {
        CASH = CASH - _purchasePrice;
        [0] call SOCK_fnc_updatePartial;
    };
};

Et pour le message si tu n'as pas assez d'argent, il faut remplacer cette ligne :
Code:
if (CASH < _purchasePrice) exitWith {hint format [localize "STR_Shop_Veh_NotEnough",[_purchasePrice - CASH] call life_fnc_numberText];closeDialog 0;};
par :
Code:
_exit = false;
if (playerSide isEqualTo west) then {
    if (maxence_compte_cop < _purchasePrice) then {_exit = true;};
} else {
    if (playerSide isEqualTo independent) then {
        if (maxence_compte_med < _purchasePrice) then {_exit = true;};
    } else {
        if (CASH < _purchasePrice) then {_exit = true;};
    };
};

if (_exit) exitWith {hint format [localize "STR_Shop_Veh_NotEnough",[_purchasePrice - CASH] call life_fnc_numberText]; closeDialog 0;};
 
Dernière édition:
Solution
Hey,

Je ne trouve pas la première partie :
Code:
CASH = CASH - _purchasePrice;
[0] call SOCK_fnc_updatePartial;

dans mon fichier
 
Dernière édition par un modérateur:
Ah oui tu as Banking System, alors voici les modifs, dans ton fn_vehicleShopBuy.sqf remplace ces lignes :
Code:
_handle = [_purchasePrice] spawn the_programmer_bank_system_fnc_paymentType;
waitUntil {scriptDone _handle};
if (no_money) exitWith {};

[0] call SOCK_fnc_updatePartial;
par :
Code:
_exit = false;
if (playerSide isEqualTo west) then {
    maxence_compte_cop = maxence_compte_cop - _purchasePrice;
    publicVariable "maxence_compte_cop";
    [maxence_compte_gouv,maxence_compte_cop,maxence_compte_med,(name player),1,3,_purchasePrice,0] remoteExec ["max_gouvernement_fnc_updateAccounts",2];
} else {
    if (playerSide isEqualTo independent) then {
        maxence_compte_med = maxence_compte_med - _purchasePrice;
        publicVariable "maxence_compte_med";
        [maxence_compte_gouv,maxence_compte_cop,maxence_compte_med,(name player),2,3,_purchasePrice,0] remoteExec ["max_gouvernement_fnc_updateAccounts",2];
    } else {
        _handle = [_purchasePrice] spawn the_programmer_bank_system_fnc_paymentType;
        waitUntil {scriptDone _handle};
        if (no_money) exitWith {_exit = true;};

        [0] call SOCK_fnc_updatePartial;
    };
};
if (_exit) exitWith {};
 
Dernière édition:
Ah oui tu as Banking System, alors voici les modifs, dans ton fn_vehicleShopBuy.sqf remplace ces lignes :
Code:
_handle = [_purchasePrice] spawn the_programmer_bank_system_fnc_paymentType;
waitUntil {scriptDone _handle};
if (no_money) exitWith {};

[0] call SOCK_fnc_updatePartial;
par :
Code:
_exit = false;
if (playerSide isEqualTo west) then {
    maxence_compte_cop = maxence_compte_cop - _price;
    publicVariable "maxence_compte_cop";
    [maxence_compte_gouv,maxence_compte_cop,maxence_compte_med,(name player),1,3,_price,0] remoteExec ["max_gouvernement_fnc_updateAccounts",2];
} else {
    if (playerSide isEqualTo independent) then {
        maxence_compte_med = maxence_compte_med - _price;
        publicVariable "maxence_compte_med";
        [maxence_compte_gouv,maxence_compte_cop,maxence_compte_med,(name player),2,3,_price,0] remoteExec ["max_gouvernement_fnc_updateAccounts",2];
    } else {
        _handle = [_purchasePrice] spawn the_programmer_bank_system_fnc_paymentType;
        waitUntil {scriptDone _handle};
        if (no_money) exitWith {_exit = true;};

        [0] call SOCK_fnc_updatePartial;
    };
};
if (_exit) exitWith {};

L'achat se fait bien.
Cependant, l'argent n'est pas débité :(