Just a few tips to make an easier, foolproof and expandable money system without cluttering your entire scripts/mission with if then else checks: //init.sqf or wherever //basic function to change a units money amount, works with positive and negative numbers TAG_fnc_changeMoney = { params ["_unit","_amount"]; _currentMoney = _unit getVariable ["TAG_fnc_money",0];//returns 0 money if the unit has non, current amount otherwise _newMoney = _amount + _currentMoney; if (_newMoney < 0) exitWith {systemchat "The transaction would set your balance below 0!";false}; _unit setVariable ["TAG_fnc_money",_newMoney,true]; systemchat "Money balance changed:"; systemchat format ["You now have %1$",_newMoney]; true }; //now anywhere in the game you simply use this to change a units money amount, as long as it stays above 0 [player,50000] call TAG_fnc_changeMoney;   I assumed the money value has to stay above 0 or else the transaction won't happen. The TAG_fnc_changeMoney returns a bool if the transaction was successful so you'll only have to check for that. Money will also be stored on the player object, so you could have multiple players with their own assets without getting into global variable in MP hell. Now to your items store or what it's supposed to be, have to be more specific:   TAG_fnc_buyItem = { params ["_unit","_item","_cost"]; if !(_unit canAdd _item) exitWith {systemchat "Not enough space!";false}; _purchase = [_unit,- _cost] call TAG_fnc_changeMoney;//notice the negative sign of the cost, will be handled in here instead of having to keep track of it everywhere else if !(_exchange) exitWith {systemchat "Not enough money!";false}; systemchat ["Congratulations on your new %1",_item]; true } //now when you want a purchase to happen simply use this: _purchase = [player,"rvg_foldedTent",500] call TAG_fnc_buyItem; if (_purchase) then {systemchat "Purchase successful!"} else {systemchat "Purchase failed!"}; This way you have it all happen in one line, readable and easily adaptable to enable player to player money transfer or other unvoluntary means of monetary exchange. Best thing about this is that you can even add a bank account or other places for the player to store money (car, hollow tree stump) or prevent transactions from happening because the player was naughty and the store clerk doesn't like him by modifying a single centralized function which only has to be defined once in init.sqf or better in the description.ext.   Cheers