[Quest]select wenn items vorhanden sind

08/05/2019 13:00 SATunE#1
Hallo,

ich bin gerade am verzweifeln beim aufbau meiner Quest. Ich möchte eine Tausch Quest erstellen die bevor der select kommt prüft ob man die Items im Inventar hat. Wenn das Item nicht im Inventar ist gibt es die auswahl eben nicht.

zb.

Itemvnum 10 soll zu 100 getauscht werden
Itemvnum 20 soll zu 200 getauscht werden
Itemvnum 30 soll zu 300 getauscht werden

Nun möchte ich das wenn man den NPC anklickt die selects rausgenommen werden wenn das gewisse Item nicht vorhanden ist. zb hab ich kein item mit der vnum 10 dann soll die Auswahl für den Tausch mit der vnum 10 raus genommen werden und nurnoch ein select mit 20 und 30 erscheinen.

Das funktioniert ja auch bei der Seelenstein quest bei den Fertigkeiten, der erkennt welche auf G sind und zeigt dementsprechend nur die Skills mit G an.
Nur irgentwie bekomm ich es nicht gebacken die funktion zu "extrahieren" :D

Hoffe mir kann da jemand helfen :D

MfG
08/05/2019 18:13 rollback#2
Ich möchte keine fertige Lösung hinschreiben weil du dabei ja auch was lernen sollst und hoffentlich willst. Also hier mal die Bausteine:

Vorerst: Quests in Metin werden in Lua geschrieben (zumindest alles innerhalb der Trigger-Blöcke ("when ... begin" [...] "end").
Wenn du allgemeine Fragen hast (wie funktionieren Schleifen, Datenstrukturen, Funktionen, ...) informiere dich einfach über Lua, das ist erstmal unabhängig von Metin.
Metin benutzt soweit ich mich richtig erinnere Lua 5.1 (in Lua 5.2 gabs es teils größere Änderungen, also immer nach Lua 5.1 suchen).

Gut, mit der Info können wir jetzt weitermachen. Ich habe die Frage, die du dir Stellen solltest, mal voran geschrieben und die Lösung dann jeweils im Spoiler.

1. (Metin-Spezifisch) Wie finde ich heraus, wie oft der Spieler ein Item im Inventar hat?:

2. (Lua) Wie funktioniert ein if in Lua?

3. (Lua) Welche Container-Typen (Arrays, Listen, ...) gibt es in Lua?

4. (Lua) Wie füge ich einen Wert in diesen Container hinzu?

5. (Metin-Spezifisch) Mit welcher Funktion kann ich alle Werte eines Lua-Table in einer Auswahl anzeigen?

Mit diesen 5 Fragen (und evtl. noch ein paar einfachen wie z.B. "wie mache ich eine Schleife?") solltest du ans Ziel kommen.
Wenn du wirklich wirklich wirklich nicht weiter kommst, dann hier die komplette Lösung: