|
You last visited: Today at 20:56
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
07/15/2015, 12:35
|
#11776
|
elite*gold: 0
Join Date: Oct 2009
Posts: 428
Received Thanks: 192
|
Quest :
Code:
quest level_1 begin
state start begin
when login or levelup with pc.get_level() >= 1 begin
say_title("Willkommen auf Saftina2!")
say("")
say("Saftina2 ist ein Newschool-Server der")
say("ganz besonderen Art!")
say("Bei uns steht bis zu Level 150 das PvM")
say("im Vordergrund, sowie auch der Zusammenhalt,")
say("Gruppenarbeit und das aufziehen einer großen")
say("gemeinschaftlichen Gilde!")
say("")
say_reward("Bist du dem gewachsen?")
say("")
local a = select("Was ist Saftina?", "Meine erste Aufgabe!", "Tutorial überspringen")
if a == 1 then
say_title("Was ist Saftina?")
say("")
say("Saftina ist der Drache der Eiszeit!")
say("Dieser Drache plagt uns seit enormer")
say("Zeit und führt des öfteren unsere Ernte")
say("in die Dürre, doch keiner kann ihm")
say("das Wasser reichen.")
wait()
say_title("Was ist Saftina?")
say("")
say("Er ist der stärkste Elementar-Drache")
say("der je aufgekreuzt ist!")
say("Die Legende besagt, dass ein mutiger")
say("Krieger mit seinen Gehilfen diesen Drachen")
say("bezwingen wird und unser Land endlich")
say("befreien wird!")
say("")
say_reward("Wirst du der Erlöser sein?")
say("")
local b = select("Meine erste Aufgabe!", "Tutorial überspringen")
if b == 1 then
say_title("Meine erste Aufgabe!")
say("")
say("Deine erste Aufgabe besteht darin,")
say("den Meister ausfindig zu machen")
say("und Ihr deine Hilfe anzubieten.")
say("Wenn Sie dich für würdig erweißt,")
say("wirst du eine Aufgabe von Ihr bekommen.")
say("Andernfalls, bist du Ihr nicht würdig")
say("und du wirst gejagt von Ihren Anhängern.")
say("")
say_reward("Suche nun den Meister auf!")
say("")
set_state(state1_0)
return
elseif b == 2 then
set_state(state1_0)
return
end
elseif a == 2 then
say_title("Meine erste Aufgabe!")
say("")
say("Deine erste Aufgabe besteht darin,")
say("den Meister ausfindig zu machen")
say("und Ihr deine Hilfe anzubieten.")
say("Wenn Sie dich für würdig erweißt,")
say("wirst du eine Aufgabe von Ihr bekommen.")
say("Andernfalls, bist du Ihr nicht würdig")
say("und du wirst gejagt von Ihren Anhängern.")
say("")
say_reward("Suche nun den Meister auf!")
say("")
set_state(state1_0)
return
elseif a == 3 then
set_state(state1_0)
return
end
end
end
state state1_0 begin
when letter begin
send_letter("Deine erste Aufgabe!")
end
when button or info begin
say_title("Deine erste Aufgabe!")
say("")
say("Suche den Meister auf und biete Ihr")
say("deine Hilfe an!")
say("")
set_state(state1_1)
return
end
end
state state1_1 begin
when letter begin
local v=find_npc_by_vnum(20082)
if 0==v then
else
target.vid("__TARGET__", v, "Finde den Meister")
end
end
when button or info begin
say_title("Finde den Meister")
say("")
say_reward("Finde den Meister und biete Ihr")
say_reward("deine Hilfe an, um dich als")
say_reward("würdiger Mitstreiter zu behaupten!")
say("")
end
when __TARGET__.target.click begin
target.delete("__TARGET__")
say_title("Meister")
say("")
say("Ah, da bist du ja endlich!")
say("Was hat dich denn so lange aufgehalten?")
say("Naja, wie auch immer, jetzt bist du ja")
say("hier und wir können gleich anfangen...")
say("")
wait()
say_title(pc.getname())
say("")
say("Woher wusstet Ihr, dass ich komme?")
say("")
wait()
say_title("Meister")
say("")
say("Man nennt mich nicht umsonst Meister,")
say("ich bekomme alles mit, was sich in diesem")
say("Land passiert, aber du bist nicht hier,")
say("um dir meine Geschichte anzuhören, sondern")
say("um dich als würdig zu erweisen, habe ich Recht?")
say("")
wait()
say_title(pc.getname())
say("")
say("Ja, das ist richtig!")
say("Bin ich denn würdig, als Mitstreiter")
say("für mein Land zu kämpfen?")
say("")
wait()
say_title("Meister")
say("")
say("Ich bin kein Hellseher und auch")
say("kein Wahrsager!")
say("Aber um deine Loyalität und deine")
say("Würde zu prüfen, habe ich eine kleine")
say("Aufgabe für dich.")
say("")
wait()
say_title(pc.getname())
say("")
say_reward("*Ich kann's kaum erwarten....*")
say("")
say("Was soll ich für Sie tun?")
say("")
wait()
say_title("Meister")
say("")
say("Spüre ich etwa ein wenig Sarkasmus?")
say("Naja, wie auch immer, zieh los und")
say("töte 30 Wildhunde, wobei es mir egal")
say("ist, ob sie hungrig oder nicht sind.")
say("")
wait()
say_title(pc.getname())
say("")
say_reward("*Was ein Scheiß, das schafft ja")
say_reward("sogar ein Kind mit einem Holzschwert..*")
say("")
say("Alles klar, ich mache mich sofort auf den Weg!")
say("")
clear_letter()
set_state(state1_2)
return
end
end
state state1_2 begin
function kill_count()
local total_remain = 0
local remain1 = 30 - pc.getqf("kill_count_1")
if remain1 < 0 then
remain1 = 0
end
total_remain = total_remain + remain1
q.set_counter_value(total_remain)
if total_remain == 0 then
set_state (state1_3)
return
end
end
when letter begin
send_letter("Deine erste Aufgabe!")
pc.setqf("kill_count_1", 0)
q.set_counter_name("Verbleibend ")
level_1.kill_count()
end
when button or info begin
say_title("Deine erste Aufgabe!")
say("")
say("Deine erste Aufgabe vom Meister ist,")
say("dass du 30 Wildhunde töten sollst.")
say("Damit beweißt du deine Würde und")
say("deine Loyalität!")
say("")
say_reward("Verbleibend ")
say(string.format("%s: %d Stück ", 30 - pc.getqf("kill_count_1")))
say("")
end
when 101.kill begin
local kill_count = pc.getqf("kill_count_1")
pc.setqf("kill_count_1", kill_count+1)
level_1.kill_count()
end
end
state state1_3 begin
when login or levelup or enter begin
pet.summon(39101, "Postbote", false)
say_title("Postbote")
say("")
say("Hallo "..pc.get_name()..", ich habe Post für dich!")
say("Die Post ist vom Meister höchst persönlich!")
say("Ebenfalls soll ich dir folgendes überreichen :")
say("")
say_reward("1x Königstiger-Kristall")
say("")
pc.give_item2(38051, 1)
wait()
say_title("Brief vom Meister")
say("")
say("Hallo "..pc.get_name()..",")
say("")
say("Wie ich sehe, hast du die 30 Wildhunde")
say("problemlos erschlagen und somit deine")
say("Loyalität und Würde gezeigt!")
say("")
say("Der Postbote gibt dir als Zeichen meiner")
say("Dankbarkeit einen seltenen Kristall!")
say("Nutze diesen weise!")
say("")
wait()
say_title(pc.getname())
say("")
say("Okay, viele Dank für den Brief,")
say("Herr Postbote.")
say("Gibt es sonst noch etwas?")
say("")
say_reward("*Was ein seltsamer Kautz..*")
say("")
wait()
say_title("Postbote")
say("")
say("Ich soll Ihnen noch berichten, dass")
say("der Meister Sie wiedersehen möchte,")
say("wenn Sie Level 15 erreicht haben.")
say("")
say("Das war dann auch alles, auf Wiedersehen!")
say("")
pet.unsummon(39101)
set_state(__COMPLETE__)
return
end
end
state __COMPLETE__ begin
when enter begin
--q.done()
end
end
end
Syserr :
Code:
SYSERR: Jul 15 10:13:26 :: operator(): QUEST NOT END RUNNING on Login/Logout - level_1
SYSERR: Jul 15 10:13:32 :: Select: wrong QUEST_SELECT request! : 57779
Problemablauf :
Quest erscheint, klicke i-was an (egal was), Quest geht weg (anstatt weiter).
Relog -> Quest erscheint, ....
Idee?
|
|
|
07/15/2015, 12:45
|
#11777
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Im login trigger funktioniert select() nicht.
Beim login einen timer setzen auf 0.1 sek und bei dem trigger den Text anzeigen lassen
|
|
|
07/15/2015, 18:18
|
#11778
|
elite*gold: 0
Join Date: Oct 2009
Posts: 428
Received Thanks: 192
|
Beim ausführen der Quest kommt nun in der syserr.txt von Ch1 :
Code:
Select: wrong QUEST_SELECT request! : 57779
Quest :
Code:
quest level_1 begin
state start begin
when login or levelup with pc.get_level() >= 1 begin
set_state(state1)
end
end
state state1 begin
when enter begin
say_title("Willkommen auf Trololo2!")
say("")
say("Trololo2 ist ein Newschool-Server der")
say("ganz besonderen Art!")
say("Bei uns steht bis zu Level 150 das PvM")
say("im Vordergrund, sowie auch der Zusammenhalt,")
say("Gruppenarbeit und das aufziehen einer großen")
say("gemeinschaftlichen Gilde!")
say("")
say_reward("Bist du dem gewachsen?")
say("")
local a = select("Was ist Trololo?", "Meine erste Aufgabe!", "Tutorial überspringen")
if a == 1 then
say_title("Was ist Trololo?")
say("")
say("Trololo ist der Drache der Eiszeit!")
say("Dieser Drache plagt uns seit enormer")
say("Zeit und führt des öfteren unsere Ernte")
say("in die Dürre, doch keiner kann ihm")
say("das Wasser reichen.")
wait()
say_title("Was ist Trololo?")
say("")
say("Er ist der stärkste Elementar-Drache")
say("der je aufgekreuzt ist!")
say("Die Legende besagt, dass ein mutiger")
say("Krieger mit seinen Gehilfen diesen Drachen")
say("bezwingen wird und unser Land endlich")
say("befreien wird!")
say("")
say_reward("Wirst du der Erlöser sein?")
say("")
local b = select("Meine erste Aufgabe!", "Tutorial überspringen")
if b == 1 then
say_title("Meine erste Aufgabe!")
say("")
say("Deine erste Aufgabe besteht darin,")
say("den Meister ausfindig zu machen")
say("und Ihr deine Hilfe anzubieten.")
say("Wenn Sie dich für würdig erweißt,")
say("wirst du eine Aufgabe von Ihr bekommen.")
say("Andernfalls, bist du Ihr nicht würdig")
say("und du wirst gejagt von Ihren Anhängern.")
say("")
say_reward("Suche nun den Meister auf!")
say("")
set_state(state1_0)
elseif b == 2 then
set_state(state1_0)
else
set_state(state1_0)
end
elseif a == 2 then
say_title("Meine erste Aufgabe!")
say("")
say("Deine erste Aufgabe besteht darin,")
say("den Meister ausfindig zu machen")
say("und Ihr deine Hilfe anzubieten.")
say("Wenn Sie dich für würdig erweißt,")
say("wirst du eine Aufgabe von Ihr bekommen.")
say("Andernfalls, bist du Ihr nicht würdig")
say("und du wirst gejagt von Ihren Anhängern.")
say("")
say_reward("Suche nun den Meister auf!")
say("")
set_state(state1_0)
elseif a == 3 then
set_state(state1_0)
else
set_state(state1_0)
end
end
end
state state1_0 begin
when letter begin
send_letter("Deine erste Aufgabe!")
end
when button or info begin
say_title("Deine erste Aufgabe!")
say("")
say("Suche den Meister auf und biete Ihr")
say("deine Hilfe an!")
say("")
set_state(state1_1)
end
end
state state1_1 begin
when letter begin
local v=find_npc_by_vnum(20082)
if 0==v then
else
target.vid("__TARGET__", v, "Finde den Meister")
end
end
when button or info begin
say_title("Finde den Meister")
say("")
say_reward("Finde den Meister und biete Ihr")
say_reward("deine Hilfe an, um dich als")
say_reward("würdiger Mitstreiter zu behaupten!")
say("")
end
when __TARGET__.target.click begin
target.delete("__TARGET__")
say_title("Meister")
say("")
say("Ah, da bist du ja endlich!")
say("Was hat dich denn so lange aufgehalten?")
say("Naja, wie auch immer, jetzt bist du ja")
say("hier und wir können gleich anfangen...")
say("")
wait()
say_reward(pc.getname())
say("")
say("Woher wusstet Ihr, dass ich komme?")
say("")
wait()
say_title("Meister")
say("")
say("Man nennt mich nicht umsonst Meister,")
say("ich bekomme alles mit, was sich in diesem")
say("Land passiert, aber du bist nicht hier,")
say("um dir meine Geschichte anzuhören, sondern")
say("um dich als würdig zu erweisen, habe ich Recht?")
say("")
wait()
say_reward(pc.getname())
say("")
say("Ja, das ist richtig!")
say("Bin ich denn würdig, als Mitstreiter")
say("für mein Land zu kämpfen?")
say("")
wait()
say_title("Meister")
say("")
say("Ich bin kein Hellseher und auch")
say("kein Wahrsager!")
say("Aber um deine Loyalität und deine")
say("Würde zu prüfen, habe ich eine kleine")
say("Aufgabe für dich.")
say("")
wait()
say_reward(pc.getname())
say("")
say_title("*Ich kann's kaum erwarten....*")
say("")
say("Was soll ich für Sie tun?")
say("")
wait()
say_title("Meister")
say("")
say("Spüre ich etwa ein wenig Sarkasmus?")
say("Naja, wie auch immer, zieh los und")
say("töte 30 Wildhunde, wobei es mir egal")
say("ist, ob sie hungrig oder nicht sind.")
say("")
wait()
say_reward(pc.getname())
say("")
say_title("*Was ein Scheiß, das schafft ja")
say_title("sogar ein Kind mit einem Holzschwert..*")
say("")
say("Alles klar, ich mache mich sofort auf den Weg!")
say("")
clear_letter()
set_state(state1_2)
end
end
state state1_2 begin
when enter begin
pc.setqf("kill_count_1", 0)
notice_multiline("Erledige 30 Wildhunde,[ENTER]egal ob hungrig oder nicht![ENTER] ",notice)
end
when letter begin
send_letter("Deine erste Aufgabe!")
pc.setqf("kill_count_1", 0)
q.set_counter_name("Verbleibend ")
level_1.kill_count()
end
when button or info begin
say_title("Deine erste Aufgabe!")
say("")
say("Deine erste Aufgabe vom Meister ist,")
say("dass du 30 Wildhunde töten sollst.")
say("Damit beweißt du deine Würde und")
say("deine Loyalität!")
say("")
end
when 101.kill begin
local kill_count = pc.getqf("kill_count_1")
pc.setqf("kill_count_1", kill_count+1)
level_1.kill_count()
end
when 171.kill begin
local kill_count = pc.getqf("kill_count_1")
pc.setqf("kill_count_1", kill_count+1)
level_1.kill_count()
end
function kill_count()
local total_remain = 0
local remain1 = 30 - pc.getqf("kill_count_1")
if remain1 < 0 then
remain1 = 0
end
total_remain = total_remain + remain1
q.set_counter_value(total_remain)
if total_remain == 0 then
set_state ("state1_3")
end
end
when leave begin
pc.setqf("kill_count_1", 0)
--q.done()
end
end
state state1_3 begin
when login or levelup or enter begin
pet.summon(39101, "Postbote", false)
say_title("Postbote")
say("")
say("Hallo "..pc.get_name()..", ich habe Post für dich!")
say("Die Post ist vom Meister höchst persönlich!")
say("Ebenfalls soll ich dir folgendes überreichen :")
say("")
say_reward("1x Königstiger-Kristall")
say("")
pc.give_item2(38051, 1)
wait()
say_title("Brief vom Meister")
say("")
say("Hallo "..pc.get_name()..",")
say("")
say("Wie ich sehe, hast du die 30 Wildhunde")
say("problemlos erschlagen und somit deine")
say("Loyalität und Würde gezeigt!")
say("")
say("Der Postbote gibt dir als Zeichen meiner")
say("Dankbarkeit einen seltenen Kristall!")
say("Nutze diesen weise!")
say("")
wait()
say_reward(pc.getname())
say("")
say("Okay, viele Dank für den Brief,")
say("Herr Postbote.")
say("Gibt es sonst noch etwas?")
say("")
say_title("*Was ein seltsamer Kautz..*")
say("")
wait()
say_title("Postbote")
say("")
say("Ich soll Ihnen noch berichten, dass")
say("der Meister Sie wiedersehen möchte,")
say("wenn Sie Level 15 erreicht haben.")
say("")
say("Das war dann auch alles, auf Wiedersehen!")
say("")
local s = select("Bye")
if s == 1 then
pet.unsummon(39101)
set_state(__COMPLETE__)
set_quest_state("level_2", "run")
else
pet.unsummon(39101)
set_state(__COMPLETE__)
set_quest_state("level_2", "run")
end
end
end
--state __COMPLETE0__ begin
-- when enter begin
-- pet.unsummon(39101)
-- set_state(__COMPLETE__)
-- end
--end
state __COMPLETE__ begin
when enter begin
--q.done()
end
end
end
|
|
|
07/15/2015, 20:32
|
#11779
|
elite*gold: 0
Join Date: May 2010
Posts: 294
Received Thanks: 157
|
Quote:
Originally Posted by keni3
Ich habe es genau so gemacht wie er es Beschrieben hat...
Also:
Code:
quest craftingwindow begin
state start begin
function getSingleValueCount(t, s)
local n, r = {}, {}
table.foreach(t, function(i, p) n[p] = n[p] and n[p]+1 or 1 end)
for key,value in pairs(n) do table.insert(r, {key, value}) end
return r
end
when login begin
cmdchat("CraftingSystem index/"..q.getcurrentquestindex())
end
when button begin
cmdchat("getinputbegin")
local INPUT = split(input(cmdchat("CraftingSystem input/")), "/")
cmdchat("getinputend")
if INPUT[2] =="-1,-1,-1,-1,-1,-1,-1,-1,-1" then cmdchat("CraftingSystem craftitem/0/0") return end
local InWindow = split(INPUT[2], ",")
local CRAFT = ""
for i=1, table.getn(InWindow), 1 do
if InWindow[i]!="-1" then
if item.select_cell(InWindow[i]) then
CRAFT = (i==1 and (item.get_vnum()!=0 and (item.get_vnum()..","..item.get_count()) or ("0,0")) or (CRAFT.."|"..(item.get_vnum()!=0 and (item.get_vnum()..","..item.get_count()) or ("0,0"))))
else
syschat("Something went Wrong!")
cmdchat("CraftingSystem craftitem/0/0")
return
end
else
CRAFT = (i==1 and ("0,0") or CRAFT.."|0,0")
end
end
-- Aufbau
-- erste Reihe des Craftfeldes
-- 0,0,0 (von oben nach unten)
-- zweite Reihe des Craftfeldes
-- 0,0,0 (von oben nach unten)
-- dritte Reihe des Craftfeldes
-- 0,0,0 (von oben nach unten)
local CRAFTING_POSSIBILITIES = {
["90012,1|90012,1|0,0|0,0|90012,1|0,0|0,0|0,0|0,0"] = {27600, 1} -- laut dem wird einmal des holz zum lager
}
if INPUT[1]=="itemin" then
if CRAFTING_POSSIBILITIES[CRAFT] then
cmdchat("CraftingSystem craftitem/"..CRAFTING_POSSIBILITIES[CRAFT][1].."/"..CRAFTING_POSSIBILITIES[CRAFT][2])
else
cmdchat("CraftingSystem craftitem/0/0")
end
elseif INPUT[1]=="craftplease" then
if CRAFTING_POSSIBILITIES[CRAFT] then
local InWindow, Cells = split(CRAFT, "|"), split(INPUT[2], ",")
for i=1, table.getn(InWindow), 1 do InWindow[i] = split(InWindow[i], ",")
end
for i=1, table.getn(InWindow), 1 do
if Cells[i]!="-1" and InWindow[i][1]!="0" and InWindow[i][2]!="0" then
if item.select_cell(tonumber(Cells[i])) then
if item.get_vnum()!=tonumber(InWindow[i][1]) or item.get_count()!=tonumber(InWindow[i][2]) then
cmdchat("CraftingSystem craftitem/0/0")
syschat("Something went wrong!#1")
return
end
else
cmdchat("CraftingSystem craftitem/0/0")
syschat("Something went wrong!#2")
return
end
end
end
for i=1, table.getn(InWindow), 1 do
if Cells[i]!="-1" and InWindow[i][1]!="0" and InWindow[i][2]!="0" then
if item.select_cell(tonumber(Cells[i])) then
item.remove()
else
cmdchat("CraftingSystem craftitem/0/0")
syschat("Wrong!")
return
end
end
end
pc.give_item2(CRAFTING_POSSIBILITIES[CRAFT][1], CRAFTING_POSSIBILITIES[CRAFT][2])
cmdchat("CraftingSystem itemclear/")
else
cmdchat("CraftingSystem craftitem/0/0")
end
end
end
end
end
Code:
quest CraftingSystemOPEN begin
state start begin
when 20369.chat."Crafting" begin
say_title(mob_name(npc.get_race())..":")
say("Alle Crafting Rezepte findest du in unserem WiKi.")
say("Mochtest du jetzt Craften?")
if select ("Ja","Nein")==2 then return end
cmdchat("OpenCraftingSystem")
end
end
end
Wo genau ist der Fehler  .
Mfg.
|
du musst
PHP Code:
self.wndCraftingSystem.Open()
diesen befehl benutzen bei
PHP Code:
def __CraftingSystemOPEN(self):
also dein
PHP Code:
def __CraftingSystemOPEN(self): self._CraftingSystem()
machst du zu
PHP Code:
def __CraftingSystemOPEN(self): self.wndCraftingSystem.Open()
NATÜRLICH RICHTIG EINRÜCKEN NICHT VERGESSEN!
@ abcdosentee
Wen ich dich und das ganze jetzt auf die schnelle richtig verstanden habe
dann musst die die function go_boss() durch
das hier ersetzen
PHP Code:
function go_boss() -- º¸½º·ë °¡±â local setting = flame_dungeon.setting() if pc.get_level() < 104 then --·¹º§È®ÀÎ -- syschat(gameforge.flame_dungeon._580_notice) say(gameforge.flame_dungeon._580_notice) return else say(gameforge.flame_dungeon._010_say) local warp = select(gameforge.flame_dungeon._020_select,gameforge.flame_dungeon._030_select) if warp == 1 then d.setf("level",17) d.jump_all(setting.bossroom_entry_pos[1],setting.bossroom_entry_pos[2]) d.set_regen_file (MOB_REGEN_FILE_PATH.."fd_fild_boss.txt") -- d.spawn_mob(DUNGEON_MAN,setting.DUNGEON_MAN_bpos[1],setting.DUNGEON_MAN_bpos[2]) d.spawn_mob(FINAL_BOSS,setting.boss_pos[1],setting.boss_pos[2]) end end end
|
|
|
07/16/2015, 14:52
|
#11780
|
elite*gold: 0
Join Date: Jul 2012
Posts: 5,520
Received Thanks: 1,350
|
Könnte mal bitte jemand meine quest auf Fehler Prüfen und oder sie verbessern und kürzer/besser schreiben?
Code:
quest teleporter begin
state start begin
when 9012.chat."Möchtest du reisen?" begin
say_title("Teleporter:")
say("Dies ist eine faszinierende Gegend. Aber")
say("passiert hier denn auch mal etwas")
say("Außergewöhnliches? Eher wohl nicht. In anderen")
say("Teilen des Landes sieht es mitunter ganz anders.")
say("aus! Es gibt daher sicher einen intressanten")
say("Ort, an den ich dich teleportieren könnte. Da")
say("jedoch die Kräfte des Bösen wieder stärker")
say("geworden sind, wurden Raum und Zeit ins Chaos")
say("gestürzt. Dadurch kann es passieren, dass deine")
say("Rückkehr nicht immer augenblicklich funktioniert.")
say("Möchtest du dennoch teleportiert werden?")
local main_set = select("Ja","Nein")
if main_set == 2 then
return
end
if pc.get_level() <= 10 then
say_title("Teleporter:")
say("Hm… Mit deinem derzeitigen Level bist du noch")
say("zu schwach für die Reise durch Zeit und Raum.")
say("Komm wieder, wenn du höher als Level 10 bist.")
return
end
local map = pc.get_map_index()
local empire = pc.get_empire()
local level = pc.get_level()
local cost = math.floor(level / 5) * 1000
-- ?? ????
if cost < 1000 then
cost = 1000
end
say_title("Teleporter:")
say("Wohin möchtest du teleportiert werden?")
say_reward(string.format("Das kostet dich %d Yang.", cost))
-- ?? ?? ???? ?? ?? (? ?? 1,2 ??)
if map == 1 or map == 3 or map == 21 or map == 23 or map == 41 or map == 43 then
local guild_map_names = {
"Gildenzone",
"Gildenzone",
"Gildenzone",
}
guild_map_name = guild_map_names[empire]
local empire_castle={
"Burgschlacht",
"Burgschlacht",
"Burgschlacht",
}
empire_castle =empire_castle[empire]
local sub_set = 0
if level < 60 then -- 60?? : ?????, ???, ????, ???
sub_set = select(guild_map_name, "Tal von Seungryong", "Yongbi-Wüste", "Berg Sohan", empire_castle,"Andere Gebiete")
if sub_set == 6 then -- ??
return
end
else -- 61?? : ????, ???, ????, ????
sub_set = select(guild_map_name, "Tal von Seungryong", "Yongbi-Wüste", "Berg Sohan", empire_castle,"Andere Gebiete")
if sub_set == 6 then -- ??
say_title("Teleporter:")
say("Wohin möchtest du teleportiert werden?")
say_reward(string.format("Das kostet dich %d Yang.", cost))
sub_set = select("Doyyumhwaji", "Dämonenturm", "Lungsam", "Roter Wald", "Zurück", "Abbrechen") + 5
if sub_set == 11 then -- ??
return
end
if sub_set == 10 then -- ??
say_title("Teleporter:")
say("Wohin möchtest du teleportiert werden?")
--- l
say_reward(string.format("Das kostet dich %d Yang.", cost))
sub_set = select(guild_map_name, "Tal von Seungryong", "Yongbi-Wüste", "Berg Sohan", empire_castle,"Andere Gebiete")
if sub_set == 6 then -- ??
say_title("Teleporter:")
say("Wohin möchtest du teleportiert werden?")
say_reward(string.format("Das kostet dich %d Yang.", cost))
sub_set = select("Doyyumhwaji", "Dämonenturm", "Lungsam", "Roter Wald", "Abbrechen") + 5
if sub_set == 10 then -- ??
return
end
end
end
end
end
if pc.gold < cost then
say("Du hast nicht genug Geld,")
say_title("Teleporter:")
say("Ich würde dich auch kostenlos teleportieren,")
say("aber ich habe eine große Familie. Um sie zu")
say("ernähren, muss ich Geld verdienen.")
say_reward(string.format("Es kostet %d Yang.", cost))
return
end
pc.changegold(-cost)
local warp = {
-- guild_map
{
{ 128500, 1000 },
{ 179500, 1000 },
{ 271800, 13000 },
},
-- 64 map_n_threeway
{
{ 402100, 673900 },
{ 270400, 739900 },
{ 321300, 808000 },
},
-- 63 metin2_map_n_desert_01
{
{ 217800, 627200 },
{ 221900, 502700 },
{ 344000, 502500 },
},
-- 61 map_n_snowm_01
{
{ 434200, 290600 },
{ 375200, 174900 },
{ 491800, 173600 },
},
{--empire_castle
{975200, 133000},
{977200, 185000},
{923900, 183600},
} ,
-- 62 metin2_map_n_flame_01
{
{ 599400, 756300 },
{ 597800, 622200 },
{ 730700, 689800 },
},
-- devil_tower
{
{ 590500, 110500 },
{ 590500, 110500 },
{ 590500, 110500 },
},
-- ghost_forest
{
{ 288700, 5700 },
{ 288700, 5700 },
{ 288700, 5700 },
},
-- red_forest
{
{ 1119900, 70800 },
{ 1119900, 70800 },
{ 1119900, 70800 },
},
}
test_chat(warp[sub_set][empire][1]..warp[sub_set][empire][2])
say_title("Teleporter:")
say("Achtung, ich teleportiere dich jetzt. Du wirst")
say("an einem gefährlichen Ort landen, also pass auf")
say("dich auf. Viel Glück!")
wait()
pc.warp(warp[sub_set][empire][1], warp[sub_set][empire][2])
else -- ? ?? 1,2 ? ??? ?????? ? ?? 1,2 ? ??? ?? ??
local sub_set2 = 3
--sub_set2 = select(locale.vileage1_name[empire], locale.vileage2_name[empire], locale.cancel)
if empire==1 then
sub_set2 = select("Yongan","Jayang" , locale.cancel)
elseif empire ==2 then
sub_set2 = select("Joan","Bokjung" , locale.cancel)
elseif empire ==3 then
sub_set2 = select("Pyungmoo","Bakra" , locale.cancel)
end
if sub_set2 != 3 then
if pc.gold < cost then
say_title("Teleporter:")
say("Ich würde dich auch umsonst teleportieren,")
say("aber ich habe eine große Familie. Um sie zu")
say("ernähren, muss ich Geld verdienen.")
say_reward(string.format("Es kostet %d Yang.", cost))
else
if sub_set2 == 1 then
say_title("Teleporter:")
say("Ich teleportiere dich dorthin.")
wait()
if empire == 1 then
pc.warp(474300,954800)
elseif empire == 2 then
pc.warp(63800,166400)
elseif empire == 3 then
pc.warp(959900,269200)
end
elseif sub_set2 == 2 then
say_title("Teleporter:")
say("Ich teleportiere dich dorthin.")
wait()
if empire == 1 then
pc.warp(353100,882900)
elseif empire == 2 then
pc.warp(145500,240000)
elseif empire == 3 then
pc.warp(863900,246000)
end
end
pc.changegold(-cost)
end
end
end
end -- end_of_chat
end -- end_of_state
end -- end_of_quest
|
|
|
07/18/2015, 18:41
|
#11781
|
elite*gold: 0
Join Date: May 2010
Posts: 20
Received Thanks: 0
|
Hallo Epvp
Hab da ein Problem mit dieser Warpring Quest und zwar möchte ich den Spinnenwald entfernen und GM-Chatbefehl entfernen. sobald ich das gemacht hab tut sich nix mehr bzw der Warpring hat keine Funktion mehr. was muss man da ändern ?
hier noch mal die Quest
------------------------------
Code:
quest multiring begin
state start begin
when 70007.use begin
say_title("Warpring:")
local main=select("Warpring-Funktion", "Lager-Funktion", "Shopping-Funktion")
if 1==main then
say_title("Warpring-Funktion:")
local s=select("Map1", "Map2", "Orktal (Mitte)", "Eisland (Mitte)", "Wüste (Oase)", "Weitere", "Beenden")
if 1==s then
say_title("Warpring-Funktion:")
local a=select ("Rotes", "Gelbes", "Blaues", "Beenden")
if 1==a then
pc.warp(474086, 954540)
elseif 2==a then
pc.warp(63098, 166617)
elseif 3==a then
pc.warp(960054, 268807)
elseif 4==a then
return
end
elseif 2==s then
say_title("Warpring-Funktion:")
local a=select ("Rotes", "Gelbes", "Blaues", "Beenden")
if 1==a then
pc.warp(353003, 882460)
elseif 2==a then
pc.warp(145582, 240227)
elseif 3==a then
pc.warp(863589, 246139)
elseif 4==a then
return
end
elseif 3==s then
pc.warp(332885, 745737)
elseif 4==s then
pc.warp(435705, 215084)
elseif 5==s then
pc.warp(296758, 547724)
elseif 6==s then
if pc.get_level() < 75 then
say_title("Weitere Maps:")
local a=select ("Feuerland (Teleporter)", "Spinnendungeon", "Dämonenturm", "Beenden")
if 1==a then
pc.warp(600813, 687144)
elseif 2==a then
say_title("Warping-Funktion:")
local sd = select ("Spinnendungeon 1", "Spinnendungeon 2", "Beenden")
if 1==sd then
pc.warp(51200, 486400)
elseif 2==sd then
pc.warp(665600, 435200)
elseif 3==sd then
return
end
elseif 3==a then
pc.warp(590516, 110606)
elseif 4==a then
return
end
elseif pc.get_level() < 90 then
say_title("Weitere Maps:")
local a=select ("Feuerland (Teleporter)", "Spinnendungeon", "Dämonenturm", "Seelengrotte", "Areal der Steine", "Königsraum", "Beenden")
if 1==a then
pc.warp(600813, 687144)
elseif 2==a then
say_title("Warping-Funktion:")
local sd = select ("Spinnendungeon 1", "Spinnendungeon 2", "Beenden")
if 1==sd then
pc.warp(51200, 486400)
elseif 2==sd then
pc.warp(665600, 435200)
elseif 3==sd then
return
end
elseif 3==a then
pc.warp(590516, 110606)
elseif 4==a then
say_reward("In welche Seelengrotte möchtest du denn?")
local b=select ("Seelengrotte 1", "Seelengrotte 2", "Beenden")
if 1==b then
pc.warp(10086, 1213190)
elseif 2==b then
pc.warp(241682, 1275028)
elseif 3==b then
return
end
elseif 5==a then
pc.warp(44445978, 44445878)
elseif 6==a then
pc.warp(92110, 97047)
elseif 7==a then
return
end
elseif pc.get_level() < 110 then
say_title("Weitere Maps:")
local a=select ("Feuerland (Teleporter)", "Spinnendungeon", "Dämonenturm", "Seelengrotte", "Areal der Steine", "Königsraum", "Weitere", "Beenden")
if 1==a then
pc.warp(600813, 687144)
elseif 2==a then
say_title("Warping-Funktion:")
local sd = select ("Spinnendungeon 1", "Spinnendungeon 2", "Beenden")
if 1==sd then
pc.warp(51200, 486400)
elseif 2==sd then
pc.warp(665600, 435200)
elseif 3==sd then
return
end
elseif 3==a then
pc.warp(590516, 110606)
elseif 4==a then
say_reward("In welche Seelengrotte möchtest du denn?")
local b=select ("Seelengrotte 1", "Seelengrotte 2", "Beenden")
if 1==b then
pc.warp(10086, 1213190)
elseif 2==b then
pc.warp(241682, 1275028)
elseif 3==b then
return
end
elseif 5==a then
pc.warp(44445978, 44445878)
elseif 6==a then
pc.warp(92110, 97047)
elseif 7==a then
say_title("Warpring-Funktion:")
local c=select ("Verkommenes Land", "Beenden")
if 1==c then
pc.warp(2206207, 2231958)
elseif 2==c then
return
end
elseif 7==a then
return
end
elseif pc.get_level() >= 110 then
say_title("Weitere Maps:")
local a=select ("Feuerland (Teleporter)", "Spinnenmaps", "Dämonenturm", "Seelengrotte", "Areal der Steine", "Königsraum", "Weitere", "Beenden")
if 1==a then
pc.warp(600813, 687144)
elseif 2==a then
say_title("Warping-Funktion:")
local sd = select ("Spinnendungeon 1", "Spinnendungeon 2", "Beenden")
if 1==sd then
pc.warp(51200, 486400)
elseif 2==sd then
pc.warp(665600, 435200)
elseif 3==sd then
pc.warp(4168320, 4173180)
end
elseif 3==a then
pc.warp(590516, 110606)
elseif 4==a then
say_reward("In welche Seelengrotte möchtest du denn?")
local b=select ("Seelengrotte 1", "Seelengrotte 2", "Beenden")
if 1==b then
pc.warp(10086, 1213190)
elseif 2==b then
pc.warp(241682, 1275028)
elseif 3==b then
return
end
elseif 5==a then
pc.warp(44445978, 44445878)
elseif 6==a then
pc.warp(92110, 97047)
elseif 7==a then
say_title("Warpring-Funktion:")
local c=select ("Verkommenes Land", "Orkberg", "Beenden")
if 1==c then
pc.warp(2206207, 2231958)
elseif 2==c then
pc.warp(35039765, 35085766)
elseif 3==c then
return
end
elseif 8==a then
return
end
end
elseif 7==s then
return
end
elseif 2==main then
say_title("Lager-Funktion")
say("Hallo und Herzlich Willkomen!")
say("Ich bin deine Mobile Lager-Funktion.")
say("Ich kann dir überall dein Lager öffnen.")
say_reward("Möchtest du dein Lager öffnen?")
local lager=select("Ja", "Nein")
if 1==lager then
say_title("Lager-Funktion:")
say("Welches Lager möchtest du denn öffnen?")
local a=select("Normales Lager", "Itemshop Lager", "Beenden")
if 1==a then
game.open_safebox()
elseif 2==a then
game.open_mall()
elseif 3==a then
return
end
elseif 2==lager then
return
end
elseif 3==main then
say_title("Shopping-Funktion:")
say("Mit dieser Funktion kannst einen")
say("Multishop herbeirufen.")
say("Dieser Shop hat das zu bieten ,was du bestellst")
say("Also probier es einfach mal aus!")
say()
say("Aber denk dran:")
say()
say("Der Shop muss einmal geöffnet werden!")
say_reward("Sonst funktioniert das Handy nichtmehr!")
local s=select("Ok", "Nein")
if 1==s then
say("Shopping-Funktion:")
say_reward("Welchen Shop möchtes du öffnen?")
local shop=select("Waffenhandel", "Specialshop", "Rüstungshandel", "Gemischtwarenhandel", "Schmuckhandel", "Mehr Anzeigen", "Beenden")
if 1==shop then
mob.spawn(20024, pc.get_local_x(), pc.get_local_y(), 1, 1, 1)
set_state(waffen)
elseif 2==shop then
mob.spawn(20024, pc.get_local_x(), pc.get_local_y(), 1, 1, 1)
set_state(special)
elseif 3==shop then
mob.spawn(20024, pc.get_local_x(), pc.get_local_y(), 1, 1, 1)
set_state(rüstung)
elseif 4==shop then
mob.spawn(20024, pc.get_local_x(), pc.get_local_y(), 1, 1, 1)
set_state(gemi)
elseif 5==shop then
mob.spawn(20024, pc.get_local_x(), pc.get_local_y(), 1, 1, 1)
set_state(schmuck)
elseif 6==shop then
say_title("Shopping-Funktion")
say_reward("Welchen Shop möchtest du öffnen?")
local shop2=select("Pfeilhandel", "Beenden")
if 1==shop2 then
mob.spawn(20024, pc.get_local_x(), pc.get_local_y(), 1, 1, 1)
set_state(pfeil)
elseif 2==shop2 then
return
end
elseif 7==shop then
return
end
elseif 2==s then
return
end
elseif 4==main then
if get_time() > pc.getqf("duration") then
say_title("FloDerLauchiPus:")
say("Hallo ".. pc.get_name() .." ich bin die GM.Chat-Funktion und")
say("ich kann deine Nachrichten in andere Reiche")
say("vermitteln. Es kostet dich auch nichts.")
say("Das einzigste was du beachten musst, sind die")
say("Regeln.")
say("")
say_reward("Klicke auf Weiter um die Regeln zu lesen.")
wait()
say_title("GM.Chat-Funktion:")
say("Durch diese Funktion, könnt ihr in dem so-")
say("gennanten GM - Chat eure Nachrichten vermitteln.")
say("Ihr könnt damit durch alle 3. Reiche handeln")
say("oder Fragen rund um den Server Fragen.")
say("")
say_title("Beachte bitte diese Regeln:")
say_reward("- Du darfst / kannst maximal. 1 Nachricht")
say_reward(" innerhalb einer Minute schreiben.")
say_reward("- Keine Beleidigungen oder Drohungen.")
say_reward("- Sinnloses Spamen führt zum Account Bann.")
say_reward("- Keine rassistischen Wörter/Sprüche.")
say("")
wait()
say_title("GM.Chat-Funktion:")
say("Hast du die Regeln gelesen, so kannst du hier")
say("deine Nachricht eingeben, die der ganze Server")
say("lesen soll.")
say("")
say_reward("Bitte gebe deine Nachricht jetzt ein!")
local y = input( )
say_title("GM.Chat-Funktion:")
say("Möchtest du deine Nachricht wirklich senden?")
local main_set = select("Nachricht senden.","Abbrechen.")
if main_set == 2 then
say_title("GM.Chat-Funktion:")
say("Deine Nachricht wurde nicht versendet.")
elseif main_set == 1 then
notice_all("".. pc.get_name() ..":".. y .."")
say_title("GM.Chat-Funktion:")
say("Deine Nachricht wurde gesendet.")
pc.setqf("duration",get_time()+60)
end
else
say("Du hast in dieser Minute erst eine Nachricht geschrieben.")
say("Warte noch ein wenig.")
end
elseif 5==main then
return
end
end
end
state waffen begin
when 20024.chat."Waffenhandel" begin
npc.open_shop(1)
setskin(NOWINDOW)
npc.purge()
set_state(start)
end
end
state special begin
when 20024.chat."Spezialhandel" begin
npc.open_shop(41)
setskin(NOWINDOW)
npc.purge()
set_state(start)
end
end
state rüstung begin
when 20024.chat."Rüstungshandel" begin
npc.open_shop(16)
setskin(NOWINDOW)
npc.purge()
set_state(start)
end
end
state gemi begin
when 20024.chat."Gemischtwarenhandel" begin
npc.open_shop(3)
setskin(NOWINDOW)
npc.purge()
set_state(start)
end
end
state schmuck begin
when 20024.chat."Schmuckhandel" begin
npc.open_shop(17)
setskin(NOWINDOW)
npc.purge()
set_state(start)
end
end
state pfeil begin
when 20024.chat."Pfeilhandel" begin
npc.open_shop(15)
setskin(NOWINDOW)
npc.purge()
set_state(start)
end
end
end
---------------------------
Danke schon mal im vorraus
|
|
|
07/18/2015, 19:48
|
#11782
|
elite*gold: 0
Join Date: Oct 2009
Posts: 428
Received Thanks: 192
|
Quote:
Originally Posted by dstyl
Beim ausführen der Quest kommt nun in der syserr.txt von Ch1 :
Code:
Select: wrong QUEST_SELECT request! : 57779
Quest :
Code:
quest level_1 begin
state start begin
when login or levelup with pc.get_level() >= 1 begin
set_state(state1)
end
end
state state1 begin
when enter begin
say_title("Willkommen auf Trololo2!")
say("")
say("Trololo2 ist ein Newschool-Server der")
say("ganz besonderen Art!")
say("Bei uns steht bis zu Level 150 das PvM")
say("im Vordergrund, sowie auch der Zusammenhalt,")
say("Gruppenarbeit und das aufziehen einer großen")
say("gemeinschaftlichen Gilde!")
say("")
say_reward("Bist du dem gewachsen?")
say("")
local a = select("Was ist Trololo?", "Meine erste Aufgabe!", "Tutorial überspringen")
if a == 1 then
say_title("Was ist Trololo?")
say("")
say("Trololo ist der Drache der Eiszeit!")
say("Dieser Drache plagt uns seit enormer")
say("Zeit und führt des öfteren unsere Ernte")
say("in die Dürre, doch keiner kann ihm")
say("das Wasser reichen.")
wait()
say_title("Was ist Trololo?")
say("")
say("Er ist der stärkste Elementar-Drache")
say("der je aufgekreuzt ist!")
say("Die Legende besagt, dass ein mutiger")
say("Krieger mit seinen Gehilfen diesen Drachen")
say("bezwingen wird und unser Land endlich")
say("befreien wird!")
say("")
say_reward("Wirst du der Erlöser sein?")
say("")
local b = select("Meine erste Aufgabe!", "Tutorial überspringen")
if b == 1 then
say_title("Meine erste Aufgabe!")
say("")
say("Deine erste Aufgabe besteht darin,")
say("den Meister ausfindig zu machen")
say("und Ihr deine Hilfe anzubieten.")
say("Wenn Sie dich für würdig erweißt,")
say("wirst du eine Aufgabe von Ihr bekommen.")
say("Andernfalls, bist du Ihr nicht würdig")
say("und du wirst gejagt von Ihren Anhängern.")
say("")
say_reward("Suche nun den Meister auf!")
say("")
set_state(state1_0)
elseif b == 2 then
set_state(state1_0)
else
set_state(state1_0)
end
elseif a == 2 then
say_title("Meine erste Aufgabe!")
say("")
say("Deine erste Aufgabe besteht darin,")
say("den Meister ausfindig zu machen")
say("und Ihr deine Hilfe anzubieten.")
say("Wenn Sie dich für würdig erweißt,")
say("wirst du eine Aufgabe von Ihr bekommen.")
say("Andernfalls, bist du Ihr nicht würdig")
say("und du wirst gejagt von Ihren Anhängern.")
say("")
say_reward("Suche nun den Meister auf!")
say("")
set_state(state1_0)
elseif a == 3 then
set_state(state1_0)
else
set_state(state1_0)
end
end
end
state state1_0 begin
when letter begin
send_letter("Deine erste Aufgabe!")
end
when button or info begin
say_title("Deine erste Aufgabe!")
say("")
say("Suche den Meister auf und biete Ihr")
say("deine Hilfe an!")
say("")
set_state(state1_1)
end
end
state state1_1 begin
when letter begin
local v=find_npc_by_vnum(20082)
if 0==v then
else
target.vid("__TARGET__", v, "Finde den Meister")
end
end
when button or info begin
say_title("Finde den Meister")
say("")
say_reward("Finde den Meister und biete Ihr")
say_reward("deine Hilfe an, um dich als")
say_reward("würdiger Mitstreiter zu behaupten!")
say("")
end
when __TARGET__.target.click begin
target.delete("__TARGET__")
say_title("Meister")
say("")
say("Ah, da bist du ja endlich!")
say("Was hat dich denn so lange aufgehalten?")
say("Naja, wie auch immer, jetzt bist du ja")
say("hier und wir können gleich anfangen...")
say("")
wait()
say_reward(pc.getname())
say("")
say("Woher wusstet Ihr, dass ich komme?")
say("")
wait()
say_title("Meister")
say("")
say("Man nennt mich nicht umsonst Meister,")
say("ich bekomme alles mit, was sich in diesem")
say("Land passiert, aber du bist nicht hier,")
say("um dir meine Geschichte anzuhören, sondern")
say("um dich als würdig zu erweisen, habe ich Recht?")
say("")
wait()
say_reward(pc.getname())
say("")
say("Ja, das ist richtig!")
say("Bin ich denn würdig, als Mitstreiter")
say("für mein Land zu kämpfen?")
say("")
wait()
say_title("Meister")
say("")
say("Ich bin kein Hellseher und auch")
say("kein Wahrsager!")
say("Aber um deine Loyalität und deine")
say("Würde zu prüfen, habe ich eine kleine")
say("Aufgabe für dich.")
say("")
wait()
say_reward(pc.getname())
say("")
say_title("*Ich kann's kaum erwarten....*")
say("")
say("Was soll ich für Sie tun?")
say("")
wait()
say_title("Meister")
say("")
say("Spüre ich etwa ein wenig Sarkasmus?")
say("Naja, wie auch immer, zieh los und")
say("töte 30 Wildhunde, wobei es mir egal")
say("ist, ob sie hungrig oder nicht sind.")
say("")
wait()
say_reward(pc.getname())
say("")
say_title("*Was ein Scheiß, das schafft ja")
say_title("sogar ein Kind mit einem Holzschwert..*")
say("")
say("Alles klar, ich mache mich sofort auf den Weg!")
say("")
clear_letter()
set_state(state1_2)
end
end
state state1_2 begin
when enter begin
pc.setqf("kill_count_1", 0)
notice_multiline("Erledige 30 Wildhunde,[ENTER]egal ob hungrig oder nicht![ENTER] ",notice)
end
when letter begin
send_letter("Deine erste Aufgabe!")
pc.setqf("kill_count_1", 0)
q.set_counter_name("Verbleibend ")
level_1.kill_count()
end
when button or info begin
say_title("Deine erste Aufgabe!")
say("")
say("Deine erste Aufgabe vom Meister ist,")
say("dass du 30 Wildhunde töten sollst.")
say("Damit beweißt du deine Würde und")
say("deine Loyalität!")
say("")
end
when 101.kill begin
local kill_count = pc.getqf("kill_count_1")
pc.setqf("kill_count_1", kill_count+1)
level_1.kill_count()
end
when 171.kill begin
local kill_count = pc.getqf("kill_count_1")
pc.setqf("kill_count_1", kill_count+1)
level_1.kill_count()
end
function kill_count()
local total_remain = 0
local remain1 = 30 - pc.getqf("kill_count_1")
if remain1 < 0 then
remain1 = 0
end
total_remain = total_remain + remain1
q.set_counter_value(total_remain)
if total_remain == 0 then
set_state ("state1_3")
end
end
when leave begin
pc.setqf("kill_count_1", 0)
--q.done()
end
end
state state1_3 begin
when login or levelup or enter begin
pet.summon(39101, "Postbote", false)
say_title("Postbote")
say("")
say("Hallo "..pc.get_name()..", ich habe Post für dich!")
say("Die Post ist vom Meister höchst persönlich!")
say("Ebenfalls soll ich dir folgendes überreichen :")
say("")
say_reward("1x Königstiger-Kristall")
say("")
pc.give_item2(38051, 1)
wait()
say_title("Brief vom Meister")
say("")
say("Hallo "..pc.get_name()..",")
say("")
say("Wie ich sehe, hast du die 30 Wildhunde")
say("problemlos erschlagen und somit deine")
say("Loyalität und Würde gezeigt!")
say("")
say("Der Postbote gibt dir als Zeichen meiner")
say("Dankbarkeit einen seltenen Kristall!")
say("Nutze diesen weise!")
say("")
wait()
say_reward(pc.getname())
say("")
say("Okay, viele Dank für den Brief,")
say("Herr Postbote.")
say("Gibt es sonst noch etwas?")
say("")
say_title("*Was ein seltsamer Kautz..*")
say("")
wait()
say_title("Postbote")
say("")
say("Ich soll Ihnen noch berichten, dass")
say("der Meister Sie wiedersehen möchte,")
say("wenn Sie Level 15 erreicht haben.")
say("")
say("Das war dann auch alles, auf Wiedersehen!")
say("")
local s = select("Bye")
if s == 1 then
pet.unsummon(39101)
set_state(__COMPLETE__)
set_quest_state("level_2", "run")
else
pet.unsummon(39101)
set_state(__COMPLETE__)
set_quest_state("level_2", "run")
end
end
end
--state __COMPLETE0__ begin
-- when enter begin
-- pet.unsummon(39101)
-- set_state(__COMPLETE__)
-- end
--end
state __COMPLETE__ begin
when enter begin
--q.done()
end
end
end
|
Suche immernoch Hilfe.
|
|
|
07/19/2015, 18:06
|
#11783
|
elite*gold: 1
Join Date: Jan 2013
Posts: 899
Received Thanks: 689
|
Guten Tag,
Ich habe eine Quest für die Lehrlingstruhen eingefügt.
Quest im Spoiler!
quest truhen_zero begin
state start begin
when login begin
notice_all("Wir begrüßen "..pc.get_name().." auf UnrealReality2")
end
when 50187.use begin -- Lehrlingstruhe I
local weapon = 15
local gear = 11205
local hat = 12205
local shield = 13005
local jewel1 = 14005
local jewel2 = 17005
local jewel3 = 16005
local shoes = 15005
local mount = 52001
local pet = 53003
if pc.get_job() == 1 then -- Dolch+0
weapon = 1005
gear = 11405
hat = 12345
elseif pc.get_job() == 2 then
gear = 11605
hat = 12485
elseif pc.get_job() == 3 then -- Fächer +0
weapon = 7005
gear = 11805
hat = 12625
end
local item_count = pc.countitem(weapon)
local equip_weapon = pc.weapon
if item_count == 0 and equip_weapon != weapon then
pc.give_item2(weapon) -- jobtype Waffe
pc.give_item2(gear) --Rüstung
pc.give_item2(hat) --Helm
pc.give_item2(shield) --Schild
pc.give_item2(jewel1) --Ring
pc.give_item2(jewel2) --Ohrring
pc.give_item2(jewel3) --Kette
pc.give_item2(shoes) --Schuhe
pc.give_item2(mount) --Reittier
pc.give_item2(pet) --Gefährte
pc.give_item2(50188, 1) -- Lehrlingstruhe II
pc.give_item2(27051, 20) -- Roter Trank (k) B
pc.give_item2(27052, 10) -- Blauer Trank (k) B
pc.give_item2(27053, 5) -- Grüner Trank (k) B
pc.give_item2(27054, 5) -- Violetter trank (k) B
item.remove()
end
end
when 50188.use begin
if pc.get_level() >= 10 then
pc.give_item2(72723, 1) -- Elixier der Sonne (K)
pc.give_item2(70024, 1) --Seelenkugel
pc.give_item2(27116, 3) -- Grüner Trank (M) (3x)
pc.give_item2(71050, 3) -- Geschwindigkeitstrank (3x)
pc.give_item2(71004, 3) -- Medaille des Drachen (3x)
pc.give_item2(50189, 1) -- Lehrlingstruhe III
pc.remove_item(50188, 1) -- Lehrlingstruhe II verschwindet aus dem Inventar
else
syschat("Dein Level ist zu niedrig, um diesen Gegenstand zu benutzen.")
end
end
when 50189.use begin
if pc.get_level() >= 20 then
pc.give_item2(72727, 1) -- Elixier des Mondes (K)
pc.give_item2(27116, 3) -- Grüner Trank (M) (3x)
pc.give_item2(71050, 3) -- Geschwindigkeitstrank (3x)
pc.give_item2(76006, 1) -- Kompass des Metinsteins
pc.give_item2(71085, 3) -- Gegenstand verstärken (3x)
pc.give_item2(71084, 3) -- Gegenstand verzaubern (3x)
pc.give_item2(50190, 1) -- Expertentruhe I
pc.remove_item(50189, 1) -- Lehrlingstruhe III verschwindet aus dem Inventar
else
syschat("Dein Level ist zu niedrig, um diesen Gegenstand zu benutzen.")
end
end
when 50190.use begin
if pc.get_level() >= 30 then
pc.give_item2(71050, 3) -- Geschwindigkeitstrank (3x)
pc.give_item2(76018, 3) -- Trank des Angriffs +15 (3x)
pc.give_item2(25040, 5) -- Segensschriftrolle (5x)
pc.give_item2(70003, 1) -- Buch des Anführers (1h)
pc.give_item2(50191, 1) -- Expertentruhe II
pc.remove_item(50190, 1) -- Expertentruhe I verschwindet aus dem Inventar
else
syschat("Dein Level ist zu niedrig, um diesen Gegenstand zu benutzen.")
end
end
when 50191.use begin
if pc.get_level() >= 40 then
pc.give_item2(39031, 3) -- Trank der Hast (3x)
pc.give_item2(76018, 3) -- Trank des Angriffs +15 (3x)
pc.give_item2(71153, 1) -- Trank der Weisheit (1x)
pc.give_item2(70003, 1) -- Buch des Anführers (1h)
pc.give_item2(50192, 1) -- Expertentruhe III
pc.remove_item(50191, 1) -- Expertentruhe II verschwindet aus dem Inventar
else
syschat("Dein Level ist zu niedrig, um diesen Gegenstand zu benutzen.")
end
end
when 50192.use begin
if pc.get_level() >= 50 then
pc.give_item2(70038, 20) -- Tapferkeitsumhang (20x)
pc.give_item2(39031, 3) -- Trank der Hast (3x)
pc.give_item2(76018, 3) -- Trank des Angriffs +15 (3x)
pc.give_item2(71095, 5) -- Passierschein (5x)
pc.give_item2(70058, 1) -- Teleportationsring
pc.give_item2(50193, 1) -- Meistertruhe I
pc.remove_item(50192, 1) -- Expertentruhe III verschwindet aus dem Inventar
else
syschat("Dein Level ist zu niedrig, um diesen Gegenstand zu benutzen.")
end
end
when 50193.use begin
if pc.get_level() >= 60 then
pc.give_item2(71032, 3) -- Schriftrolle des Drachens (3x)
pc.give_item2(76018, 3) -- Trank des Angriffs +15 (3x)
pc.give_item2(76000, 5) -- Pfirsichblütenwein (5x)
pc.give_item2(39031, 3) -- Trank der Hast (3x)
pc.give_item2(50194, 1) -- Meistertruhe II
pc.remove_item(50193, 1) -- Meistertruhe I verschwindet aus dem Inventar
else
syschat("Dein Level ist zu niedrig, um diesen Gegenstand zu benutzen.")
end
end
when 50194.use begin
if pc.get_level() >= 70 then
pc.give_item2(50195, 1) -- Meistertruhe III
pc.remove_item(50194, 1) -- Meistertruhe II verschwindet aus dem Inventar
else
syschat("Dein Level ist zu niedrig, um diesen Gegenstand zu benutzen.")
end
end
when 50195.use begin
if pc.get_level() >= 80 then
pc.give_item2(50196, 1) -- Großmeistertruhe
pc.remove_item(50195, 1) -- Meistertruhe III verschwindet aus dem Inventar
else
syschat("Dein Level ist zu niedrig, um diesen Gegenstand zu benutzen.")
end
end
when 50196.use begin
if pc.get_level() >= 90 then
pc.remove_item(50196, 1) -- Großmeistertruhe verschwindet aus dem Inventar
else
syschat("Dein Level ist zu niedrig, um diesen Gegenstand zu benutzen.")
end
end
end
end
Nun also mein Problem ist, das die Lehrlingstruhe I (50187) nur bei Krieger und Sura geht. Bei Shami und Ninja steht : "Du hast nichts erhalten"
|
|
|
07/19/2015, 22:36
|
#11784
|
elite*gold: 0
Join Date: Apr 2012
Posts: 8
Received Thanks: 0
|
#Solved
|
|
|
07/19/2015, 22:57
|
#11785
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Quote:
Originally Posted by 7ason
Error >< ؟!
ring_normal.quest:173:syntax error : [string "start"]:53: `then' expected near `the'
Abort (core dumped)
PHP Code:
quest ring_normal begin
state start begin
when 40003.use begin
local empire = pc.get_empire()
if empire==1 then
say_title(" خاتم الناقل ")
say(" ")
say(" اختر الخريطه التي تود الذهاب اليها ")
say(" ")
a=select(" يونغان " ," يايانغ " ," الوادي " ," الصحراء "," جبل سوهان "," التالي "," الغاء ")
if 1==a then
pc.warp(469300, 964200)
elseif 2==a then
pc.warp(360800, 877600)
elseif 3==a then
pc.warp(336000, 755600)
elseif 4==a then
pc.warp(296800, 547400)
elseif 5==a then
pc.warp(436400, 215600)
elseif 6==a then
aa=select(" الغابة " ," ارض النار " ," كهف اللعنة " ," برج العناكب "," برج الشياطين "," خروج ")
if 1==aa then
sss=select(" بداية الغابة " , " وسط الغابة " , " نهاية الغابة " , " غابة الأشباح " , " إلغاء الأمر ")
if 1==sss then
pc.warp(1.0496e+06, 200)
elseif 2==sss then
pc.warp(1.1006e+06, 31100)
elseif 3==sss then
pc.warp(1.1181e+06, 8600)
elseif 4==sss then
pc.warp(288700, 5700)
end
elseif 2==aa then
pc.warp(730700, 689800)
elseif 3==aa then
ss=select(" بوابة كهف اللعنة " , " كهف اللعنة الدور الأول " , " كهف اللنة الدور الثاني " , " إلغاء الأمر ")
if 1==ss then
pc.warp(284400, 810700)
elseif 2==ss then
pc.warp(10000, 1.225e+06)
elseif 3==ss then
pc.warp(136400, 1.3437e+06)
end
elseif 4==aa then
hs=select(" العناكب الاول " , " وسط العناكب الاول " , " العناكب الثاني " , " وسط العناكب الثاني " , " خروج ")
if 1==hs then
pc.warp(59800, 497300)
elseif 2==hs then
pc.warp(92300, 525500)
elseif 3==hs then
pc.warp(704100, 464000)
elseif 4==hs then
pc.warp(704100, 521900)
end
elseif 5==aa the
pc.warp(590500, 110500)
end
end
elseif empire==2 then
say_title(" خاتم الناقل ")
say(" ")
say(" اختر الخريطه التي تود الذهاب اليها ")
say(" ")
a=select(" جوان " ," بوكيونغ " ," الوادي " ," الصحراء "," جبل سوهان "," التالي "," الغاء ")
if 1==a then
pc.warp(55700 , 157900)
elseif 2==a then
pc.warp(138500 , 234900)
elseif 3==a then
pc.warp(336000 , 755600)
elseif 4==a then
pc.warp(296800 , 547400)
elseif 5==a then
pc.warp(436400 , 215600)
elseif 6==a then
aa=select(" الغابة " ," ارض النار " ," كهف اللعنة " ," برج العناكب "," برج الشياطين "," خروج ")
if 1==aa then
sss=select(" بداية الغابة " , " وسط الغابة " , " نهاية الغابة " , " غابة الأشباح " , " إلغاء الأمر ")
if 1==sss then
pc.warp(1.0496e+06, 200)
elseif 2==sss then
pc.warp(1.1006e+06, 31100)
elseif 3==sss then
pc.warp(1.1181e+06, 8600)
elseif 4==sss then
pc.warp(288700, 5700)
end
elseif 2==aa then
pc.warp(730700, 689800)
elseif 3==aa then
ss=select(" بوابة كهف اللعنة " , " كهف اللعنة الدور الأول " , " كهف اللنة الدور الثاني " , " إلغاء الأمر ")
if 1==ss then
pc.warp(284400, 810700)
elseif 2==ss then
pc.warp(10000, 1.225e+06)
elseif 3==ss then
pc.warp(136400, 1.3437e+06)
end
elseif 4==aa then
hs=select(" العناكب الاول " , " وسط العناكب الاول " , " العناكب الثاني " , " وسط العناكب الثاني " , " خروج ")
if 1==hs then
pc.warp(59800, 497300)
elseif 2==hs then
pc.warp(92300, 525500)
elseif 3==hs then
pc.warp(704100, 464000)
elseif 4==hs then
pc.warp(704100, 521900)
end
elseif 5==aa the
pc.warp(590500, 110500)
end
end
elseif empire==3 then
say_title(" خاتم الناقل ")
say(" ")
say(" اختر الخريطه التي تود الذهاب اليها ")
say(" ")
a=select(" بيونغمو " ," باكرا " ," الوادي " ," الصحراء "," جبل سوهان "," التالي "," الغاء ")
if 1==a then
pc.warp(969600, 278400)
elseif 2==a then
pc.warp(873100, 242600)
elseif 3==a then
pc.warp(336000, 755600)
elseif 4==a then
pc.warp(296800, 547400)
elseif 5==a then
pc.warp(436400, 215600)
elseif 6==a then
aa=select(" الغابة " ," ارض النار " ," كهف اللعنة " ," برج العناكب "," برج الشياطين "," خروج ")
if 1==aa then
sss=select(" بداية الغابة " , " وسط الغابة " , " نهاية الغابة " , " غابة الأشباح " , " إلغاء الأمر ")
if 1==sss then
pc.warp(1.0496e+06, 200)
elseif 2==sss then
pc.warp(1.1006e+06, 31100)
elseif 3==sss then
pc.warp(1.1181e+06, 8600)
elseif 4==sss then
pc.warp(288700, 5700)
end
elseif 2==aa then
pc.warp(730700, 689800)
elseif 3==aa then
ss=select(" بوابة كهف اللعنة " , " كهف اللعنة الدور الأول " , " كهف اللنة الدور الثاني " , " إلغاء الأمر ")
if 1==ss then
pc.warp(284400, 810700)
elseif 2==ss then
pc.warp(10000, 1.225e+06)
elseif 3==ss then
pc.warp(136400, 1.3437e+06)
end
elseif 4==aa then
hs=select(" العناكب الاول " , " وسط العناكب الاول " , " العناكب الثاني " , " وسط العناكب الثاني " , " خروج ")
if 1==hs then
pc.warp(59800, 497300)
elseif 2==hs then
pc.warp(92300, 525500)
elseif 3==hs then
pc.warp(704100, 464000)
elseif 4==hs then
pc.warp(704100, 521900)
end
elseif 5==aa the
pc.warp(590500, 110500)
end
end
end --empire
end --when
end --state
end --quest
|
Ohne die quest anzuschauen würde ich sagen dass irgendwo anstatt then the steht
|
|
|
07/20/2015, 01:00
|
#11786
|
elite*gold: 1
Join Date: Jan 2013
Posts: 899
Received Thanks: 689
|
Mein Problem ist noch ungelöst.
|
|
|
07/20/2015, 16:43
|
#11787
|
elite*gold: 50
Join Date: Aug 2014
Posts: 508
Received Thanks: 201
|
Kann bei der Quest leider immer mehrer Effekte öffnen obwohl schon eins aktiv ist..Daher summieren sich die Bonis..
Kann jemand kontrollieren wieso das so ist?
Quest:
PHP Code:
quest pokemon begin
state start begin
when logout or login begin -- Bug fix für Logout und Login
if pc.getqf("pikachu") == 1 then
affect.remove_collect(1, 7500, 60*60*24*365*60)
affect.remove_collect(37, 10, 60*60*24*365*60) -- Effekt anpassen und höhe (KEINE ZEIT!) 53 = Effekt, 200 = Höhe!
pc.setqf("pikachu", 0)
chat("Dein Pickachu ist zurueckgekehrt!")
end
if pc.getqf("relaxo") == 1 then
affect.remove_collect(1, 7500, 60*60*24*365*60) -- Effekt anpassen und höhe (KEINE ZEIT!) 53 = Effekt, 200 = Höhe!
affect.remove_collect(27 , 15, 60*60*24*365*60) -- Effekt anpassen und höhe (KEINE ZEIT!) 53 = Effekt, 200 = Höhe!
pc.setqf("relaxo", 0)
chat("Dein Relaxo ist zurueckgekehrt!")
end
if pc.getqf("shiggy") == 1 then
affect.remove_collect(1, 7500, 60*60*24*365*60) -- Effekt anpassen und höhe (KEINE ZEIT!) 53 = Effekt, 200 = Höhe!
affect.remove_collect(16, 20, 60*60*24*365*60) -- Effekt anpassen und höhe (KEINE ZEIT!) 53 = Effekt, 200 = Höhe!
pc.setqf("shiggy", 0)
chat("Dein Shiggy ist zurueckgekehrt!")
end
if pc.getqf("bisasam") == 1 then
affect.remove_collect(1, 7500, 60*60*24*365*60) -- Effekt anpassen und höhe (KEINE ZEIT!) 53 = Effekt, 200 = Höhe!
affect.remove_collect(15, 20, 60*60*24*365*60) -- Effekt anpassen und höhe (KEINE ZEIT!) 53 = Effekt, 200 = Höhe!
pc.setqf("bisasam", 0)
chat("Dein Bisasam ist zurueckgekehrt!")
end
end
when 37100.use begin -- Pikachu
if pc.getqf("pikachu") == 0 then
chat("Du bist dran, Pikachu!") -- Info
cmdchat("pika") -- Effekt
pc.setqf("pikachu", 1) -- Questflag
affect.add_collect(1, 7500, 60*60*24*365*60) -- Effekt anpassen und höhe (KEINE ZEIT!) 53 = Effekt, 200 = Höhe!
affect.add_collect(37, 10, 60*60*24*365*60) -- Effekt anpassen und höhe (KEINE ZEIT!) 53 = Effekt, 200 = Höhe!
else
chat("Komm zurueck, Pikachu!")
affect.remove_collect(1, 7500, 60*60*24*365*60) -- Effekt anpassen und höhe (KEINE ZEIT!) 53 = Effekt, 200 = Höhe!
affect.remove_collect(37, 10, 60*60*24*365*60) -- Effekt anpassen und höhe (KEINE ZEIT!) 53 = Effekt, 200 = Höhe!
pc.setqf("pikachu", 0)
end
end
when 37101.use begin -- Relaxo
if pc.getqf("relaxo") == 0 then
chat("Du bist dran, Relaox!") -- Info
cmdchat("relaxo") -- Effekt
pc.setqf("relaxo", 1) -- Questflag
affect.add_collect(1, 7500, 60*60*24*365*60) -- Effekt anpassen und höhe (KEINE ZEIT!) 53 = Effekt, 200 = Höhe!
affect.add_collect(27, 15, 60*60*24*365*60) -- Effekt anpassen und höhe (KEINE ZEIT!) 53 = Effekt, 200 = Höhe!
else
chat("Komm zurueck, Relaxo!")
affect.remove_collect(1, 7500, 60*60*24*365*60) -- Effekt anpassen und höhe (KEINE ZEIT!) 53 = Effekt, 200 = Höhe!
affect.remove_collect(27, 15, 60*60*24*365*60) -- Effekt anpassen und höhe (KEINE ZEIT!) 53 = Effekt, 200 = Höhe!
pc.setqf("relaxo", 0)
end
end
when 37102.use begin -- Shiggy
if pc.getqf("shiggy") == 0 then
chat("Du bist dran, Shiggy!") -- Info
cmdchat("shiggy") -- Effekt
pc.setqf("shiggy", 1) -- Questflag
affect.add_collect(1, 7500, 60*60*24*365*60) -- Effekt anpassen und höhe (KEINE ZEIT!) 53 = Effekt, 200 = Höhe!
affect.add_collect(16, 20, 60*60*24*365*60) -- Effekt anpassen und höhe (KEINE ZEIT!) 53 = Effekt, 200 = Höhe!
else
chat("Komm zurueck, Shiggy!")
affect.remove_collect(1, 7500, 60*60*24*365*60) -- Effekt anpassen und höhe (KEINE ZEIT!) 53 = Effekt, 200 = Höhe!
affect.remove_collect(16, 20, 60*60*24*365*60) -- Effekt anpassen und höhe (KEINE ZEIT!) 53 = Effekt, 200 = Höhe!
pc.setqf("shiggy", 0)
end
end
when 37103.use begin -- Bisasam
if pc.getqf("bisasam") == 0 then
chat("Du bist dran, Bisasam!") -- Info
cmdchat("bisasam") -- Effekt
pc.setqf("bisasam", 1) -- Questflag
affect.add_collect(1, 7500, 60*60*24*365*60) -- Effekt anpassen und höhe (KEINE ZEIT!) 53 = Effekt, 200 = Höhe!
affect.add_collect(15, 20, 60*60*24*365*60) -- Effekt anpassen und höhe (KEINE ZEIT!) 53 = Effekt, 200 = Höhe!
else
chat("Komm zurueck, Bisasam!")
affect.remove_collect(1, 7500, 60*60*24*365*60) -- Effekt anpassen und höhe (KEINE ZEIT!) 53 = Effekt, 200 = Höhe!
affect.remove_collect(15, 20, 60*60*24*365*60) -- Effekt anpassen und höhe (KEINE ZEIT!) 53 = Effekt, 200 = Höhe
pc.setqf("bisasam", 0)
end
end
end
end
Mit freundlichen Grüßen
|
|
|
07/20/2015, 20:21
|
#11788
|
elite*gold: 0
Join Date: Sep 2013
Posts: 491
Received Thanks: 675
|
Quote:
Originally Posted by x"Kazuki
Kann bei der Quest leider immer mehrer Effekte öffnen obwohl schon eins aktiv ist..Daher summieren sich die Bonis..
Kann jemand kontrollieren wieso das so ist?
|
Habe lange nichts in LUA gemacht, deswegen teste mal ob es so geht.
Quest:
PHP Code:
quest pokemon begin state start begin function CheckForOthers(vnum) for k,v in pairs(pokemon.GetBonusTable()) do if pc.getqf("siegel"..k) == 1 and k~= vnum then return false else return true end end end function GetBonusTable() local Bonis = { [37100] = {1,7500,37,10}, --ID,WERT,ID,WERT [37101] = {1,7500,27,15}, [37102] = {1,7500,16,20}, [37103] = {1,7500,15,20} } return Bonis end when logout or login begin -- Bug fix für Logout und Login local Bonis = pokemon.GetBonusTable() for k,v in pairs(Bonis) do if pc.getqf("siegel"..k) == 1 then affect.remove_collect(v[1], v[2], 60*60*24*365*60) affect.remove_collect(v[3], v[4], 60*60*24*365*60) pc.setqf("siegel"..k, 0) end end end when 37100.use or 37101.use or 37102.use or 37103.use begin -- Pikachu local Bonis = pokemon.GetBonusTable() local Texte = { [37100] = {"Pikachu","pika"}, --Name,cmdchat [37101] = {"Relaxo","relaxo"}, [37102] = {"Shiggy","shiggy"}, [37103] = {"Bisasam","bisasam"} } local vnum = item.get_vnum() if not pokemon.CheckForOthers(vnum) then chat("Du hast bereits ein Pokemon gerufen.") return end if pc.getqf("siegel"..vnum) == 0 then affect.add_collect(Bonis[vnum][1], Bonis[vnum][2], 60*60*24*365*60) affect.add_collect(Bonis[vnum][3], Bonis[vnum][4], 60*60*24*365*60) pc.setqf("siegel"..vnum, 1) chat("Du bist dran, "..Texte[vnum][1].."!") cmdchat(Texte[vnum][2]) -- Effekt else affect.remove_collect(Bonis[vnum][1], Bonis[vnum][2], 60*60*24*365*60) affect.remove_collect(Bonis[vnum][3], Bonis[vnum][4], 60*60*24*365*60) pc.setqf("siegel"..vnum, 0) chat("Du bist dran, "..Texte[vnum][1].."!") end end end end
EDIT: Hatte nen kleinen Syntax Fehler habe den mal behoben.
|
|
|
07/23/2015, 18:30
|
#11789
|
elite*gold: 110
Join Date: Jun 2015
Posts: 85
Received Thanks: 22
|
Problemm mit Skyrun quest
Hallo Habe ein problemm wenn ich die metins von 8040 bis 8033 gekillt habe tut sicht nix ingame kommt dann naricht das ich die kreaturen töten soll kommt auch nix und ein NPC mit der value 20355 erscheint auch nicht
und wenn ich aus Skyrun mitten drin raus gehe in map 1 sagt er mir es sind noch 5 min verbleibende so zu sagen der run läuft dann weiter ich Bitte um hilfe wäre sehr nett von euch
PHP Code:
quest devildown begin
state start begin
when 30123.chat."Sky Run" begin
if pc.get_level() < 85 then
say ("Ich merke das du noch zu Schwach bist, komm zurück wenn du level 85 erreicht hast!.")
else
say_title("Sky - Run")
say("This run is abounds with monsters killers.")
say("Nur die stärksten kommen hoch zur Spitze!.")
say("Sie sagen dass die meisten die es Wagen")
say("die Herausforderung anzunehmen für immer Verschwunden sind")
say("Nimmst du die Herausforderung wirklich an?")
local s = select("JA", "NEIN")
if s == 1 then
pc.warp(1762200, 3535700)
else
return
end
end
end
when 8041.kill with pc.get_map_index()==240 begin
local jump1 = number(1, 20)
if jump1 <= 10 then
chat("Da ist der Goldene Ring.")
chat("Bring ihn zum NPC.")
game.drop_item(40001, 1)
else
chat("Du hast noch keinen Ring gedroppt..")
end
end
when 30121.chat."SkyRun" begin
if pc.count_item(40001) >= 1 then
say_title("Sky Man:")
say("Hast du den Goldenen Ring?")
say("Ich schaue ihn mir genauer an")
say("Respekt!, Das ist er!")
pc.removeitem("40001", 1)
wait()
say_title("Sky Man:")
say("Ich bin stolz auf dich!")
say("Ich bringe dich nun weiter!")
wait()
d.new_jump_all(240, 17174, 35233)
d.setf("devillevel", 1)
local boxto7= pc.count_item(40001)
pc.remove_item(40001, boxto7)
local vid = d.spawn_mob(8008, 111, 156)
d.regen_file("data/dungeon/sky_run/regen.txt")
d.set_unique("real", vid)
d.notice("Kämpft euch durch die Monster!!.");
d.notice("Bis ihr zum Meteroit der Seele gelangt.");
d.notice("Diesen müsst ihr Zerstören!!!.");
else
say_title("Sky Man:")
say("Um in die nächste Ebene zu kommen,")
say("musst du den Richtigen Metin,")
say("finden und zerstören.Viel Glück!")
end
end
when 8008.kill with pc.in_dungeon() begin
if d.is_unique_dead("real") then
d.setf("devillevel", 2)
d.clear_regen()
d.jump_all(17621, 35636)
d.regen_file("data/dungeon/sky_run/metins.txt")
end
end
when 8040.kill with pc.in_dungeon() begin
d.setf("devillevel", 3)
d.spawn_mob(8023, 613, 609)
end
when 8023.kill with pc.in_dungeon() begin
d.setf("devillevel", 4)
d.spawn_mob(8050, 621, 586)
end
when 8050.kill with pc.in_dungeon() begin
d.setf("devillevel", 5)
d.spawn_mob(8025, 588, 609)
end
when 8025.kill with pc.in_dungeon() begin
d.setf("devillevel", 6)
d.spawn_mob(8026, 569, 636)
end
when 8026.kill with pc.in_dungeon() begin
d.setf("devillevel", 7)
d.spawn_mob(8031, 588, 665)
end
when 8027.kill with pc.in_dungeon() begin
d.setf("devillevel", 8)
d.spawn_mob(8054, 622, 686)
end
when 8054.kill with pc.in_dungeon() begin
d.setf("devillevel", 9)
d.spawn_mob(8033, 659, 668)
end
when 8033.kill with pc.in_dungeon() begin
if d.is_unique_dead("real") then
d.notice("du hast denn letzten metin2 gekillt.");
d.regen_file("data/dungeon/sky_run/npc.txt")
d.spawn_mob(20355, 619, 635)
d.setf("devillevel", 10)
end
end
when 20355.chat."Last floor" begin
npc.purge()
say_reward("Guard:")
say("Go to last floor,good luck!!")
wait()
d.jump_all(17201, 35623)
d.regen_file("data/dungeon/sky_run/end.txt")
d.set_unique("real", vid)
end
when 2493.kill with pc.in_dungeon() begin
local level = pc.get_level()
chat("Glückwunsch! Du hast den Skyrun erfoglreich gemeistert!")
chat("Du kehrst in kürze in dein Reich zurück")
d.kill_all()
d.kill_all()
notice_all("Die gruppe von "..pc.get_name().." hat denn Skyrun bezwungen")
timer("goout_from_dc", 60)
end
when dc6.timer begin
chat("Du hast zu lange gebraucht, die Zeit ist um!")
warp_all_to_village( pc.get_map_index() , 5 )
end
when goout_from_dc.timer begin
warp_all_to_village( pc.get_map_index() , 3 )
end
end
end
|
|
|
07/25/2015, 08:57
|
#11790
|
elite*gold: 50
Join Date: Aug 2014
Posts: 508
Received Thanks: 201
|
Quote:
Originally Posted by .Kibito
Habe lange nichts in LUA gemacht, deswegen teste mal ob es so geht.
Quest:
PHP Code:
quest pokemon begin
state start begin
function CheckForOthers(vnum)
for k,v in pairs(pokemon.GetBonusTable()) do
if pc.getqf("siegel"..k) == 1 and k~= vnum then
return false
else
return true
end
end
end
function GetBonusTable()
local Bonis = {
[37100] = {1,7500,37,10}, --ID,WERT,ID,WERT
[37101] = {1,7500,27,15},
[37102] = {1,7500,16,20},
[37103] = {1,7500,15,20}
}
return Bonis
end
when logout or login begin -- Bug fix für Logout und Login
local Bonis = pokemon.GetBonusTable()
for k,v in pairs(Bonis) do
if pc.getqf("siegel"..k) == 1 then
affect.remove_collect(v[1], v[2], 60*60*24*365*60)
affect.remove_collect(v[3], v[4], 60*60*24*365*60)
pc.setqf("siegel"..k, 0)
end
end
end
when 37100.use or 37101.use or 37102.use or 37103.use begin -- Pikachu
local Bonis = pokemon.GetBonusTable()
local Texte = {
[37100] = {"Pikachu","pika"}, --Name,cmdchat
[37101] = {"Relaxo","relaxo"},
[37102] = {"Shiggy","shiggy"},
[37103] = {"Bisasam","bisasam"}
}
local vnum = item.get_vnum()
if not pokemon.CheckForOthers(vnum) then chat("Du hast bereits ein Pokemon gerufen.") return end
if pc.getqf("siegel"..vnum) == 0 then
affect.add_collect(Bonis[vnum][1], Bonis[vnum][2], 60*60*24*365*60)
affect.add_collect(Bonis[vnum][3], Bonis[vnum][4], 60*60*24*365*60)
pc.setqf("siegel"..vnum, 1)
chat("Du bist dran, "..Texte[vnum][1].."!")
cmdchat(Texte[vnum][2]) -- Effekt
else
affect.remove_collect(Bonis[vnum][1], Bonis[vnum][2], 60*60*24*365*60)
affect.remove_collect(Bonis[vnum][3], Bonis[vnum][4], 60*60*24*365*60)
pc.setqf("siegel"..vnum, 0)
chat("Du bist dran, "..Texte[vnum][1].."!")
end
end
end
end
EDIT: Hatte nen kleinen Syntax Fehler habe den mal behoben.
|
Bekomme beim Compilenden Fehler:
PHP Code:
Traceback (most recent call last):
File "make_quest", line 10, in <module>
r = pre_qc.run (line)
File "/usr/home/game/share/locale/germany/quest/pre_qc.py", line 159, in run
start = MakeParameterTable (lines, parameter_table, keys)
File "/usr/home/game/share/locale/germany/quest/pre_qc.py", line 149, in MakeParameterTable
return start
UnboundLocalError: local variable 'start' referenced before assignment
|
|
|
All times are GMT +1. The time now is 20:56.
|
|