|
hace 2 meses | |
---|---|---|
textures | hace 9 meses | |
LICENSE.md | hace 9 meses | |
README.md | hace 2 meses | |
atm-core.lua | hace 2 meses | |
atm-nodes.lua | hace 9 meses | |
bank.lua | hace 2 meses | |
core.lua | hace 2 meses | |
depends.txt | hace 9 meses | |
init.lua | hace 2 meses | |
minibank.lua | hace 2 meses | |
mod.conf | hace 9 meses | |
settingtypes.txt | hace 9 meses |
Adds (cross-server) ATMs to Minetest. Transactions may take up to 5 minutes to appear.
This mod is currently in beta, and this README probably needs rewriting.
After installing, you will need to add lurkcoin
to secure.http_mods
in
minetest.conf to allow cross-server transactions. The minetest.conf settings
lurkcoin.username
and lurkcoin.token
must be set to the username and token
you get from the lurkcoin website, and should not contain leading or trailing
spaces.
lurkcoin is a cross-server (possibly cross-game in the future) money transfer system.
If you’re interested in how it works, ask/nag me to finish this FAQ.
There are limits, and exchange rates are updated in realtime (and change depending on how much you are trying to transfer) to try and prevent creative money and imbalanced economies. There are also logs of cross-server transactions, if you suspect fraud, PM me on IRC if possible (Freenode or xeroxIRC).
The following lurkcoin-specific functions and variables exist:
lurkcoin.exchange_rate
: The raw exchange rate, do not modify this!lurkcoin.get_exchange_rate(amount, to, callback)
: Get an exchange rate
from this server.lurkcoin.pay(from, to, server, amount, callback)
: Makes from
pay someone
amount
cr, and calls callback
on success/faliure. callback
should have two
parameters, success
and msg
.lurkcoin.server_name
: The account name used to log into lurkcoin.Callbacks may or may not be pcall()ed, this is liable to change and you should not rely on errors bringing down the server or just being logged.
This mod creates a “universal”™ bank API.
The below functions (except getbal
and pay
) return true
on success and
false
on failure.
lurkcoin.bank.getbal(name)
: Gets a balancelurkcoin.bank.setbal(name, balance, reason)
: Sets a balancelurkcoin.bank.user_exists(name)
: Checks if a user exists.lurkcoin.bank.changebal(name, amount, reason)
: Changes a balance (use
either positive or negative numbers)lurkcoin.bank.add(name, amount, reason)
: Adds amount
to name
’s balance.
Will return false if amount
is below 0
.lurkcoin.bank.subtract(name, amount, reason)
: Subtracts amount
from
name
’s balance. Will return false if amount
is below 0
.lurkcoin.bank.pay(from, to, amount)
: Makes user from
pay a user
amount
cr. This will return two values, success
(true/false) and
message
(a string).By default, this mod will check for a few bank mods, and if it doesn’t find any
will use the built-in (≈34 line) minibank.lua
. minibank
does not store any
transaction history and will disregard the reason
parameter when updating
balances.
To change the currently used bank, use lurkcoin.change_bank(bank)
, where
bank
is a table containing at least getbal
, setbal
and user_exists
.
getbal
should not create users on balance checking, and if it returns nil
for non-existent users, user_exists
is not required. Any other functions
implemented (except pay
) must have the same return values as described in this
documentation, and are entirely optional (they will be automatically created if
they are not included). Any missing functions are “filled in” automatically.
By default, payments are rounded down to the nearest 0.01cr.