|
You last visited: Today at 03:30
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
05/10/2014, 15:26
|
#10186
|
elite*gold: 12
Join Date: Jun 2012
Posts: 978
Received Thanks: 860
|
Probier's mal so :
Quote:
Originally Posted by TayzZ.?
Danke Kilroy.
Ich habe da einen Fehler gemacht. Wenn ich jetzt ingame auf "Glück versuchen" drücke und dan ein versuch machen (egal bei welcher waffe) bekomme ich als "Niete" kein Item und unten im chat steht "du hast Yang erhalten" könnte das bitte einer fixxen, da ich den Fehler nicht finde
|
Quote:
PHP Code:
quest Sonderwaffen begin
state start begin
when npcvnum.chat."Sonderwaffen" begin
s=select("Glück versuchen","Nieten eintauschen","Informationen","Abbrechen")
if s == 4 then return end
if s == 1 then
say_title("Glücks Waffen")
say("Möchtest du dein Glück für Waffen")
say("mit Einzigartigen Bonis versuchen?")
say("Dan bist du hier genau richtig")
say("")
say("Bitte wähle das Schwert, wodrauf du dein")
say("Glück auf Probe setzen möchtest")
local s=select("Ägypter Schwert - 5","Pharaonen Säbel - 10","Abbrechen")
if s == 3 then return end
if s == 1 then
if pc.count_item(71150) < 5 then syschat("Du hast zu wenig Ägyper Siegel") return end
if number(1, 1000) == 1 then
pc.give_item2(6360, 1)
notice_all(pc.get_name().." hat das Item: Ägypter Schwert bekommen!")
else
pc.give_item2(71151, 1)
end
pc.remove_item(71150, 5)
elseif s == 2 then
if pc.count_item(71150) < 10 then syschat("Du hast das Item nicht oft genug") return end
if number(1, 2000) == 2 then
pc.give_item2(6370, 1)
notice_all(pc.get_name().." hat das Item: Pharaonen Säbel bekommen!")
else
pc.give_item2(71151, 1)
end
pc.remove_item(71150, 10)
end
elseif s == 2 then
say_title("Nieten eintauschen")
say("Hier kannst du deine Nieten gegen DR-Gutscheine")
say("eintauschen. Bitte wähle deine gewünschte Anzahl")
say("an DR die Du haben möchtest, solange du die anzahl")
say("an Nieten besitzt.")
s=select("DR Gutschein (100) - 10","DR Gutschein (500) - 50","DR Gutschein (1000) - 100","Abbrechen")
if s == 4 then return end
say_title("Nieten eintauschen")
say("")
say("Möchtest du die Nieten eintauschen?")
say("")
if s == 1 then
if pc.count_item(71151) < 10 then syschat("Du hast nicht genügend Nieten für den Gutschein!") return end
if select("Tauschen","Abbrechen")==2 then return end
if pc.count_item(71151) < 10 then syschat("Du hast nicht genügend Nieten für den Gutschein!") return end
pc.give_item2(80014, 1)
pc.remove_item(71151, 10)
elseif s == 2 then
if pc.count_item(71151) < 50 then syschat("Du hast nicht genügend Nieten für den Gutschein!") return end
if select("Tauschen","Abbrechen")==2 then return end
if pc.count_item(71151) < 50 then syschat("Du hast nicht genügend Nieten für den Gutschein!") return end
pc.give_item2(80015,1)
pc.remove_item(71151,50)
elseif s == 3 then
if pc.count_item(71151) < 100 then syschat("Du hast nicht genügend Nieten für den Gutschein!") return end
if select("Tauschen","Abbrechen")==2 then return end
if pc.count_item(71151) < 100 then syschat("Du hast nicht genügend Nieten für den Gutschein!") return end
pc.give_item2(80016,1)
pc.remove_item(71151,100)
end
elseif s == 3 then
say_title("Informationen")
say("")
say("Wolltest du nicht schon immer so mächtig")
say("Wie ein Ägypter oder sogar wie ein Pharao")
say("sein? Wenn ja bist du hier genau richtig")
say("Du Benötigst nur Ägypter Siegel und Glück.")
say("Suche die Waffe aus, die du Gerne Haben")
say("möchtest, und steelle dein Glück auf")
say("Frage. Ist doch nicht so schwer, oder?")
say("")
select("Danke")
setskin(NOWINDOW)
end
end
end
end
|
Achja, Killroy, das
Quote:
PHP Code:
if select("Danke")==1 then return end
|
macht keinen Sinn, da man eh nur eine Auswahlmöglichkeit hat.
Deswegen select("Danke") und dann halt setskin(NOWINDOW)  .
|
|
|
05/10/2014, 17:07
|
#10187
|
elite*gold: 183
Join Date: Feb 2010
Posts: 596
Received Thanks: 217
|
Hey,
Ich habe diese Quest eingefügt so das ich Bioitems droppen kann...
Nur ich droppe nix kann mir einer sagen wo der fehler liegt?
PHP Code:
quest biologist_sequence begin
----------------------------------
-- LvL 30 / Orkzähne
----------------------------------
state start begin
when login or levelup with pc.level>29 begin
set_state(talk_to_disciple_lv30)
end
end
state talk_to_disciple_lv30 begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then target.vid("__TARGET__", v, "Biologe")
end
send_letter("Die Forschung des Biologen")
end
when button or info begin
say_title("Die Forschung des Biologen")
say("")
say("Der Biologe benötigt deine Hilfe.")
say("Sprich mit ihm.")
say("")
say_reward("Sprich mit dem Biologen")
say("")
end
when __TARGET__.target.click or 20084.chat."Orkzähne" begin
target.delete("__TARGET__")
say("Biologe:")
say("")
say("Oh, du hilfst mir?")
say("Gut ...")
say("Ich bin übrigens der Biologe")
say("und studiere zahlreiches aus der Pflanzenwelt.")
say("Wenn du mir bei meinen Forschungen hilfst,")
say("werde ich dich reich belohnen.")
say("")
wait()
say("Biologe:")
say("Ich habe vor kurzem wieder angefangen ...")
say("Ich Forsche an einer Legende ...")
say("Doch habe ich derzeit viel zu tun,")
say("es währe also nett, wenn du mir hilfst ...")
say("")
wait()
say("Biologe:")
say("Ich benötige zehn Orkzähne für meine Forschungen.")
say("Diese sind jedoch sehr zerbrechlich,")
say("es kann also sein, dass einige bei")
say("meinen Untersuchungen kaputt gehen.")
say("Ich benötige alle zehn,")
say("um meine Forschungen vollenden zu können.")
say("")
set_state(collect_orcteeth)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
end
end
state collect_orcteeth begin
when letter begin
send_letter("Die Forschung des Biologen")
end
when button or info begin
say_title("Orkzähne")
say("")
say("Der Biologe gab euch den Auftrag,")
say("zehn Orkzähne zu sammeln.")
say("Sammelt und bringt sie dem Biologen.")
say("")
say_item_vnum(30006)
say_reward("Du hast derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
end
when 636.kill or 656.kill begin
local rand = number(0,10)
if rand<5 and pc.count_item(30006) >= 10 then pc.give_item2(30006, 1)
end
end
when 20084.chat."Orkzähne" with pc.count_item(30006)>0 begin
if get_time()>pc.getqf("duration") then
say("Einen Moment ...")
say("Vielen Dank,")
say("lasst mich schnell überprüfen")
say("ob dieser Zahn in Ordnung ist ...")
say("")
pc.remove_item("30006", 1)
wait()
local rand = number(0,1)
if rand<50 then
local count = pc.getqf("collect_count")+1
if count<10 then
pc.setqf("collect_count", count)
say("Biologe:")
say("Hervorragend, dieser Zahn ist in Ordnung.")
say("Bringt mir noch welche, damit ich meine")
say("Forschungen abschließen kann.")
say("")
say_reward("Ihr habt derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
else
say("Biologe:")
say("Du hast mir die 10 Stück gebracht...")
say("Nun bitte ich dich noch, mir den")
say("Jinunggyis Seelenstein zu bringen.")
say("Du bekommst ihn von Stolzen Orks ...")
say("Ich denke, dafür bist du stark genug.")
say("")
pc.setqf("collect_count",0)
pc.setqf("duration",0)
set_state(collect_jinunggyis)
end
else
say("Biologe:")
say("Es tut mir leid, aber der Zahn ist bei")
say("den Untersuchungen zerbrochen.")
say("Bitte hol mir einen neuen Orkzahn!")
say("")
end
else
say("Biologe:")
say("Entschuldige, ich habe die letzten")
say("Studien noch nicht beendet ...")
say("Bitte bring mir den Zahn später.")
say("")
end
end
end
state collect_jinunggyis begin
when letter begin
send_letter("Jinunggyis Seelenstein")
end
when button or info begin
say_title("Jinunggyis Seelenstein")
say("")
say("Ihr habt alle zehn Orkzähne gesammelt.")
say("Nun müsst ihr Jinunggyis Seelenstein erbeuten.")
say("")
say_item_vnum(30220)
say("Ob dieser Stein tatsächlich eine Seele enthält?")
say("")
end
when 635.kill or 636.kill or 637.kill begin
if pc.count_item(30220)<1 then
local rand = number(0,90)
if rand<5 then pc.give_item2(30220, 1)
end
end
end
when 20084.chat."Jinunggyis Seelenstein" begin
if pc.count_item(30220)>0 then
say("Biologe:")
say("Dank deiner Hilfe verstehe ich nun")
say("die Legende um Jinunggyis Seelenstein.")
say("Du hast hart gekämpft.")
say("Sprich mit Baek-Go, er wird dir helfen,")
say("deine inneren Kräfte zu steigern.")
say("")
pc.remove_item(30220,1)
set_state(jinunggyis_reward)
else
say("Biologe:")
say("Du hast mir die 10 Stück gebracht...")
say("Nun bitte ich dich noch, mir den")
say("Jinunggyis Seelenstein zu bringen.")
say("Du bekommst ihn von den Schwarzen Orks ...")
say("Ich denke, dafür bist du stark genug.")
say("")
end
end
end
state jinunggyis_reward begin
when letter begin
send_letter("Sprich mit Baek-Go")
local v = find_npc_by_vnum(20018)
if v != 0 then target.vid("__TARGET__", v, "Doktor")
end
end
when button or info begin
say("Um die Belohnung des Biologen zu erhalten")
say("suche mit den Informationen der")
say("Orkzähne und des Seelensteins Baek-Go auf.")
say("")
end
when __TARGET__.target.click or 20018.chat."Belohnung des Biologen" begin
target.delete("__TARGET__")
say_title("Baek-Go:")
say("Ich sehe ...")
say("Der Biologe hat dich zu mir geschickt.")
say("Hier ist deine Belohnung:")
say("")
say_reward("Du erhälst:")
say_reward("Bewegungsgeschwindigkeit +10% (Dauerhaft)")
say("")
affect.add_collect(apply.MOV_SPEED, 10, 60*60*24*365*60)
set_state(collect_quest_lv40)
end
end
----------------------------------
-- LvL 40 / Fluchsammlung
----------------------------------
state collect_quest_lv40 begin
when login or levelup with pc.level>39 begin
set_state(talk_to_disciple_lv40)
end
end
state talk_to_disciple_lv40 begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then target.vid("__TARGET__", v, "Biologe")
end
send_letter("Forschung des Biologen Nr. 2")
end
when button or info begin
say_title("Forschung des Biologen Nr. 2")
say("")
say("Der Biologe benötigt ein weiteres Mal Hilfe.")
say("Er meinte, er bräuchte Hilfe auf der Suche")
say("nach speziellen Gegenständen.")
say("Sprich mit ihm,")
say("um eine genauere Beschreibung zu erhalten.")
say("")
say_reward("Sprich mit dem Biologen")
say("")
end
when __TARGET__.target.click or 20084.chat."Fluchbücher" begin
target.delete("__TARGET__")
say("Biologe:")
say("Gut, dass du gekommen bist...")
say("Die Untersuchung der Orkzähne")
say("habe ich abgeschlossen.")
say("Nun habe ich neue Objekte gefunden,")
say("die ich gerne untersuchen würde.")
wait()
say("Biologe:")
say("Ich würde sie ja selber sammeln,")
say("aber ich habe zuviel zu tun...")
say("Es wäre sehr nett, wenn du dies")
say("für mich erledigen könntest.")
wait()
say("Biologe:")
say("Ich möchte die Fluchbücher untersuchen.")
say("Davon benötige ich 15 Stück.")
say("Die Bücher sind jedoch ziemlich alt,")
say("manchmal zerfallen sie einfach!")
say("")
set_state(collect_cursebook)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
end
end
state collect_cursebook begin
when letter begin
send_letter("Forschung des Biologen Nr. 2")
end
when button or info begin
say_title("Fluchsammlungen")
say("")
say("Der Biologe gab euch den Auftrag,")
say("15 Fluchsammlungen zu besorgen.")
say("Diese kannst du bei den Dunklen- und")
say("Hohen Peinigern erbeuten.")
say("")
say_item_vnum(30047)
say_reward("Du hast derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
end
when 706.kill or 756.kill begin
local rand = number(0,1)
if rand<5 and pc.count_item(30047) >= 15 then pc.give_item2(30047, 1)
end
end
when 20084.chat."Fluchsammlungen" with pc.count_item(30047)>0 begin
if get_time()>pc.getqf("duration") then
say("Einen Moment ...")
say("Vielen Dank,")
say("lasst mich schnell überprüfen")
say("ob dieses Buch in Ordnung ist ...")
say("")
pc.remove_item("30047", 1)
wait()
local rand = number(0,1)
if rand<50 then
local count = pc.getqf("collect_count")+1
if count<15 then
pc.setqf("collect_count", count)
say("Biologe:")
say("Hervorragend, diese Fluchsammlung ist in Ordnung.")
say("Bringt mir noch welche, damit ich meine")
say("Forschungen abschließen kann.")
say("")
say_reward("Ihr habt derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
else
say("Biologe:")
say("Du hast mir die 15 Sammlungen gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige den Tempelseelenstein,")
say("den du von Stolzen dunklen Fanatikern,")
say("Kämpfern, sowie Obersten erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
pc.setqf("collect_count",0)
pc.setqf("duration",0)
set_state(collect_templekey)
end
else
say("Biologe:")
say("Es tut mir leid, die Fluchsammlung")
say("ist bei den Untersuchungen zerfallen.")
say("Bitte hol mir eine neue Fluchsammlung.")
end
else
say("Biologe:")
say("Entschuldige, ich habe die letzten")
say("Studien noch nicht beendet ...")
say("Bitte bring mir die Fluchsammmlung später.")
end
end
end
state collect_templekey begin
when letter begin
send_letter("Tempelseelenstein")
end
when button or info begin
say_title("Tempelseelenstein")
say("")
say("Ihr habt alle 15 Fluchsammlungen abgegeben.")
say("Nun müsst ihr den Tempelseelenstein erbeuten.")
say("")
say_item_vnum(30221)
say("Ob dieser Stein tatsächlich Seelen")
say("der Tempelanhänger enthält?")
say("")
end
when 731.kill or 732.kill or 733.kill begin
if pc.count_item(30221)<1 then
local rand = number(0,90)
if rand<5 then pc.give_item2(30221, 1)
end
end
end
when 20084.chat."Tempelseelenstein" begin
if pc.count_item(30221)>0 then
say("Biologe:")
say("Dank deiner Hilfe verstehe ich nun")
say("die Legende um den Tempelseelenstein.")
say("Du hast hart gekämpft.")
say("Sprich mit Baek-Go, er wird dir helfen,")
say("deine inneren Kräfte zu steigern.")
say("")
pc.remove_item(30221,1)
set_state(templekey_reward)
else
say("Biologe:")
say("Du hast mir die 15 Sammlungen gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige den Tempelseelenstein,")
say("den du von Stolzen dunklen Fanatikern,")
say("Kämpfern, sowie Obersten erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
end
end
end
state templekey_reward begin
when letter begin
send_letter("Sprich mit Baek-Go")
local v = find_npc_by_vnum(20018)
if v != 0 then target.vid("__TARGET__", v, "Doktor")
end
end
when button or info begin
say_title("Sprich mit Baek-Go")
say("Um die Belohnung des Biologen zu erhalten,")
say("suche mit den Informationen der")
say("Fluchsammlungen und des Seelensteins")
say("Baek-Go auf. Er befindet sich in der Stadt.")
say("")
end
when __TARGET__.target.click or 20018.chat."Belohnung des Biologen" begin
target.delete("__TARGET__")
say_title("Baek-Go:")
say("Ich sehe ...")
say("Der Biologe hat dich zu mir geschickt.")
say("Hier ist deine Belohnung:")
say("")
say_reward("Du erhälst:")
say_reward("Angriffsgeschwindigkeit +5% (Dauerhaft)")
say("")
affect.add_collect(apply.ATT_SPEED,5,60*60*24*365*60)
set_state(collect_quest_lv50)
end
end
----------------------------------
-- LvL 50 / Dämonenandenken
----------------------------------
state collect_quest_lv50 begin
when login or levelup with pc.level>49 begin
set_state(talk_to_disciple_lv50)
end
end
state talk_to_disciple_lv50 begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then target.vid("__TARGET__", v, "Biologe")
end
send_letter("Forschung des Biologen Nr. 3")
end
when button or info begin
say_title("Forschung des Biologen Nr. 3")
say("")
say("Der Biologe benötigt ein weiteres Mal Hilfe.")
say("Er meinte, er bräuchte Hilfe auf der Suche")
say("nach speziellen Gegenständen.")
say("Sprich mit ihm,")
say("um eine genauere Beschreibung zu erhalten.")
say("")
say_reward("Sprich mit dem Biologen")
say("")
end
when __TARGET__.target.click or 20084.chat."Dämonenandenken" begin
target.delete("__TARGET__")
say("Biologe:")
say("Gut, dass du gekommen bist...")
say("Die Untersuchung der Fluchsammlungen")
say("habe ich abgeschlossen.")
say("Nun habe ich neue Objekte gefunden,")
say("die ich gerne untersuchen würde.")
wait()
say("Biologe:")
say("Ich würde sie ja selber sammeln,")
say("aber ich habe zuviel zu tun...")
say("Es wäre sehr nett, wenn du dies")
say("für mich erledigen könntest.")
wait()
say("Biologe:")
say("Ich möchte die Dämonenandenken untersuchen.")
say("Davon benötige ich 15 Stück.")
say("Diese sind jedoch ziemlich zerbrechlich,")
say("es kann also sein, dass einige bei")
say("meinen Untersuchungen kaputt gehen.")
say("")
set_state(collect_deamonitem)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
end
end
state collect_deamonitem begin
when letter begin
send_letter("Forschung des Biologen Nr. 3")
end
when button or info begin
say_title("Dämonenandenken")
say("")
say("Der Biologe gab euch den Auftrag,")
say("15 Dämonenandenken zu besorgen.")
say("Diese kannst du bei den Gemeinen Monstern im")
say("Dämonenturm erbeuten.")
say("")
say_item_vnum(30015)
say_reward("Du hast derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
end
when 1001.kill or 1002.kill or 1003.kill or 1004.kill begin
local rand = number(0,1)
if rand<5 and pc.count_item(30015) >= 15 then pc.give_item2(30015, 1)
end
end
when 20084.chat."Dämonenandenken" with pc.count_item(30015)>0 begin
if get_time()>pc.getqf("duration") then
say("Einen Moment ...")
say("Vielen Dank,")
say("lasst mich schnell überprüfen")
say("ob dieses Andenken in Ordnung ist ...")
say("")
pc.remove_item("30015", 1)
wait()
local rand = number(0,1)
if rand<50 then
local count = pc.getqf("collect_count")+1
if count<15 then
pc.setqf("collect_count", count)
say("Biologe:")
say("Hervorragend,")
say("dieses Dämonenandenken ist in Ordnung.")
say("Bringt mir noch welche, damit ich meine")
say("Forschungen abschließen kann.")
say("")
say_reward("Ihr habt derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
else
say("Biologe:")
say("Du hast mir die 15 Andenken gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige Sagyis Seelenstein,")
say("den du von den Gemeinen Monstern im Dämonenturm,")
say("erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
pc.setqf("collect_count",0)
pc.setqf("duration",0)
set_state(collect_sagyis)
end
else
say("Biologe:")
say("Es tut mir leid, das Andenken")
say("ist bei den Untersuchungen zerbrochen.")
say("Bitte hol mir ein Neues.")
end
else
say("Biologe:")
say("Entschuldige, ich habe die letzten")
say("Studien noch nicht beendet ...")
say("Bitte bring mir das Andenken später.")
end
end
end
state collect_sagyis begin
when letter begin
send_letter("Sagyis Seelenstein")
end
when button or info begin
say_title("Sagyis Seelenstein")
say("")
say("Ihr habt alle 15 Dämonenandenken abgegeben.")
say("Nun müsst ihr Sagyis Seelenstein erbeuten.")
say("")
say_item_vnum(30222)
say("Ob dieser Stein tatsächlich Seelen")
say("von Sagyis Adligen enthält?")
say("")
end
when 1031.kill or 1032.kill or 1033.kill or 1034.kill begin
if pc.count_item(30222)<1 then
local rand = number(0,90)
if rand<5 then pc.give_item2(30222, 1)
end
end
end
when 20084.chat."Sagyis Seelenstein" begin
target.delete("__TARGET__")
if pc.count_item(30222)>0 then
say("Biologe:")
say("Dank deiner Hilfe verstehe ich nun")
say("die Legende um Sagyis Seelenstein.")
say("Du hast hart gekämpft.")
say("Sprich mit Baek-Go, er wird dir helfen,")
say("deine inneren Kräfte zu steigern.")
say("")
pc.remove_item(30222,1)
set_state(sagyis_reward)
else
say("Biologe:")
say("Du hast mir die 15 Andenken gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige Sagyis Seelenstein,")
say("den du von den Monstern im Dämonenturm,")
say("erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
end
end
end
state sagyis_reward begin
when letter begin
send_letter("Sprich mit Baek-Go")
local v = find_npc_by_vnum(20018)
if v != 0 then target.vid("__TARGET__", v, "Doktor")
end
end
when button or info begin
say_title("Sprich mit Baek-Go")
say("Um die Belohnung des Biologen zu erhalten,")
say("suche mit den Informationen der")
say("Dämonenandenken und des Seelensteins")
say("Baek-Go auf. Er befindet sich in der Stadt.")
say("")
end
when __TARGET__.target.click or 20018.chat."Belohnung des Biologen" begin
target.delete("__TARGET__")
say_title("Baek-Go:")
say("Ich sehe ...")
say("Der Biologe hat dich zu mir geschickt.")
say("Hier ist deine Belohnung:")
say("")
say_reward("Du erhälst:")
say_reward("Verteidigung +60 (Dauerhaft)")
say("")
affect.add_collect(apply.DEF_GRADE_BONUS,60,60*60*24*365*60)
set_state(collect_quest_lv60)
end
end
----------------------------------
-- LvL 60 / Eiskugeln
----------------------------------
state collect_quest_lv60 begin
when login or levelup with pc.level>59 begin
set_state(talk_to_disciple_lv60)
end
end
state talk_to_disciple_lv60 begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then target.vid("__TARGET__", v, "Biologe")
end
send_letter("Forschung des Biologen Nr. 4")
end
when button or info begin
say_title("Forschung des Biologen Nr. 4")
say("")
say("Der Biologe benötigt ein weiteres Mal Hilfe.")
say("Er meinte, er bräuchte Hilfe auf der Suche")
say("nach speziellen Gegenständen.")
say("Sprich mit ihm,")
say("um eine genauere Beschreibung zu erhalten.")
say("")
say_reward("Sprich mit dem Biologen")
say("")
end
when __TARGET__.target.click or 20084.chat."Eiskugeln" begin
target.delete("__TARGET__")
say("Biologe:")
say("Gut, dass du gekommen bist...")
say("Die Untersuchung der Dämonenandenken")
say("habe ich abgeschlossen.")
say("Nun habe ich neue Objekte gefunden,")
say("die ich gerne untersuchen würde.")
wait()
say("Biologe:")
say("Ich würde sie ja selber sammeln,")
say("aber ich habe zuviel zu tun...")
say("Es wäre sehr nett, wenn du dies")
say("für mich erledigen könntest.")
wait()
say("Biologe:")
say("Ich möchte die Eiskugeln untersuchen.")
say("Davon benötige ich 15 Stück.")
say("Diese sind jedoch ziemlich zerbrechlich,")
say("es kann also sein, dass einige bei")
say("meinen Untersuchungen kaputt gehen.")
say("")
set_state(collect_scoops)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
end
end
state collect_scoops begin
when letter begin
send_letter("Forschung des Biologen Nr. 4")
end
when button or info begin
say_title("Eiskugeln")
say("")
say("Der Biologe gab euch den Auftrag,")
say("15 Eiskugeln zu besorgen.")
say("Diese kannst du bei den Eisgolems auf")
say("dem Berg Sohan und bei den Unterwelt Eisgolems erbeuten.")
say("")
say_item_vnum(30050)
say_reward("Du hast derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
end
when 1107.kill or 1137.kill begin
local rand = number(0,1)
if rand<5 and pc.count_item(30050) >= 20 then pc.give_item2(30050, 1)
end
end
when 20084.chat."Eiskugeln" with pc.count_item(30050)>0 begin
if get_time()>pc.getqf("duration") then
say("Einen Moment ...")
say("Vielen Dank,")
say("lasst mich schnell überprüfen")
say("ob diese Eiskugel in Ordnung ist ...")
say("")
pc.remove_item("30050", 1)
wait()
local rand = number(0,1)
if rand<50 then
local count = pc.getqf("collect_count")+1
if count<15 then
pc.setqf("collect_count", count)
say("Biologe:")
say("Hervorragend,")
say("diese Eiskugel ist in Ordnung.")
say("Bringt mir noch welche, damit ich meine")
say("Forschungen abschließen kann.")
say("")
say_reward("Ihr habt derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
else
say("Biologe:")
say("Du hast mir die 15 Eiskugeln gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige Aurtumryus Seelenstein,")
say("den du von den Eismonstern auf dem Berg Sohan,")
say("erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
pc.setqf("collect_count",0)
pc.setqf("duration",0)
set_state(collect_aurtumryus)
end
else
say("Biologe:")
say("Es tut mir leid, die Eiskugel")
say("ist bei den Untersuchungen zerbrochen.")
say("Bitte hol mir eine Neue.")
end
else
say("Biologe:")
say("Entschuldige, ich habe die letzten")
say("Studien noch nicht beendet ...")
say("Bitte bring mir die Eiskugel später.")
end
end
end
state collect_aurtumryus begin
when letter begin
send_letter("Aurtumryus Seelenstein")
end
when button or info begin
say_title("Aurtumryus Seelenstein")
say("")
say("Ihr habt alle 15 Eiskugeln abgegeben.")
say("Nun müsst ihr Aurtumryus Seelenstein erbeuten.")
say("")
say_item_vnum(30223)
say("Ob dieser Stein tatsächlich Seelen")
say("von Aurtumryus Adligen enthält?")
say("")
end
when 1101.kill or 1102.kill or 1103.kill or 1104.kill or 1105.kill or 1106.kill or 1107.kill begin
if pc.count_item(30223)<1 then
local rand = number(0,90)
if rand<5 then pc.give_item2(30223, 1)
end
end
end
when 20084.chat."Aurtumryus Seelenstein" begin
if pc.count_item(30223)>0 then
say("Biologe:")
say("Dank deiner Hilfe verstehe ich nun")
say("die Legende um Aurtumryus Seelenstein.")
say("Du hast hart gekämpft.")
say("Sprich mit Baek-Go, er wird dir helfen,")
say("deine inneren Kräfte zu steigern.")
say("")
pc.remove_item(30223,1)
set_state(aurtumryus_reward)
else
say("Biologe:")
say("Du hast mir die 15 Eiskugeln gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige Aurtumryus Seelenstein,")
say("den du von den Eismonstern auf dem Berg Sohan,")
say("erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
end
end
end
state aurtumryus_reward begin
when letter begin
send_letter("Sprich mit Baek-Go")
local v = find_npc_by_vnum(20018)
if v != 0 then target.vid("__TARGET__", v, "Doktor")
end
end
when button or info begin
say_title("Sprich mit Baek-Go")
say("Um die Belohnung des Biologen zu erhalten,")
say("suche mit den Informationen der")
say("Eiskugeln und des Seelensteins")
say("Baek-Go auf. Er befindet sich in der Stadt.")
say("")
end
when __TARGET__.target.click or 20018.chat."Belohnung des Biologen" begin
target.delete("__TARGET__")
say_title("Baek-Go:")
say("Ich sehe ...")
say("Der Biologe hat dich zu mir geschickt.")
say("Hier ist deine Belohnung:")
say("")
say_reward("Du erhälst:")
say_reward("Angriffswert +50 (Dauerhaft)")
say("")
affect.add_collect(apply.ATT_GRADE_BONUS,50,60*60*24*365*60)
set_state(collect_quest_lv70)
end
end
----------------------------------
-- LvL 70 / Zelkovas Holzäste
----------------------------------
state collect_quest_lv70 begin
when login or levelup with pc.level>69 begin
set_state(talk_to_disciple_lv70)
end
end
state talk_to_disciple_lv70 begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then target.vid("__TARGET__", v, "Biologe")
end
send_letter("Forschung des Biologen Nr. 5")
end
when button or info begin
say_title("Forschung des Biologen Nr. 5")
say("")
say("Der Biologe benötigt ein weiteres Mal Hilfe.")
say("Er meinte, er bräuchte Hilfe auf der Suche")
say("nach speziellen Gegenständen.")
say("Sprich mit ihm,")
say("um eine genauere Beschreibung zu erhalten.")
say("")
say_reward("Sprich mit dem Biologen")
say("")
end
when __TARGET__.target.click or 20084.chat."Zelkovas Holzäste" begin
target.delete("__TARGET__")
say("Biologe:")
say("Gut, dass du gekommen bist...")
say("Die Untersuchung der Eiskugeln")
say("habe ich abgeschlossen.")
say("Nun habe ich neue Objekte gefunden,")
say("die ich gerne untersuchen würde.")
wait()
say("Biologe:")
say("Ich würde sie ja selber sammeln,")
say("aber ich habe zuviel zu tun...")
say("Es wäre sehr nett, wenn du dies")
say("für mich erledigen könntest.")
wait()
say("Biologe:")
say("Ich möchte Zelkovas Holzäste untersuchen.")
say("Davon benötige ich 25 Stück.")
say("Diese welken jedoch ziemlich schnell,")
say("es kann also sein, dass einige für")
say("meine Untersuchungen unbrauchbar sind.")
say("")
set_state(collect_branches)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
end
end
state collect_branches begin
when letter begin
send_letter("Forschung des Biologen Nr. 5")
end
when button or info begin
say_title("Zelkovas Holzäste")
say("")
say("Der Biologe gab euch den Auftrag,")
say("25 von Zelkovas Holzästen zu besorgen.")
say("Diese kannst du bei den Monstern")
say("im Geisterwald erbeuten.")
say("")
say_item_vnum(30165)
say_reward("Du hast derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
end
when 2312.kill or 2315.kill or 2313.kill or 2314.kill begin
local rand = number(0,1)
if rand<5 and pc.count_item(30165) >= 25 then pc.give_item2(30165, 1)
end
end
when 20084.chat."Zelkovas Holzäste" with pc.count_item(30165)>0 begin
if get_time()>pc.getqf("duration") then
say("Einen Moment ...")
say("Vielen Dank,")
say("lasst mich schnell überprüfen")
say("ob dieser Holzast in Ordnung ist ...")
say("")
pc.remove_item("30165", 1)
wait()
local rand = number(0,1)
if rand<50 then
local count = pc.getqf("collect_count")+1
if count<25 then
pc.setqf("collect_count", count)
say("Biologe:")
say("Hervorragend,")
say("dieser Holzast ist in Ordnung.")
say("Bringt mir noch welche, damit ich meine")
say("Forschungen abschließen kann.")
say("")
say_reward("Ihr habt derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
else
say("Biologe:")
say("Du hast mir die 25 Holzäste gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige Gyimoks Seelenstein,")
say("den du ebenfalls von den Monstern")
say("im Geisterwald erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
pc.setqf("collect_count",0)
pc.setqf("duration",0)
set_state(collect_gyimoks)
end
else
say("Biologe:")
say("Es tut mir leid, der Holzast")
say("ist während des Transports verwelkt.")
say("Bitte hol mir einen Neuen.")
end
else
say("Biologe:")
say("Entschuldige, ich habe die letzten")
say("Studien noch nicht beendet ...")
say("Bitte bring mir den Holzast später.")
end
end
end
state collect_gyimoks begin
when letter begin
send_letter("Gyimoks Seelenstein")
end
when button or info begin
say_title("Gyimoks Seelenstein")
say("")
say("Ihr habt alle 25 Holzäste abgegeben.")
say("Nun müsst ihr Gyimoks Seelenstein erbeuten.")
say("")
say_item_vnum(30224)
say("Ob dieser Stein tatsächlich Seelen")
say("von Gyimoks Adligen enthält?")
say("")
end
when 2301.kill or 2302.kill or 2303.kill or 2304.kill or 2305.kill or 2311.kill or
2312.kill or 2313.kill or 2314.kill or 2315.kill or 2306.kill or 2307.kill begin
if pc.count_item(30224)<1 then
local rand = number(0,60)
if rand<5 then pc.give_item2(30224, 1)
end
end
end
when 20084.chat."Gyimoks Seelenstein" begin
target.delete("__TARGET__")
if pc.count_item(30224)>0 then
say("Biologe:")
say("Dank deiner Hilfe verstehe ich nun")
say("die Legende um Gyimoks Seelenstein.")
say("Du hast hart gekämpft.")
say("Sprich mit Baek-Go, er wird dir helfen,")
say("deine inneren Kräfte zu steigern.")
say("")
pc.remove_item(30224,1)
set_state(gyimoks_reward)
else
say("Biologe:")
say("Du hast mir die 25 Holzäste gebracht.")
say("Nun...ich habe noch eine Bitte.")
say("Ich benötige Gyimoks Seelenstein,")
say("den du ebenfalls von den Monstern")
say("im Geisterwald erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
end
end
end
state gyimoks_reward begin
when letter begin
send_letter("Sprich mit Baek-Go")
local v = find_npc_by_vnum(20018)
if v != 0 then target.vid("__TARGET__", v, "Doktor")
end
end
when button or info begin
say_title("Sprich mit Baek-Go")
say("Um die Belohnung des Biologen zu erhalten,")
say("suche mit den Informationen der")
say("Zelkova Holzäste und des Seelensteins")
say("Baek-Go auf. Er befindet sich in der Stadt.")
say("")
end
when __TARGET__.target.click or 20018.chat."Belohnung des Biologen" begin
target.delete("__TARGET__")
say_title("Baek-Go:")
say("Ich sehe ...")
say("Der Biologe hat dich zu mir geschickt.")
say("Hier ist deine Belohnung:")
say("")
say_reward("Du erhälst:")
say_reward("Bewegungsgeschwindigkeit +10% (Dauerhaft)")
say_reward("Schadensreduzierung +10% (Dauerhaft)")
say("")
affect.add_collect(apply.MOV_SPEED,10,60*60*24*365*60)
affect.add_collect(apply.DEF_GRADE_BONUS,10,60*60*24*365*60)
set_state(collect_quest_lv80)
end
end
----------------------------------
-- LvL 80 / Tugyis Tafeln
----------------------------------
state collect_quest_lv80 begin
when login or levelup with pc.level>79 begin
set_state(talk_to_disciple_lv80)
end
end
state talk_to_disciple_lv80 begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then target.vid("__TARGET__", v, "Biologe")
end
send_letter("Forschung des Biologen Nr. 6")
end
when button or info begin
say_title("Forschung des Biologen Nr. 6")
say("")
say("Der Biologe benötigt ein weiteres Mal Hilfe.")
say("Er meinte, er bräuchte Hilfe auf der Suche")
say("nach speziellen Gegenständen.")
say("Sprich mit ihm,")
say("um eine genauere Beschreibung zu erhalten.")
say("")
say_reward("Sprich mit dem Biologen")
say("")
end
when __TARGET__.target.click or 20084.chat."Tugyis Tafeln" begin
target.delete("__TARGET__")
say("Biologe:")
say("Gut, dass du gekommen bist...")
say("Die Untersuchung der Zelkova Holzäste")
say("habe ich abgeschlossen.")
say("Nun habe ich neue Objekte gefunden,")
say("die ich gerne untersuchen würde.")
wait()
say("Biologe:")
say("Ich würde sie ja selber sammeln,")
say("aber ich habe zuviel zu tun...")
say("Es wäre sehr nett, wenn du dies")
say("für mich erledigen könntest.")
wait()
say("Biologe:")
say("Ich möchte Tugyis Tafeln untersuchen.")
say("Davon benötige ich 30 Stück.")
say("Diese sind jedoch ziemlich zerbrechlich,")
say("es kann also sein, dass einige bei")
say("meinen Untersuchungen kaputt gehen.")
say("")
set_state(collect_plates)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
end
end
state collect_plates begin
when letter begin
send_letter("Forschung des Biologen Nr. 6")
end
when button or info begin
say_title("Tugyis Tafeln")
say("")
say("Der Biologe gab euch den Auftrag,")
say("30 von Tugyis Tafeln zu besorgen.")
say("Diese kannst du bei den Monstern")
say("im Land der Riesen erbeuten.")
say("")
say_item_vnum(30166)
say_reward("Du hast derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
end
when 1401.kill or 1402.kill or 1403.kill or 1601.kill or 1602.kill or 1603.kill begin
local rand = number(0,1)
if rand<5 and pc.count_item(30166) >= 30 then pc.give_item2(30166, 1)
end
end
when 20084.chat."Tugyis Tafeln" with pc.count_item(30166)>0 begin
if get_time()>pc.getqf("duration") then
say("Einen Moment ...")
say("Vielen Dank,")
say("lasst mich schnell überprüfen")
say("ob diese Tafel in Ordnung ist ...")
say("")
pc.remove_item("30166", 1)
wait()
local rand = number(0,1)
if rand<50 then
local count = pc.getqf("collect_count")+1
if count<30 then
pc.setqf("collect_count", count)
say("Biologe:")
say("Hervorragend,")
say("diese Tafel ist in Ordnung.")
say("Bringt mir noch welche, damit ich meine")
say("Forschungen abschließen kann.")
say("")
say_reward("Ihr habt derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
else
say("Biologe:")
say("Du hast mir die 30 Tafeln gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige Tugyis Seelenstein,")
say("den du ebenfalls von den Monstern")
say("im Land der Riesen erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
pc.setqf("collect_count",0)
pc.setqf("duration",0)
set_state(collect_tugyis)
end
else
say("Biologe:")
say("Es tut mir leid, die Tafel")
say("ist während der Untersuchung zerbrochen.")
say("Bitte hol mir eine Neue.")
end
else
say("Biologe:")
say("Entschuldige, ich habe die letzten")
say("Studien noch nicht beendet ...")
say("Bitte bring mir die Tafel später.")
end
end
end
state collect_tugyis begin
when letter begin
send_letter("Tugyis Seelenstein")
end
when button or info begin
say_title("Tugyis Seelenstein")
say("")
say("Ihr habt alle 30 Tafeln abgegeben.")
say("Nun müsst ihr Tugyis Seelenstein erbeuten.")
say("")
say_item_vnum(30225)
say("Ob dieser Stein tatsächlich Seelen")
say("von Tugyis Adligen enthält?")
say("")
end
when 1401.kill or 1402.kill or 1403.kill or 1601.kill or 1602.kill or 1603.kill begin
if pc.count_item(30225)<1 then
local rand = number(0,60)
if rand<5 then pc.give_item2(30225, 1)
end
end
end
when 20084.chat."Tugyis Seelenstein" begin
if pc.count_item(30225)>0 then
say("Biologe:")
say("Dank deiner Hilfe verstehe ich nun")
say("die Legende um Tugyis Seelenstein.")
say("Du hast hart gekämpft.")
say("Sprich mit Baek-Go, er wird dir helfen,")
say("deine inneren Kräfte zu steigern.")
say("")
pc.remove_item(30225,1)
set_state(tugyis_reward)
else
say("Biologe:")
say("Du hast mir die 30 Tafeln gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige Tugyis Seelenstein,")
say("den du ebenfalls von den Monstern")
say("im Land der Riesen erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
end
end
end
state tugyis_reward begin
when letter begin
send_letter("Sprich mit Baek-Go")
local v = find_npc_by_vnum(20018)
if v != 0 then target.vid("__TARGET__", v, "Doktor")
end
end
when button or info begin
say_title("Sprich mit Baek-Go")
say("Um die Belohnung des Biologen zu erhalten,")
say("suche mit den Informationen der")
say("Tugyis Tafeln und des Seelensteins")
say("Baek-Go auf. Er befindet sich in der Stadt.")
say("")
end
when __TARGET__.target.click or 20018.chat."Belohnung des Biologen" begin
target.delete("__TARGET__")
say_title("Baek-Go:")
say("Ich sehe ...")
say("Der Biologe hat dich zu mir geschickt.")
say("Hier ist deine Belohnung:")
say("")
say_reward("Du erhälst:")
say_reward("Angriffsgeschwindigkeit +5% (Dauerhaft)")
say_reward("Schadenserhöhung +10% (Dauerhaft)")
say("")
affect.add_collect(apply.ATT_SPEED,5,60*60*24*365*60)
affect.add_collect_point(apply.POINT_ATT_BONUS,10,60*60*24*365*60)
set_state(complete)
end
end
state complete begin
end
end
|
|
|
05/10/2014, 17:19
|
#10188
|
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
|
PHP Code:
if rand<5 and pc.count_item(30006) >= 10 then
Du droppst im Moment nur, wenn du mindestens schon 10 im Inventar hast 
Da liegt dein Fehler, mach ein < draus, dann dropste davor.
Ich nehme mal an, das wird bei allen Abschnitten so sein, hab nur den ersten angeschaut.
Quote:
Originally Posted by xoR™
Hey,
Ich habe diese Quest eingefügt so das ich Bioitems droppen kann...
Nur ich droppe nix kann mir einer sagen wo der fehler liegt?
PHP Code:
quest biologist_sequence begin
----------------------------------
-- LvL 30 / Orkzähne
----------------------------------
state start begin
when login or levelup with pc.level>29 begin
set_state(talk_to_disciple_lv30)
end
end
state talk_to_disciple_lv30 begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then target.vid("__TARGET__", v, "Biologe")
end
send_letter("Die Forschung des Biologen")
end
when button or info begin
say_title("Die Forschung des Biologen")
say("")
say("Der Biologe benötigt deine Hilfe.")
say("Sprich mit ihm.")
say("")
say_reward("Sprich mit dem Biologen")
say("")
end
when __TARGET__.target.click or 20084.chat."Orkzähne" begin
target.delete("__TARGET__")
say("Biologe:")
say("")
say("Oh, du hilfst mir?")
say("Gut ...")
say("Ich bin übrigens der Biologe")
say("und studiere zahlreiches aus der Pflanzenwelt.")
say("Wenn du mir bei meinen Forschungen hilfst,")
say("werde ich dich reich belohnen.")
say("")
wait()
say("Biologe:")
say("Ich habe vor kurzem wieder angefangen ...")
say("Ich Forsche an einer Legende ...")
say("Doch habe ich derzeit viel zu tun,")
say("es währe also nett, wenn du mir hilfst ...")
say("")
wait()
say("Biologe:")
say("Ich benötige zehn Orkzähne für meine Forschungen.")
say("Diese sind jedoch sehr zerbrechlich,")
say("es kann also sein, dass einige bei")
say("meinen Untersuchungen kaputt gehen.")
say("Ich benötige alle zehn,")
say("um meine Forschungen vollenden zu können.")
say("")
set_state(collect_orcteeth)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
end
end
state collect_orcteeth begin
when letter begin
send_letter("Die Forschung des Biologen")
end
when button or info begin
say_title("Orkzähne")
say("")
say("Der Biologe gab euch den Auftrag,")
say("zehn Orkzähne zu sammeln.")
say("Sammelt und bringt sie dem Biologen.")
say("")
say_item_vnum(30006)
say_reward("Du hast derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
end
when 636.kill or 656.kill begin
local rand = number(0,10)
if rand<5 and pc.count_item(30006) >= 10 then pc.give_item2(30006, 1)
end
end
when 20084.chat."Orkzähne" with pc.count_item(30006)>0 begin
if get_time()>pc.getqf("duration") then
say("Einen Moment ...")
say("Vielen Dank,")
say("lasst mich schnell überprüfen")
say("ob dieser Zahn in Ordnung ist ...")
say("")
pc.remove_item("30006", 1)
wait()
local rand = number(0,1)
if rand<50 then
local count = pc.getqf("collect_count")+1
if count<10 then
pc.setqf("collect_count", count)
say("Biologe:")
say("Hervorragend, dieser Zahn ist in Ordnung.")
say("Bringt mir noch welche, damit ich meine")
say("Forschungen abschließen kann.")
say("")
say_reward("Ihr habt derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
else
say("Biologe:")
say("Du hast mir die 10 Stück gebracht...")
say("Nun bitte ich dich noch, mir den")
say("Jinunggyis Seelenstein zu bringen.")
say("Du bekommst ihn von Stolzen Orks ...")
say("Ich denke, dafür bist du stark genug.")
say("")
pc.setqf("collect_count",0)
pc.setqf("duration",0)
set_state(collect_jinunggyis)
end
else
say("Biologe:")
say("Es tut mir leid, aber der Zahn ist bei")
say("den Untersuchungen zerbrochen.")
say("Bitte hol mir einen neuen Orkzahn!")
say("")
end
else
say("Biologe:")
say("Entschuldige, ich habe die letzten")
say("Studien noch nicht beendet ...")
say("Bitte bring mir den Zahn später.")
say("")
end
end
end
state collect_jinunggyis begin
when letter begin
send_letter("Jinunggyis Seelenstein")
end
when button or info begin
say_title("Jinunggyis Seelenstein")
say("")
say("Ihr habt alle zehn Orkzähne gesammelt.")
say("Nun müsst ihr Jinunggyis Seelenstein erbeuten.")
say("")
say_item_vnum(30220)
say("Ob dieser Stein tatsächlich eine Seele enthält?")
say("")
end
when 635.kill or 636.kill or 637.kill begin
if pc.count_item(30220)<1 then
local rand = number(0,90)
if rand<5 then pc.give_item2(30220, 1)
end
end
end
when 20084.chat."Jinunggyis Seelenstein" begin
if pc.count_item(30220)>0 then
say("Biologe:")
say("Dank deiner Hilfe verstehe ich nun")
say("die Legende um Jinunggyis Seelenstein.")
say("Du hast hart gekämpft.")
say("Sprich mit Baek-Go, er wird dir helfen,")
say("deine inneren Kräfte zu steigern.")
say("")
pc.remove_item(30220,1)
set_state(jinunggyis_reward)
else
say("Biologe:")
say("Du hast mir die 10 Stück gebracht...")
say("Nun bitte ich dich noch, mir den")
say("Jinunggyis Seelenstein zu bringen.")
say("Du bekommst ihn von den Schwarzen Orks ...")
say("Ich denke, dafür bist du stark genug.")
say("")
end
end
end
state jinunggyis_reward begin
when letter begin
send_letter("Sprich mit Baek-Go")
local v = find_npc_by_vnum(20018)
if v != 0 then target.vid("__TARGET__", v, "Doktor")
end
end
when button or info begin
say("Um die Belohnung des Biologen zu erhalten")
say("suche mit den Informationen der")
say("Orkzähne und des Seelensteins Baek-Go auf.")
say("")
end
when __TARGET__.target.click or 20018.chat."Belohnung des Biologen" begin
target.delete("__TARGET__")
say_title("Baek-Go:")
say("Ich sehe ...")
say("Der Biologe hat dich zu mir geschickt.")
say("Hier ist deine Belohnung:")
say("")
say_reward("Du erhälst:")
say_reward("Bewegungsgeschwindigkeit +10% (Dauerhaft)")
say("")
affect.add_collect(apply.MOV_SPEED, 10, 60*60*24*365*60)
set_state(collect_quest_lv40)
end
end
----------------------------------
-- LvL 40 / Fluchsammlung
----------------------------------
state collect_quest_lv40 begin
when login or levelup with pc.level>39 begin
set_state(talk_to_disciple_lv40)
end
end
state talk_to_disciple_lv40 begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then target.vid("__TARGET__", v, "Biologe")
end
send_letter("Forschung des Biologen Nr. 2")
end
when button or info begin
say_title("Forschung des Biologen Nr. 2")
say("")
say("Der Biologe benötigt ein weiteres Mal Hilfe.")
say("Er meinte, er bräuchte Hilfe auf der Suche")
say("nach speziellen Gegenständen.")
say("Sprich mit ihm,")
say("um eine genauere Beschreibung zu erhalten.")
say("")
say_reward("Sprich mit dem Biologen")
say("")
end
when __TARGET__.target.click or 20084.chat."Fluchbücher" begin
target.delete("__TARGET__")
say("Biologe:")
say("Gut, dass du gekommen bist...")
say("Die Untersuchung der Orkzähne")
say("habe ich abgeschlossen.")
say("Nun habe ich neue Objekte gefunden,")
say("die ich gerne untersuchen würde.")
wait()
say("Biologe:")
say("Ich würde sie ja selber sammeln,")
say("aber ich habe zuviel zu tun...")
say("Es wäre sehr nett, wenn du dies")
say("für mich erledigen könntest.")
wait()
say("Biologe:")
say("Ich möchte die Fluchbücher untersuchen.")
say("Davon benötige ich 15 Stück.")
say("Die Bücher sind jedoch ziemlich alt,")
say("manchmal zerfallen sie einfach!")
say("")
set_state(collect_cursebook)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
end
end
state collect_cursebook begin
when letter begin
send_letter("Forschung des Biologen Nr. 2")
end
when button or info begin
say_title("Fluchsammlungen")
say("")
say("Der Biologe gab euch den Auftrag,")
say("15 Fluchsammlungen zu besorgen.")
say("Diese kannst du bei den Dunklen- und")
say("Hohen Peinigern erbeuten.")
say("")
say_item_vnum(30047)
say_reward("Du hast derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
end
when 706.kill or 756.kill begin
local rand = number(0,1)
if rand<5 and pc.count_item(30047) >= 15 then pc.give_item2(30047, 1)
end
end
when 20084.chat."Fluchsammlungen" with pc.count_item(30047)>0 begin
if get_time()>pc.getqf("duration") then
say("Einen Moment ...")
say("Vielen Dank,")
say("lasst mich schnell überprüfen")
say("ob dieses Buch in Ordnung ist ...")
say("")
pc.remove_item("30047", 1)
wait()
local rand = number(0,1)
if rand<50 then
local count = pc.getqf("collect_count")+1
if count<15 then
pc.setqf("collect_count", count)
say("Biologe:")
say("Hervorragend, diese Fluchsammlung ist in Ordnung.")
say("Bringt mir noch welche, damit ich meine")
say("Forschungen abschließen kann.")
say("")
say_reward("Ihr habt derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
else
say("Biologe:")
say("Du hast mir die 15 Sammlungen gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige den Tempelseelenstein,")
say("den du von Stolzen dunklen Fanatikern,")
say("Kämpfern, sowie Obersten erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
pc.setqf("collect_count",0)
pc.setqf("duration",0)
set_state(collect_templekey)
end
else
say("Biologe:")
say("Es tut mir leid, die Fluchsammlung")
say("ist bei den Untersuchungen zerfallen.")
say("Bitte hol mir eine neue Fluchsammlung.")
end
else
say("Biologe:")
say("Entschuldige, ich habe die letzten")
say("Studien noch nicht beendet ...")
say("Bitte bring mir die Fluchsammmlung später.")
end
end
end
state collect_templekey begin
when letter begin
send_letter("Tempelseelenstein")
end
when button or info begin
say_title("Tempelseelenstein")
say("")
say("Ihr habt alle 15 Fluchsammlungen abgegeben.")
say("Nun müsst ihr den Tempelseelenstein erbeuten.")
say("")
say_item_vnum(30221)
say("Ob dieser Stein tatsächlich Seelen")
say("der Tempelanhänger enthält?")
say("")
end
when 731.kill or 732.kill or 733.kill begin
if pc.count_item(30221)<1 then
local rand = number(0,90)
if rand<5 then pc.give_item2(30221, 1)
end
end
end
when 20084.chat."Tempelseelenstein" begin
if pc.count_item(30221)>0 then
say("Biologe:")
say("Dank deiner Hilfe verstehe ich nun")
say("die Legende um den Tempelseelenstein.")
say("Du hast hart gekämpft.")
say("Sprich mit Baek-Go, er wird dir helfen,")
say("deine inneren Kräfte zu steigern.")
say("")
pc.remove_item(30221,1)
set_state(templekey_reward)
else
say("Biologe:")
say("Du hast mir die 15 Sammlungen gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige den Tempelseelenstein,")
say("den du von Stolzen dunklen Fanatikern,")
say("Kämpfern, sowie Obersten erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
end
end
end
state templekey_reward begin
when letter begin
send_letter("Sprich mit Baek-Go")
local v = find_npc_by_vnum(20018)
if v != 0 then target.vid("__TARGET__", v, "Doktor")
end
end
when button or info begin
say_title("Sprich mit Baek-Go")
say("Um die Belohnung des Biologen zu erhalten,")
say("suche mit den Informationen der")
say("Fluchsammlungen und des Seelensteins")
say("Baek-Go auf. Er befindet sich in der Stadt.")
say("")
end
when __TARGET__.target.click or 20018.chat."Belohnung des Biologen" begin
target.delete("__TARGET__")
say_title("Baek-Go:")
say("Ich sehe ...")
say("Der Biologe hat dich zu mir geschickt.")
say("Hier ist deine Belohnung:")
say("")
say_reward("Du erhälst:")
say_reward("Angriffsgeschwindigkeit +5% (Dauerhaft)")
say("")
affect.add_collect(apply.ATT_SPEED,5,60*60*24*365*60)
set_state(collect_quest_lv50)
end
end
----------------------------------
-- LvL 50 / Dämonenandenken
----------------------------------
state collect_quest_lv50 begin
when login or levelup with pc.level>49 begin
set_state(talk_to_disciple_lv50)
end
end
state talk_to_disciple_lv50 begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then target.vid("__TARGET__", v, "Biologe")
end
send_letter("Forschung des Biologen Nr. 3")
end
when button or info begin
say_title("Forschung des Biologen Nr. 3")
say("")
say("Der Biologe benötigt ein weiteres Mal Hilfe.")
say("Er meinte, er bräuchte Hilfe auf der Suche")
say("nach speziellen Gegenständen.")
say("Sprich mit ihm,")
say("um eine genauere Beschreibung zu erhalten.")
say("")
say_reward("Sprich mit dem Biologen")
say("")
end
when __TARGET__.target.click or 20084.chat."Dämonenandenken" begin
target.delete("__TARGET__")
say("Biologe:")
say("Gut, dass du gekommen bist...")
say("Die Untersuchung der Fluchsammlungen")
say("habe ich abgeschlossen.")
say("Nun habe ich neue Objekte gefunden,")
say("die ich gerne untersuchen würde.")
wait()
say("Biologe:")
say("Ich würde sie ja selber sammeln,")
say("aber ich habe zuviel zu tun...")
say("Es wäre sehr nett, wenn du dies")
say("für mich erledigen könntest.")
wait()
say("Biologe:")
say("Ich möchte die Dämonenandenken untersuchen.")
say("Davon benötige ich 15 Stück.")
say("Diese sind jedoch ziemlich zerbrechlich,")
say("es kann also sein, dass einige bei")
say("meinen Untersuchungen kaputt gehen.")
say("")
set_state(collect_deamonitem)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
end
end
state collect_deamonitem begin
when letter begin
send_letter("Forschung des Biologen Nr. 3")
end
when button or info begin
say_title("Dämonenandenken")
say("")
say("Der Biologe gab euch den Auftrag,")
say("15 Dämonenandenken zu besorgen.")
say("Diese kannst du bei den Gemeinen Monstern im")
say("Dämonenturm erbeuten.")
say("")
say_item_vnum(30015)
say_reward("Du hast derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
end
when 1001.kill or 1002.kill or 1003.kill or 1004.kill begin
local rand = number(0,1)
if rand<5 and pc.count_item(30015) >= 15 then pc.give_item2(30015, 1)
end
end
when 20084.chat."Dämonenandenken" with pc.count_item(30015)>0 begin
if get_time()>pc.getqf("duration") then
say("Einen Moment ...")
say("Vielen Dank,")
say("lasst mich schnell überprüfen")
say("ob dieses Andenken in Ordnung ist ...")
say("")
pc.remove_item("30015", 1)
wait()
local rand = number(0,1)
if rand<50 then
local count = pc.getqf("collect_count")+1
if count<15 then
pc.setqf("collect_count", count)
say("Biologe:")
say("Hervorragend,")
say("dieses Dämonenandenken ist in Ordnung.")
say("Bringt mir noch welche, damit ich meine")
say("Forschungen abschließen kann.")
say("")
say_reward("Ihr habt derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
else
say("Biologe:")
say("Du hast mir die 15 Andenken gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige Sagyis Seelenstein,")
say("den du von den Gemeinen Monstern im Dämonenturm,")
say("erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
pc.setqf("collect_count",0)
pc.setqf("duration",0)
set_state(collect_sagyis)
end
else
say("Biologe:")
say("Es tut mir leid, das Andenken")
say("ist bei den Untersuchungen zerbrochen.")
say("Bitte hol mir ein Neues.")
end
else
say("Biologe:")
say("Entschuldige, ich habe die letzten")
say("Studien noch nicht beendet ...")
say("Bitte bring mir das Andenken später.")
end
end
end
state collect_sagyis begin
when letter begin
send_letter("Sagyis Seelenstein")
end
when button or info begin
say_title("Sagyis Seelenstein")
say("")
say("Ihr habt alle 15 Dämonenandenken abgegeben.")
say("Nun müsst ihr Sagyis Seelenstein erbeuten.")
say("")
say_item_vnum(30222)
say("Ob dieser Stein tatsächlich Seelen")
say("von Sagyis Adligen enthält?")
say("")
end
when 1031.kill or 1032.kill or 1033.kill or 1034.kill begin
if pc.count_item(30222)<1 then
local rand = number(0,90)
if rand<5 then pc.give_item2(30222, 1)
end
end
end
when 20084.chat."Sagyis Seelenstein" begin
target.delete("__TARGET__")
if pc.count_item(30222)>0 then
say("Biologe:")
say("Dank deiner Hilfe verstehe ich nun")
say("die Legende um Sagyis Seelenstein.")
say("Du hast hart gekämpft.")
say("Sprich mit Baek-Go, er wird dir helfen,")
say("deine inneren Kräfte zu steigern.")
say("")
pc.remove_item(30222,1)
set_state(sagyis_reward)
else
say("Biologe:")
say("Du hast mir die 15 Andenken gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige Sagyis Seelenstein,")
say("den du von den Monstern im Dämonenturm,")
say("erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
end
end
end
state sagyis_reward begin
when letter begin
send_letter("Sprich mit Baek-Go")
local v = find_npc_by_vnum(20018)
if v != 0 then target.vid("__TARGET__", v, "Doktor")
end
end
when button or info begin
say_title("Sprich mit Baek-Go")
say("Um die Belohnung des Biologen zu erhalten,")
say("suche mit den Informationen der")
say("Dämonenandenken und des Seelensteins")
say("Baek-Go auf. Er befindet sich in der Stadt.")
say("")
end
when __TARGET__.target.click or 20018.chat."Belohnung des Biologen" begin
target.delete("__TARGET__")
say_title("Baek-Go:")
say("Ich sehe ...")
say("Der Biologe hat dich zu mir geschickt.")
say("Hier ist deine Belohnung:")
say("")
say_reward("Du erhälst:")
say_reward("Verteidigung +60 (Dauerhaft)")
say("")
affect.add_collect(apply.DEF_GRADE_BONUS,60,60*60*24*365*60)
set_state(collect_quest_lv60)
end
end
----------------------------------
-- LvL 60 / Eiskugeln
----------------------------------
state collect_quest_lv60 begin
when login or levelup with pc.level>59 begin
set_state(talk_to_disciple_lv60)
end
end
state talk_to_disciple_lv60 begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then target.vid("__TARGET__", v, "Biologe")
end
send_letter("Forschung des Biologen Nr. 4")
end
when button or info begin
say_title("Forschung des Biologen Nr. 4")
say("")
say("Der Biologe benötigt ein weiteres Mal Hilfe.")
say("Er meinte, er bräuchte Hilfe auf der Suche")
say("nach speziellen Gegenständen.")
say("Sprich mit ihm,")
say("um eine genauere Beschreibung zu erhalten.")
say("")
say_reward("Sprich mit dem Biologen")
say("")
end
when __TARGET__.target.click or 20084.chat."Eiskugeln" begin
target.delete("__TARGET__")
say("Biologe:")
say("Gut, dass du gekommen bist...")
say("Die Untersuchung der Dämonenandenken")
say("habe ich abgeschlossen.")
say("Nun habe ich neue Objekte gefunden,")
say("die ich gerne untersuchen würde.")
wait()
say("Biologe:")
say("Ich würde sie ja selber sammeln,")
say("aber ich habe zuviel zu tun...")
say("Es wäre sehr nett, wenn du dies")
say("für mich erledigen könntest.")
wait()
say("Biologe:")
say("Ich möchte die Eiskugeln untersuchen.")
say("Davon benötige ich 15 Stück.")
say("Diese sind jedoch ziemlich zerbrechlich,")
say("es kann also sein, dass einige bei")
say("meinen Untersuchungen kaputt gehen.")
say("")
set_state(collect_scoops)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
end
end
state collect_scoops begin
when letter begin
send_letter("Forschung des Biologen Nr. 4")
end
when button or info begin
say_title("Eiskugeln")
say("")
say("Der Biologe gab euch den Auftrag,")
say("15 Eiskugeln zu besorgen.")
say("Diese kannst du bei den Eisgolems auf")
say("dem Berg Sohan und bei den Unterwelt Eisgolems erbeuten.")
say("")
say_item_vnum(30050)
say_reward("Du hast derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
end
when 1107.kill or 1137.kill begin
local rand = number(0,1)
if rand<5 and pc.count_item(30050) >= 20 then pc.give_item2(30050, 1)
end
end
when 20084.chat."Eiskugeln" with pc.count_item(30050)>0 begin
if get_time()>pc.getqf("duration") then
say("Einen Moment ...")
say("Vielen Dank,")
say("lasst mich schnell überprüfen")
say("ob diese Eiskugel in Ordnung ist ...")
say("")
pc.remove_item("30050", 1)
wait()
local rand = number(0,1)
if rand<50 then
local count = pc.getqf("collect_count")+1
if count<15 then
pc.setqf("collect_count", count)
say("Biologe:")
say("Hervorragend,")
say("diese Eiskugel ist in Ordnung.")
say("Bringt mir noch welche, damit ich meine")
say("Forschungen abschließen kann.")
say("")
say_reward("Ihr habt derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
else
say("Biologe:")
say("Du hast mir die 15 Eiskugeln gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige Aurtumryus Seelenstein,")
say("den du von den Eismonstern auf dem Berg Sohan,")
say("erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
pc.setqf("collect_count",0)
pc.setqf("duration",0)
set_state(collect_aurtumryus)
end
else
say("Biologe:")
say("Es tut mir leid, die Eiskugel")
say("ist bei den Untersuchungen zerbrochen.")
say("Bitte hol mir eine Neue.")
end
else
say("Biologe:")
say("Entschuldige, ich habe die letzten")
say("Studien noch nicht beendet ...")
say("Bitte bring mir die Eiskugel später.")
end
end
end
state collect_aurtumryus begin
when letter begin
send_letter("Aurtumryus Seelenstein")
end
when button or info begin
say_title("Aurtumryus Seelenstein")
say("")
say("Ihr habt alle 15 Eiskugeln abgegeben.")
say("Nun müsst ihr Aurtumryus Seelenstein erbeuten.")
say("")
say_item_vnum(30223)
say("Ob dieser Stein tatsächlich Seelen")
say("von Aurtumryus Adligen enthält?")
say("")
end
when 1101.kill or 1102.kill or 1103.kill or 1104.kill or 1105.kill or 1106.kill or 1107.kill begin
if pc.count_item(30223)<1 then
local rand = number(0,90)
if rand<5 then pc.give_item2(30223, 1)
end
end
end
when 20084.chat."Aurtumryus Seelenstein" begin
if pc.count_item(30223)>0 then
say("Biologe:")
say("Dank deiner Hilfe verstehe ich nun")
say("die Legende um Aurtumryus Seelenstein.")
say("Du hast hart gekämpft.")
say("Sprich mit Baek-Go, er wird dir helfen,")
say("deine inneren Kräfte zu steigern.")
say("")
pc.remove_item(30223,1)
set_state(aurtumryus_reward)
else
say("Biologe:")
say("Du hast mir die 15 Eiskugeln gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige Aurtumryus Seelenstein,")
say("den du von den Eismonstern auf dem Berg Sohan,")
say("erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
end
end
end
state aurtumryus_reward begin
when letter begin
send_letter("Sprich mit Baek-Go")
local v = find_npc_by_vnum(20018)
if v != 0 then target.vid("__TARGET__", v, "Doktor")
end
end
when button or info begin
say_title("Sprich mit Baek-Go")
say("Um die Belohnung des Biologen zu erhalten,")
say("suche mit den Informationen der")
say("Eiskugeln und des Seelensteins")
say("Baek-Go auf. Er befindet sich in der Stadt.")
say("")
end
when __TARGET__.target.click or 20018.chat."Belohnung des Biologen" begin
target.delete("__TARGET__")
say_title("Baek-Go:")
say("Ich sehe ...")
say("Der Biologe hat dich zu mir geschickt.")
say("Hier ist deine Belohnung:")
say("")
say_reward("Du erhälst:")
say_reward("Angriffswert +50 (Dauerhaft)")
say("")
affect.add_collect(apply.ATT_GRADE_BONUS,50,60*60*24*365*60)
set_state(collect_quest_lv70)
end
end
----------------------------------
-- LvL 70 / Zelkovas Holzäste
----------------------------------
state collect_quest_lv70 begin
when login or levelup with pc.level>69 begin
set_state(talk_to_disciple_lv70)
end
end
state talk_to_disciple_lv70 begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then target.vid("__TARGET__", v, "Biologe")
end
send_letter("Forschung des Biologen Nr. 5")
end
when button or info begin
say_title("Forschung des Biologen Nr. 5")
say("")
say("Der Biologe benötigt ein weiteres Mal Hilfe.")
say("Er meinte, er bräuchte Hilfe auf der Suche")
say("nach speziellen Gegenständen.")
say("Sprich mit ihm,")
say("um eine genauere Beschreibung zu erhalten.")
say("")
say_reward("Sprich mit dem Biologen")
say("")
end
when __TARGET__.target.click or 20084.chat."Zelkovas Holzäste" begin
target.delete("__TARGET__")
say("Biologe:")
say("Gut, dass du gekommen bist...")
say("Die Untersuchung der Eiskugeln")
say("habe ich abgeschlossen.")
say("Nun habe ich neue Objekte gefunden,")
say("die ich gerne untersuchen würde.")
wait()
say("Biologe:")
say("Ich würde sie ja selber sammeln,")
say("aber ich habe zuviel zu tun...")
say("Es wäre sehr nett, wenn du dies")
say("für mich erledigen könntest.")
wait()
say("Biologe:")
say("Ich möchte Zelkovas Holzäste untersuchen.")
say("Davon benötige ich 25 Stück.")
say("Diese welken jedoch ziemlich schnell,")
say("es kann also sein, dass einige für")
say("meine Untersuchungen unbrauchbar sind.")
say("")
set_state(collect_branches)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
end
end
state collect_branches begin
when letter begin
send_letter("Forschung des Biologen Nr. 5")
end
when button or info begin
say_title("Zelkovas Holzäste")
say("")
say("Der Biologe gab euch den Auftrag,")
say("25 von Zelkovas Holzästen zu besorgen.")
say("Diese kannst du bei den Monstern")
say("im Geisterwald erbeuten.")
say("")
say_item_vnum(30165)
say_reward("Du hast derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
end
when 2312.kill or 2315.kill or 2313.kill or 2314.kill begin
local rand = number(0,1)
if rand<5 and pc.count_item(30165) >= 25 then pc.give_item2(30165, 1)
end
end
when 20084.chat."Zelkovas Holzäste" with pc.count_item(30165)>0 begin
if get_time()>pc.getqf("duration") then
say("Einen Moment ...")
say("Vielen Dank,")
say("lasst mich schnell überprüfen")
say("ob dieser Holzast in Ordnung ist ...")
say("")
pc.remove_item("30165", 1)
wait()
local rand = number(0,1)
if rand<50 then
local count = pc.getqf("collect_count")+1
if count<25 then
pc.setqf("collect_count", count)
say("Biologe:")
say("Hervorragend,")
say("dieser Holzast ist in Ordnung.")
say("Bringt mir noch welche, damit ich meine")
say("Forschungen abschließen kann.")
say("")
say_reward("Ihr habt derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
else
say("Biologe:")
say("Du hast mir die 25 Holzäste gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige Gyimoks Seelenstein,")
say("den du ebenfalls von den Monstern")
say("im Geisterwald erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
pc.setqf("collect_count",0)
pc.setqf("duration",0)
set_state(collect_gyimoks)
end
else
say("Biologe:")
say("Es tut mir leid, der Holzast")
say("ist während des Transports verwelkt.")
say("Bitte hol mir einen Neuen.")
end
else
say("Biologe:")
say("Entschuldige, ich habe die letzten")
say("Studien noch nicht beendet ...")
say("Bitte bring mir den Holzast später.")
end
end
end
state collect_gyimoks begin
when letter begin
send_letter("Gyimoks Seelenstein")
end
when button or info begin
say_title("Gyimoks Seelenstein")
say("")
say("Ihr habt alle 25 Holzäste abgegeben.")
say("Nun müsst ihr Gyimoks Seelenstein erbeuten.")
say("")
say_item_vnum(30224)
say("Ob dieser Stein tatsächlich Seelen")
say("von Gyimoks Adligen enthält?")
say("")
end
when 2301.kill or 2302.kill or 2303.kill or 2304.kill or 2305.kill or 2311.kill or
2312.kill or 2313.kill or 2314.kill or 2315.kill or 2306.kill or 2307.kill begin
if pc.count_item(30224)<1 then
local rand = number(0,60)
if rand<5 then pc.give_item2(30224, 1)
end
end
end
when 20084.chat."Gyimoks Seelenstein" begin
target.delete("__TARGET__")
if pc.count_item(30224)>0 then
say("Biologe:")
say("Dank deiner Hilfe verstehe ich nun")
say("die Legende um Gyimoks Seelenstein.")
say("Du hast hart gekämpft.")
say("Sprich mit Baek-Go, er wird dir helfen,")
say("deine inneren Kräfte zu steigern.")
say("")
pc.remove_item(30224,1)
set_state(gyimoks_reward)
else
say("Biologe:")
say("Du hast mir die 25 Holzäste gebracht.")
say("Nun...ich habe noch eine Bitte.")
say("Ich benötige Gyimoks Seelenstein,")
say("den du ebenfalls von den Monstern")
say("im Geisterwald erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
end
end
end
state gyimoks_reward begin
when letter begin
send_letter("Sprich mit Baek-Go")
local v = find_npc_by_vnum(20018)
if v != 0 then target.vid("__TARGET__", v, "Doktor")
end
end
when button or info begin
say_title("Sprich mit Baek-Go")
say("Um die Belohnung des Biologen zu erhalten,")
say("suche mit den Informationen der")
say("Zelkova Holzäste und des Seelensteins")
say("Baek-Go auf. Er befindet sich in der Stadt.")
say("")
end
when __TARGET__.target.click or 20018.chat."Belohnung des Biologen" begin
target.delete("__TARGET__")
say_title("Baek-Go:")
say("Ich sehe ...")
say("Der Biologe hat dich zu mir geschickt.")
say("Hier ist deine Belohnung:")
say("")
say_reward("Du erhälst:")
say_reward("Bewegungsgeschwindigkeit +10% (Dauerhaft)")
say_reward("Schadensreduzierung +10% (Dauerhaft)")
say("")
affect.add_collect(apply.MOV_SPEED,10,60*60*24*365*60)
affect.add_collect(apply.DEF_GRADE_BONUS,10,60*60*24*365*60)
set_state(collect_quest_lv80)
end
end
----------------------------------
-- LvL 80 / Tugyis Tafeln
----------------------------------
state collect_quest_lv80 begin
when login or levelup with pc.level>79 begin
set_state(talk_to_disciple_lv80)
end
end
state talk_to_disciple_lv80 begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then target.vid("__TARGET__", v, "Biologe")
end
send_letter("Forschung des Biologen Nr. 6")
end
when button or info begin
say_title("Forschung des Biologen Nr. 6")
say("")
say("Der Biologe benötigt ein weiteres Mal Hilfe.")
say("Er meinte, er bräuchte Hilfe auf der Suche")
say("nach speziellen Gegenständen.")
say("Sprich mit ihm,")
say("um eine genauere Beschreibung zu erhalten.")
say("")
say_reward("Sprich mit dem Biologen")
say("")
end
when __TARGET__.target.click or 20084.chat."Tugyis Tafeln" begin
target.delete("__TARGET__")
say("Biologe:")
say("Gut, dass du gekommen bist...")
say("Die Untersuchung der Zelkova Holzäste")
say("habe ich abgeschlossen.")
say("Nun habe ich neue Objekte gefunden,")
say("die ich gerne untersuchen würde.")
wait()
say("Biologe:")
say("Ich würde sie ja selber sammeln,")
say("aber ich habe zuviel zu tun...")
say("Es wäre sehr nett, wenn du dies")
say("für mich erledigen könntest.")
wait()
say("Biologe:")
say("Ich möchte Tugyis Tafeln untersuchen.")
say("Davon benötige ich 30 Stück.")
say("Diese sind jedoch ziemlich zerbrechlich,")
say("es kann also sein, dass einige bei")
say("meinen Untersuchungen kaputt gehen.")
say("")
set_state(collect_plates)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
end
end
state collect_plates begin
when letter begin
send_letter("Forschung des Biologen Nr. 6")
end
when button or info begin
say_title("Tugyis Tafeln")
say("")
say("Der Biologe gab euch den Auftrag,")
say("30 von Tugyis Tafeln zu besorgen.")
say("Diese kannst du bei den Monstern")
say("im Land der Riesen erbeuten.")
say("")
say_item_vnum(30166)
say_reward("Du hast derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
end
when 1401.kill or 1402.kill or 1403.kill or 1601.kill or 1602.kill or 1603.kill begin
local rand = number(0,1)
if rand<5 and pc.count_item(30166) >= 30 then pc.give_item2(30166, 1)
end
end
when 20084.chat."Tugyis Tafeln" with pc.count_item(30166)>0 begin
if get_time()>pc.getqf("duration") then
say("Einen Moment ...")
say("Vielen Dank,")
say("lasst mich schnell überprüfen")
say("ob diese Tafel in Ordnung ist ...")
say("")
pc.remove_item("30166", 1)
wait()
local rand = number(0,1)
if rand<50 then
local count = pc.getqf("collect_count")+1
if count<30 then
pc.setqf("collect_count", count)
say("Biologe:")
say("Hervorragend,")
say("diese Tafel ist in Ordnung.")
say("Bringt mir noch welche, damit ich meine")
say("Forschungen abschließen kann.")
say("")
say_reward("Ihr habt derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
else
say("Biologe:")
say("Du hast mir die 30 Tafeln gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige Tugyis Seelenstein,")
say("den du ebenfalls von den Monstern")
say("im Land der Riesen erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
pc.setqf("collect_count",0)
pc.setqf("duration",0)
set_state(collect_tugyis)
end
else
say("Biologe:")
say("Es tut mir leid, die Tafel")
say("ist während der Untersuchung zerbrochen.")
say("Bitte hol mir eine Neue.")
end
else
say("Biologe:")
say("Entschuldige, ich habe die letzten")
say("Studien noch nicht beendet ...")
say("Bitte bring mir die Tafel später.")
end
end
end
state collect_tugyis begin
when letter begin
send_letter("Tugyis Seelenstein")
end
when button or info begin
say_title("Tugyis Seelenstein")
say("")
say("Ihr habt alle 30 Tafeln abgegeben.")
say("Nun müsst ihr Tugyis Seelenstein erbeuten.")
say("")
say_item_vnum(30225)
say("Ob dieser Stein tatsächlich Seelen")
say("von Tugyis Adligen enthält?")
say("")
end
when 1401.kill or 1402.kill or 1403.kill or 1601.kill or 1602.kill or 1603.kill begin
if pc.count_item(30225)<1 then
local rand = number(0,60)
if rand<5 then pc.give_item2(30225, 1)
end
end
end
when 20084.chat."Tugyis Seelenstein" begin
if pc.count_item(30225)>0 then
say("Biologe:")
say("Dank deiner Hilfe verstehe ich nun")
say("die Legende um Tugyis Seelenstein.")
say("Du hast hart gekämpft.")
say("Sprich mit Baek-Go, er wird dir helfen,")
say("deine inneren Kräfte zu steigern.")
say("")
pc.remove_item(30225,1)
set_state(tugyis_reward)
else
say("Biologe:")
say("Du hast mir die 30 Tafeln gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige Tugyis Seelenstein,")
say("den du ebenfalls von den Monstern")
say("im Land der Riesen erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
end
end
end
state tugyis_reward begin
when letter begin
send_letter("Sprich mit Baek-Go")
local v = find_npc_by_vnum(20018)
if v != 0 then target.vid("__TARGET__", v, "Doktor")
end
end
when button or info begin
say_title("Sprich mit Baek-Go")
say("Um die Belohnung des Biologen zu erhalten,")
say("suche mit den Informationen der")
say("Tugyis Tafeln und des Seelensteins")
say("Baek-Go auf. Er befindet sich in der Stadt.")
say("")
end
when __TARGET__.target.click or 20018.chat."Belohnung des Biologen" begin
target.delete("__TARGET__")
say_title("Baek-Go:")
say("Ich sehe ...")
say("Der Biologe hat dich zu mir geschickt.")
say("Hier ist deine Belohnung:")
say("")
say_reward("Du erhälst:")
say_reward("Angriffsgeschwindigkeit +5% (Dauerhaft)")
say_reward("Schadenserhöhung +10% (Dauerhaft)")
say("")
affect.add_collect(apply.ATT_SPEED,5,60*60*24*365*60)
affect.add_collect_point(apply.POINT_ATT_BONUS,10,60*60*24*365*60)
set_state(complete)
end
end
state complete begin
end
end
|
|
|
|
05/10/2014, 17:25
|
#10189
|
elite*gold: 183
Join Date: Feb 2010
Posts: 596
Received Thanks: 217
|
Könntest du die quest mal perfekt anpassen?
mfg
|
|
|
05/10/2014, 18:29
|
#10190
|
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
|
Quote:
Originally Posted by xoR™
Könntest du die quest mal perfekt anpassen?
mfg
|
Das kannst du selber 
Ich hab dir doch genau gesagt, wo ich glaube, dass dein Problem liegt.
|
|
|
05/11/2014, 16:19
|
#10191
|
elite*gold: 25
Join Date: Jun 2011
Posts: 1,637
Received Thanks: 353
|
Problem:
ich ziehe das gewünschte Item auf mein NPC und klicke auf ja danach schließt sich das Fenster und es passiert nichts.
PHP Code:
quest crafting begin state start begin when 9010.chat."Rüstungen Umfärben" begin say_title("Rüstungen Umfärben") say() say("Hallo Fremder....") say("Dein Name lautet "..pc.get_name()..".. richtig?") say() say("Ich habe eine neue Technologie entwickelt") say("welche es mir ermöglicht gesegnete Rüstungen des Drachengottes") say("einzufärben!") say_reward("Die Attribute werden mit übernommen!") say() say_reward("Ziehe die Rüstung einfach auf mich!") end
when 9010.take begin if not in_table(item.get_vnum(),{20009,12029,12039,12049}) then syschat("Rüstung Umfärben: Du kannst nur 80er Rüstungen +9 einfärben.") end say_title("Rüstung Umfärben") say() say("Hallo Fremder....") say("Dein Name lautet "..pc.get_name()..".. richtig?") say() say("Ich habe eine neue Technologie entwickelt") say("welche es mir ermöglicht gesegnete Rüstungen des Drachengottes") say("einzufärben!") say_reward("Die Attribute werden mit übernommen!") say() say("Möchtest du Fortfahren?") local s1 = select("Ja","Nein") if s1 == 2 then return end if s1 == 1 then say_title("Shining System") local vnum = item.get_vnum() local bonis = {{item2.get_attr(0)}, {item2.get_attr(1)}, {item2.get_attr(2)}, {item2.get_attr(3)}, {item2.get_attr(4)}, {item2.get_attr(5)}, {item2.get_attr(6)}} local stones = {item.get_socket(0), item.get_socket(1), item.get_socket(2)} say() say_reward("Wähle aus einen der Farben aus:") say_reward("Du benötigst") say_reward("2x Drachenle") say() local s2 = select("Rote Rüstung","Braune Rüstung","Violette Rüstung","Grüne Rüstung","Abbrechen") if s2 == 1 then local newvnum = item.get_vnum() * 2 say_title("Shining System - Rotes Shining") say() say("Um eine Rote Shiningrüstung herzustellen benötigst du 2x:") say_item(7119) -- SHINING ITEM ROT say_reward("Möchtest du fortfahren?") local s3 = select("Ja","Nein") if s3 == 2 then return end if s3 == 1 then if pc.count_item(71129) < 2 then -- SHINING ITEM ROT syschat("Shiningsystem: Du besitzt nicht genügend Items um deine Rüstung zu veredeln.") end if pc.get_empty_inventory_count() < 2 then -- INVENTORY SPACE > 2 syschat("Shiningsystem: Du benötigst mindestens 2 freie Pätze in deinem Inventar.") end item.remove() pc.give_item2(20010) -- GIBT RÜSSI und selected sie for a = 1, table.getn(bonis) do if tonumber(bonis[a][1]) > 0 then item2.set_attr(a-1, bonis[a][1], bonis[a][2]) -- setzt bonis end end for b = 1, table.getn(stones) do if tonumber(stones[b]) > 0 then item.set_socket(b-1, stones[b]) -- setzt steine end end syschat("Shiningsystem: Deine Rüstung wurde mit einem Roten Shining versehen.") end -- s3 elseif s2 == 2 then local newvnum = item.get_vnum() * 3 say_title("Rüstung Einfärben - Braune Rüstung") say() say("Um eine Braune Rüstung herzustellen benötigst du 200x:") say_item(71129) -- SHINING ITEM ROT say_reward("Möchtest du fortfahren?") local s3 = select("Ja","Nein") if s3 == 2 then return end if s3 == 1 then if pc.count_item(7119) < 200 then -- SHINING ITEM ROT syschat("Colorchangesystem: Du besitzt nicht genügend Items um deine Rüstung zu veredeln.") end if pc.get_empty_inventory_count() < 2 then -- INVENTORY SPACE > 2 syschat("Colorchangesystem: Du benötigst mindestens 2 freie Pätze in deinem Inventar.") end item.remove() pc.give_item2(newvnum) -- GIBT RÜSSI und selected sie for a = 1, table.getn(bonis) do if tonumber(bonis[a][1]) > 0 then item2.set_attr(a-1, bonis[a][1], bonis[a][2]) -- setzt bonis end end for b = 1, table.getn(stones) do if tonumber(stones[b]) > 0 then item.set_socket(b-1, stones[b]) -- setzt steine end end syschat("Colorchangesystem: Deine Rüstung wurde erfolgreich umgefärbt!") end -- s3 elseif s2 == 3 then local newvnum = item.get_vnum() * 4 say_title("Rüstung Einfärben - Violette Rüstung") say() say("Um eine Violette Rüstung herzustellen benötigst du 2x:") say_item(7119) -- SHINING ITEM ROT say_reward("Möchtest du fortfahren?") local s3 = select("Ja","Nein") if s3 == 2 then return end if s3 == 1 then if pc.count_item(71129) < 2 then -- SHINING ITEM ROT syschat("Colorchangesystem: Du besitzt nicht genügend Items um deine Rüstung zu veredeln.") end if pc.get_empty_inventory_count() < 2 then -- INVENTORY SPACE > 2 syschat("Colorchangesystem: Du benötigst mindestens 2 freie Pätze in deinem Inventar.") end item.remove() pc.give_item2(newvnum) -- GIBT RÜSSI und selected sie for a = 1, table.getn(bonis) do if tonumber(bonis[a][1]) > 0 then item2.set_attr(a-1, bonis[a][1], bonis[a][2]) -- setzt bonis end end for b = 1, table.getn(stones) do if tonumber(stones[b]) > 0 then item.set_socket(b-1, stones[b]) -- setzt steine end end syschat("Colorchangesystem: Deine Rüstung wurde erfolgreich umgefärbt!") end -- s3 elseif s2 == 4 then local newvnum = item.get_vnum() * 5 say_title("Rüstung Einfärben - Grüne Rüstung") say() say("Um eine Grüne Rüstung herzustellen benötigst du 200x:") say_item(27992) -- SHINING ITEM ROT say_reward("Möchtest du fortfahren?") local s3 = select("Ja","Nein") if s3 == 2 then return end if s3 == 1 then if pc.count_item(27992) < 200 then -- SHINING ITEM ROT syschat("Colorchangesystem: Du besitzt nicht genügend Items um deine Rüstung zu veredeln.") end if pc.get_empty_inventory_count() < 2 then -- INVENTORY SPACE > 2 syschat("Colorchangesystem: Du benötigst mindestens 2 freie Pätze in deinem Inventar.") end item.remove() pc.give_item2(newvnum) -- GIBT RÜSSI und selected sie for a = 1, table.getn(bonis) do if tonumber(bonis[a][1]) > 0 then item2.set_attr(a-1, bonis[a][1], bonis[a][2]) -- setzt bonis end end for b = 1, table.getn(stones) do if tonumber(stones[b]) > 0 then item.set_socket(b-1, stones[b]) -- setzt steine end end syschat("Colorchangesystem: Deine Rüstung wurde erfolgreich umgefärbt!") end -- s3 end -- s2 end -- s1 end -- when end -- state end -- quest
|
|
|
05/11/2014, 17:52
|
#10192
|
elite*gold: 0
Join Date: Nov 2011
Posts: 1,448
Received Thanks: 1,257
|
Quote:
Originally Posted by OneStyles
Problem:
ich ziehe das gewünschte Item auf mein NPC und klicke auf ja danach schließt sich das Fenster und es passiert nichts.
|
Hast du denn die Quest-Funktionen?
item2.set_attr
item2.get_attr
item.get_socket
Die gibt es nur per Dif, einfach in die quest_functions eintragen hilft da nicht.
|
|
|
05/11/2014, 18:23
|
#10193
|
elite*gold: 14
Join Date: May 2013
Posts: 4,288
Received Thanks: 1,477
|
Hi.
Ich möchte den Dt für Lowis schaffbar machen.
Habe alle rains angepasst, aber er portet sich nicht weiter. (1 -> 2 geht), wenn er dann zur Metinebene geportet werden soll passiert nichts.
Code:
quest deviltower_zone begin
state start begin
when login begin
if pc.get_map_index() == 66 then
if pc.get_x() < 2048+88 or pc.get_y() < 6656+577 or pc.get_x() > 2048+236 or pc.get_y() > 6656+737 then
pc.warp((5376+532)*100, (512+596+4)*100, 65)
end
pc.set_warp_location(65, 5376+532, 512+596+4)
elseif pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then
pc.set_warp_location(65, 5376+532, 512+596+4)
end
end
when deviltower_man.chat.locale.deviltower_man_chat begin
say_title("Wächter des Dämonturmes")
if pc . get_level ( ) < 1 then
say("Du hast noch nicht genügend Erfahrung gesammelt.")
say("Komme wieder, wenn du Level 1 bist!")
return
end
say("Möchtest du den Dämonenturm betreten?")
local s = select ("Betreten", "Abbrechen")
if s == 1 then
pc.warp (216500, 727000)
end
end
when devil_stone1.kill begin
timer("devil_stone1_1", 6)
end
when devil_stone1_1.timer begin
local mapto7= pc.count_item(30302) -- Die Karte der Zin Grotte wurde aus deinem Inventar entfernt
pc.remove_item(30302,mapto7)
local boxto7= pc.count_item(30300) -- Die Unbekannte Alte Kiste wurde aus deinem Inventar entfernt
pc.remove_item(30300,boxto7)
d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2])
d.regen_file("data/dungeon/deviltower2_regen.txt")
d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/deviltower3_regen.txt")
end
--when devil_stone2.kill begin
--d.jump_all_local(special.devil_tower[2][1], special.devil_tower[2][2])
--end
when devil_stone3.kill begin
--d.jump_all_local(special.devil_tower[3][1], special.devil_tower[3][2])
--d.set_exit_all_at_eliminate(6)
--d.set_warp_at_eliminate(6, d.get_map_index(), 100, 100)
--d.set_warp_at_eliminate(4, 65, 5376+532, 512+596+4)
d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/deviltower4_regen.txt")
d.check_eliminated()
--d.exit_all()
end
function get_4floor_stone_pos()
local positions = {
{368, 629},
{419, 630},
{428, 653},
{422, 679},
{395, 689},
{369, 679},
{361, 658},
}
for i = 1, 6 do
local j = number(i, 7)
if i != j then
local t = positions[i];
positions[i] = positions[j];
positions[j] = t;
end
end
--for i = 1, 7 do
-- positions[i][1] = positions[i][1] * 100
-- positions[i][2] = positions[i][2] * 100
-- end
return positions
end
when 8016.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
d.setf("level", 4)
-- ¦A²{¤j¶q©Çª«¤Î»s³y¯u¥ÛÀY©M°²¥ÛÀY
--d.regen_file("data/dungeon/deviltower4_regen.txt")
local positions = deviltower_zone.get_4floor_stone_pos()
for i = 1, 6 do
chat(positions[i][1], positions[i][2])
d.set_unique("fake" .. i , d.spawn_mob(8007, positions[i][1], positions[i][2]))
end
chat(positions[7][1], positions[7][2])
local vid = d.spawn_mob(8007, positions[7][1], positions[7][2])
chat(vid)
d.set_unique("real", vid)
server_loop_timer('devil_stone4_update', 10, pc.get_map_index())
server_timer('devil_stone4_fail1', 5*60, pc.get_map_index())
d.notice("Findet den richtigen Metinstein und zerstört ihn.");
d.notice("Die falschen Metinsteine werden verschwinden!");
d.notice("Ihr habt 15 Minuten zeit!");
end
when devil_stone4_fail1.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Verbleibende Zeit: 10 Minuten")
server_timer('devil_stone4_fail2', 5*60, get_server_timer_arg())
end
end
when devil_stone4_fail2.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Verbleibende Zeit: 5 Minuten")
server_timer('devil_stone4_fail', 5*60, get_server_timer_arg())
end
end
when devil_stone4_fail.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Die Zeit ist abgelaufen")
d.notice("Ihr werdet nun nach draußen teleportiert")
d.exit_all()
clear_server_timer('devil_stone4_update', get_server_timer_arg())
end
end
when devil_stone4_update.server_timer begin
if d.select(get_server_timer_arg()) then
if not d.is_unique_dead("real") then
for i = 1, 6 do
if d.getf("fakedead" .. i) == 0 then
if d.unique_get_hp_perc("fake" .. i) < 50 then
d.purge_unique("fake" .. i)
d.setf("fakedead" .. i, 1)
d.notice("Der falsche Metinstein ist verschwunden..");
end
end
end
else
--d.clear_regen()
--d.regen_file("data/dungeon/deviltower5_regen.txt")
server_timer("devil_stone4_end", 5, get_server_timer_arg())
d.notice("Ihr habt den richtigen Metinstein zerstört.");
d.notice("Ihr werdet nun in die nächste Etage teleportiert")
clear_server_timer('devil_stone4_fail1', get_server_timer_arg())
clear_server_timer('devil_stone4_fail2', get_server_timer_arg())
clear_server_timer('devil_stone4_fail', get_server_timer_arg())
end
else
server_timer('devil_stone4_stop_timer', 1, get_server_timer_arg())
end
end
when devil_stone4_stop_timer.server_timer begin
clear_server_timer('devil_stone4_update', get_server_timer_arg())
end
when devil_stone4_end.server_timer begin
if d.select(get_server_timer_arg()) then
d.setf("level", 5)
d.setf("stone_count", 5)
d.notice("Du bist nun in der 5. Ebene")
d.notice("Öffne alle Alten Siegel um in die nächste Ebene zu gelangen.")
d.notice("Du hast 20 Minuten Zeit um alle Siegel zu öffnen.")
d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2])
server_timer('devil_stone5_fail1', 5*60, get_server_timer_arg())
clear_server_timer('devil_stone4_update', get_server_timer_arg())
-- bla bla
d.set_regen_file("data/dungeon/deviltower5_regen.txt")
-- bla bla 2
d.spawn_mob(20073, 421, 452)
d.spawn_mob(20073, 380, 460)
d.spawn_mob(20073, 428, 414)
d.spawn_mob(20073, 398, 392)
d.spawn_mob(20073, 359, 426)
end
end
when devil_stone5_fail1.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Verbleibende Zeit: 15 Minuten")
server_timer('devil_stone5_fail2', 5*60, get_server_timer_arg())
end
end
when devil_stone5_fail2.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Verbleibende Zeit: 10 Minuten")
server_timer('devil_stone5_fail3', 5*60, get_server_timer_arg())
end
end
when devil_stone5_fail3.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Verbleibende Zeit: 5 Minuten")
server_timer('devil_stone5_fail', 5*60, get_server_timer_arg())
end
end
when devil_stone5_fail.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Die Zeit ist abgelaufen")
d.notice("Ihr werdet nun nach draußen teleportiert")
d.exit_all()
end
end
--when devil_stone4.kill begin
--d.setf("level", 5)
--d.setf("stone_count", 4)
--d.clear_regen()
--d.regen_file("data/dungeon/deviltower5_regen.txt")
--d.jump_all_local(special.devil_tower[4][1], special.devil_tower[4][2])
--end
when 1062.kill with pc.in_dungeon() and d.getf("level") == 5 begin
local KILL_COUNT_FOR_DROP_KEY = 50
--if is_test_server() then
--KILL_COUNT_FOR_DROP_KEY = 1
--end
local n =d.getf("count") + 1
d.setf("count", n)
if n == KILL_COUNT_FOR_DROP_KEY then
-- bla bla 3
game.drop_item(50084, 1)
d.setf("count", 0)
end
end
when devil_stone5.take with item.vnum == 50084 begin
npc.purge()
item.remove()
d.setf("stone_count", d.getf("stone_count") - 1)
if d.getf("stone_count") <= 0 then
d.setf("level", 6)
d.clear_regen()
d.regen_file("data/dungeon/deviltower6_regen.txt")
d.notice("Ihr habt alle alten Siegel geöffnet. Ihr werdet nun")
d.notice("in die 6. Ebene teleportiert.")
d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2])
clear_server_timer('devil_stone5_fail1', get_server_timer_arg())
clear_server_timer('devil_stone5_fail2', get_server_timer_arg())
clear_server_timer('devil_stone5_fail3', get_server_timer_arg())
clear_server_timer('devil_stone5_fail', get_server_timer_arg())
else
d.notice("Es verbleibt eine Anzahl von "..d.getf("stone_count").." Siegeln")
end
end
when devil_stone6.kill begin
-- bla bla 4
-- bla bla 5
--d.jump_all(special.devil_tower[6][1], special.devil_tower[6][2])
d.kill_all()
-- d.set_warp_at_eliminate(3*60, 65, 5376+532, 512+596+4)
d.check_eliminated()
local reward_alchemist = {20074, 20075, 20076}
d.spawn_mob(reward_alchemist[number(1,3)], 425, 216);
d.setqf("can_refine", 1)
end
--------------------------------------
-- bla bla 6
--------------------------------------
when 20074.chat."Die höheren Etagen.." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
say(""..mob_name(20074).."")
say("Ihr möchtet in die 7.Etage?")
say("Ihr haben Glück! Heute erlaube ich es ihnen vielleicht!")
say("Aber voher muss ich euch noch prüfen..")
say("Mal sehen..")
wait()
if pc.level >=18 then
say("Ich erlaube euch weiterzugehen!")
say("Viel Glück und passt auf euch auf da oben!")
timer("devil_jump_7", 6)
return
end
say("Betreten der 7.Etage nicht erlaubt!")
say("Ihr seid nicht qualifiziert genug!")
say("Erreicht Level 18 oder höher,")
say("damit ihr eure Fertigkeiten steigern könnt")
say("und kommt dann wieder!")
wait()
pc.warp(590500, 110500)
return
end
when 20075.chat."Die höheren Etagen.." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
say(""..mob_name(20075).."")
say("Ihr möchtet in die 7.Etage?")
say("Ihr haben Glück! Heute erlaube ich es ihnen vielleicht!")
say("Aber voher muss ich euch noch prüfen..")
say("Mal sehen..")
wait()
if pc.level >=18 then
say("Ich erlaube euch weiterzugehen!")
say("Viel Glück und passt auf euch auf da oben!")
timer("devil_jump_7", 6)
return
end
say("Betreten der 7.Etage nicht erlaubt!")
say("Ihr seid nicht qualifiziert genug!")
say("Erreicht Level 18 oder höher,")
say("damit ihr eure Fertigkeiten steigern könnt")
say("und kommt dann wieder!")
wait()
pc.warp(590500, 110500)
return
end
when 20076.chat."Die höheren Etagen.." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
say(""..mob_name(20076).."")
say("Ihr möchtet in die 7.Etage?")
say("Ihr haben Glück! Heute erlaube ich es ihnen vielleicht!")
say("Aber voher muss ich euch noch prüfen..")
say("Mal sehen..")
wait()
if pc.level >=18 then
say("Ich erlaube euch weiterzugehen!")
say("Viel Glück und passt auf euch auf da oben!")
timer("devil_jump_7", 6)
return
end
say("Betreten der 7.Etage nicht erlaubt!")
say("Ihr seid nicht qualifiziert genug!")
say("Erreicht LvL 18 oder höher,")
say("damit ihr eure Fertigkeiten steigern könnt")
say("und kommt dann wieder!")
wait()
pc.warp(590500, 110500)
return
end
when devil_jump_7.timer begin
d.clear_regen()
d.spawn_mob(8007, 639, 658)
d.spawn_mob(8007, 611, 637)
d.spawn_mob(8007, 596, 674)
d.spawn_mob(8007, 629, 670)
d.setf("level", 7)
d.jump_all(2048+590, 6656+638)
end
when 8007.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
local cont = d.getf("7_stone_kill") + 1
d.setf("7_stone_kill", cont)
if cont >= 4 then
d.setf("7_stone_kill", 0)
d.set_regen_file("data/dungeon/deviltower7_regen.txt")
end
end
when 8019.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
game.drop_item(30300, 1)
end
when 30300.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
pc.remove_item("30300", 1)
local pct = number(1,10)
if pct == 1 then
-- bla bla 7
game.drop_item(30302, 1)
d.clear_regen()
else
-- bla bla 8
game.drop_item(30301, 1)
end
end
when 30302.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
-- bla bla 9
say("Die Karte wird euch alle in die nächste Ebene")
say("des Dämonenturms bringen.")
pc.remove_item("30302", 1)
timer("devil_jump_8", 6)
d.clear_regen()
end
--------------------------------------------
-- bla bla 10
--------------------------------------------
when devil_jump_8.timer begin
d.setf("level", 8)
d.jump_all(2048+590, 6656+403)
d.set_regen_file("data/dungeon/deviltower8_regen.txt")
d.spawn_mob(20366, 640, 460)
local _count= pc.count_item(30302)-- bla bla 11
pc.remove_item(30302,_count)
end
when 1040.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
local pct1 = number(1, 5)
if pct1 == 1 then
local pct2 = number(1, 10)
if pct2 == 1 then
-- bla bla 12
game.drop_item(30304, 1)
else
-- bla bla 13
game.drop_item(30303, 1)
end
else
return
end
end
when 20366.take with item.vnum == 30304 begin
-- bla bla 14
npc.purge()
item.remove()
timer("devil_jump_9", 6)
end
---------------------------------------------
-- bla bla 15
---------------------------------------------
when devil_jump_9.timer begin
d.setf("level", 9)
d.jump_all(2048+590, 6656+155)
d.regen_file("data/dungeon/deviltower9_regen.txt")
end
when 1093.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
d.kill_all()
timer("devil_end_jump", 60)
end
when devil_end_jump.timer begin
d.exit_all()
end
end
end
|
|
|
05/11/2014, 19:50
|
#10194
|
elite*gold: 25
Join Date: Jun 2011
Posts: 1,637
Received Thanks: 353
|
Jemand nen fix bei der 34k Game
Beispiel: Mondlicht Event
in der Quest ist die Funktion game.get_event_flag
und ich bekomme wenn die Quest Aktiviert ist dauernd in der syserr
No dungeon get flag und nach ner Zeit ist der Channel Down
Gibt es eventuell eine andere Funktion statt game.get_event_flag?
|
|
|
05/11/2014, 20:10
|
#10195
|
elite*gold: 15
Join Date: Nov 2009
Posts: 302
Received Thanks: 31
|
Quote:
Originally Posted by dogi4321
Hallo,
wenn ich ein item auf den NPC ziehe, kommen diese schwarze Balken und das Menü öffnet sich wo steht: "Möchten sie dieses Item zerstören?"....Aber wenn ich auf ja drücke, bleiben die schwarzen balken und das item wird nicht zerstört und das Menü ist weg.
PHP Code:
--------------------------------------Itemzerstoerer------------------------------------
--Quest by InyaProd
----------------------------------------------------------------------------------------
quest item_destroyer begin
-------------------------Variablen erstellen (Anfang)------------------------
state start begin
when login begin
pc.setqf("destroy_notice", 1)
pc.setqf("count_notice", 1)
local pid = mysql_query("select id from player.player where name='"..pc.get_name().."' LIMIT 1")
table.foreachi(pid,function(i,l)
pc.setqf("pid", l[1])
end)
set_state(destroy)
end
end
-------------------------Variablen erstellen (Ende)--------------------------
--/////////////////////////////////////////////////////////////////////////--
-------------------------Item zerstoeren (Anfang)----------------------------
state destroy begin
when 20015.take with item.get_id() begin
local vnum = item.get_vnum()
if pc.getqf("destroy_notice") == 1 then
say_title("Item Zerstörer")
say_item_vnum(vnum)
say("")
say("")
say("Willst du wirklich "..item.get_name().." zerstören?")
say("")
say("")
say("")
say("")
local s = select("Ja","Nein")
if s == 1 then
local count1 = 1
if pc.getqf("count_notice") == 1 then
say_title("Item Zerstörer")
say("Wieviele möchtest du zerstören?")
count1 = input()
if count1 == '' then
say_title("Item Zerstörer")
say("Du hast nichts eingegeben")
return
end
end
local count_real = pc.count_item(vnum)
count1 = tonumber(count1)
if count1 >= count_real then
count1 = count_real
end
mysql_query("INSERT INTO player.item_destroyed (pid, vnum, count, time) VALUES ('"..pc.getqf("pid").."', '"..vnum.."', '"..count1.."', NOW())")
item.remove(vnum, count1)
chat("Du hast "..item.get_name().." erfolgreich zerstört!")
elseif s == 2 then
return
end
else
local count1 = 1
if pc.getqf("count_notice") == 1 then
say_title("Item Zerstörer")
say("Wieviele möchtest du zerstören?")
count1 = input()
if count1 == '' then
say_title("Item Zerstörer")
say("Du hast nichts eingegeben")
return
end
end
local count_real = pc.count_item(vnum)
count1 = tonumber(count1)
if count1 >= count_real then
count1 = count_real
end
mysql_query("INSERT INTO player.item_destroyed (pid, vnum, count, time) VALUES ('"..pc.getqf("pid").."', '"..vnum.."', '"..count1.."', NOW())")
item.remove(vnum, count1)
end
end
-------------------------Item zerstoeren (Ende)----------------------------
--/////////////////////////////////////////////////////////////////////////--
-------------------------Hinweis/Anzahl Umstellen (Anfang)-------------------
when 20015.chat."Itemzerstörer" begin
say_title("Item Zerstörer")
say("Bei mir kannst du deine Items")
say("zerstören, ziehe das zu zerstörende")
say("Item einfach auf mich")
say("")
say("Optionen:")
local s = select ("Hinweis umstellen", "Anzahl umstellen", "Nichts")
if s == 1 then
if pc.getqf("destroy_notice") == 1 then
say_title("Item Zerstörer")
say("Möchtest du den Hinweis ausblenden?")
YesNo = select ("Ja", "Nein")
if YesNo == 1 then
pc.setqf("destroy_notice", 0)
say_title("Item Zerstörer")
say("WARNUNG:")
say("Es wird nichtmehr nachgefragt, ob das Item")
say("zerstört werden soll. Verluste werden nicht")
say("erstattet!")
elseif YesNo == 2 then
return
end
else
say_title("Item Zerstörer")
say("Möchtest du den Hinweis einblenden?")
YesNo = select ("Ja", "Nein")
if YesNo == 1 then
pc.setqf("destroy_notice", 1)
say_title("Item Zerstörer")
say("HINWEIS:")
say("Ab jetzt wird wieder nachgefragt, ob das")
say("Item zerstört werden soll. Du bist nun wieder")
say("auf der sicheren Seite.")
elseif YesNo == 2 then
return
end
end
elseif s == 2 then
if pc.getqf("count_notice") == 1 then
say_title("Item Zerstörer")
say("Möchtest du die Anzahlabfrage ausblenden?")
YesNo = select ("Ja", "Nein")
if YesNo == 1 then
pc.setqf("count_notice", 0)
say_title("Item Zerstörer")
say("WARNUNG:")
say("Es wird nichtmehr nachgefragt, wie viele Items")
say("zerstört werden soll. Verluste werden nicht")
say("erstattet!")
elseif YesNo == 2 then
return
end
else
say_title("Item Zerstörer")
say("Möchtest du die Anzahlabfrage einblenden?")
YesNo = select ("Ja", "Nein")
if YesNo == 1 then
pc.setqf("count_notice", 1)
say_title("Item Zerstörer")
say("HINWEIS:")
say("Ab jetzt wird wieder nachgefragt, wie viele")
say("Items zerstört werden soll. Du bist nun wieder")
say("auf der sicheren Seite.")
elseif YesNo == 2 then
return
end
end
else
return
end
end
-------------------------Hinweis/Anzahl Umstellen (Ende)----------------------------
end
end
|
Problem besteht weiterhin
|
|
|
05/12/2014, 05:56
|
#10196
|
elite*gold: 0
Join Date: Oct 2013
Posts: 3
Received Thanks: 1
|
NPC zum abhohlen einfügen
Ich möchte dort gerne einen NPC zwischen haben wo mann sich dann die rüstung nur für seine rasse abhohlen kann. also ninja nur ninja,
sura nur sura etc.
-- quest zombiekill begin
state start begin
when kill with pc.get_map_index() >= 1500000 and pc.get_map_index() < 1510000 begin
pc.setqf("kills",pc.getqf("kills")+1)
if pc.getqf("kills") > 8000 then
say("Wie der Zufall es so will, hast Du bei einem")
say("Zombie ein Gewand gefunden. Es hat keine")
say("besonderen Eigenschaften, alleine des Aussehens")
say("wegen nimmst Du es an Dich.")
say("")
say("Diese Rüstung kannst Du nur einmal erhalten!")
say("")
local reward={11310, 11560, 11760, 12060}
pc.give_item2(reward[pc.get_race()+1])
setstate(ende)
end
end
end
state ende begin
end
end
Hoffe auf schnelle hilfe und danke schonmal im vorraus
|
|
|
05/12/2014, 15:15
|
#10197
|
elite*gold: 15
Join Date: Nov 2009
Posts: 302
Received Thanks: 31
|
ups
|
|
|
05/12/2014, 20:55
|
#10198
|
elite*gold: 14
Join Date: May 2013
Posts: 4,288
Received Thanks: 1,477
|
Code:
quest deviltower_zone begin
state start begin
when login begin
if pc.get_map_index() == 66 then
if pc.get_x() < 2048+88 or pc.get_y() < 6656+577 or pc.get_x() > 2048+236 or pc.get_y() > 6656+737 then
pc.warp((5376+532)*100, (512+596+4)*100, 65)
end
pc.set_warp_location(65, 5376+532, 512+596+4)
elseif pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then
pc.set_warp_location(65, 5376+532, 512+596+4)
end
end
when deviltower_man.chat.locale.deviltower_man_chat begin
say_title("Wächter des Dämonturmes")
if pc . get_level ( ) < 1 then
say("Du hast noch nicht genügend Erfahrung gesammelt.")
say("Komme wieder, wenn du Level 1 bist!")
return
end
say("Möchtest du den Dämonenturm betreten?")
local s = select ("Betreten", "Abbrechen")
if s == 1 then
pc.warp (216500, 727000)
end
end
when devil_stone1.kill begin
timer("devil_stone1_1", 6)
end
when devil_stone1_1.timer begin
local mapto7= pc.count_item(30302) -- Die Karte der Zin Grotte wurde aus deinem Inventar entfernt
pc.remove_item(30302,mapto7)
local boxto7= pc.count_item(30300) -- Die Unbekannte Alte Kiste wurde aus deinem Inventar entfernt
pc.remove_item(30300,boxto7)
d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2])
d.regen_file("data/dungeon/deviltower2_regen.txt")
d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/deviltower3_regen.txt")
end
--when devil_stone2.kill begin
--d.jump_all_local(special.devil_tower[2][1], special.devil_tower[2][2])
--end
when devil_stone3.kill begin
--d.jump_all_local(special.devil_tower[3][1], special.devil_tower[3][2])
--d.set_exit_all_at_eliminate(6)
--d.set_warp_at_eliminate(6, d.get_map_index(), 100, 100)
--d.set_warp_at_eliminate(4, 65, 5376+532, 512+596+4)
d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/deviltower4_regen.txt")
d.check_eliminated()
--d.exit_all()
end
function get_4floor_stone_pos()
local positions = {
{368, 629},
{419, 630},
{428, 653},
{422, 679},
{395, 689},
{369, 679},
{361, 658},
}
for i = 1, 6 do
local j = number(i, 7)
if i != j then
local t = positions[i];
positions[i] = positions[j];
positions[j] = t;
end
end
--for i = 1, 7 do
-- positions[i][1] = positions[i][1] * 100
-- positions[i][2] = positions[i][2] * 100
-- end
return positions
end
when 8016.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
d.setf("level", 4)
-- ¦A²{¤j¶q©Çª«¤Î»s³y¯u¥ÛÀY©M°²¥ÛÀY
--d.regen_file("data/dungeon/deviltower4_regen.txt")
local positions = deviltower_zone.get_4floor_stone_pos()
for i = 1, 6 do
chat(positions[i][1], positions[i][2])
d.set_unique("fake" .. i , d.spawn_mob(8007, positions[i][1], positions[i][2]))
end
chat(positions[7][1], positions[7][2])
local vid = d.spawn_mob(8007, positions[7][1], positions[7][2])
chat(vid)
d.set_unique("real", vid)
server_loop_timer('devil_stone4_update', 10, pc.get_map_index())
server_timer('devil_stone4_fail1', 5*60, pc.get_map_index())
d.notice("Findet den richtigen Metinstein und zerstört ihn.");
d.notice("Die falschen Metinsteine werden verschwinden!");
d.notice("Ihr habt 15 Minuten zeit!");
end
when devil_stone4_fail1.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Verbleibende Zeit: 10 Minuten")
server_timer('devil_stone4_fail2', 5*60, get_server_timer_arg())
end
end
when devil_stone4_fail2.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Verbleibende Zeit: 5 Minuten")
server_timer('devil_stone4_fail', 5*60, get_server_timer_arg())
end
end
when devil_stone4_fail.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Die Zeit ist abgelaufen")
d.notice("Ihr werdet nun nach draußen teleportiert")
d.exit_all()
clear_server_timer('devil_stone4_update', get_server_timer_arg())
end
end
when devil_stone4_update.server_timer begin
if d.select(get_server_timer_arg()) then
if not d.is_unique_dead("real") then
for i = 1, 6 do
if d.getf("fakedead" .. i) == 0 then
if d.unique_get_hp_perc("fake" .. i) < 50 then
d.purge_unique("fake" .. i)
d.setf("fakedead" .. i, 1)
d.notice("Der falsche Metinstein ist verschwunden..");
end
end
end
else
--d.clear_regen()
--d.regen_file("data/dungeon/deviltower5_regen.txt")
server_timer("devil_stone4_end", 5, get_server_timer_arg())
d.notice("Ihr habt den richtigen Metinstein zerstört.");
d.notice("Ihr werdet nun in die nächste Etage teleportiert")
clear_server_timer('devil_stone4_fail1', get_server_timer_arg())
clear_server_timer('devil_stone4_fail2', get_server_timer_arg())
clear_server_timer('devil_stone4_fail', get_server_timer_arg())
end
else
server_timer('devil_stone4_stop_timer', 1, get_server_timer_arg())
end
end
when devil_stone4_stop_timer.server_timer begin
clear_server_timer('devil_stone4_update', get_server_timer_arg())
end
when devil_stone4_end.server_timer begin
if d.select(get_server_timer_arg()) then
d.setf("level", 5)
d.setf("stone_count", 5)
d.notice("Du bist nun in der 5. Ebene")
d.notice("Öffne alle Alten Siegel um in die nächste Ebene zu gelangen.")
d.notice("Du hast 20 Minuten Zeit um alle Siegel zu öffnen.")
d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2])
server_timer('devil_stone5_fail1', 5*60, get_server_timer_arg())
clear_server_timer('devil_stone4_update', get_server_timer_arg())
-- bla bla
d.set_regen_file("data/dungeon/deviltower5_regen.txt")
-- bla bla 2
d.spawn_mob(20073, 421, 452)
d.spawn_mob(20073, 380, 460)
d.spawn_mob(20073, 428, 414)
d.spawn_mob(20073, 398, 392)
d.spawn_mob(20073, 359, 426)
end
end
when devil_stone5_fail1.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Verbleibende Zeit: 15 Minuten")
server_timer('devil_stone5_fail2', 5*60, get_server_timer_arg())
end
end
when devil_stone5_fail2.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Verbleibende Zeit: 10 Minuten")
server_timer('devil_stone5_fail3', 5*60, get_server_timer_arg())
end
end
when devil_stone5_fail3.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Verbleibende Zeit: 5 Minuten")
server_timer('devil_stone5_fail', 5*60, get_server_timer_arg())
end
end
when devil_stone5_fail.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Die Zeit ist abgelaufen")
d.notice("Ihr werdet nun nach draußen teleportiert")
d.exit_all()
end
end
--when devil_stone4.kill begin
--d.setf("level", 5)
--d.setf("stone_count", 4)
--d.clear_regen()
--d.regen_file("data/dungeon/deviltower5_regen.txt")
--d.jump_all_local(special.devil_tower[4][1], special.devil_tower[4][2])
--end
when 1062.kill with pc.in_dungeon() and d.getf("level") == 5 begin
local KILL_COUNT_FOR_DROP_KEY = 50
--if is_test_server() then
--KILL_COUNT_FOR_DROP_KEY = 1
--end
local n =d.getf("count") + 1
d.setf("count", n)
if n == KILL_COUNT_FOR_DROP_KEY then
-- bla bla 3
game.drop_item(50084, 1)
d.setf("count", 0)
end
end
when devil_stone5.take with item.vnum == 50084 begin
npc.purge()
item.remove()
d.setf("stone_count", d.getf("stone_count") - 1)
if d.getf("stone_count") <= 0 then
d.setf("level", 6)
d.clear_regen()
d.regen_file("data/dungeon/deviltower6_regen.txt")
d.notice("Ihr habt alle alten Siegel geöffnet. Ihr werdet nun")
d.notice("in die 6. Ebene teleportiert.")
d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2])
clear_server_timer('devil_stone5_fail1', get_server_timer_arg())
clear_server_timer('devil_stone5_fail2', get_server_timer_arg())
clear_server_timer('devil_stone5_fail3', get_server_timer_arg())
clear_server_timer('devil_stone5_fail', get_server_timer_arg())
else
d.notice("Es verbleibt eine Anzahl von "..d.getf("stone_count").." Siegeln")
end
end
when devil_stone6.kill begin
-- bla bla 4
-- bla bla 5
--d.jump_all(special.devil_tower[6][1], special.devil_tower[6][2])
d.kill_all()
-- d.set_warp_at_eliminate(3*60, 65, 5376+532, 512+596+4)
d.check_eliminated()
local reward_alchemist = {20074, 20075, 20076}
d.spawn_mob(reward_alchemist[number(1,3)], 425, 216);
d.setqf("can_refine", 1)
end
--------------------------------------
-- bla bla 6
--------------------------------------
when 20074.chat."Die höheren Etagen.." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
say(""..mob_name(20074).."")
say("Ihr möchtet in die 7.Etage?")
say("Ihr haben Glück! Heute erlaube ich es ihnen vielleicht!")
say("Aber voher muss ich euch noch prüfen..")
say("Mal sehen..")
wait()
if pc.level >=18 then
say("Ich erlaube euch weiterzugehen!")
say("Viel Glück und passt auf euch auf da oben!")
timer("devil_jump_7", 6)
return
end
say("Betreten der 7.Etage nicht erlaubt!")
say("Ihr seid nicht qualifiziert genug!")
say("Erreicht Level 18 oder höher,")
say("damit ihr eure Fertigkeiten steigern könnt")
say("und kommt dann wieder!")
wait()
pc.warp(590500, 110500)
return
end
when 20075.chat."Die höheren Etagen.." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
say(""..mob_name(20075).."")
say("Ihr möchtet in die 7.Etage?")
say("Ihr haben Glück! Heute erlaube ich es ihnen vielleicht!")
say("Aber voher muss ich euch noch prüfen..")
say("Mal sehen..")
wait()
if pc.level >=18 then
say("Ich erlaube euch weiterzugehen!")
say("Viel Glück und passt auf euch auf da oben!")
timer("devil_jump_7", 6)
return
end
say("Betreten der 7.Etage nicht erlaubt!")
say("Ihr seid nicht qualifiziert genug!")
say("Erreicht Level 18 oder höher,")
say("damit ihr eure Fertigkeiten steigern könnt")
say("und kommt dann wieder!")
wait()
pc.warp(590500, 110500)
return
end
when 20076.chat."Die höheren Etagen.." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
say(""..mob_name(20076).."")
say("Ihr möchtet in die 7.Etage?")
say("Ihr haben Glück! Heute erlaube ich es ihnen vielleicht!")
say("Aber voher muss ich euch noch prüfen..")
say("Mal sehen..")
wait()
if pc.level >=18 then
say("Ich erlaube euch weiterzugehen!")
say("Viel Glück und passt auf euch auf da oben!")
timer("devil_jump_7", 6)
return
end
say("Betreten der 7.Etage nicht erlaubt!")
say("Ihr seid nicht qualifiziert genug!")
say("Erreicht LvL 18 oder höher,")
say("damit ihr eure Fertigkeiten steigern könnt")
say("und kommt dann wieder!")
wait()
pc.warp(590500, 110500)
return
end
when devil_jump_7.timer begin
d.clear_regen()
d.spawn_mob(8007, 639, 658)
d.spawn_mob(8007, 611, 637)
d.spawn_mob(8007, 596, 674)
d.spawn_mob(8007, 629, 670)
d.setf("level", 7)
d.jump_all(2048+590, 6656+638)
end
when 8007.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
local cont = d.getf("7_stone_kill") + 1
d.setf("7_stone_kill", cont)
if cont >= 4 then
d.setf("7_stone_kill", 0)
d.set_regen_file("data/dungeon/deviltower7_regen.txt")
end
end
when 8019.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
game.drop_item(30300, 1)
end
when 30300.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
pc.remove_item("30300", 1)
local pct = number(1,10)
if pct == 1 then
-- bla bla 7
game.drop_item(30302, 1)
d.clear_regen()
else
-- bla bla 8
game.drop_item(30301, 1)
end
end
when 30302.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
-- bla bla 9
say("Die Karte wird euch alle in die nächste Ebene")
say("des Dämonenturms bringen.")
pc.remove_item("30302", 1)
timer("devil_jump_8", 6)
d.clear_regen()
end
--------------------------------------------
-- bla bla 10
--------------------------------------------
when devil_jump_8.timer begin
d.setf("level", 8)
d.jump_all(2048+590, 6656+403)
d.set_regen_file("data/dungeon/deviltower8_regen.txt")
d.spawn_mob(20366, 640, 460)
local _count= pc.count_item(30302)-- bla bla 11
pc.remove_item(30302,_count)
end
when 1040.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
local pct1 = number(1, 5)
if pct1 == 1 then
local pct2 = number(1, 10)
if pct2 == 1 then
-- bla bla 12
game.drop_item(30304, 1)
else
-- bla bla 13
game.drop_item(30303, 1)
end
else
return
end
end
when 20366.take with item.vnum == 30304 begin
-- bla bla 14
npc.purge()
item.remove()
timer("devil_jump_9", 6)
end
---------------------------------------------
-- bla bla 15
---------------------------------------------
when devil_jump_9.timer begin
d.setf("level", 9)
d.jump_all(2048+590, 6656+155)
d.regen_file("data/dungeon/deviltower9_regen.txt")
end
when 1093.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
d.kill_all()
timer("devil_end_jump", 60)
end
when devil_end_jump.timer begin
d.exit_all()
end
end
end
Man wird nicht weitergeportet nach der 2. Ebene.
|
|
|
05/13/2014, 19:34
|
#10199
|
elite*gold: 0
Join Date: Dec 2012
Posts: 9,395
Received Thanks: 2,738
|
Könnte mir die vielleicht einer Berichtigen.
PHP Code:
quest warp3 begin
state start begin
when 20087.chat."Teleportieren" begin
say_title("Special Map´s")
say("Wohin willst du dich Teleportieren?")
local empire = pc.get_empire()
local s = select("SD2", "SD3", "Grotte1", "Grotte2", "Drachenraum", "Devil's Catacomb", "Farm-Map", "Zurück")
if s == 1 then
if pc.get_level() >= 55 then
pc.warp(???, ???)
elseif s == 2 then
if pc.get_level() >= 55 then
pc.warp(???, ???)
elseif s == 3 then
if pc.get_level() >= 75 then
pc.warp(100, 12142)
elseif s == 4 then
if pc.get_level() >= 80 then
pc.warp(2417, 12749)
elseif s == 5 then
if pc.get_level() >= 90 then
pc.warp(1717, 12204)
elseif s == 6 then
if pc.get_level() >= 80 then
pc.warp(2048, 6656)
elseif s == 7 then
if pc.get_level() >= 100 then
pc.warp(000, 000)
elseif s == 8 then
pc.return
end
end
end
end
end
|
|
|
05/13/2014, 21:34
|
#10200
|
elite*gold: 0
Join Date: Sep 2012
Posts: 8
Received Thanks: 4
|
Quest startet nicht
Hallo ihr Lieben,
wir wollten auf unserem Server eine Regi-Quest einfügen.
Haben eine vorhandene Quest nur etwas verändert (NPCs / Mobs).
Quest wurde eingefügt, in die Questlist eingetragen, die NPCs sind auf One_click 2 gestellt . Bloß wenn man den Betrunkenen Bürger versucht an zu klicken, passiert rein gar nichts . Weiß jemand Rat ?
PHP Code:
quest regenbogenstein begin
state start begin
when login or levelup with pc.level >= 50 begin
set_state(info)
end
end
state info begin
when letter begin
send_letter("Finde den Betrunkenen Bürger")
local v = find_npc_by_vnum(20041)
if v != 0 then
target.vid("__TARGET__", v, "Der Regi!")
end
end
when info or button begin
say_title("Die Wildhunde")
say("Der Hauptmann sprach von gemeinen Wildhunden...")
say("Du solltest zu ihm gehen!")
end
when __TARGET__.target.click or 20355.chat."Die Wildhunde" with pc.level >= 50 begin
say_title("Hauptmann:")
say("Hallo!")
say("")
say("Die Wildhunde lauern in Map1")
say("sie haben mich meiner Frau beraubt ,")
say("und sie beim lebendigem Leib gefressen")
say("deshalb bin ich verdammt in Einsamkeit,")
say("zu Leben!!!")
say("")
say("Ich bin zu Schwach ,")
say("mich zu Rächen!!")
wait()
say_title("Hauptmann:")
say("Kannst du die Wildhunde abschlachten")
say("und für mich Vergeltung üben?")
say("")
say_reward("Möchtest du dem Hauptmann helfen?")
local s=select("Ja","Nein")
if s == 2 then
say("Oh... sehr Schade.")
say("Dann suche ich mir jemanden der kein Noob ist!")
clear_letter()
set_state(__GIVEUP__)
else
say_title("Hauptmann")
say("Vielen Vielen Dank!")
say("Ich denke wenn du 800 von ihnen tötest ist alles")
say("wieder in Ordnung.")
say_reward("Töte 800 Wildhunde!")
say("")
say_reward("800 Wildhunde")
pc.setqf("state", 800)
q.set_counter("Wildhunde", 800)
set_state(main)
end
end
end
state main begin
when letter begin
send_letter("Töte die Wildhunde!")
end
when info or button begin
say_title("Töte die Wildhunde!")
say("Der Hauptmann hat dich gebeten 800")
say("Wildhunde zu beseitigen.")
end
when 101.kill begin
local count = pc.getqf("state") - 1
if count <= 800 then
pc.setqf("state", count)
q.set_counter("Wildhunde", count)
end
if count == 0 then
say("oh der letzte Wildhund hat mir was von")
say("Mirine geröchelt!")
say("Du findest Mirine in Map1!!")
set_state(goback)
end
end
end
state goback begin
when letter begin
send_letter("Gehe zu Mirine!")
local v = find_npc_by_vnum(20006)
if v != 0 then
target.vid("__TARGET__", v, "Die Wildhunde!")
end
end
when info or button begin
say_title("Gehe zu Mirine")
say("Da der Letzte Wildhund was geröchelt hat.")
say("Nun gehe Mirine, sie findest du in Map1!")
end
when __TARGET__.target.click or 20006.chat."Die Wildhunde" with pc.level >= 50 begin
say_title("Mirine:")
say("Hallo!")
say("")
say("Oh ein Wildhund hat meinen Namen geröchelt ")
say("Hmmmmmmmm...")
say("Dann geht es sicher im des armen Hauptmanns Frau, ")
say("aber ich weis sie wurde an die Ork-Zauberer verkauft!!")
say("um an ihr versuche ihrer Zauberkunst,")
say("zu machen.")
say("")
say("Wilst du mehr wissen??.")
wait()
say_title("Mirine:")
say("Du musst Ork-Zauberer töten")
say("um Informationen zu bekommen")
say("")
say_reward("Möchtest du Ihnen helfen?")
local s=select("Ja","Nein")
if s == 2 then
say("Oh... sehr Schade.")
say("Dann suche ich mir jemanden der mutiger ist!")
clear_letter()
set_state(__GIVEUP__)
else
say_title("Mirine")
say("Vielen Vielen Dank!")
say("Ich denke wenn du 70 von ihnen tötest,")
say("wirst du Informationen erhalten.")
say_reward("Töte Ork-Zauberer!")
say("")
say_reward("Töte Ork-Zauberer im Orktal")
pc.setqf("state", 70)
q.set_counter("Ork-Zauberer", 70)
set_state(main_1)
end
end
end
state main_1 begin
when letter begin
send_letter("Töte Ork-Zauberer!")
end
when info or button begin
say_title("Töte Ork-Zauberer!")
say("Mirine hat dich gebeten einige")
say("der Ork-Zauberer im Orktal zu töten,")
say("um an Infos zu kommen!!!")
say("")
say("70 der Zauberer sollten reichen.")
say_reward("70 Ork-Zauberer aus dem Orktal,")
end
when 604.kill begin
local count = pc.getqf("state") - 1
if count <= 70 then
pc.setqf("state", count)
q.set_counter("Ork-Zauberer", count)
end
if count == 0 then
say("Du hast alle 70 Erledigt erledigt.")
say("Aber keine Information erhalten!!!")
say("Nun gehe mal zu Mirine!")
say("der Trulla!!!")
set_state(goback_1)
end
end
end
state goback_1 begin
when letter begin
send_letter("Gehe zu Mirine!")
local v = find_npc_by_vnum(20006)
if v != 0 then
target.vid("__TARGET__", v, "Die Ork-Zauberer!")
end
end
when info or button begin
say_title("Gehe zu Mirine")
say("Du hast alle 70 Ork-Zauberer erledigt,")
say("und keine Infos bekommen!!!!")
say("Nun gehe zu Mirine!")
end
when __TARGET__.target.click or 20006.chat."Die Ork-Zauberer" with pc.level >= 50 begin
say_title("Trulla:")
say("Ohaaa!")
say("")
say("Sie haben sie nicht an die Ork-Zauberer ")
say("verkauft??..")
say("Dann bin ich mir fast sicher das sie, ")
say("an die Buhmänner gegangen ist,und bestialisch!!")
say("hingerichtet wurde grrrrrrrrrrr!!!")
say("Diese Bestien.")
say("")
say("Wilst du mehr wissen??.")
wait()
say_title("Mirine:")
say("Musst du Buhmänner töten")
say("um Informationen zu bekommen")
say("")
say_reward("Möchtest du Ihnen helfen?")
local s=select("Ja","Nein")
if s == 2 then
say("Oh... sehr Schade.")
say("Dann suche ich mir jemanden der mutiger ist!")
clear_letter()
set_state(__GIVEUP__)
else
say_title("Bla-dek")
say("Vielen Vielen Dank!")
say("Ich denke wenn du 150 von ihnen tötest,")
say("wirst du Informationen erhalten.")
say_reward("Töte Buhmänner!")
say("")
say_reward("Töte Buhmänner im Tempel")
pc.setqf("state", 150)
q.set_counter("Buhmänner", 150)
set_state(main_2)
end
end
end
state main_2 begin
when letter begin
send_letter("Töte Buhmänner!")
end
when info or button begin
say_title("Töte Buhmänner!")
say("Mirine hat dich gebeten einige")
say("der Buhmänner im Tempel zu töten,")
say("um an Infos zu kommen!!!")
say("")
say("150 der Buhmänner sollten reichen.")
say_reward("150 Buhmänner aus dem Tempel,")
end
when 1303.kill begin
local count = pc.getqf("state") - 1
if count <= 150 then
pc.setqf("state", count)
q.set_counter("Buhmänner", count)
end
if count == 0 then
say("Du hast alle 150 erledigt.")
say("Und der letzte röchelte sie hat gut geschmeckt!!!")
say("Nun gehe mal zum Hauptmann!")
say("und erzähle ihm was du rausgefunden hast !!!")
set_state(goback_2)
end
end
end
state goback_2 begin
when letter begin
send_letter("Gehe zum Hauptmann!")
local v = find_npc_by_vnum(20355)
if v != 0 then
target.vid("__TARGET__", v, "Die Buhmänner!")
end
end
when info or button begin
say_title("Gehe zum Hauptmann")
say("und erzähle ihm die Neuigkeit,")
say("über seine Frau!!!!")
say("Nun gehe zum Hauptmann!")
end
when __TARGET__.target.click or 20355.chat."Die Buhmänner" with pc.level >= 50 begin
say_title("Hauptmann")
say("Ohhh du scheisse!")
say("Meine arme Frau heuuul")
say("Aber jetzt hab ich Gewissheit!")
say("Und werde den Freitot wählen!!")
say("Hier hast du alles was ich besitze!!")
say("")
say_reward("Du erhälst:")
say_reward("500.000.000 Yang")
say_reward("6.500.000 Erfahrung")
say_reward("10 Magischer Stein")
say_reward("1 Regenbogenstein")
say("")
pc.change_money(500000000)
pc.give_exp2(6500000)
pc.give_item2(39001, 1)
pc.give_item2(39001, 1)
pc.give_item2(39001, 1)
pc.give_item2(39001, 1)
pc.give_item2(39001, 1)
pc.give_item2(39001, 1)
pc.give_item2(39001, 1)
pc.give_item2(39001, 1)
pc.give_item2(39001, 1)
pc.give_item2(39001, 1)
pc.give_item2(50512, 1)
notice_all("".. pc.get_name() .." hat so eben die Such und Kill,")
notice_all("Quest abgeschlossen ein/e wahre/r Held/in, Glückwunsch!")
clear_letter()
set_state(__COMPLETE__)
end
end
state __COMPLETE__ begin
end
state __GIVEUP__ begin
end
end
|
|
|
All times are GMT +1. The time now is 03:32.
|
|