Guten Abend/Morgen,
ich hab vorhin ebend verzweifelt versucht eine Quest zu schreiben mit derer man Items mit zeit verlängern kann! Nach 1:45 Stunden hat es auch geklappt (ein Lua Profi hätte dafür keine 5 min gebraucht aber ok)!
Nun würde ich gerne von den erfahrenen Questern hier gerne wissen wie hätte ich die Quest anders schreiben/besser machen können!
Ich bin mir sicher das ich viel zu viele Abfragen drinnen habe ginge sicher leichter
Code
- quest mount_test begin
- state start begin
- when 20349.take begin -- Mob/NPC Vnum
- if pc.is_mount() then
- say_title(""..mob_name(20349).."") -- Mob/NPC Vnum
- say("")
- say("könntest du bitte von deinem Mount absteigen,")
- say("solange wir miteinander reden? Ich habe einen")
- say("steifen Nacken und es ist ziemlich anstregend,")
- say("die ganze Zeit zu dir aufzuschauen zu müssen.")
- say("")
- return
- end
- local vnum = item.get_vnum()
- if vnum >= 71225 and vnum <= 71225 then -- Hier ITEM Vnum Eintragen bei Range
- -- if vnum >= 71114 and vnum <= 71125 then würde er alle Siegeln erlauben zum drauf ziehen
- -- die ab und zwischen diesen beiden vnums liegen
- -- Ab hier Zeit verlängerung items
- -- Geht auch mit allen anderen Items nur Type und Subtype müssen solange
- -- eingestellt sein wie die
- if pc.count_item(38100) >= 1 --Powersnack (7 Tage)
- or pc.count_item(38101) >= 1 --Powersnack (15 Tage)
- or pc.count_item(38102) >= 1 --Powersnack (30 Tage)
- then
- say("Wie ich sehe besitzt du einen")
- say("Powersnack!")
- say("Moechtest du deine Zeit verlaengern?")
- local s = select ("7 Tage", "15 Tage", "30 Tage", "Nein")
- if s == 1 then
- if pc.count_item(38100) < 1 then --Powersnack (7 Tage)
- say("Du brauchst Powersnack (7 Tage) 1 mal!")
- return
- else
- local wert = item.get_socket(0)
- item.set_socket(0, wert + 60*60*24*7)
- say("Deine Zeit wurde verlängert!")
- pc.remove_item(38100 , 1)
- end
- elseif s == 2 then
- if pc.count_item(38101) < 1 then --Powersnack (15 Tage)
- say("Du brauchst Powersnack (15 Tage) 1 mal!")
- return
- else
- local wert = item.get_socket(0)
- item.set_socket(0, wert + 60*60*24*15)
- say("Deine Zeit wurde verlängert!")
- pc.remove_item(38101 , 1)
- end
- elseif s == 3 then
- if pc.count_item(38102) < 1 then --Powersnack (30 Tage)
- say("Du brauchst Powersnack (30 Tage) 1 mal!")
- return
- else
- local wert = item.get_socket(0)
- item.set_socket(0, wert + 60*60*24*30)
- say("Deine Zeit wurde verlängert!")
- pc.remove_item(38102 , 1)
- end
- elseif s == 4 then
- return
- end
- end
- end
- end
- end
- end
Die Questfunktionen hab ich mir aus der Power_mount.quest von Zynkos raus gesucht
Kritik gerne gesehen solange sie sachlich bleibt