Not really sure about SkVault as I've never used it before, but I'd recommend using a variable for economy. If you do decide to do this, make sure the variable is linked to a player's UUID, not their username. Also, use a loop variable to make it easier to do a reset of balances.
# Use: {balance::%uuid of player%}
#Do not use: {balance::%player%}, {balance.%uuid of player%} or {balance.%player%}
# Simple Functions
# Show balance
balance(s: sender, p: offlpine player):
set {_u} to uuid of {_p} #: Set to call {_p}'s uuid (You cannot use the expression %uuid of {_p}%)
if {_p} is {_s}:
send "&aBalance: &c$%{balance::%{_u}%}%" to {_s}
else:
send "&a%{_p}%&a's Balance: &c$%{balance::%{_u}%}%" to {_s}
command /bal [<offline player>]:
permission: server.balance
permission message: &4You do not have access to that command.
trigger:
if arg-1 is not set:
balance(sender, player)
else:
if sender has permission "server.balance.others":
balance(sender, arg-1)
else:
message "&4You do not have access to that command."
# Add to player's balance
ecoAdd(s: sender, p: offline player, amt: integer):
set {_u} to uuid of {_p}
add {_amt} to {balance::%{_u}%}
if {_p} is not {_s}:
send "&c$%{_amt}% &awas added to %{_p}%&a's account." to {_s}
send "&c$%{_amt}% &awas added to your account. New balance: &c$%{balance::%{_u}%}%" to {_p}
# You can repeat these for removing, setting and resetting balance.
# You can also create a command like /eco to call all of these functions as used in the example /bal.