|
You last visited: Today at 17:31
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
03/10/2012, 17:30
|
#5026
|
elite*gold: 2
Join Date: Mar 2009
Posts: 1,427
Received Thanks: 584
|
Einfach set_quest_state
Schau:
Code:
quest biologe1_quest begin
state start begin
when login or levelup with pc.level >= 30 begin
set_state(information)
end
end
state information begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then
target.vid("__TARGET__", v, "Biologenquest")
end
send_letter("Die Forschung des Biologen 1")
end
when button or info begin
say_title("Die Forschung des Biologen 1")
say("")
say("Der Biologe braucht deine Hilfe!")
say("Gehe zu ihm.")
say("")
end
when __TARGET__.target.click or
20084.chat."Die Orkzaehne" begin
target.delete("__TARGET__")
say_title("Biologe:")
say("Oh!?! Du hilfst mir?")
say("Gut ...")
say("Nachdem du mir die letzten male schon")
say("erfolgreich geholfen hast, hoff ich erneut")
say("auf deine Hilfe. Ich werde dich")
say("dafuer auch wieder angemessen belohnen.")
wait()
say_title("Biologe:")
say("Ich habe vor kurzem zu Ohren bekommen")
say("das sich die Orks im Lande breitmachen.")
say("Wie ich von einigen Jaegern gehoert habe")
say("lassen diese Orks nach ihrem Tot nur ihre")
say("Orkzaehne zurueck. Wuerdest du mir helfen")
say("und diese Orkzaehne fuer mich besorgen?")
wait()
say("Ich brauche 10 Orkzaehne um")
say("meine Forschung ein fuer alle mal zu beenden.")
say("Aber Orkzaehne sind sehr zerbrechlich")
say("es kann also sein das ein paar bei")
say("meinen Untersuchungen kaputt gehen.")
say("Bitte verstehen sie das ich alle 10")
say("brauche ich muss wissen was hinter der")
say("Legende steckt ...")
say("")
set_state(go_to_disciple)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
pc.setqf("drink_drug",0)
end
end
state go_to_disciple begin
when letter begin
send_letter("Sammelauftrag: Orkzaehne")
end
when button or info begin
say_title("Orkzaehne")
say("")
say("Der Biologe gab euch den Auftrag")
say("10 Orkzaehne zu sammeln!")
say("Sammelt sie von den Orks im Orktal")
say("und gebt sie dem Biologen.")
say_item_vnum(30006)
say_reward(" Ihr habt".." "..pc.getqf("collect_count").." derzeit abgegeben!")
say("")
end
when 71035.use begin
if get_time() < pc.getqf("duration") then
say("")
say("ÁÙ¤£¥i¥H¨Ï¥Î°g´bÃĤô")
say("")
return
end
if pc.getqf("drink_drug")==1 then
say("")
say("¤w¸g¨Ï¥Î¤F1¦¸")
say("")
return
end
if pc.count_item(30006)==0 then
say("Du hast keine!")
say("Du sollst mir aber welche bringen.")
say("")
return
end
item.remove()
pc.setqf("drink_drug",1)
end
when 20084.chat."Die Orkzaehne!" with pc.count_item(30006) >0 begin
if get_time() > pc.getqf("duration") then
say_title("Biologe:")
say("Einen Moment ...")
say("Vielen Dank,")
say("lasst es mich schnell ueberpruefen")
say("ob dieser Orkzahn in Ordnung ist ...")
say("")
pc.remove_item("30006", 1)
pc.setqf("duration",get_time()+60*60*1)-- Rechnung 60*60= 3600 Sekunden = 1 (Stunde)*1 = 1 Stunden
wait()
local pass_percent
if pc.getqf("drink_drug")==0 then
pass_percent=60
else
pass_percent=90
end
local s= number(1,100)
if s<= pass_percent then
if pc.getqf("collect_count")< 9 then
local index =pc.getqf("collect_count")+1
pc.setqf("collect_count",index)
say(pass_percent)
say_title("Biologe:")
say("Hervorragend dieser Zahn ist in Ordnung")
say("Ihr habt bis jetzt ".." "..10-pc.getqf("collect_count").. " Abgegeben!")
say("Bringt mir noch welche, damit ich die")
say("Forschungen abschließen kann.")
pc.setqf("drink_drug",0)
return
end
say_title("Biologe:")
say("Du hast mir die 10 Stueck gebracht...")
say("Nun bitte ich dich noch mir den")
say("Jinunggyis Seelenstein zu bringen du")
say("bekommst ihn von den Solzen Ork's im Orktal.")
say("Ich denke das du stark genug bist, dass")
say("zu schaffen.")
say("")
pc.setqf("collect_count",0)
pc.setqf("drink_drug",0)
pc.setqf("duration",0)
set_state(key_item)
return
else
say_title("Biologe:")
say("Es tut mir leid aber dieser Zahn ist bei")
say("den Untersuchungen zerbrochen.")
say("Bitte hole mir einen Neuen!")
say("")
pc.setqf("drink_drug",0)
return
end
else
say_title("Biologe:")
say("Oh entschuldige ich habe die letzten")
say("Studien noch nicht beendet ...")
say("Bitte bringe mir den Zahn wenn die")
say("derzeitigen Studien beendet sind.")
say("")
return
end
end
end
state key_item begin
when letter begin
send_letter("Jinunggyis Seelenstein")
if pc.count_item(30220)>0 then
local v = find_npc_by_vnum(20084)
if v != 0 then
target.vid("__TARGET__", v, "Biologenquest")
end
end
end
when button or info begin
if pc.count_item(30220) >0 then
say_title("Jinunggyis Seelenstein")
say("")
say("Du haste den Jinunggyis Seelenstein!")
say("Gehe zu Biologe Chaegirab")
say("und gib ihn ab.")
return
end
say_title("Jinunggyis Seelenstein")
say("")
say("Ihr habt erfolgreich alle ")
say("10 Orkzaehne gesammelt ...")
say("Nun muesst ihr den Jinunggyis ")
say("Seelenstein bekommen.")
say_item_vnum(30220)
say("Ob dieser Seelenstein tatsaechlich")
say("eine Seele enthaelt?")
say("")
end
when 631.kill or
632.kill or
633.kill or
634.kill begin
local s = number(1, 250)
if s == 1 and pc.count_item(30220)==0 then
pc.give_item2(30220, 1)
send_letter("Jinunggyis Seelenstein")
end
end
when 20084.chat."Jinunggyis Seelenstein!" begin
say_title("Biologe:")
say("Du hast hart gekaempft ...")
say("Dafuer werde ich deine innere Staerke erhoehen!")
say("Ich werde dir ein Rezept geben mit dem")
say("du deine Innere Kraft verbessern kannst!")
say("Dank deiner Hilfe verstehe ich nun")
say("die Legende um den Jinunggyis Seelenstein ...")
say("Gehe mit diesen Informationen zu Baek-Go.")
say("Er kann dir dabei helfen deine")
say("Staerke zu erhoehen.")
say("")
pc.remove_item(30220,1)
set_state(__reward)
end
end
state __reward begin
when letter begin
send_letter("Infos des Biologen")
local v = find_npc_by_vnum(20018)
if v != 0 then
target.vid("__TARGET__", v, "Baek-Go")
end
end
when button or info begin
say_title("Zugang zu den Informationen des Biologen!")
say("Um die Belohnen des Biologen zu erhalten")
say("und die innere Staerke zu verbessern")
say("suche Baek-Go auf.")
say("")
end
when __TARGET__.target.click or
20018.chat."Rezept zur Verbesserung der inneren Kraft" begin
target.delete("__TARGET__")
say("Baek-Go:")
say("Ich sehe ..")
say("Sie sagen das der Biologe sie schickte, ")
say("wegen eines Rezeptes halber?")
say("Zeigen sie mal her ...")
say("...")
say("")
say_reward("Du hast dem Biologen erfolgreich geholfen")
say_reward("Du erhaelst folgende Belohnungen:")
say_reward("")
say_reward("- Bewegungsgeschwindigkeit +10%")
say_reward("")
affect.add_collect(apply.MOV_SPEED, 10, 60*60*24*365*60)
clear_letter()
set_quest_state("biologe2_quest", "run")
set_state(__complete)
end
end
state __giveup__ begin
when 20084.chat."Sie wollen es versuchen?" begin
say("Biologe:")
say("Sie wollen es versuchen?")
say("... und die Kraft die sie in sich tragen?")
say("Sie muessen sich hier anmelden, bevor sie die")
say("Aufgabe wieder aufnehmen koennen.")
say("Das kann eine Minute dauern ...")
end
end
state __complete begin
end
end
Code:
quest biologe2_quest begin
state start begin
end
state run begin
when login or levelup with pc.level >= 40 begin
set_state(information)
end
end
state information begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then
target.vid("__TARGET__", v, "Biologenquest")
end
send_letter("Die Forschung des Biologen 2")
end
when button or info begin
say_title("Die Forschung des Biologen 2")
say("")
say("Der Biologe braucht erneut deine Hilfe!")
say("Gehe zu ihm.")
say("")
end
when __TARGET__.target.click or
20084.chat."Fluchsammlungen" begin
target.delete("__TARGET__")
say_title("Biologe Chaegirab:")
say("Oh!?! Schoen dass du da bist?")
say("Gut ...")
say("Nachdem du mir die letzten male schon")
say("erfolgreich geholfen hast, hoff ich nochmals")
say("auf deine Hilfe. Ich werde dich")
say("dafuer auch wieder angemessen belohnen.")
wait()
say_title("Biologe Chaegirab:")
say("Ich habe gehoert dass die Dunklen und")
say("Hohen Peiniger Fluchsammlungen mit sich tragen.")
say("Uriel lies mich wissen dass man mit diesen")
say("Fluchsammlungen bestimmte Hexereien durchführen")
say("kann. Wuerdest du mir helfen?,")
say("und diese Fluchsammlungen fuer mich sammeln?")
wait()
say("Ich brauche 15 Fluchsammlungen um")
say("meine Forschung ein fuer alle mal zu beenden.")
say("Aber Fluchsammlungen sind sehr Staubig")
say("es kann also sein das ich ein paar bei")
say("meinen Untersuchungen nicht entziffern kann.")
say("Ich brauche wirklich alle 15,")
say("ich muss einfach wissen was hinter den")
say("Hexereien steckt ...")
say("")
set_state(go_to_disciple)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
pc.setqf("drink_drug",0)
end
end
state go_to_disciple begin
when letter begin
send_letter("Sammelauftrag: Fluchsammlungen")
end
when button or info begin
say_title("Fluchsammlungen")
say("")
say("Der Biologe gab euch den Auftrag")
say("15 Fluchsammlungen zu sammeln!")
say("Sammelt sie von den Peinigern im Orktal")
say("und gebt sie dem Biologen.")
say_item_vnum(30047)
say_reward(" Ihr habt".." "..pc.getqf("collect_count").." derzeit abgegeben!")
say("")
end
when 71035.use begin
if get_time() < pc.getqf("duration") then
say("")
say("ÁÙ¤£¥i¥H¨Ï¥Î°g´bÃĤô")
say("")
return
end
if pc.getqf("drink_drug")==1 then
say("")
say("¤w¸g¨Ï¥Î¤F1¦¸")
say("")
return
end
if pc.count_item(30047)==0 then
say("Du hast keine!")
say("Bring mir bitte welche.")
say("")
return
end
item.remove()
pc.setqf("drink_drug",1)
end
when 20084.chat."Die Fluchsammlungen!" with pc.count_item(30047) >0 begin
if get_time() > pc.getqf("duration") then
say_title("Biologe Chaegirab:")
say("Einen Augenblick ...")
say("Vielen Dank,")
say("lass mich schnell ueberpruefen")
say("ob diese Fluchsammlung entzifferbar ist ...")
say("")
pc.remove_item("30047", 1)
pc.setqf("duration",get_time()+60*60*1)-- Rechnung 60*60= 3600 Sekunden = 1 (Stunde)*1 = 1 Stunden
wait()
local pass_percent
if pc.getqf("drink_drug")==0 then
pass_percent=60
else
pass_percent=90
end
local s= number(1,100)
if s<= pass_percent then
if pc.getqf("collect_count")< 14 then
local index =pc.getqf("collect_count")+1
pc.setqf("collect_count",index)
say(pass_percent)
say_title("Biologe Chaegirab:")
say("Hervorragend diese Fluchsammlung kann ich entziffern")
say("Du hast bis jetzt ".." "..15-pc.getqf("collect_count").. " Abgegeben!")
say("Bringt mir noch welche, damit ich die")
say("Forschungen abschließen kann.")
pc.setqf("drink_drug",0)
return
end
say_title("Biologe Chaegirab:")
say("Du hast mir die 15 Stueck gebracht...")
say("Nun bitte ich dich noch mir den")
say("Tempel Seelenstein zu bringen du")
say("bekommst ihn von den Solzen dunkl. Fanatikern,")
say("Stolze dunkl. Kämpfer und Stolze dunkl. Oberst")
say("im Hwang-Tempel. Ich denke das du")
say("stark genug bist, dass zu schaffen.")
pc.setqf("collect_count",0)
pc.setqf("drink_drug",0)
pc.setqf("duration",0)
set_state(key_item)
return
else
say_title("Biologe Chaegirab:")
say("Es tut mir leid aber diese Fluchsammlung konnte ich")
say("bei den Untersuchungen nicht entziffern.")
say("Bitte hole mir eine Neue!")
say("")
pc.setqf("drink_drug",0)
return
end
else
say_title("Biologe Chaegirab:")
say("Oh entschuldige ich habe die letzten")
say("Studien noch nicht beendet ...")
say("Bitte bringe mir die Fluchsammlung wenn die")
say("derzeitigen Studien beendet sind.")
say("")
return
end
end
end
state key_item begin
when letter begin
send_letter("Tempel Seelenstein")
if pc.count_item(30221)>0 then
local v = find_npc_by_vnum(20084)
if v != 0 then
target.vid("__TARGET__", v, "Biologenquest")
end
end
end
when button or info begin
if pc.count_item(30221) >0 then
say_title("Tempel Seelenstein")
say("")
say("Du haste den Tempel Seelenstein!")
say("Gehe zu Biologe Chaegirab")
say("und gib ihn ab.")
return
end
say_title("Tempel Seelenstein")
say("")
say("Du hast erfolgreich alle ")
say("15 Fluchsammlungen gesammelt ...")
say("Nun musst du den Tempel- ")
say("Seelenstein bekommen.")
say_item_vnum(30221)
say("Ob dieser Seelenstein wirklich")
say("von den verstorbenen Seelen aus")
say("dem Tempel Stammt?")
end
when 731.kill or
732.kill or
734.kill or
733.kill begin
local s = number(1, 250)
if s == 1 and pc.count_item(30221)==0 then
pc.give_item2(30221, 1)
send_letter("Tempel Seelenstein")
end
end
when 20084.chat."Tempel Seelenstein!" begin
say_title("Biologe Chaegirab:")
say("Du hast hart gekaempft ...")
say("Dafuer werde ich deine innere Staerke erhoehen!")
say("Ich werde dir ein Rezept geben mit dem")
say("du deine Innere Kraft verbessern kannst!")
say("Dank deiner Hilfe verstehe ich nun")
say("die Legende um den Tempel Seelenstein ...")
say("Gehe mit diesen Informationen zu Baek-Go.")
say("Er kann dir dabei helfen deine")
say("Staerke zu erhoehen.")
say("")
pc.remove_item(30221,1)
set_state(__reward)
end
end
state __reward begin
when letter begin
send_letter("Infos des Biologen")
local v = find_npc_by_vnum(20018)
if v != 0 then
target.vid("__TARGET__", v, "Baek-Go")
end
end
when button or info begin
say_title("Zugang zu den Informationen des Biologen!")
say("Um die Belohnen des Biologen zu erhalten")
say("und die innere Staerke zu verbessern")
say("suche Baek-Go auf.")
say("")
end
when __TARGET__.target.click or
20018.chat."Rezept zur Verbesserung der inneren Kraft" begin
target.delete("__TARGET__")
say("Baek-Go:")
say("Ich sehe ..")
say("Sie sagen das der Biologe sie schickte, ")
say("wegen eines Rezeptes halber?")
say("Zeigen sie mal her ...")
say("...")
say("")
say_reward("Du hast dem Biologen erfolgreich geholfen")
say_reward("Du erhaelst folgende Belohnungen:")
say_reward("")
say_reward("- Angriffsgeschwindigkeit +5%")
say_reward("")
affect.add_collect(apply.ATT_SPEED, 5, 60*60*24*365*60)
clear_letter()
set_state(__complete)
end
end
state __giveup__ begin
when 20084.chat."Sie wollen es versuchen?" begin
say("Biologe Chaegirab:")
say("Sie wollen es versuchen?")
say("... und die Kraft die sie in sich tragen?")
say("Sie muessen sich hier anmelden, bevor sie die")
say("Aufgabe wieder aufnehmen koennen.")
say("Das kann eine Minute dauern ...")
end
end
state __complete begin
end
end
|
|
|
03/10/2012, 17:34
|
#5027
|
elite*gold: 4
Join Date: Feb 2011
Posts: 1,878
Received Thanks: 1,350
|
Mal eine Frage an die Questlinge hier unter euch: Wie kann man einzelne Questzeilen, bzw. Chatzeilen färben? Was muss ich wo einfügen damit ich beispielsweise die function say_blue nutzen kann?
|
|
|
03/10/2012, 17:38
|
#5028
|
elite*gold: 60
Join Date: Jul 2010
Posts: 771
Received Thanks: 439
|
vielleicht hilft dir das weiter
MfG
Kriegergeist^^
|
|
|
03/10/2012, 17:38
|
#5029
|
elite*gold: 2
Join Date: Mar 2009
Posts: 1,427
Received Thanks: 584
|
Einfach ma SuFu
|
|
|
03/10/2012, 17:41
|
#5030
|
elite*gold: 60
Join Date: Jul 2010
Posts: 771
Received Thanks: 439
|
Immer noch ein winziges problem.
Der fehler ist so klein, das ich glaube nur den ausschnit zeigen muss:
HTML Code:
when drachenraumzu1.server_timer with game.get_event_flag("drachenraumstatus") == 2 begin
notice_in_map(408 ,"Ihr habt noch 20 Minuten Zeit.")
notice_in_map(408 ,"Viel Glück!")
server_timer("drachenraumzu2", 600)
end
Wen der drachenraumzu1.server_timer ausgelöst wird, geht zwar der drachenraumzu2.server_timer an, aber die notice_in_map wird nicht angezeigt.
Wär nett, wen ihr mir sagen könntet, wie ich in diesen fall die notice_in_map einsetzen soll
MfG
Kriegergeist^^
|
|
|
03/10/2012, 17:46
|
#5031
|
elite*gold: 2
Join Date: Mar 2009
Posts: 1,427
Received Thanks: 584
|
@Kriegergeist:
Falls du vorher mit dungeon Befehlen in deiner Quest gearbeitet hast wie z.B:
Dann wird die Map zu einem Dungeon und der Mapindex ändert sich, daher wäre das ein grund warum dein notice nicht angezeigt wird weil du schlicht nicht auf der Map bist, versuch mal:
Code:
when drachenraumzu1.server_timer with game.get_event_flag("drachenraumstatus") == 2 begin
d.notice(4080000 ,"Ihr habt noch 20 Minuten Zeit.")
d.notice(4080000 ,"Viel Glück!")
server_timer("drachenraumzu2", 600)
end
|
|
|
03/10/2012, 17:54
|
#5032
|
elite*gold: 60
Join Date: Jul 2010
Posts: 771
Received Thanks: 439
|
#Fear *_*
Erst mal danke, für die schnelle antwort
Es ist kein dungeon, der map index stimmt also überein
Ich versteh einfach nicht, wieso dieses sch*** teil nicht geht -.-
Hier mal die komplete quest:
HTML Code:
----------------------------------------------------
--Tempel des Drachen
--By Lucifero/Kriegergeist^^
--Letzte Änderung am 10.03.2012 um 10:30Uhr
----------------------------------------------------
quest tempel_of_dragon begin
state start begin
when logout with pc.get_map_index() == 408 and pc.getqf("drachenraumerlaubnis") == 1 begin
game.set_event_flag("playerinroom", game.get_event_flag("playerinroom")-1)
pc.setqf("dpbelohnung", 0)
pc.setqf("drachenraumerlaubnis", 0)
end
when 30131.chat."Tempel des Drachen" begin
if game.get_event_flag("drachenraumstatus") == 0 then
game.set_event_flag("drachenraumstatus", 1)
say_title(""..mob_name(30131).."")
say("")
say("Ihr wollt also Beran-Setaou bekämpfen?")
say("Das ist eine schwere Stück Arbeit, ohne")
say("eine starke Gruppe oder Gilde schaffste das")
say("nicht. Wollt ihr es wirklich versuchen?")
say("")
local a = select("Wir sind bereit!", "Abbrechen")
if a == 1 then
say_title(""..mob_name(30131).."")
say("")
say("Gib hier ein Passwort ein, das auch")
say("nur deine Gruppenmitglieder oder Gildenmitglieder")
say("mit dir kämpfen können. Vergiss nicht, ihnen das")
say("Passwort zugeben.")
say_reward("Achtung: Aber nur Zahlen als Passwort eingeben!")
local passwort = tonumber(input(""))
if passwort and passwort <= 999999999 then
game.set_event_flag("drachenraum_passwort",passwort)
say_title(""..mob_name(30131).."")
say("")
say("Das Passwort lautet:")
say_reward(""..passwort.."")
chat("Das Passwort für den Drachenraum: "..passwort.."")
say("")
say("Jetzt ist es soweit!")
say("Der Kampf wird lange dauern. Aber wen ihr nicht")
say("in 30 Minuten zurück seit, hole ich euch da raus.")
say("Viel glück!")
say("")
regen_in_map(408, "data/dungeon/drachenraum/1.txt")
regen_in_map(408, "data/dungeon/drachenraum/2.txt")
game.set_event_flag("drachenraumstatus", 2)
pc.setqf("drachenraumerlaubnis", 1)
wait()
pc.warp(2801562, 2795021)
else
say_title(""..mob_name(30131).."")
say("")
say("Das Passwort ist entweder zu kurz oder zu lang!")
say("Versuch es nochmal!")
game.set_event_flag("drachenraumstatus", 0)
end
elseif a == 2 then
game.set_event_flag("drachenraumstatus", 0)
return
end
elseif game.get_event_flag("drachenraumstatus") == 2 then
say_title(""..mob_name(30131).."")
say("")
say("Tut mir Leid, der Raum ist reseviert.")
say("Willst du trotzdem gegen Beran-Setaou kämpfen?")
say("")
local b = select("Ich will kämpfen!", "Abbrechen")
if b == 1 then
say_title(""..mob_name(30131).."")
say("")
say("Mal sehen ob du das Passwort kennst!")
say("Wenn du das Passwort für den Zugang hast,")
say("dan lass ich dich eintreten.")
say("")
local passwort = tonumber(input(""))
if game.get_event_flag("drachenraum_passwort") == passwort then
say_title(""..mob_name(30131).."")
say("")
say("Das Passwort stimmt überein.")
say("Ich bringe dich in den Tempel des Drachen.")
pc.setqf("drachenraumerlaubnis", 1)
wait()
pc.warp(2801562, 2795021)
else
say_title(""..mob_name(30131).."")
say("")
say("Das Passwort stimmt nicht überein.")
return
end
elseif b == 2 then
return
end
else
say_title(""..mob_name(30131).."")
say("")
say("Siehste du nicht das ich gerade rede?")
say("Warte noch!")
end
end
when 30131.chat."Drachenraum Configuration!" with pc.is_gm() begin
say_title(""..mob_name(30131).."")
say("")
say("Ist etwa ein Fehler aufgetreten durch ein Reboot?")
say("Soll ich schnell diesen Fehler beheben?")
local z = select("Fehler beheben!", "Abbrechen")
if z == 2 then
return
elseif z == 1 then
clear_server_timer("drachenraumzu1")
clear_server_timer("drachenraumzu2")
clear_server_timer("drachenraumzu3")
clear_server_timer("drachenraumzu4")
clear_server_timer("drachenraumspawn")
clear_server_timer("drachenraumspawn1")
pc.setqf("dpbelohnung", 0)
pc.setqf("drachenraumerlaubnis", 0)
game.set_event_flag("dragondead", 0)
game.set_event_flag("drachenraumstatus", 0)
game.set_event_flag("playerinroom", 0)
kill_all_in_map(408)
kill_all_in_map(408)
warp_all_to_village(408, 1)
say_title(""..mob_name(30131).."")
say("")
say("Der Fehler müsste behoben sein.")
end
end
when login with pc.get_map_index() == 408 begin
if game.get_event_flag("drachenraumtimerset") == 1 and pc.getqf("drachenraumerlaubnis") == 1 then
notice("Schnell!")
notice("Der Kampf gegen Beran-Setaou hat schon begonnen.")
game.set_event_flag("playerinroom", game.get_event_flag("playerinroom")+1)
elseif game.get_event_flag("drachenraumtimerset") == 0 and pc.getqf("drachenraumerlaubnis") == 1 then
game.set_event_flag("drachenraumtimerset", 1)
game.set_event_flag("playerinroom", 1)
notice("Jetzt liegt es an dir und deinem Team!")
notice("Der Kampf gegen Beran-Setaou hat begonnen.")
server_timer("drachenraumspawn", 120)
server_timer("drachenraumzu1", 600)
else
warp_to_village()
end
end
when drachenraumspawn.server_timer with game.get_event_flag("drachenraumstatus") == 2 and game.get_event_flag("playerinroom") >= 1 begin
server_timer("drachenraumspawn1", 120)
regen_in_map(408, "data/dungeon/drachenraum/2.txt")
end
when drachenraumspawn1.server_timer with game.get_event_flag("drachenraumstatus") == 2 and game.get_event_flag("playerinroom") >= 1 begin
server_timer("drachenraumspawn", 120)
regen_in_map(408, "data/dungeon/drachenraum/2.txt")
end
when drachenraumzu1.server_timer with game.get_event_flag("drachenraumstatus") == 2 begin
notice_in_map(408 ,"Ihr habt noch 20 Minuten Zeit.")
notice_in_map(408 ,"Viel Glück!")
server_timer("drachenraumzu2", 600)
end
when drachenraumzu2.server_timer with game.get_event_flag("drachenraumstatus") == 2 begin
notice_in_map(408 ,"Ihr habt noch 10 Minuten Zeit.")
notice_in_map(408 ,"Viel Glück!")
server_timer("drachenraumzu3", 300)
end
when drachenraumzu3.server_timer with game.get_event_flag("drachenraumstatus") == 2 begin
notice_in_map(408 ,"Ihr habt noch 5 Minuten Zeit.")
notice_in_map(408 ,"Viel Glück!")
server_timer("drachenraumzu4", 300)
end
when drachenraumzu4.server_timer with game.get_event_flag("drachenraumstatus") == 2 begin
if game.get_event_flag("dragondead") == 1 then
pc.setqf("dpbelohnung", 0)
pc.setqf("drachenraumerlaubnis", 0)
game.set_event_flag("dragondead", 0)
game.set_event_flag("drachenraumstatus", 0)
game.set_event_flag("drachenraumtimerset", 0)
notice_in_map("Ihr braucht zu lange.")
notice_in_map("Ich hole euch jetzt da raus, es hat kein Sinn mehr.")
kill_all_in_map(408)
kill_all_in_map(408)
clear_server_timer("drachenraumzu1")
clear_server_timer("drachenraumzu2")
clear_server_timer("drachenraumzu3")
clear_server_timer("drachenraumzu4")
clear_server_timer("drachenraumspawn")
clear_server_timer("drachenraumspawn1")
warp_all_to_village(408, 2)
else
pc.setqf("dpbelohnung", 0)
pc.setqf("drachenraumerlaubnis", 0)
game.set_event_flag("dragondead", 0)
game.set_event_flag("drachenraumstatus", 0)
game.set_event_flag("drachenraumtimerset", 0)
notice_in_map("Dass kann nicht sein, er ist wiederauferstanden.")
notice_in_map("Ich hole euch jetzt da raus!")
kill_all_in_map(408)
kill_all_in_map(408)
clear_server_timer("drachenraumzu1")
clear_server_timer("drachenraumzu2")
clear_server_timer("drachenraumzu3")
clear_server_timer("drachenraumzu4")
clear_server_timer("drachenraumspawn")
clear_server_timer("drachenraumspawn1")
warp_all_to_village(408, 2)
end
end
when kill with pc.get_map_index() == 408 and game.get_event_flag("drachenraumstatus") == 2 begin
if npc.race == 2494 then
notice_in_map("Ihr habt Beran-Setaou getötet.")
notice_in_map("Seine schreckens Herrschaft ist endgültig vorbei.")
game.set_event_flag("dragondead", 1)
game.set_event_flag("playerinroom", 0)
clear_server_timer("drachenraumzu1")
clear_server_timer("drachenraumzu2")
clear_server_timer("drachenraumzu3")
clear_server_timer("drachenraumzu4")
mob.spawn(23004, 154, 173, 1)
pc.setqf("dpbelohnung", 0)
server_timer("drachenraumzu4", 60)
else
end
end
--------------------------------------
-- Dungeonpunkte verteilung
--------------------------------------
when 23004.chat."Dungeonpunkte" with pc.get_map_index() == 408 and game.get_event_flag("drachenraumstatus") == 2 begin
if pc.getqf("dpbelohnung") == 0 then
say_title("Gelehrter:")
say("")
say("Herzlichen Glückwunsch,")
say("du hast das Dungeon bezwungen, dafür bekommst")
say("du eine Belohnung.")
say("Du erhälst:")
say_reward("30 Dungeonpunkte")
say("Viel glück bei deinen Abenteuer.")
chat("Du hast 30 Dungeonpunkte erhalten!")
pc.setqf("dungeonpoint", pc.getqf("dungeonpoint")+30)
pc.setqf("dpbelohnung", 1)
wait()
say_title("Gelehrter:")
say("")
say("Wenn du willst, kann ich dich in eine der")
say("drei Städte teleportieren.")
say_reward("In welche Stadt soll ich dich teleportiren?")
local z = select("Shinsoo Reich!","Chunjo Reich!","Jinno Reich!","Abbrechen!")
if z == 1 then
pc.setqf("dpbelohnung", 0)
pc.warp (469300, 964200)
elseif z == 2 then
pc.setqf("dpbelohnung", 0)
pc.warp (55700, 157900)
elseif z == 3 then
pc.setqf("dpbelohnung", 0)
pc.warp (969600, 278400)
elseif z == 4 then
return
end
else
say_title("Gelehrter:")
say("")
say("Du hast bereits deine Belohnung erhalten.")
say("Ich kann dich aber in eine der drei")
say("Städte teleportieren")
say_reward("In welche Stadt soll ich dich teleportiren?")
local y = select("Shinsoo Reich!","Chunjo Reich!","Jinno Reich!","Abbrechen!")
if y == 1 then
pc.setqf("dpbelohnung", 0)
pc.warp (469300, 964200)
elseif y == 2 then
pc.setqf("dpbelohnung", 0)
pc.warp (55700, 157900)
elseif y == 3 then
pc.setqf("dpbelohnung", 0)
pc.warp (969600, 278400)
elseif y == 4 then
return
end
end
end
end
end
alle notice_in_map gehen nicht, außer die bei den kill ausgelöst wird.
Vielleicht kannste mir jetzt besser helfen
MfG
Kriegergeist^^
|
|
|
03/10/2012, 18:23
|
#5033
|
elite*gold: 0
Join Date: Sep 2009
Posts: 33
Received Thanks: 2
|
mhh.. bei mir zeigt er immer ein Fehler an, wisst ihr vllt. was hier Falsch ist
PHP Code:
quest give_basic_weapon begin
state start begin
when login begin
local item_vnum = 19
local item_vnum2 = 11209
if pc.get_job() == 1 then
item_vnum = 1009
item_vnum2 = 11409
elseif pc.get_job() == 2 then
item_vnum2 = 11609
elseif pc.get_job() == 3 then
item_vnum = 7009
item_vnum2 = 11809
end
pc.give_item2(item_vnum)
pc.give_item2(item_vnum2)
pc.give_item2(27003, 1000)
pc.give_item2(27006, 400)
pc.give_item2(72702)
pc.give_item2(71050, 10)
pc.give_item2(70038, 400)
pc.give_item2(14009)
pc.give_item2(16009)
pc.give_item2(17009)
set_state(weiter)
end
end
state weiter begin
when letter begin
send_letter("Willkommen auf Server!")
end
when button or info begin
say_title("Willkommen auf Server, "..pc.get_name())
say("Willkommen junger Rekrut, du hast die Aufnahmeprüfung")
say("bestanden. Das heißt aber nicht das du hier nun Eier")
say("schaukeln darfst, sondern jetzt geht es erst richtig")
say("los! Wir haben dir eine Ausrüstung, ein paar Tränke,")
say("Windschuhe und Tapferkeitsumhänge besorgt.")
say("Bist du gut genug dich zu Beweisen und einer der")
say("besten zu werden? Wir werden sehen!")
set_state(ende)
end
end
state ende begin
end
end
|
|
|
03/10/2012, 19:44
|
#5034
|
elite*gold: 26
Join Date: Aug 2009
Posts: 107
Received Thanks: 62
|
edit @TIHERINA
|
|
|
03/10/2012, 23:03
|
#5035
|
elite*gold: 0
Join Date: Jun 2009
Posts: 223
Received Thanks: 21
|
PHP Code:
when 70103.use begin say_title("Sutra") say("") say("Hiermit kannst du dein Lager öffnen,") say("Server Infos Sehen etc..") say("") say("Wähle aus.") say("") local s = select("Lager öffnen","Itemshop Lager","Server Info","Abbrechen") if s == 1 then game.open_safebox() say_title("Lager") say("") say("Dein Lager wurde geöffnet") say("") elseif s == 2 then game.open_mall() say_title("Itemshop Lager") say("") say("Dein Itemshop Lager wurde geöffnet") say("") elseif s == 3 then say_title("Server Info") say("") say("Dieser Server geht bis level 99") say("Man kann aus den 65er Waffen") say("machen.") say("Die Rate beträgt zurzeit:") say("100% Exp , 300% Yang 300% Drop") say("Viel Spaß wünscht euch TopLight2") say("") end end end end
wo liegt der fehler hier?
bekomme immer "musst start with 'quest'
|
|
|
03/10/2012, 23:19
|
#5036
|
elite*gold: 2
Join Date: Mar 2009
Posts: 1,427
Received Thanks: 584
|
Wie der Fehler es ja eig. schon sagt eine quest fängt immer mit:
an, danach musst du einen State starten sozusagen, am anfang meist:
Code:
quest xxxx begin
state start begin
Bei dir haben auch sehr viele end's gefehlt, achte mal drauf das zu jeden If ein end gehört!
Deine quest:
Code:
quest xxx begin
state start begin
when 70103.use begin
say_title("Sutra")
say("")
say("Hiermit kannst du dein Lager öffnen,")
say("Server Infos Sehen etc..")
say("")
say("Wähle aus.")
say("")
local s = select("Lager öffnen","Itemshop Lager","Server Info","Abbrechen")
if s == 1 then
game.open_safebox()
say_title("Lager")
say("")
say("Dein Lager wurde geöffnet")
say("")
end
elseif s == 2 then
game.open_mall()
say_title("Itemshop Lager")
say("")
say("Dein Itemshop Lager wurde geöffnet")
say("")
end
elseif s == 3 then
say_title("Server Info")
say("")
say("Dieser Server geht bis level 99")
say("Man kann aus den 65er Waffen")
say("machen.")
say("Die Rate beträgt zurzeit:")
say("100% Exp , 300% Yang 300% Drop")
say("Viel Spaß wünscht euch TopLight2")
say("")
end
end
end
end
end
|
|
|
03/10/2012, 23:31
|
#5037
|
elite*gold: 0
Join Date: Jun 2009
Posts: 223
Received Thanks: 21
|
Der fehler kommt trozdem >.<
|
|
|
03/10/2012, 23:50
|
#5038
|
elite*gold: 389
Join Date: Jul 2010
Posts: 4,910
Received Thanks: 530
|
Hab mal eine kleine Frage, kann mir einer solch eine Quest schreiben:
PHP Code:
Könntest du mir bitte eine kleine Quest schreiben, die es ermöglicht, durch ein Item einen Shop zu eröffnen (der kann auch leer sein) damit man die Items dort verkaufen kann?
|
|
|
03/11/2012, 09:20
|
#5039
|
elite*gold: 0
Join Date: Feb 2010
Posts: 60
Received Thanks: 16
|
Quote:
Originally Posted by cReez'
Hab mal eine kleine Frage, kann mir einer solch eine Quest schreiben:
PHP Code:
Könntest du mir bitte eine kleine Quest schreiben, die es ermöglicht,
durch ein Item einen Shop zu eröffnen (der kann auch leer sein) damit man
die Items dort verkaufen kann?
|
Technisch nicht möglich.
Bzw. funktioniert nur wenn paar mins davor ein anderer Npc angeklickt wurde.
Würde sonst so ausschauen »
PHP Code:
quest test begin
state start begin
when VNUM.use begin
npc . open_shop( 13 )
setskin(NOWINDOW)
end
end
end
Ich hoffe ich konnte dir weiterhelfen.
Mfg derkiler
|
|
|
03/11/2012, 13:32
|
#5040
|
elite*gold: 39
Join Date: Jun 2009
Posts: 500
Received Thanks: 212
|
Hey,
ich würde gerne wissen, ob man ohne SQL-Abfrage in einer Quest prüfen kann,
ob ein Item stapelbar ist.
Mfg, Destroyer446
|
|
|
All times are GMT +1. The time now is 17:32.
|
|