Server-Exports

Buchen, Konten lesen und Banken zur Laufzeit.

Buchen

Book

Server
exports.cs_banking:Book(source, kind, amount, opts)

Eine Buchung an einem Ort, nach den Regeln dieses Orts: Limits, Gebühr, Tagessumme, Cooldown, Sperren, beide Hooks und das Discord-Log. Nur der Abstand wird nicht geprüft. Für eine App oder einen Job-Computer, der die Bank entscheiden lassen will.

kindstring
'withdraw', 'deposit', 'transfer', 'society', 'payroll'
amountnumber
optstable
{ place, iban, note, into }. place ohne Angabe ist 0, der Geldautomat. into nur bei society.

Gibt zurückboolean, table | string, string true, { balance, cash, line } oder false und ein Grund, bei einem Hook mit seinem Satz dahinter

Beispiel
local ok, answer = exports.cs_banking:Book(source, 'transfer', 500,
    { place = phoneId, iban = 'CS12 3456 7890 12', note = 'Rent' })

Transfer

Server
exports.cs_banking:Transfer(source, iban, amount, opts)

Für ein Script, das schon entschieden hat: keine Limits, keine Gebühren, kein Cooldown. Geteilt wird der Geldweg, also steht es auf beiden Kontoauszügen, im Log und wird erstattet, wenn die Zustellung scheitert.

optstable
{ fee, note, place, offline }, offline ist hier ab Werk an

Gibt zurückboolean, string 'bad_amount' 'unavailable' 'no_iban' 'self_transfer' 'no_balance' 'offline' 'failed' 'busy'

Beispiel
exports.cs_banking:Transfer(source, iban, 500, { note = 'Paycheck' })

AddStatement

Server
exports.cs_banking:AddStatement(source, kind, amount, opts)

Eine Zeile ohne Geldbewegung, für was das Geld schon bewegt hat: Gehalt, Strafe, Steuer. Das Fenster aktualisiert sich, offen oder nicht.

kindstring
mit Symbol: withdraw, deposit, transfer_in, transfer_out, fee, society_in, society_out
optstable
{ fee, balance, iban, name, note, place }
Beispiel
exports.cs_banking:AddStatement(source, 'deposit', 2400, { name = 'Paycheck' })

Konten lesen

GetIban

Server
exports.cs_banking:GetIban(source)

Die Kontonummer, angelegt, falls keine da ist. Ohne Leerzeichen.

Gibt zurückstring | nil

GetIbanOf

Server
exports.cs_banking:GetIbanOf(identifier)

Dasselbe für einen Charakter, der offline ist.

Gibt zurückstring | nil

GetIbanOwner

Server
exports.cs_banking:GetIbanOwner(iban)

Leerzeichen egal.

Gibt zurückstring, number | nil Identifier und Server-ID, wenn online

GetBalance

Server
exports.cs_banking:GetBalance(source)

Gibt zurücknumber, number Konto und Bargeld

GetStatement

Server
exports.cs_banking:GetStatement(source, before, size)

Eine Seite, neueste zuerst. before ist die ID der ältesten Zeile, die du schon hast.

Gibt zurücktable

GetActions

Server
exports.cs_banking:GetActions(source, id)

Was die drei Knöpfe an einem Ort für diesen Spieler dürfen, mit den Zahlen unter dem Betragsfeld. on und enabled sind zwei Antworten: aus hier und gesperrt für dich.

Gibt zurücktable { withdraw, deposit, transfer }

GetChart

Server
exports.cs_banking:GetChart(source, range)

Die Auswertung für 'all', 'week' oder 'today'.

Gibt zurücktable { range, buckets = { { income, spent, misc } } }

GetSociety

Server
exports.cs_banking:GetSociety(source)

Gibt zurücktable { { job, grade, label, balance, view, deposit, withdraw, transfer, payroll } }

GetSocietyStatement

Server
exports.cs_banking:GetSocietyStatement(job, before, size)

Gibt zurücktable

AddSocietyStatement

Server
exports.cs_banking:AddSocietyStatement(job, kind, amount, opts)
Beispiel
exports.cs_banking:AddSocietyStatement('police', 'deposit', 5000, { name = 'Fines' })

Für einen Spieler öffnen

OpenBank

Server
exports.cs_banking:OpenBank(source, id)

Öffnet eine Bank, wo der Spieler auch steht. Der einzige Weg in eine Bank mit interact = false. Gilt, bis das Fenster zugeht.

GrantBank

Server
exports.cs_banking:GrantBank(source, id)

Dasselbe ohne Fenster, für eine Oberfläche, die das Konto selbst zeichnet. Gewährt keine Buchung, Book fragt jedes Mal selbst.

ReleaseBank

Server
exports.cs_banking:ReleaseBank(source, id)

Gibt es zurück. Mit ID nur diesen Ort.

CloseBank

Server
exports.cs_banking:CloseBank(source)

Gibt zurückboolean

GetPlayerBank

Server
exports.cs_banking:GetPlayerBank(source)

Gibt zurücknumber | nil der Ort, den der Spieler offen hat

Banken zur Laufzeit

CreateBank

Server
exports.cs_banking:CreateBank(raw)

Genau das, was ein Eintrag in Config.Banks ist. Lebt bis zum Neustart, auch über ein Speichern im cs_config-Menü hinweg.

Gibt zurücknumber | nil

Beispiel
local phone = exports.cs_banking:CreateBank({
    name     = 'phone',
    interact = false,
    actions  = { withdraw = { enabled = false },
                 transfer = { max = 25000, fee = 50, cooldown = 15 } },
})

DeleteBank

Server
exports.cs_banking:DeleteBank(id)

Wer sie offen hat, fliegt raus. Die ID wird nie neu vergeben.

SetBankEnabled

Server
exports.cs_banking:SetBankEnabled(id, state)

Schließt eine Bank, ohne sie zu löschen. Für einen Überfall oder Öffnungszeiten.

IsBankEnabled

Server
exports.cs_banking:IsBankEnabled(id)

Gibt zurückboolean

GetBankId

Server
exports.cs_banking:GetBankId(name)

Gibt zurücknumber | nil

Frage offen geblieben?

Schreib uns im Discord. Mit Konsolen-Auszug, Framework und Script-Version ist die erste Antwort meistens schon die Lösung.

Zum Support