|
You last visited: Today at 00:18
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
08/03/2011, 21:40
|
#2956
|
elite*gold: 15
Join Date: Sep 2010
Posts: 844
Received Thanks: 975
|
dennoch musst du die make.sh ausführen, auch wenn du die quest nur veränderst
(so ist es zumindest bei mir  )
versuch einfach mal meine 1. version, also das wa sich zuerst gepostet habe, führ make.sh aus, ingame reload oder eben reboot und dann guckste ob es geht
denn ich kann mir nicht erklären warum es nicht geht^^
ansonsten nochmal melden dann schreib ich das etwas um in der hoffnung das es dann geht...aber wie du ja merkst bin ich auch noch ein anfänger^^ aber make.sh ausführen sollte man eigentlich schon ,)
|
|
|
08/03/2011, 23:44
|
#2957
|
elite*gold: 0
Join Date: Sep 2009
Posts: 154
Received Thanks: 8
|
Quote:
Originally Posted by Sp0ngeb0b ist cool
dennoch musst du die make.sh ausführen, auch wenn du die quest nur veränderst
(so ist es zumindest bei mir  )
versuch einfach mal meine 1. version, also das wa sich zuerst gepostet habe, führ make.sh aus, ingame reload oder eben reboot und dann guckste ob es geht
denn ich kann mir nicht erklären warum es nicht geht^^
ansonsten nochmal melden dann schreib ich das etwas um in der hoffnung das es dann geht...aber wie du ja merkst bin ich auch noch ein anfänger^^ aber make.sh ausführen sollte man eigentlich schon ,)
|
Make.sh führe ich nach jeder Änderung in meinen Quests aus.
Die Quests funktioniert leider immernoch nicht.
|
|
|
08/04/2011, 00:08
|
#2958
|
elite*gold: 0
Join Date: Mar 2011
Posts: 419
Received Thanks: 152
|
Ich nochmal .. und werde hier wohl die Zeit öfter reinschauen.  Geht um folgendes:
Ich möchte ein Item haben das mich zu einer bestimmten Map zurück portet. Außerdem soll man über das Item das Lager überall öffnen, aber NUR auf der "bestimmten" Map .. Ich habe echt absolut keine Ahnung wie ich das machen soll das er nur auf der Map das lager öffnet, deswegen habe ich einfach mal was versucht .. Würde das funktionieren?
PHP Code:
quest handelsmap begin
state start begin
when itemid.use begin
say("Was möchtest du tun?")
local s = select("Handelsmap", "Lager Öffnen")
if s == 1 then
say("Du wirst nun teleportiert.")
pc.warp(Koordinaten, Koordinaten)
elseif s == 2 then
when itemid.chat."Lager Öffnen" with pc.get_map_index(1) begin
game.open_safebox()
set_skin(NOWINDOW)
end
return
end
end
end
|
|
|
08/04/2011, 00:42
|
#2959
|
elite*gold: 0
Join Date: Oct 2010
Posts: 385
Received Thanks: 175
|
PHP Code:
quest handelsmap begin state start begin when itemid.use with pc.get_map_index()==1 begin say("Was möchtest du tun?") local s = select("Handelsmap", "Lager Öffnen") if s == 1 then say("Du wirst nun teleportiert.") pc.warp(Koordinaten, Koordinaten) elseif s == 2 then when itemid.chat."Lager Öffnen" with pc.get_map_index()==1 begin game.open_safebox() set_skin(NOWINDOW) return end end end end
Sollte funktionieren
|
|
|
08/04/2011, 02:16
|
#2960
|
elite*gold: 0
Join Date: Mar 2011
Posts: 419
Received Thanks: 152
|
Funktioniert leider nicht, Quest nochmal etwas bearbeitet und das Lager soll man nun doch überall öffnen können, war ein verständnisfehler.
PHP Code:
quest handelsmap begin state start begin when 30312.use begin say("Herzlich Willkommen auf Servername") say("Wir wünschen euch viel Spaß beim spielen.") say("") say("Was möchtest du tun?") local s = select("Handelsmap", "Lager Öffnen", "Teaminformationen") if s == 1 then say("Du wirst nun teleportiert.") pc.warp(457500,939300) elseif s == 2 then when 30312.chat."Lager Öffnen" begin game.open_safebox() set_skin(NOWINDOW) elseif s == 3 then when 30312.chat."Teaminformationen" begin say("Hier siehst du aktuell die Servername") say("Teamler. Die Teamler sind an den") say("eckigen Klammern vor dem Namen zu erkennen.") say("") say("Developer:") say_reward("DEV") say("Servertechniker:") say_reward("ST") say("GameAdmin:") say_reward("GA") say("GameMaster:") say_reward("SGM") end return end end end end end
|
|
|
08/04/2011, 13:53
|
#2961
|
elite*gold: 156
Join Date: Dec 2009
Posts: 1,469
Received Thanks: 464
|
Ich hab jetzt eher eine Frage, keine Quest zur Kontrolle.
PHP Code:
when 11509.kill begin local count = pc.setqf("state") - 1 if count <= 1 then pc.setqf("state", count) q.set_counter("Das Schreiben", count) end if count == 0 then
was bedeutet
local count = pc.setqf("state") - 1
if count <= 1 then
pc.setqf("state", count)
q.set_counter("Das Schreiben", count)
im genauen?
if count <= 1 then ist klar nur der rest leuchtet nicht ein.
|
|
|
08/04/2011, 16:44
|
#2962
|
elite*gold: 0
Join Date: Nov 2010
Posts: 544
Received Thanks: 190
|
Bitte einmal kontrollieren habe Error -.-
PHP Code:
quest training_grandmaster_skill begin
state start begin
when 50513.use begin
say_title("Großmeister")
local seelicount = pc.count_item(50513)
if pc.get_skill_group() == 0 then
say("Du hast keine Fertigkeiten "..pc.get_skill_group())
return
end
if get_time() < pc.getqf("next_time") then -- and not is_test_server() then
if pc.is_skill_book_no_delay() then
say("Du hast eine Exorzismus Schriftrolle gelesen.")
say("Nun kannst du einen weiteren Seelenstein lesen.")
say("")
wait()
say_title("Großmeister")
else
say("Du hast heute bereits einen Seelenstein gelesen!")
return
end
end
local result = training_grandmaster_skill.BuildGrandMasterSkillList(pc.get_job(), pc.get_skill_group())
local vnum_list = result[1]
local name_list = result[2]
if table.getn(vnum_list) == 0 then
say("Du hast keine Fertigkeiten auf Großmeister.")
return
end
say("Fertigkeit Auswählen")
say("")
local menu_list = {}
table.foreach(name_list, function(i, name) table.insert(menu_list, name) end)
table.insert(menu_list, "Abbrechen")
local s=select_table(menu_list)
if table.getn(menu_list) == s then
return
end
local skill_name=name_list[s]
local skill_vnum=vnum_list[s]
local skill_level = pc.get_skill_level(skill_vnum)
local cur_alignment = pc.get_real_alignment()
local need_alignment = 1000+500*(skill_level-30)
test_chat("Momentaner Rang: "..cur_alignment)
test_chat("Benötigter Rang: "..need_alignment)
local title=string.format("%s auf Großmeister %d lesen", skill_name, skill_level-30+1)
if pc.count_item(50513) != seelicount then
say("Buguser!")
return
end
item.remove()
say_title(title)
say("Das lesen eines Seelenstein kostet dich Rangpunkte.")
say("")
if cur_alignment<-19000+need_alignment then
say_reward("Du hast zu wenig Rang!")
return
end
if cur_alignment<0 then
say_reward(string.format("Benötigter Rang: %d -> %d", need_alignment, need_alignment*2))
say_reward("Bei einem Erfolg vom Seelenstein wird dir das doppelte an Rangpunkten abgezogen!")
say_reward("")
need_alignment=need_alignment*2
elseif cur_alignment<need_alignment then
say_reward(string.format("Benötigter Rang: %d", need_alignment))
say_reward("Bei einem Erfolg vom Seelenstein wird dir das doppelte an Rangpunkten abgezogen!")
say_reward("")
else
say_reward(string.format("Benötigter Rang: %d", need_alignment))
end
say("")
local s=select("Lesen", "Abbrechen")
if s==2 then
return
end
if cur_alignment>=0 and cur_alignment<need_alignment then
say_title(string.format("%s -Bestätigen", title))
say("Das Lesen eines Seelensteines kostet dich Rangpunkte,")
say("wenn du diesen Seelenstein liest kommst du in den minus Bereich.")
say("")
say("Bitte Bestätige das du diesen Seelenstein")
say("wirklich lesen möchtest!")
say("")
say_reward("Gebe folgenden Text ein:")
say("")
say("Bitte gebe 'AvalonW2' ein!")
local s=input()
if s!="AvalonW2" then
return
end
end
if get_time() < pc.getqf("next_time") then -- and not is_test_server() then
if pc.is_skill_book_no_delay() then
pc.remove_skill_book_no_delay()
else
say("Seelensteintest")
return
end
end
pc.setqf("next_time", get_time()+time_hour_to_sec(number(8, 12)))
if need_alignment>0 then
if pc.learn_grand_master_skill(skill_vnum) then
pc.change_alignment(-need_alignment)
say_title(string.format("%s -Erfolg!", title))
if 40 == pc.get_skill_level(skill_vnum) then
say(string.format("%s Seelitest2.", skill_name))
else
say(string.format("Der Seelenstein ist magisch, Glückwunsch!", skill_name, skill_level-30+1+1))
end
say("")
say_reward("Erfolgreich!")
say_reward(string.format("Kosten an Rang: %d ", need_alignment))
say("")
else
say_title(string.format("%s -Fehlgeschlagen", title))
say("Dein Seelenstein ist nicht magisch! Versuch es nocheinmal!")
say("")
say_reward("Fehlgeschlagen!")
say("")
pc.change_alignment(-number(need_alignment/3, need_alignment/2))
end
end
end
function BuildGrandMasterSkillList(job, group)
GRAND_MASTER_SKILL_LEVEL = 30
PERFECT_MASTER_SKILL_LEVEL = 40
local skill_list = special.active_skill_list[job+1][group]
local ret_vnum_list = {}
local ret_name_list = {}
-- test_chat(string.format("job=%d, group=%d", job, group))
table.foreach(skill_list,
function(i, skill_vnum)
local skill_level = pc.get_skill_level(skill_vnum)
-- test_chat(string.format("[%d]=%d", skill_vnum, skill_level))
if skill_level >= GRAND_MASTER_SKILL_LEVEL and skill_level < PERFECT_MASTER_SKILL_LEVEL then
table.insert(ret_vnum_list, skill_vnum)
local name=locale.GM_SKILL_NAME_DICT[skill_vnum]
if name == nil then name=skill_vnum end
table.insert(ret_name_list, name)
end
end)
return {ret_vnum_list, ret_name_list}
--return {ret_vnum_list, ret_name_list}
end
end
end
end
|
|
|
08/04/2011, 17:09
|
#2963
|
elite*gold: 0
Join Date: Nov 2010
Posts: 219
Received Thanks: 92
|
PHP Code:
quest monarch begin
state start begin
when electionman1.chat."Event Starten / Beenden" or electionman2.chat."Event Starten / Beenden" or electionman3.chat."Event Starten / Beenden" with pc.is_gm() begin
if game.get_event_flag("monarch") == 1 then
say("Hier kann man das Monarchie Event beenden")
say_reward("Beenden?")
local s = select("Beenden","Weitermachen")
if s == 1 then
say("Das Monarchie Event wurde Beendet!")
game.set_event_flag("monarch", 0)
else
return
end
else
say("Hier können Sie das Event Starten.")
say("Wollen Sie dies?")
local s = select("Starten", "Schließen")
if s == 1 then
game.set_event_flag("monarch", 1)
say("Das Monarch Event wurde gestartet")
notice_all("Die Monarchie wurde gestartet")
notice_all("Man kann sich bei den Reich Angehörigen zur Wahl aufstellen lassen!")
else
return
end
end
end
when electionman1.chat."Abstimmung Starten" or electionman2.chat."Abstimmung Starten" or electionman3.chat."Abstimmung Starten" with pc.is_gm() begin
if game.get_event_flag("monarch") == 0 then
say("Die Monarchie ist nicht gestartet!")
return
end
if game.get_event_flag("monarch_elect") == 1 then
say("Hier kann man die Dauer der Wahlen bestimmen.")
say("Bis zum Ende abstimmen?")
local s = select("Beenden","Weiter machen")
if s == 1 then
game.set_event_flag("monarch_elect", 0)
say("Die Wahl wurde beendet!")
end
else
say("Hier kann man einstellen, wann der Monarch gewählt wird.")
say("Monarchieabstimmung erzwingen?")
local s = select("Starten", "Nicht starten")
if s == 1 then
game.set_event_flag("monarch_elect", 1)
say("Die Wahl der Kandidaten beginnt!")
notice_all("Die Wahl der Kandidaten im Monarchie Event hat begonnen!")
end
end
end
when electionman1.chat."Abstimmen" or electionman2.chat."Abstimmen" or electionman3.chat."Abstimmen" begin
if game.get_event_flag("monarch") == 0 then
say("Die Monarchie ist nicht gestartet!")
return
end
if game.get_event_flag("monarch_elect") == 0 then
say("Die Abstimmung hat noch nicht begonnen!")
say("Komme später wieder!")
return
end
local g = oh.candidacy_list()
local gname_table = {}
table.foreachi(g,
function(n, p)
gname_table[n] = n.."."..oh.candidacy_name(n-1)
end)
if table.getn(g) == 0 then
say("Es hat sich noch kein Kandidat eingetragen")
say("Komme später wieder!")
else
gname_table[table.getn(g)+1] = locale.cancel
say("Hier kannst du nun abstimmen!")
say("Die Abstimmung verläuft annonym!")
say("Bitte wähle mit Bedacht!")
say("Der Gewinner des Event wird das Land")
say("für eine gewisse Zeit regieren!")
wait()
local s = select_table(gname_table)
if s == table.getn(gname_table) then
return
else
ret = oh.election(s - 1)
say("Deine Stimme für "..oh.candidacy_name(s-1).." wurde")
say("so eben eingetragen.Vielen Dank für's wählen.")
end
end
end
when electionman1.chat."Kandidieren" or electionman2.chat."Kandidieren" or electionman3.chat."Kandidieren" begin
if game.get_event_flag("monarch") == 0 then
say("Um an der Wahl teilzunehmen, musst du folgende Bedingungen erfüllen:")
say("")
say_reward(" 1. 50 Millionen Yang")
say_reward(" 2. Gildenleader")
say_reward(" 3. Mindestens Level 50")
say("")
say("Aber die Zeit ist noch nicht reif...")
say("Komme später wieder!")
return
end
say("Sie wollen also teilnehmen" )
say("Um an der Wahl teilzunehmen, musst du folgende Bedingungen erfüllen:")
say("")
say_reward(" 1. Mindestens 100 Millionen Yang")
say_reward(" 2. Gildenleader")
say_reward(" 3. Mindestens Level 50")
say("")
say("Wollen Sie sich kandidieren lassen?")
local s = select("Kandidieren.","Abbrechen")
if s == 1 then
if oh.candidacycount() >= 8 then
say("Es tut mir leid, aber es sind zu viele Kandidaten.")
say("Du solltest schneller sein...")
say("Viel Glück beim nächsten Mal!")
return
end
if pc.get_gold() < 50000000 then
say("Du benötigst 50 Millionen Yang")
say("Komm wieder wenn du genug Yang hast!")
say("")
local fehlende_yang = pc.get_gold() - 50000000
say_reward("Fehlende Yang: "..fehlende_yang)
elseif pc.get_level() < 50 then
say("Du musst Level 50 sein um teilzunehmen!")
say("Komm wieder wenn du Level 50 bist!")
elseif oh.isguildmaster() == 0 then
say("Du musst Gildenmaster sein um zu Kandidieren!")
say("Erstelle bitte erst eine Gilde!")
else
pc.change_gold(-50000000)
oh.candidacy()
say("Du hast dich erfolgreich zur Wahl aufgestellt!")
notice_all(pc.get_name().." hat sich zu Wahl als Reichkönig aufgestellt!")
end
else
say("Das würde eine große Chance für dich sein")
say("Komm später wieder")
return
end
end
end
end
wo ist der fehler?
|
|
|
08/04/2011, 18:36
|
#2964
|
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
|
Quote:
Originally Posted by .Nguyen
Ich hab jetzt eher eine Frage, keine Quest zur Kontrolle.
PHP Code:
when 11509.kill begin local count = pc.setqf("state") - 1 if count <= 1 then pc.setqf("state", count) q.set_counter("Das Schreiben", count) end if count == 0 then
was bedeutet
local count = pc.setqf("state") - 1
if count <= 1 then
pc.setqf("state", count)
q.set_counter("Das Schreiben", count)
im genauen?
if count <= 1 then ist klar nur der rest leuchtet nicht ein.
|
Du bei local count = pc.setqf("state") - 1 verringerst du den wert der questfile state um 1 und speicherst den Wert in der localen count
Wenn count größer oder gleich 1 ist wird der questfile state der wert count zugewiesen und q.set_counter ist einfach nur die Anzeige im Questfenster( shortcut N)
@ Metz & Halloween:
Ich bitte um GENAUE Fehlermeldungen.
am besten einen Screenshot nach ausführen der make.py
|
|
|
08/04/2011, 19:40
|
#2965
|
elite*gold: 15
Join Date: Sep 2010
Posts: 844
Received Thanks: 975
|
Delta kannste dir das mal anschauen?
Quote:
Originally Posted by Brodan
Servus,
habe eben versucht meine Gmlogin.quest zu erweitern,
nur wird nun wenn ich mich als GM einlogge nichts mehr angezeit..
PHP Code:
quest gmlogin begin
state start begin
when login with pc.is_gm() begin
notice_all("".. pc.get_name() .." ist nun online!")
notice_all("".. pc.get_name() .." steht nun für Fragen und Probleme zur Verfügung!")
end
when nachricht.timer begin
notice_all("Bitte votet einmal täglich für unseren Server!")
timer("nachricht1", 60*20)
end
when nachricht1.timer begin
notice_all("Ein Teammitglied frägt nie nach euren Accountdaten!")
notice_all("Achtet auf die eckigen Klammern vor dem Namen!")
timer("nachricht", 60*20)
end
end
end
#Edit: Die Anzeige, dass ein Teamler eingeloggt hat, kommt nun.
Allerdings sendet die Quest die anderen beiden Nachrichten nicht, sprich der Counter funktioniert anscheinend nicht.
Danke schonmal
|
Dann hab ich sie so umgeschrieben:
PHP Code:
quest gmlogin begin
state start begin
when login with pc.is_gm() begin
notice_all("".. pc.get_name() .." ist nun online!")
notice_all("".. pc.get_name() .." steht nun für Fragen und Probleme zur Verfügung!")
timer("nachricht", 60*20)
end
when nachricht.timer begin
notice_all("Bitte votet einmal täglich für unseren Server!")
timer("nachricht1", 60*20)
end
when nachricht1.timer begin
notice_all("Ein Teammitglied frägt nie nach euren Accountdaten!")
notice_all("Achtet auf die eckigen Klammern vor dem Namen!")
timer("nachricht", 60*20)
end
end
end
Diese Quest funktioniert auch nicht. (Ich habs nicht getestet aber der Erfinder hat es ausprobiert und angeblich geht sie nicht)
Kannst du mir sagen, woran es liegt, dass sie nicht funktioniert?
Ps: ab seite 296 unten findest du diesen Nachrichtenverlauf
mfg sp0nge
|
|
|
08/04/2011, 20:49
|
#2966
|
elite*gold: 0
Join Date: May 2011
Posts: 234
Received Thanks: 28
|
Nachdem ich die >Files von Daroo genommen habe funktioniert diese Quest nicht mehr.
Quote:
quest shop5 begin
state start begin
when 20359.chat."Itemshop" begin
say_title("Helferin:")
say("")
say("Möchtest du den Itemshop öffnen?")
local s = select("Ja", "Nein")
if s == 1 then
npc.open_shop(91)
setskin(NOWINDOW)
else
return
end
end
when 20359.chat."Sonstiges" begin
say_title("Helferin:")
say("")
say("Möchtest du Sonstiges öffnen?")
local s = select("Ja", "Nein")
if s == 1 then
npc.open_shop(20359)
setskin(NOWINDOW)
else
return
end
end
end
end
|
Hoffentlich weis jemand die Lösung die Quest heißt "shop4.quest"
|
|
|
08/04/2011, 21:18
|
#2967
|
elite*gold: 15
Join Date: Sep 2010
Posts: 844
Received Thanks: 975
|
PHP Code:
quest shop4 begin state start begin when 20359.chat."Itemshop" begin say_title("Helferin:") say("") say("Möchtest du den Itemshop öffnen?") local s = select("Ja", "Nein") if s == 1 then npc.open_shop(91) setskin(NOWINDOW) else return end end when 20359.chat."Sonstiges" begin say_title("Helferin:") say("") say("Möchtest du Sonstiges öffnen?") local s = select("Ja", "Nein") if s == 1 then npc.open_shop(20359) setskin(NOWINDOW) else return end end end end
Hmm...so villeicht?
|
|
|
08/05/2011, 05:19
|
#2968
|
elite*gold: 0
Join Date: Mar 2011
Posts: 419
Received Thanks: 152
|
PHP Code:
quest lagerverwalter105 begin state start begin when login or levelup with pc.level >= 105 begin set_state(information) end end state information begin when letter begin send_letter("Auslöser des Konflikts") end when info or button begin say_title("Auslöser des Konflikts") say("") say("Hallo Fremder") say("ich bin auf der Suche nach") say("einem alten Schreiben.") say("Das Schreiben enthält Informationen") say("die ich brauche. Es handelt") say("sich um den Krieg zwischen 3 Provinzen.") say("Ich bin mir nicht sicher, aber") say("such doch mal im Tal von Ascaria") say("nach diesem Schreiben.") say("Ich denke der Kaiser des blauen Reiches") say("hat in diesem Schreiben die Kriegserklärung") say("hineingeschrieben.") say("Das Schreiben muss in den Flammen versteckt sein.") say("") say_reward("Töte das Feuer der Macht!") pc.setqf("state", 1") set_state(kill) end end state kill begin when 11509.kill begin local count = pc.getqf("state") if count <= 1 then pc.setqf("state", count -1) q.set_counter("state", count) end if count == 0 then say_title("Du hast das Schreiben gefunden!") say("Bringe das Schreiben zum Lagerverwalter.") end end end when 9005.chat."Das Schreiben" begin say("Du hast das Schreiben gefunden.") say("Ich danke dir für deine Hilfe!") say("Natürlich sollst du nicht mit leeren") say("Händen gehen. Hier, nimm das!") say("") say_reward("Du erhälst:") say_reward("2 Segenskugel") say_reward("100kk Erfahrungspunkte") pc.give_item2("50023", 2) pc.give_exp2(1000000000) end end
Fehlermeldung:
Error occured on compile lagerverwalter105.quest
|
|
|
08/05/2011, 10:15
|
#2969
|
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
|
Hab sie n bissl umgeschrieben, brauchst ja nur einen kill
PHP Code:
quest lagerverwalter105 begin state start begin when login or levelup with pc.level >= 105 begin set_state(information) end end state information begin when letter begin send_letter("Auslöser des Konflikts") end when info or button begin say_title("Auslöser des Konflikts") say("") say("Hallo Fremder") say("ich bin auf der Suche nach") say("einem alten Schreiben.") say("Das Schreiben enthält Informationen") say("die ich brauche. Es handelt") say("sich um den Krieg zwischen 3 Provinzen.") say("Ich bin mir nicht sicher, aber") say("such doch mal im Tal von Ascaria") say("nach diesem Schreiben.") say("Ich denke der Kaiser des blauen Reiches") say("hat in diesem Schreiben die Kriegserklärung") say("hineingeschrieben.") say("Das Schreiben muss in den Flammen versteckt sein.") say("") say_reward("Töte das Feuer der Macht!") end when 11509.kill begin say_title("Du hast das Schreiben gefunden!") say("Bringe das Schreiben zum Lagerverwalter.") set_state(belohnung) end end state belohnung begin when letter begin send_letter("Du hast das Schreiben gefunden.") end when button or info begin say("Gehe zum Lagerverwalter.") end when 9005.chat."Das Schreiben" begin say("Du hast das Schreiben gefunden.") say("Ich danke dir für deine Hilfe!") say("Natürlich sollst du nicht mit leeren") say("Händen gehen. Hier, nimm das!") say("") say_reward("Du erhälst:") say_reward("2 Segenskugel") say_reward("100kk Erfahrungspunkte") pc.give_item2("50023", 2) pc.give_exp2(1000000000) set_state(__complete) end end state __complete begin end end
@lolkake2
ectl die shop id's nicht an daroo seine files angepasst`?
bzw existieren die shop ids in deinen jezigen files noch?
|
|
|
08/05/2011, 11:23
|
#2970
|
elite*gold: 0
Join Date: Jul 2010
Posts: 44
Received Thanks: 2
|
Code:
quest devildown begin
state start begin
when login begin
if pc.get_map_index() == 461 then
if pc . get_level ( ) < 100 then
d.exit_all_to_start_position()
elseif pc . get_level ( ) > 100 then
pc.set_warp_location(461, 4747, 4848)
send_letter("Helfe dem Surageist")
end
end
end
when button or info begin
say_title("Surageist:")
say("")
say("Ich grüße dich Krieger der lebenden.")
say("Seid jahrhunderten bewache ich diese Pforte,")
say("welche die Welt der lebenden und diesen Ort")
say("voneinander trennt.")
say("Einst,als die 3 Reiche noch eins waren,diente ich")
say("unserem Herrscher als Schatzmeister.")
say("Doch auch meine Seele möchte nun endlich")
say("in Frieden in das Reich der toten ziehen.")
say("Darum bitte ich dich, mach dich bereit für dieses")
say("große Abenteuer,bei Erfolg warten Ruhm und Ehre")
say("sowie ein rießiger Schatz auf dich.")
wait()
say_title("Surageist:")
say("")
say("Ich kann mich noch darann errinern das")
say("2 Schatzkarten angefertigt wurden.")
say("Jedoch bringt dich nur eine, einen Schritt")
say("näher zu Ruhm und Ehre.Die andere ist zu")
say("sehr beschädigt um etwas darauf zu erkennen.")
say("Eingeschlossen in mächtigen Metinsteinen")
say("warten diese Karten nun darauf seid jahrhunderten")
say("wieder das Licht der Welt zu erblicken.")
say("Geh nun und führe dein Reich zu Ehre und Ruhm!")
end
when 30122.chat."Das dunkle Geheimnis des Drachen" begin
if pc . get_level ( ) < 100 then
say ("Du hast noch nicht genuegend Erfahrung gesammelt. Komme wieder, wenn du Level 100 bist!")
else
say_title("Kriegergeist")
say("")
say("Als die 3 Reiche noch eins waren,")
say("war ich Diener der kaiserlichen Armee.")
say("Der Herrscher über das große Reich")
say("lagerte einen großen Schatz an einem")
say("geheimen Ort.")
say("")
say("Diesen Ort lies er von einem mächtigen")
say("Wesen bewachen.")
say("Früher schwur ich meinem Herrscher ewiges")
say("schweigen über den Ort des geheimen Schatzes.")
say("Doch die harbgier meines Herrschers führte dazu")
say("das unser mächtiges Reich sich in 3 Teile trennte.")
say("")
wait()
say_title("Kriegergeist")
say("")
say("Damit meine Seele ihren Frieden finden kann")
say("möchte ich den Schatz in guten Händen wissen.")
say("Wenn du dich dieser Aufgabe gewachsen fühlst,")
say("werde ich dich an diesen Ort führen.")
say("")
say_reward("Soll ich dich zum diesem geheimen")
say_reward("Ort Teleportieren?")
local s = select("Teleportieren", "Hier bleiben")
if s == 1 then
pc.warp(474700, 484800)
else
return
end
end
end
when 8027.kill with pc.get_map_index()==461 begin
local jump1 = number(1,5)
if jump1==1 then
chat("Du hast eine Teil einer Karte gedropt, bring sie dem Surageist.")
game.drop_item("30120", 1)
end
if jump1==2 then
chat("Du hast eine Teil einer Karte gedropt, bring sie dem Surageist.")
game.drop_item("30121", 1)
else
chat("Das Chi dieses Metins hat die Karte völlig zerstört.")
end
end
when 30121.chat."Teil einer Karte" begin
if pc.count_item(30120)>=1 then
clear_letter()
say_title("Surageist:")
say("")
say("Einen Moment...")
say("Ja, ich lese die schriften...")
pc.removeitem("30120", 1)
wait()
say_title("Surageist:")
say("")
say("Ja sie ist es!")
say("Ich bringe euch zur nächsten Ebene.")
say("Aber passt auf euch auf, dort wimmelt")
say("es nur vor Monster, Wächtern und Zombie Kreaturen")
say("Und seit stark genug gegen den Legendären Drachen")
say("Ich wars nicht...")
say("")
timer("devildown_npc_komm", 120)
timer("devildown_pennen", 3960)
wait()
d.new_jump_all(461, 121, 170)
d.setf("devillevel", 1)
end
if pc.count_item(30121)>=1 then
say_title("Surageist:")
say("")
say("Einen Moment...")
say("Ja, ich lese die schriften...")
wait()
say_title("Surageist:")
say("")
say("Tut mir leid, das ist die Falsche Karte")
say("Auf dieser karte kann ich nichts mehr lesen..")
say("Bringe mir eine andere!")
else
say_title("Surageist:")
say("")
say("Ich kann mich noch darann errinern das")
say("2 Schatzkarten angefertigt wurden.")
say("Jedoch bringt dich nur eine, einen Schritt")
say("näher zu Ruhm und Ehre.Die andere ist zu")
say("sehr beschädigt um etwas darauf zu erkennen.")
say("Eingeschlossen in mächtigen Metinsteinen")
say("warten diese Karten nun darauf seid jahrhunderten")
say("wieder das Licht der Welt zu erblicken.")
say("Geh nun und führe dein Reich zu Ehre und Ruhm!")
end
end
when login with pc.in_dungeon() and d.getf("devillevel") == 1 begin
setskin(NOWINDOW)
setstate(start)
q.done()
local boxto7= pc.count_item(30300)
pc.remove_item(30300,boxto7)
d.setf("devillevel", 2)
local vid = d.spawn_mob(20083, 121, 134)
d.regen_file("data/dungeon/ich_regen.txt")
timer("devildown_meldung_weachter", 5)
end
when devildown_npc_komm.timer begin
local vid = d.spawn_mob(30121, 131, 144)
end
when devildown_pennen.timer begin
d.exit_all_to_start_position()
d.setf("devillevel", 8)
end
when devildown_meldung_weachter.timer begin
d.notice("Surageist1: Mein Geist, wird euch begleiten...")
d.notice("Surageist1: Los geht und vernichtet den Wächter")
d.notice("Surageist1: Aber beeilt euch ihr habt nur 5 Minuten zeit")
d.notice("Surageist1: sonst schließen die Wächter die Tore zum")
d.notice("Surageist1: weitergehen.")
d.setf("deviltime", 1)
timer("devildown_weachter1", 120)
end
when devildown_weachter1.timer begin
if d.getf("deviltime") == 1 then
d.notice("Surageist1: Verbleibende Zeit: 3 Minuten")
timer("devildown_weachter2", 180)
end
end
when devildown_weachter2.timer begin
if d.getf("deviltime") == 1 then
d.notice("Surageist1: Verbleibende Zeit: 1 Minuten")
timer("devildown_weachter3", 60)
end
end
when devildown_weachter3.timer begin
if d.getf("deviltime") == 1 then
d.notice("Surageist1: Ihr werdet in 3 Sekunden zu Map1 zurück teleportiert")
d.notice("Surageist1: Ihr werdet nun nach draußen teleportiert")
timer("devildown_escapetimer", 3)
end
end
when 2604.kill with pc.in_dungeon() begin
d.setf("deviltime", 2)
cleartimer("devildown_weachter1")
cleartimer("devildown_weachter2")
cleartimer("devildown_weachter3")
d.notice("Surageist1: Uuunglaublich, ihr habt den Wächter des Todes besiegt");
d.notice("Surageist1: bevor er die nächste Ebene versiegeln konnte.")
timer("devildown_killweachter1", 7)
end
when devildown_killweachter.timer begin
d.setf("devillevel", 2)
d.notice("Surageist1: Sprecht mit Poeng-Hong")
end
when devildown_killweachter1.timer begin
timer("devildown_killweachter", 2)
d.jump_all(121, 172)
end
when 20083.chat."Geheimnissvolle Gänge" with pc.in_dungeon() and d.getf("devillevel") == 2 begin
npc.purge()
say_title("Poeng-Hong")
say("")
say("Diese Gänge.. Sie bringen mich um")
say("meinen Verstand.. Ich laufe nun schon")
say("den ganzen Tag in ihnen herum, aber ich habe")
say("keine Ahnung, wo ich noch lang gehen soll.")
say("Ich suche doch nur meinen Bruder..")
say("")
say("Wenn ich ihn doch nur finden würde..")
wait()
cleartimer("devildown_weachter1")
d.setf("devillevel", 3)
timer("devildown_spawnport", 3)
d.jump_all(121, 172)
end
when devildown_spawnport.timer begin
d.regen_file("data/dungeon/dd_warps.txt")
local vid = d.spawn_mob(20080, 121, 134)
d.notice("Surageist2: Du bist einen Schritt weiter zum Verborgenen Ort...");
d.notice("Surageist2: Nun liegt es an dir den richtigen Weg zu finden")
d.notice("Surageist2: um mit Saoe-Hae zu sprechen.");
d.notice("Surageist2: Aber ihr habt aber nur 5 Minuten maximal zeit!")
timer("devildown_gänge", 240)
end
when devildown_gänge.timer begin
if d.getf("deviltime") == 2 then
d.notice("Surageist2: Verbleibende Zeit: 3 Minuten")
timer("devildown_gänge1", 180)
end
end
when devildown_gänge1.timer begin
if d.getf("deviltime") == 2 then
d.notice("Surageist2: Verbleibende Zeit: 1 Minuten")
timer("devildown_gänge2", 60)
end
end
when devildown_gänge2.timer begin
if d.getf("deviltime") == 2 then
d.notice("Surageist2: Ihr werdet in 3 Sekunden zu Map1 zurück teleportiert")
d.notice("Surageist2: Ihr werdet nun nach draußen teleportiert")
timer("devildown_escapetimer", 3)
end
end
when 20080.chat."Poeng-Hong" with pc.in_dungeon() begin
if d.getf("devillevel") == 3 then
say_title("Sao-Hae")
npc.purge()
say("")
say("Mein Bruder Poeng-Hong?")
say("Du hast ihn getroffen?")
say("Ja ich bin sein Bruder.. Es wäre")
say("nett von dir, ihm zu sagen wo ich")
say("bin, wenn du ihn noch einmal sehen solltest.")
say("")
wait()
d.setf("deviltime", 3)
cleartimer("devildown_gänge")
cleartimer("devildown_gänge1")
cleartimer("devildown_gänge2")
d.setf("devillevel", 44)
timer("devildown_jump1", 3)
d.jump_all(4747, 4848)
end
end
when devildown_jump1.timer begin
if d.getf("devillevel") == 44 then
d.regen_file("data/dungeon/ich_regen1.txt")
local vid = d.spawn_mob(5002, 121, 134)
d.setf("devillevel", 4)
d.notice("Surageist3: Sucht die Verfluchte Bestie und vernichte sie, damit der Wächter")
d.notice("Surageist3: des Untergrundes sich nicht länger verstecken muss.")
d.notice("Surageist3: Ihr habt maximal 10 Minuten Zeit die Verfluchte Bestie zu vernichten!")
timer("devildown_hexe", 300)
end
end
when devildown_hexe.timer begin
if d.getf("deviltime") == 3 then
d.notice("Surageist3: Verbleibende Zeit: 5 Minuten")
timer("devildown_hexe1", 240)
end
end
when devildown_hexe1.timer begin
if d.getf("deviltime") == 3 then
d.notice("Surageist3: Verbleibende Zeit: 1 Minuten")
timer("devildown_hexe2", 60)
end
end
when devildown_hexe2.timer begin
if d.getf("deviltime") == 3 then
d.notice("Surageist3: Ihr werdet in 3 Sekunden zu Map1 zurück teleportiert")
d.notice("Surageist3: Ihr werdet nun nach draußen teleportiert")
timer("devildown_escapetimer", 3)
end
end
when 5002.kill with pc.in_dungeon() and d.getf("devillevel") == 4 begin
cleartimer("devildown_hexe")
cleartimer("devildown_hexe1")
cleartimer("devildown_hexe2")
d.setf("deviltime", 4)
d.spawn_mob(20351 , 121 , 134)
d.setf("devillevel", 5)
d.notice("Surageist3: Gut gemacht, ihr habt die verfluchte Bestie nun vernichtet!")
d.notice("Surageist3: Und nun da sich der Wächter sich nicht mehr verstecken muss,")
d.notice("Surageist3: Findet ihn und er wird euch als Dank, die Tore passieren lassen!")
d.notice("Surageist3: Aber du hast maximal 5 Minute zeit ihn zu finden.")
timer("devildown_versteck", 60)
end
when devildown_versteck.timer begin
if d.getf("deviltime") == 4 then
d.notice("Surageist3.1: Verbleibende Zeit: 4 Minuten")
timer("devildown_versteck1", 60)
end
end
when devildown_versteck1.timer begin
if d.getf("deviltime") == 4 then
d.notice("Surageist3.1: Verbleibende Zeit: 3 Minuten")
timer("devildown_versteck2", 60)
end
end
when devildown_versteck2.timer begin
if d.getf("deviltime") == 4 then
d.notice("Surageist3.1: Verbleibende Zeit: 2 Minuten")
timer("devildown_versteck3", 60)
end
end
when devildown_versteck3.timer begin
if d.getf("deviltime") == 4 then
d.notice("Surageist3.1: Verbleibende Zeit: 1 Minuten")
timer("devildown_versteck4", 30)
end
end
when devildown_versteck4.timer begin
if d.getf("deviltime") == 4 then
d.notice("Surageist3.1: Verbleibende Zeit: 30 Sekunden!")
timer("devildown_versteck5", 20)
end
end
when devildown_versteck5.timer begin
if d.getf("deviltime") == 4 then
d.notice("Surageist3.1: Verbleibende Zeit: 10 Sekunden")
timer("devildown_versteck6", 10)
end
end
when devildown_versteck6.timer begin
if d.getf("deviltime") == 4 then
d.notice("Surageist3.1: Ihr werdet in 3 Sekunden zu Map1 zurück teleportiert")
d.notice("Surageist3.1: Ihr werdet nun nach draußen teleportiert")
timer("devildown_escapetimer", 3)
end
end
when 20351.chat."Wächter des Untergrundes" with pc.in_dungeon() and d.getf("devillevel") == 5 begin
say_title("Wächter des Untergrundes")
say("Man nennt mich den Wächter des Untergundes.")
say("Viele Generationen meiner Familie, leben schon")
say("am diesem dunklen Ort.")
say("Da ich mich schon eine weile hier auskenne")
say("Als Dankbarkeit führe ich dich zum weg")
say("der alten Siegeln...")
say("Ich selbst traue mich dort nicht hin.")
say("Mir ist der Ort irgendwie unheimlich.")
say("")
wait()
d.setf("deviltime", 5)
cleartimer("devildown_versteck")
cleartimer("devildown_versteck1")
cleartimer("devildown_versteck2")
cleartimer("devildown_versteck3")
cleartimer("devildown_versteck4")
cleartimer("devildown_versteck5")
cleartimer("devildown_versteck6")
d.setf("devillevel", 6)
timer("devildown_jump2", 2)
end
when devildown_jump2.timer begin
d.setf("count", 0)
d.setf("counti", 0)
d.jump_all(121, 169)
timer("devildown_mob", 10)
d.spawn_mob(20096, 126, 156)
d.spawn_mob(20096, 126, 146)
d.spawn_mob(20096, 116, 145)
d.spawn_mob(20096, 115, 155)
d.spawn_mob(20096, 134, 134)
d.spawn_mob(20096, 109, 134)
d.setf("devildownstone_count", 6)
timer("devildownstone1", 300)
d.notice("Surageist4: Diese Gegend, ja ich kenne sie, hier sind");
d.notice("Surageist4: diese Zombie Kreaturen, sie erscheinen jeden moemnt.");
d.notice("Surageist4: Um einen Zombie-Siegelstein zu bekommen muss man sie töten");
d.notice("Surageist4: Nur durch diesen stein kann man die Säulen entfernen");
d.notice("Surageist4: Ihr habt Maximal 20 Minuten zeit");
d.notice("Surageist4: alle 6 Siegel zu öffnen.");
end
when devildown_mob.timer begin
d.regen_file("data/dungeon/ich_regen2.txt")
end
when devildownstone1.timer begin
if d.getf("deviltime") == 5 then
d.notice("Surageist4: Verbleibende Zeit: 15 Minuten")
timer("devildownstone2", 300)
end
end
when devildownstone2.timer begin
if d.getf("deviltime") == 5 then
d.notice("Surageist4: Verbleibende Zeit: 10 Minuten")
timer("devildownstone3", 300)
end
end
when devildownstone3.timer begin
if d.getf("deviltime") == 5 then
d.notice("Surageist4: Verbleibende Zeit: 5 Minuten")
timer("devildownstone4", 300)
end
end
when devildownstone4.timer begin
if d.getf("deviltime") == 5 then
d.notice("Surageist4: Verbleibende Zeit: 1 Minuten")
timer("devildownstone5", 60)
end
end
when devildownstone5.timer begin
if d.getf("deviltime") == 5 then
d.notice("Surageist4: Ihr werdet in 3 Sekunden zu Map1 zurück teleportiert")
d.notice("Surageist4: Ihr werdet nun nach draußen teleportiert")
timer("devildown_escapetimer", 3)
end
end
when 2510.kill with pc.in_dungeon() and d.getf("devillevel") == 6 begin
local KILL_COUNT_FOR_DROP_DEVIL_KEY = 5
local n =d.getf("count") + 1
d.setf("count", n)
d.notice("Noch "..5-n.." Mobs killen bis das Siegel dropt.")
if n == KILL_COUNT_FOR_DROP_DEVIL_KEY then
game.drop_item("50084", 1)
d.setf("count", 0)
end
end
when 20096.take with item.vnum == 50084 and d.getf("devillevel") == 6 begin
npc.purge()
item.remove()
d.setf("devildownstone_count", d.getf("devildownstone_count") - 1)
if d.getf("devildownstone_count") <= 0 then
d.setf("devillevel", 7)
cleartimer("devildownstone1")
cleartimer("devildownstone2")
cleartimer("devildownstone3")
cleartimer("devildownstone4")
cleartimer("devildownstone5")
d.setf("deviltime", 6)
d.notice("Surageist4: Ihr habt es geschafft, ihr habt die Alten Siegel zerstört.")
d.notice("Surageist4: Das Portal zum Drachen hat sich geöffnet.")
timer("devildown_nexttimer0", 3)
else
d.notice("Surageist4: Es verbleibt eine Anzahl von "..d.getf("devildownstone_count").." Siegeln")
end
end
when devildown_nexttimer0.timer begin
d.jump_all(121, 169)
------------------
timer("devildown_bosstimer10", 5)
end
when devildown_bosstimer10.timer begin
d.jump_all(121, 169)
-- Firstspawn !!!
d.regen_file("data/dungeon/ich_regen3.txt")
------------------
timer("devildown_bosstimer1", 60)
end
when devildown_bosstimer1.timer begin
-- 2. Spawn !!!
d.regen_file("data/dungeon/ich_regen4.txt")
------------------
timer("devildown_bosstimer2", 60)
end
when devildown_bosstimer2.timer begin
-- 3. Spawn !!!
d.regen_file("data/dungeon/ich_regen5.txt")
------------------
timer("devildown_bosstimer3", 60)
end
when devildown_bosstimer3.timer begin
-- 4. Spawn !!!
d.regen_file("data/dungeon/ich_regen6.txt")
------------------
timer("devildown_bosstimer4", 60)
end
when devildown_bosstimer4.timer begin
-- 5. Spawn !!!
d.regen_file("data/dungeon/ich_regen7.txt")
------------------
timer("devildown_bosstimer5", 60)
end
when devildown_bosstimer5.timer begin
-- 6. Spawn !!!
d.regen_file("data/dungeon/ich_regen8.txt")
------------------
timer("devildown_bosstimer_last", 60)
end
when devildown_bosstimer_last.timer begin
-- Endspawn mit Drache !!!
d.setf("deviltime", 7)
d.regen_file("data/dungeon/ich_regen9.txt")
local vid = d.spawn_mob(2291, 121, 149)
d.set_unique("real", vid)
timer("devildown_ending2", 300)
d.notice("Surageist5: Der Wächter des großen Schatzes ist erschienen.");
d.notice("Surageist5: Vernichtet ihn und erhalt Ruhm und Ehre.");
d.notice("Surageist5: Ihr habt dafür 15 Minuten zeit.");
------------------
end
when 2291.kill with pc.in_dungeon() begin
if d.is_unique_dead("real") then
d.setf("devillevel", 0)
d.notice("Surageist5: Ihr habt den Drachen, den Wächter des Schatzes vernichtet.")
d.notice("Surageist5: Und ich kann endlich meine ruhe finden.");
d.notice("Surageist5: Ich bringe euch in 1 Minute wieder Map1!")
timer("devildown_escapetimer", 60)
end
end
when devildown_ending2.timer begin
if d.getf("deviltime") == 7 then
d.notice("Surageist5: Verbleibende Zeit: 10 Minuten")
timer("devildown_ending3", 300)
end
end
when devildown_ending3.timer begin
if d.getf("deviltime") == 7 then
d.notice("Surageist5: Verbleibende Zeit: 5 Minuten")
timer("devildown_ending4", 240)
end
end
when devildown_ending4.timer begin
if d.getf("deviltime") == 7 then
d.notice("Surageist5: Verbleibende Zeit: 1 Minuten")
timer("devildown_ending4", 60)
end
end
when devildown_ending4.timer begin
if d.getf("deviltime") == 7 then
d.notice("Surageist5: Die Zeit ist abgelaufen.")
d.notice("Surageist5: Ihr werdet in 3 Sekunden zu Map1 zurück teleportiert")
timer("devildown_escapetimer", 3)
end
end
when devildown_escapetimer.timer begin
d.exit_all_to_start_position()
end
end
end
Wäre schön wenn ihr mir da helfen könntet bekomme nach make.sh
Hoffe ihr findet was xD ich zumindest nicht
|
|
|
All times are GMT +1. The time now is 00:18.
|
|