Français Solved Implémenter une taxe lors de la mort

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

Mark

User
11/12/20
25
2
2
600
Bonsoir!
j'ai essayé de faire un système qui retire de l'argent d'un compte bancaire d'un joueur lors du décès

L'idée est que lorsqu'un joueur meurt, il a un % de chance de perdre 2% de son compte bancaire pour des "frais de notaires" afin d'éviter certaines morts inutiles et peu roleplay,
Le but est que la mort soit réellement punitive et n'est pas juste simplement "perdre son stuff"

Ainsi, j'ai essayé ceci mais dans mon core/medical/fn_onPlayerKilled (j'ai rajouté cela presque à la fin du fichier life de base)

si quelqu'un aurai une idée afin de le faire fonctionner ou aurait une solution plus efficace je suis preneur! Merci d'avance =)
Code:
if ((!isNull _killer && isPlayer _killer && !(vehicle _killer isKindOf "LandVehicle") && {_killer != _unit}) || player getVariable ["life_respawned",false]) then {
    if (((player distance (position fed_bank) > 350) && (player distance (missionNamespace getVariable ["EventPosition",[0,0,0]]) > 200) && ((player distance getMarkerPos "training_1") > 400)) || player getVariable ["life_respawned",false]) then {
        if (random(99) < 33 || player getVariable ["Respawn",false]) then {
            _loose = BANK / 100 * ( 2 -);
            _loose = round _loose;
            hint parseText format ["Suite à votre mort, vous avez perdu %3%1 de votre compte bancaire en frais de notaire.<br />Valeur exacte des frais: %2€","%",[_loose]
            BANK = BANK - _loose;
        };
    };
};
 
Dernière édition par un modérateur:
Solution
C'est intéressant comme idée (y)

J'ai pas trop compris pourquoi tu as mis autant de conditions, tu pourrais simplement faire comme ça :
Code:
_pourcentChance = 30; // Mettre une valeur entre 0 et 100

if (random (100) < _pourcentChance) then {
    _loose = round(BANK * 0.02);
    hint format ["Suite à votre mort, vous avez perdu %1€ de votre compte bancaire en frais de notaire.",[_loose] call life_fnc_numberText];
    BANK = BANK - _loose;
};
C'est intéressant comme idée (y)

J'ai pas trop compris pourquoi tu as mis autant de conditions, tu pourrais simplement faire comme ça :
Code:
_pourcentChance = 30; // Mettre une valeur entre 0 et 100

if (random (100) < _pourcentChance) then {
    _loose = round(BANK * 0.02);
    hint format ["Suite à votre mort, vous avez perdu %1€ de votre compte bancaire en frais de notaire.",[_loose] call life_fnc_numberText];
    BANK = BANK - _loose;
};
 
Solution
S
C'est intéressant comme idée (y)

J'ai pas trop compris pourquoi tu as mis autant de conditions, tu pourrais simplement faire comme ça :
Code:
_pourcentChance = 30; // Mettre une valeur entre 0 et 100

if (random (100) < _pourcentChance) then {
    _loose = round(BANK * 0.02);
    hint format ["Suite à votre mort, vous avez perdu %1€ de votre compte bancaire en frais de notaire.",[_loose] call life_fnc_numberText];
    BANK = BANK - _loose;
};
Salut!
je viens d'éssayer, en effet beaucoup plus simple et fonctionnel ^^
j'aurai du aller au + simple directement lol