Français Solved Ajout d'une condition pour récupérer une valeur dans un switch

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

Alexandre

User
29/6/21
20
1
1
300
Bonjour à tous;


[CODE lang="cpp" title="fn_cmdPU"]switch (ctrlText _entry) do {
case "transfert -b -a": { [] spawn life_fnc_transfertbaPU; };
case "transfert -a -b": { closeDialog 0; };
case default { ctrlSetText [1401, "CONNEXION\USER\INA2019 : $ We can't process your request : Error"]};
};
[/CODE]

[CODE lang="cpp" title="fn_transfertbaPU"]if (!(alive player)) exitwith {};

private ["_display","_entry","_entry2"];

_display = findDisplay 554145;
_entry = _display displayCtrl 1400;
_entry2 = _display displayCtrl 1401;

if (life_sold_bitcoin <= 0 && life_cash <= 0) exitWith { closeDialog 0; };

if (life_cash <= 100000) then {
life_sold_bitcoin = life_cash * 0.0001;
life_cash = life_cash - life_cash;
ctrlSetText [1401, format ["CONNEXION\USER\INA2019 : $ Porte-monnaie: %1 € && Bitcoin(s): %2 BTC",life_cash,life_sold_bitcoin]];
};[/CODE]

J'aimerais récupérer dans mon fn_cmdPU particulièrement dans le Switch une valeur "Scalar" en "integer" :

Ligne concernée :

C++:
case "transfert -b -a": { [] spawn life_fnc_transfertbaPU; };

Et ensuite injecter à nouveau cette valeur dans fn_transfertbaPU

En exemple dans ctrlText je dois pouvoir renseigner ma commande ainsi ;

C++:
case "transfert -b -a <number>": { [] spawn life_fnc_transfertbaPU; };

<number> c'est mon scalar en "integer" > le but c'est quand le joueur renseigne une valeur du type 5000 que le code récupère cette valeur pour la convertir par la suite dans une autre source de monnaie
 
Solution
Hello!
Je ne pense pas que tu puisses utiliser un switch pour cela, mais tu peux utiliser select pour sélectionner une partie d'un string : https://community.bistudio.com/wiki/select

Par exemple pour sélectionner "transfert -b -a" :
Code:
_string = "transfert -b -a <number>";
_part = _string select [0,15];
hint _part;

Ou pour sélectionner "<number>" :
Code:
_string = "transfert -b -a <number>";
_part = _string select [16,(count _string) - 16];
hint _part;
Hello!
Je ne pense pas que tu puisses utiliser un switch pour cela, mais tu peux utiliser select pour sélectionner une partie d'un string : https://community.bistudio.com/wiki/select

Par exemple pour sélectionner "transfert -b -a" :
Code:
_string = "transfert -b -a <number>";
_part = _string select [0,15];
hint _part;

Ou pour sélectionner "<number>" :
Code:
_string = "transfert -b -a <number>";
_part = _string select [16,(count _string) - 16];
hint _part;
 
Solution