Epoch/Sources/epoch_code/compile/traders/EPOCH_startBankTransfer.sqf

59 lines
1.8 KiB
Plaintext
Raw Normal View History

2015-09-14 20:55:36 +00:00
if (isNull(findDisplay -13)) exitWith{};
// perform wait while menu is still open
if (isNil "EPOCH_bankTransferActive") then {
2018-12-06 15:10:29 +00:00
if !(alive player) exitwith {};
2015-09-14 20:55:36 +00:00
EPOCH_bankTransferActive = true;
ctrlEnable[1600, false];
2015-12-23 17:38:11 +00:00
[] spawn {
Release 0.3.8 (#502) * first build for 0.3.8 * 0.3.8.0190 * 0.3.8.0202 * 0.3.8.0213 * 0.3.7.0214 * 0.3.8.0222 * 0.3.8.0246 * 0.3.8.0247 fixed typo * 0.3.8.0249 more fixes for server compiler * 0.3.8.0256 * add build number and simple batch file for packing * match build number with internal * add build numbers to server pbo's and mission files also reworked build script for more options * 0.3.8.0261 * 0.3.8.0261 * 0.3.8.0283 * 0.3.8.0284 * changelog * 0.3.8.0307 * 0.3.8.0311 * remove old BEC plugin * update redis-server.exe to latest build and full config * 0.3.8.0314 * 0.3.8.0315 * inverse logic This should correctly prevent spawning these units nearby jammer or protection zones * use pushbackUnique here * optimized loot function by using selectRandom instead of slower sqf logic * 0.3.8.0316 * make use of new getDir functionality instead of BIS fnc * add lower disconnect value to server.cfg * use new getpos functionality * 0.3.8.0317 * 0.3.8.0319 * 0.3.8.0327 * 0.3.8.0338 changelog update tba * changelog * 0.3.8.0341 * BE update * 0.3.8.0353 * changelog * removed duplicates * 0.3.8.0355 fixed error in getIDC * 0.3.8.0356 revert to BIS_fnc_param as params threw errors * 0.3.8.0357 fixes for #496 #497 * 0.3.8.0359 fixed #497 fixed #496 * 0.3.8.0365 * 0.3.8.0371 * 0.3.8.0373 * 0.3.8.0379 * 0.3.8.0381 * 0.3.8.0386 * 0.3.8.0393 * 0.3.8.0395 * 0.3.8.0396 * 0.3.8.0397 * 0.3.8.0406 * 0.3.8.0409 * 0.3.8.0410 loot balance suppress error in spawnloot make near object check based on building size * 0.3.8.0412 * 0.3.8.0414 removed classes with scope 0 test remove loot trash on gear for #498 fixed #501 * 0.3.8.0415 * same
2016-04-08 20:21:46 +00:00
private ["_transferTarget","_progress","_sleep","_deposit","_withdraw","_transfer","_totalTransfer"];
2016-07-28 14:57:36 +00:00
Release 0.3.8 (#502) * first build for 0.3.8 * 0.3.8.0190 * 0.3.8.0202 * 0.3.8.0213 * 0.3.7.0214 * 0.3.8.0222 * 0.3.8.0246 * 0.3.8.0247 fixed typo * 0.3.8.0249 more fixes for server compiler * 0.3.8.0256 * add build number and simple batch file for packing * match build number with internal * add build numbers to server pbo's and mission files also reworked build script for more options * 0.3.8.0261 * 0.3.8.0261 * 0.3.8.0283 * 0.3.8.0284 * changelog * 0.3.8.0307 * 0.3.8.0311 * remove old BEC plugin * update redis-server.exe to latest build and full config * 0.3.8.0314 * 0.3.8.0315 * inverse logic This should correctly prevent spawning these units nearby jammer or protection zones * use pushbackUnique here * optimized loot function by using selectRandom instead of slower sqf logic * 0.3.8.0316 * make use of new getDir functionality instead of BIS fnc * add lower disconnect value to server.cfg * use new getpos functionality * 0.3.8.0317 * 0.3.8.0319 * 0.3.8.0327 * 0.3.8.0338 changelog update tba * changelog * 0.3.8.0341 * BE update * 0.3.8.0353 * changelog * removed duplicates * 0.3.8.0355 fixed error in getIDC * 0.3.8.0356 revert to BIS_fnc_param as params threw errors * 0.3.8.0357 fixes for #496 #497 * 0.3.8.0359 fixed #497 fixed #496 * 0.3.8.0365 * 0.3.8.0371 * 0.3.8.0373 * 0.3.8.0379 * 0.3.8.0381 * 0.3.8.0386 * 0.3.8.0393 * 0.3.8.0395 * 0.3.8.0396 * 0.3.8.0397 * 0.3.8.0406 * 0.3.8.0409 * 0.3.8.0410 loot balance suppress error in spawnloot make near object check based on building size * 0.3.8.0412 * 0.3.8.0414 removed classes with scope 0 test remove loot trash on gear for #498 fixed #501 * 0.3.8.0415 * same
2016-04-08 20:21:46 +00:00
ctrlSetText[1004,"Transfer started, please wait."];
2015-12-23 17:38:11 +00:00
2015-09-14 20:55:36 +00:00
_deposit = parseNumber(ctrlText 1401) min EPOCH_playerCrypto;
_withdraw = parseNumber(ctrlText 1402) min EPOCH_bankBalance;
_transfer = parseNumber(ctrlText 1400) min EPOCH_bankBalance;
2016-07-28 14:57:36 +00:00
_config = 'CfgEpochClient' call EPOCH_returnConfig;
getArray(_config >> "bankTransferTime") params [["_timePerCrypto",0.0006],["_maxWait",1.2],["_minWait",0.06]];
2015-09-14 20:55:36 +00:00
_totalTransfer = (_deposit + _withdraw) + _transfer;
_progress = 0;
2015-12-23 17:38:11 +00:00
uiSleep 1;
2015-09-14 20:55:36 +00:00
_transferTarget = "";
if (_transfer > 0) then {
_transferTarget = lbData[21500, (lbCurSel 21500)];
};
if (_deposit > 0 || _withdraw > 0 || (_transfer > 0 && _transferTarget != "")) then {
2016-07-28 14:57:36 +00:00
_sleep = ((_totalTransfer * _timePerCrypto) min _maxWait) max _minWait;
2015-09-14 20:55:36 +00:00
for "_i" from 0 to 100 do {
if (isNull(findDisplay -13)) exitWith{};
2018-12-06 15:10:29 +00:00
if !(alive player) exitwith {};
2015-09-14 20:55:36 +00:00
_progress = _progress + 1;
2016-07-28 14:57:36 +00:00
if (_progress >= 100) exitWith{};
2015-09-14 20:55:36 +00:00
ctrlSetText[1200, format["\x\addons\a3_epoch_code\Data\UI\loading_bar_%1.paa", _progress]];
uiSleep _sleep;
};
if (_progress >= 100) then {
// if player waited the full time then send upload
2015-12-23 17:38:11 +00:00
[player, [_deposit, _withdraw, [_transfer, _transferTarget]], Epoch_personalToken] remoteExec ["EPOCH_server_storeCrypto",2];
2015-09-14 20:55:36 +00:00
ctrlSetText[1004, "Transfer complete."];
uiSleep 1;
closeDialog 0;
}
else {
ctrlSetText[1004, "Transfer failed."];
};
};
EPOCH_bankTransferActive = nil;
ctrlEnable[1600, true];
};
2015-12-23 17:38:11 +00:00
};