Abend zusammen.
Da ich sowas hier noch nicht wirklich in dieser Form gesehen habe, habe ich mir die zeit genommen und eine Bank Quest geschrieben.
Funktionen dieser Quest:
- Geld Lagern (Geld betrag wird in der Quest Tabelle via "pc.setqf" befehl gespeichert)
- Geld Abheben (Gleiche wie vorher wird nur aus der Tabelle geladen.)
- Konto Abfragen (Wie Kontoauszug. Gibt die größe des Kontostandes an)
- Pin Ändern (Was soll ich da schon erklären xD)
Wie Funktioniert der Script IG?
- Beim ersten mal fragt der NPC 20350 (änderbar) eine Pin ab diese wird dann als erste Pin gespeichert. Nur durch diese Pin kann man Geld Lagern, Abheben und Pin ändern. Ohne diese Pin ist das nicht möglich!
- Nach der Ersten Pin eingabe stehen die Oben 4 gennanten möglichkeiten zur verfügung.
Grenzen der Quest:
- Pin MUSS zwischen 10000 und 99999 Liegen! Sie Darf nicht 00014 oder 100001 lauten!
- Pin darf NUR Zahlen enthalten
- Maximale Yang Menge auf Konto 1.999.999.999 Yang
[U[/U]
- Maximale Rückzahlsumme (Konto + Yang dabei = MAXIMAL 1.999.999.999)
Grund: 0 Yang bug!
Vorteile der Quest:
- Sie kann den 0 Yang bug beheben! Einfach 1 Yang einzahlen un schon ist der Bug weg. Ohne viel gerede der Source Code:
Code:
quest bank_script begin
state start begin
when 20350.chat."Bank" begin
local pin = pc.getqf("konto_pin")
local konto_yang = pc.getqf("konto_yang")
if pin == 0 then
--------------------------- PIN FESTLEGEN! ---------------------------
say_title(mob_name(20350).. " spricht zu ".. pc.get_name() ..".")
say("")
say("Hallo. Ich bin Roland und Verwalte das")
say("Da du das erste mal mit mir sprichst möchte")
say("Ich dich bitten deine Pin fest zu legen.")
say("Nur eine Sichere 5 stellige Pin stellt")
say("sicher das dein Konto vor Dieben sicher")
say("ist.")
say("")
say_reward("Bitte 5 stellige Pin eingeben (Nur Zahlen)")
local pin_eing = tonumber(input("12345"))
if pin_eing > 9999 and pin_eing < 100000 then
say_title(mob_name(20350).. " spricht zu ".. pc.get_name() ..".")
say("")
say("Diese Pin ist ok!")
say("")
say_reward("Pin " ..pin_eing.. " Speichern?")
local sel=select("Ja", "Nein")
if sel==1 then
pc.setqf("konto_pin", pin_eing)
say_title(mob_name(20350).. " spricht zu ".. pc.get_name() ..".")
say("")
say("Pin wurde gespeichert.")
say("Bis bald mal.")
elseif sel==2 then
say_title(mob_name(20350).. " spricht zu ".. pc.get_name() ..".")
say("")
say("Bis bald mal.")
else
-- Fehler abfangen!
say("Unbekannter Fehler!")
say("Bitte umgehend mit ihren")
say("Fehler Code beim Serverleiter")
say("melden!")
say("Fehler Code: 1")
end
elseif pin_eing > 99999 or pin_eing == 0 or pin_eing < 10000 then
say_title(mob_name(20350).. " spricht zu ".. pc.get_name() ..".")
say("")
say("Tut mir leid doch irgendwas stimmt nicht mit")
say("deiner Pin.")
say("")
say_reward("Info: Pin darf nur Zahlen enthalten!")
say_reward("Info: Pin darf nicht größer als 99999")
say_reward("oder kleiner als 10000 sein!")
else
-- Fehler abfangen!
say("Unbekannter Fehler!")
say("Bitte umgehend mit ihren")
say("Fehler Code beim Serverleiter")
say("melden!")
say("Fehler Code: 2")
end
else
--------------------------- PIN VORHANDEN! ---------------------------
say_title(mob_name(20350).. " spricht zu ".. pc.get_name() ..".")
say("")
say("Hallo. Ich bin Roland und Verwalte das")
say("Geld was die Leute mir anvertraun.")
say("")
say_reward("Was möchtest du tun?")
say("")
local sel=select("Geld geben", "Geld nehmen", "Konto Abfragen", "Pin ändern", "Nichts")
if sel==1 then
---------------------------GELD GEBEN---------------------------
say_title(mob_name(20350).. " spricht zu ".. pc.get_name() ..".")
say("")
say("Bitte Pin eingeben.")
local pin_abf = tonumber(input(""))
if pin_abf == pc.getqf("konto_pin") then
say_title(mob_name(20350).. " spricht zu ".. pc.get_name() ..".")
say("")
say("Pin ist Korrekt.")
say("Wie viel Geld auf Konto einzahlen?")
say("Maximal 1.999.999.999!")
say("")
say_reward("Dabei: " ..pc.get_money())
say("")
local geld_auf_konto = tonumber(input(""))
local auf_konto_new = tonumber(geld_auf_konto) + pc.getqf("konto_yang")
if pc.get_money() < geld_auf_konto then
say_title(mob_name(20350).. " spricht zu ".. pc.get_name() ..".")
say("")
say("Soviel hast du garnicht dabei.")
else
if auf_konto_new < 2000000000 then
pc.change_money(-geld_auf_konto)
pc.setqf("konto_yang", auf_konto_new)
say_title(mob_name(20350).. " spricht zu ".. pc.get_name() ..".")
say("")
say("Ich habe " ..geld_auf_konto.. " Yang auf dein Konto getan.")
else
say_title(mob_name(20350).. " spricht zu ".. pc.get_name() ..".")
say("")
say("Soviel kannst du nicht aufs Konto.")
say("machen. Das würde die Maximal menge")
say("von 1.999.999.999 überschreiten.")
end
end
else
say_title(mob_name(20350).. " spricht zu ".. pc.get_name() ..".")
say("")
say("Falsche Pin.")
end
elseif sel==2 then
---------------------------GELD ABHEBEN---------------------------
say_title(mob_name(20350).. " spricht zu ".. pc.get_name() ..".")
say("")
say("Bitte Pin eingeben.")
local pin_abf = tonumber(input(""))
if pin_abf == pc.getqf("konto_pin") then
say_title(mob_name(20350).. " spricht zu ".. pc.get_name() ..".")
say("")
say("Pin ist Korrekt.")
say("Wie viel Geld vom Konto abheben?")
say("")
say_reward("Auf Konto: " ..pc.getqf("konto_yang"))
say("")
local geld_von_konto = tonumber(input(""))
if geld_von_konto > pc.getqf("konto_yang") then
say_title(mob_name(20350).. " spricht zu ".. pc.get_name() ..".")
say("")
say("Soviel hast du nicht auf deinem Konto.")
elseif geld_von_konto <= pc.getqf("konto_yang") then
local yang_bug_check = pc.get_money() + geld_von_konto
if yang_bug_check < 2000000000 then
local auf_konto_new = tonumber(pc.getqf("konto_yang") - geld_von_konto)
pc.setqf("konto_yang", auf_konto_new)
pc.change_money(geld_von_konto)
say_title(mob_name(20350).. " spricht zu ".. pc.get_name() ..".")
say("")
say("Ich habe dir " ..geld_von_konto.. " Yang gegeben.")
else
say_title(mob_name(20350).. " spricht zu ".. pc.get_name() ..".")
say("")
say("Soviel kann ich dir nicht geben. Das würde")
say("Dein Yang auf 0 Setzen! (0 YANG BUG)")
end
end
else
say_title(mob_name(20350).. " spricht zu ".. pc.get_name() ..".")
say("")
say("Falsche Pin.")
end
elseif sel==3 then
---------------------------GELD ABFRAGEN---------------------------
say_title(mob_name(20350).. " spricht zu ".. pc.get_name() ..".")
say("")
say("Du möchtest wissen wie viel Yang du auf deinem")
say("Konto hast? Nun gut du hast:")
say("")
say_reward("Yang auf Konto: " ..pc.getqf("konto_yang"))
elseif sel==4 then
---------------------------PIN ÄNDERN---------------------------
say_title(mob_name(20350).. " spricht zu ".. pc.get_name() ..".")
say("")
say("Bitte aktuelle Pin eingeben.")
local pin_abf = tonumber(input(""))
if pin_abf == pc.getqf("konto_pin") then
say_title(mob_name(20350).. " spricht zu ".. pc.get_name() ..".")
say("")
say("Pin ist Korrekt.")
say("Bitte Neue Pin eingeben. (Nur Zahlen)")
local pin_eing = tonumber(input("12345"))
if pin_eing > 9999 and pin_eing < 100000 then
say_title(mob_name(20350).. " spricht zu ".. pc.get_name() ..".")
say("")
say("Diese Pin ist ok!")
say("")
say_reward("Pin " ..pin_eing.. " Speichern?")
local sel=select("Ja", "Nein")
if sel==1 then
pc.setqf("konto_pin", pin_eing)
say_title(mob_name(20350).. " spricht zu ".. pc.get_name() ..".")
say("")
say("Pin wurde erfolgreich geändert.")
say("Bis bald mal.")
elseif sel==2 then
say_title(mob_name(20350).. " spricht zu ".. pc.get_name() ..".")
say("")
say("Bis bald mal.")
else
-- Fehler abfangen!
say("Unbekannter Fehler!")
say("Bitte umgehend mit ihren")
say("Fehler Code beim Serverleiter")
say("melden!")
say("Fehler Code: 3")
end
elseif pin_eing > 99999 or pin_eing == 0 or pin_eing < 10000 then
say_title(mob_name(20350).. " spricht zu ".. pc.get_name() ..".")
say("")
say("Tut mir leid doch irgendwas stimmt nicht mit")
say("deiner Pin. Deshalb habe ich sie nicht geändert.")
say("")
say("")
say_reward("Info: Pin darf nur Zahlen enthalten!")
say_reward("Info: Pin darf nicht größer als 99999")
say_reward("oder kleiner als 10000 sein!")
else
-- Fehler abfangen!
say("Unbekannter Fehler!")
say("Bitte umgehend mit ihren")
say("Fehler Code beim Serverleiter")
say("melden!")
say("Fehler Code: 4")
end
else
say_title(mob_name(20350).. " spricht zu ".. pc.get_name() ..".")
say("")
say("Falsche Pin.")
end
elseif sel==5 then
---------------------------Abbrechen---------------------------
say_title(mob_name(20350).. " spricht zu ".. pc.get_name() ..".")
say("")
say("Bis bald mal.")
else
-- Fehler abfangen!
say("Unbekannter Fehler!")
say("Bitte umgehend mit ihren")
say("Fehler Code beim Serverleiter")
say("melden!")
say("Fehler Code: 5")
end
end
end
end
end
Bei Quest Script anfragen einfach eine PN @ Me. Scripte gerne auch für euch eine Quest.
Einfach mit Quest Idee bei mir melden und ich schaue was ich machen kann.
Greatz Benhero
#Edit! Neue Datei Hochgeladen. (Solle alle Fehler bugfixxen!) Sollte es dennoch zu Problemen kommen
einfach "mob_name(20350)" durch "mob_name("20350") ersetzen. Und hoffen das es geht.
Greatz Benhero