Banker (Lua Modul)
Dieser Artikel dient Referenzzwecken
Die Features in diesem Artikel sind bereits im Spiel implementiert und er sollte den Sachverhalt so schildern, wie er zur Zeit im Spiel zu finden ist. Neue Features für das System etc. sollten im Forum diskutiert werden.
Teile dieses Artikels sind automatisch erzeugt worden
Einige Teile dieses Artikels sind automatisch erzeugt. Diese Teile sind durch {{Anker|AutomaticStartXXX}} und {{Anker|AutomaticEndXXX}} Anker gekennzeichnet und sollten nicht verändert werden.
Das Modul banker bietet Funktionen für das Banksystem in Invertika. Neben Funktionen zum Zugriff auf die Bankkonten der Charaktere biete das Modul auch einen vorgefertigten NPC der dem Spieler als Ansprechpartner für Bankgeschäfte dient.
Inhaltsverzeichnis |
Funktionen
function bank_get_account_balance(ch)
Die Funktion dient der Abfrage des Kontostandes. Dabei wird beachtet ob die entsprechende Variable existiert. Ist dies nicht der Fall so wird sie angelegt.
|
function bank_calc_interest(ch)
Die Funktion berechnet die Zinsen des Bankguthabens in Abhängikeit der verstrichenden Zeit.
|
function bank_get_account_balance_dlg(npc, ch)
Diese Funktion liefert einen Dialog mit dem momentanen Guthaben zurück.
|
function bank_pay_money_to_account_dlg(npc, ch, money)
Diese Funktion liefert einen Dialog zum Einzahlen von Geld auf das Bankkonto.
|
function bank_get_money_from_account_dlg(npc, ch, money)
Diese Funktion liefert einen Dialog zum Auszahlen von Geld vom Bankkonto.
|
function banker_talk(npc, ch)
Diese Funktion liefert einen Dialog plus NPC namens Banker welcher die Bankgeschäfte mit dem Spieler abwickelt.
|
Beispiele
Einbinden eines Banker NPCs auf einer Karte
Um ein Banker NPC in einer Karte einzubinden muss die passende Skriptdatei zur Karte geöffnet werden. Auf dieser wird dann in die atinit der entsprechende NPC gesetzt:
require "scripts/lua/npclib"
require "scripts/libs/banker"
atinit(function()
create_npc("Banker", 11, 45 * TILESIZE + 16, 85 * TILESIZE + 16, banker.banker_talk, nil) --- Banker
end)