Hey,
wie im Titel beschrieben beendet sich meine Quest nicht richtig. Obwohl nach dem Ausgeben der Belohnung am Schluss ich den state beende und ingame die Quest verschwindet, muss ich nur einen weiteren Wildhund killen und bekomme direkt wieder das Rewardfenster.
Kann mir jemand sagen warum?
Ist übrigens meine allererste quest also achtet mal nicht zu sehr auf den code, ty xD
Und 2.
Wäre cool falls jemand Lust hat das so umzuschreiben, dass man direkt am Anfang globale variablen angeben kann für Monster und Anzahl oder falls euch noch mehr einfällt. Weiß nicht wieviel Sinn das mit den rewards machen würde.
Code
- quest hauptquest_lv1 begin
- state start begin
- when login with pc.level >= 1 begin
- set_state(information)
- end
- end
- state information begin
- when letter begin
- send_letter("Hauptquests")
- end
- when button or info begin
- say_title("Hauptquests")
- say("Gegrüßt seist du Abenteurer,")
- say("um dir den Weg hier ein wenig zu erleichtern,")
- say("gibt es eine Reihe von Hauptquests, welche du")
- say("unbedingt machen solltest. Sie werden dich gut belohnen!")
- set_state(auftrag)
- end
- end
- state auftrag begin
- when letter begin
- send_letter("Hauptquest #1")
- end
- when button or info begin
- say_title("Hauptquest #1")
- say("Machen wir es dir mal nicht zu schwer.")
- say_reward("Töte 30 Wildhunde")
- pc.setqf("counter", 0)
- set_state(jagd)
- end
- end
- state jagd begin
- when letter begin
- send_letter("Hauptquest #1: Jagd")
- end
- when button or info begin
- say_title("Hauptquest #1: Jagd")
- say("Streng dich an!")
- say_reward(string.format("Du hast bereits %s "..mob_name(101).." getötet.", pc.getqf("counter")))
- say_reward(string.format("Dir fehlen noch %s.", 30-pc.getqf("counter")))
- end
- when 101.kill begin
- local count = pc.getqf("counter") + 1
- pc.setqf("counter", count)
- if count >= 30 then
- say_title("Hauptquest #1")
- say("Gut gemacht. Hier ist deine Belohung")
- say("")
- say_reward("Du erhältst:")
- say_reward("")
- if pc.get_job() == 0 then
- say_reward("Mönchsplattenpanzer+2")
- pc.give_item2(11202, 1)
- elseif pc.get_job() == 1 then
- say_reward("Azuranzug+2")
- pc.give_item2(11402, 1)
- elseif pc.get_job() == 2 then
- say_reward("Requiemplattenpanzer+2")
- pc.give_item2(11602, 1)
- else
- say_reward("Purpurkleidung+2")
- pc.give_item2(11802, 1)
- end
- complete_quest_state(jagd)
- set_quest_state(Hauptquest_Lv5)
- end
- end
- end
- end