Hallo zusammen. Ich habe eine einfache Quest geschrieben. Ich bin Anfänger und aktuell arbeite ich an einem Oldschool-Metin2-Server für mich und meine Freunde.
Diese Quest hat folgenden Fehler: Wenn ich die Quest in der Questübersicht (Ingame) nochmals anklicke, darf ich die Quest immer wieder von vorne beginnen.
Das bedeutet, die Quest geht irgendwie nie zu Ende, ein ewiger Kreislauf. Welchen Gedankenfehler habe ich gemacht und was sollte ich mir nochmals anschauen, um die Quest auch beenden zu können bzw. dass sich der Counter nicht resettet.
Kann da wer Denkanstöße einbringen?
Danke im Voraus.
Code
- quest metinkill_1 begin
- state start begin
- when login or levelup with pc.level >= 15 begin
- set_state(information)
- end
- end
- state information begin
- when letter begin
- send_letter("Metin-Auftrag 15")
- end
- when info or button begin
- say("Metin-Auftrag Nr.1")
- say("Hallo Spieler von dem Server Mio2!")
- say("Wir brauchen deine Hilfe bei den Metin-Steinen!")
- say("Einige unserer Krieger sind gefallen.")
- say("Wir hoffen auf deine Hilfe!")
- say("Bitte befreie uns von von diesem Unheil!")
- say("Bitte hilf uns:")
- say_reward("Töte 5 x Metin der Schlacht.")
- say_reward("Du findest sie auf Map1.")
- say_reward("Deine Belohnung wird dir sehr hilfreich sein!")
- say_reward("")
- say_reward("")
- say("")
- pc.setqf("state", 5)
- q.set_counter("Metin der Schlacht", 5)
- end
- when 8003.kill begin
- local count = pc.getqf("state") - 1
- if count <= 5 then
- pc.setqf("state", count)
- q.set_counter("Metin der Schlacht", count)
- end
- if count == 0 then
- say_title("Metin-Auftrag 15")
- say("")
- say("")
- say("Gut du hast es geschafft.")
- say("Wir brauchen später erneut deine Hilfe!")
- say("Werde stärker!)")
- say("Hier deine Belohnung:")
- say_reward("Du hast einen Erfahrungsring erhalten!")
- pc.give_item2(71015)
- clear_letter()
- set_state(__COMPLETE__)
- end
- end
- end
- state __COMPLETE__ begin
- end
- end