40 lines
1.1 KiB
Plaintext
40 lines
1.1 KiB
Plaintext
#include "..\script_component.hpp"
|
|
|
|
params ["_price"];
|
|
|
|
private _paymentData = GVAR(activePayment);
|
|
private _payment = call compile _paymentData;
|
|
|
|
scopeName "main";
|
|
|
|
if (count _payment > 3) then {
|
|
private _authorizedUIDs = _payment select 3;
|
|
|
|
if !(getPlayerUID player in _authorizedUIDs) then {
|
|
["You are not authorized to use this payment method!", "warning", 3, "right"] call EFUNC(misc,notify);
|
|
false breakOut "main";
|
|
};
|
|
};
|
|
|
|
private _varType = _payment select 2;
|
|
private _balance = switch (_varType) do {
|
|
case "player": { player getVariable [_payment select 1, 0] };
|
|
case "mission": { missionNamespace getVariable [_payment select 1, 0] };
|
|
default { 0 };
|
|
};
|
|
|
|
if (_balance < _price) exitWith {
|
|
["You do not have enough funds!", "warning", 3, "right"] call EFUNC(misc,notify);
|
|
false
|
|
};
|
|
|
|
switch (_varType) do {
|
|
case "player": {
|
|
player setVariable [_payment select 1, (_balance - _price), true];
|
|
};
|
|
case "mission": {
|
|
missionNamespace setVariable [_payment select 1, (_balance - _price), true];
|
|
};
|
|
};
|
|
|
|
true |