|
You last visited: Today at 16:51
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
07/14/2016, 11:09
|
#12376
|
elite*gold: 20
Join Date: Sep 2012
Posts: 579
Received Thanks: 139
|
Quote:
Originally Posted by IzeBreakzz
Hey Com,
bräuchte dringend Hilfe bei einer Quest.
PHP 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 16091.click begin cmdchat("CraftingSystem Open/weapon") end when 16092.click begin cmdchat("CraftingSystem Open/armor") end when 16093.click begin cmdchat("CraftingSystem Open/juwelery") end when 16090.click begin cmdchat("CraftingSystem Open/legendary") 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("Da ist was falsch gelaufen...") 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 = { ["3209,1|0,0|0,0|3209,1|0,0|0,0|0,0|0,0|0,0"] = {7479, 1} -- Chuánqi Klinge-Rohling ["2379,1|0,0|0,0|2379,1|0,0|0,0|0,0|0,0|0,0"] = {7481, 1} -- Chuánqi Bogen-Rohling ["5339,1|0,0|0,0|5339,1|0,0|0,0|0,0|0,0|0,0"] = {7483, 1} -- Chuánqi Stab-Rohling ["1349,1|0,0|0,0|1349,1|0,0|0,0|0,0|0,0|0,0"] = {7485, 1} -- Chuánqi Dolche-Rohling ["239,1|0,0|0,0|239,1|0,0|0,0|0,0|0,0|0,0"] = {7487, 1} -- Chuánqi Schwert-Rohling ["7189,1|0,0|0,0|7189,1|0,0|0,0|0,0|0,0|0,0"] = {7489, 1} -- Chuánqi Fächer-Rohling ["269,1|0,0|0,0|269,1|0,0|0,0|0,0|0,0|0,0"] = {7491, 1} -- Chuánqi Magieschwert-Rohling ["7409,1|0,0|0,0|7409,1|0,0|0,0|0,0|0,0|0,0"] = {7480, 1} -- Kaiseraxt-Rohling ["7419,1|0,0|0,0|7419,1|0,0|0,0|0,0|0,0|0,0"] = {7482, 1} -- Kaiserbogen-Rohling ["7429,1|0,0|0,0|7429,1|0,0|0,0|0,0|0,0|0,0"] = {7484, 1} -- Kaiserstab-Rohling ["7439,1|0,0|0,0|7439,1|0,0|0,0|0,0|0,0|0,0"] = {7486, 1} -- Kaiserdolche-Rohling ["7449,1|0,0|0,0|7449,1|0,0|0,0|0,0|0,0|0,0"] = {7488, 1} -- Kaiserschwert-Rohling ["7459,1|0,0|0,0|7459,1|0,0|0,0|0,0|0,0|0,0"] = {7490, 1} -- Kaiserfächer-Rohling ["7469,1|0,0|0,0|7469,1|0,0|0,0|0,0|0,0|0,0"] = {7492, 1} -- Kaisermagieschwert-Rohling ["42019,1|0,0|0,0|42019,1|0,0|0,0|0,0|0,0|0,0"] = {42050, 1} -- Chuánqi-Panzer Rohling ["44019,1|0,0|0,0|44019,1|0,0|0,0|0,0|0,0|0,0"] = {44050, 1} -- Chuánqi-Anzug Rohling ["46019,1|0,0|0,0|46019,1|0,0|0,0|0,0|0,0|0,0"] = {46050, 1} -- Chuánqi-Rüstung Rohling ["48019,1|0,0|0,0|48019,1|0,0|0,0|0,0|0,0|0,0"] = {48050, 1} -- Chuánqi-Kleidung Rohling ["42069,1|0,0|0,0|42069,1|0,0|0,0|0,0|0,0|0,0"] = {42051, 1} -- Kaiser-Panzer Rohling ["44069,1|0,0|0,0|44069,1|0,0|0,0|0,0|0,0|0,0"] = {44051, 1} -- Kaiser-Anzug Rohling ["46069,1|0,0|0,0|46069,1|0,0|0,0|0,0|0,0|0,0"] = {46051, 1} -- Kaiser-Rüstung Rohling ["48069,1|0,0|0,0|48069,1|0,0|0,0|0,0|0,0|0,0"] = {48051, 1} -- Kaiser-Kleidung Rohling ["13369,1|0,0|0,0|13369,1|0,0|0,0|0,0|0,0|0,0"] = {13606, 1} -- DämonenJägerhelm-Rohling ["13359,1|0,0|0,0|13359,1|0,0|0,0|0,0|0,0|0,0"] = {13701, 1} -- Jaktohelm-Rohling ["12909,1|0,0|0,0|12909,1|0,0|0,0|0,0|0,0|0,0"] = {13604, 1} -- Ritterhelm-Rohling ["12809,1|0,0|0,0|12809,1|0,0|0,0|0,0|0,0|0,0"] = {13602, 1} -- Himmelshelm-Rohling ["13219,1|0,0|0,0|13219,1|0,0|0,0|0,0|0,0|0,0"] = {13600, 1} -- Dämonenkönighelm-Rohling ["17119,1|0,0|0,0|17119,1|0,0|0,0|0,0|0,0|0,0"] = {13605, 1} -- Schwarzhelm-Rohling ["13139,1|0,0|0,0|13139,1|0,0|0,0|0,0|0,0|0,0"] = {13601, 1} -- Capterhelm-Rohling ["13909,1|0,0|0,0|13909,1|0,0|0,0|0,0|0,0|0,0"] = {13603, 1} -- Jägerhelm-Rohling ["13209,1|0,0|0,0|13209,1|0,0|0,0|0,0|0,0|0,0"] = {13607, 1} -- Halsblau-Rohling ["13309,1|0,0|0,0|13309,1|0,0|0,0|0,0|0,0|0,0"] = {13608, 1} -- Armbandblau-Rohling ["13339,1|0,0|0,0|13339,1|0,0|0,0|0,0|0,0|0,0"] = {13702, 1} -- Ohrringblau-Rohling ["14449,1|0,0|0,0|14449,1|0,0|0,0|0,0|0,0|0,0"] = {13704, 1} -- SchwarzLederschuhe-Rohling ["13319,1|0,0|0,0|13319,1|0,0|0,0|0,0|0,0|0,0"] = {13607, 1} -- Halsgrün-Rohling ["13399,1|0,0|0,0|13399,1|0,0|0,0|0,0|0,0|0,0"] = {13700, 1} -- Armbandgrün-Rohling ["12609,1|0,0|0,0|12609,1|0,0|0,0|0,0|0,0|0,0"] = {13703, 1} -- Ohrringgrün-Rohling ["11199,1|0,0|0,0|11199,1|0,0|0,0|0,0|0,0|0,0"] = {13705, 1} -- Metallschuhe-Rohling } 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]=="WRONG_WEARFLEG" then syschat("Das ist nicht der richtige Schmied um diesen Gegenstand zu verbessern") return 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("Da ist was falsch gelaufen...") return end else cmdchat("CraftingSystem craftitem/0/0") syschat("Da ist was falsch gelaufen...") 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
Bei der Quest soll man Items per craftingwindow hoch ziehen können. Wenn ich die Quest aber so einfüge, zeigt er mir folgenden Fehler:
PHP Code:
craftingwindow.quest:141:syntax error : [string "start"]:22: `}' expected (to close `{' at line 20) near `[' Error occured on compile craftingwindow.quest
Zudem ist das Problem dass ich die sachen die eig. nur beim legendary typ geuppt werden sollen auch beim waffen schmied gehen.
Wäre echt stark wenn mir jemand bei dem problem helfen könnte.
|
Brauche wirklich dringend Hilfe. Keiner eine Idee?
|
|
|
07/14/2016, 13:45
|
#12377
|
elite*gold: 0
Join Date: Jun 2016
Posts: 7
Received Thanks: 4
|
Quote:
Originally Posted by IzeBreakzz
Brauche wirklich dringend Hilfe. Keiner eine Idee?
|
Nach jedem Eintrag im Table "CRAFTING_POSSIBILITIES" muss ein Komma
|
|
|
07/15/2016, 13:42
|
#12378
|
elite*gold: 20
Join Date: Sep 2012
Posts: 579
Received Thanks: 139
|
Quote:
Originally Posted by new Account("Undercover")
Nach jedem Eintrag im Table "CRAFTING_POSSIBILITIES" muss ein Komma
|
Habe ich schon probiert. Dann geht zwar die Quest. Aber ingame passiert nichts wenn ich die Items in das Craftingfenster ziehe.
|
|
|
07/17/2016, 13:22
|
#12379
|
elite*gold: 0
Join Date: Apr 2012
Posts: 336
Received Thanks: 258
|
Wollte eben die Quest einfügen
PHP Code:
quest warpring begin state start begin when 70058.use begin local warp = {--koord Pflicht, rest optional! {--Map1 name = "Map 1", {--Rotes Reich name = "Rotes Reich", koord = {965784, 275242}, minlevel = 1, }, goldneed = 1000 }, {--Gelbes Reich name = "Gelbes Reich", koord = {965784, 275242}, minlevel = 1, }, goldneed = 1000 }, {--Blaues Reich name = "Blaues Reich", koord = {965784, 275242}, minlevel = 1, }, goldneed = 1000 }, }, {--Levelmaps name = "Levelmaps", {--Spinnendungeon name = "Spinnendungeon", koord = {600, 4970}, minlevel = 60, }, goldneed = 100000 }, {--Spinnendungeon 2 name = "Spinnendungeon 2", koord = {6656, 4352}, minlevel = 80, }, goldneed = 200000 }, {--Grotte name = "Grotte", koord = {1536, 12032}, minlevel = 100, }, goldneed = 300000 }, {--Donnerberge name = "Donenrberge", koord = {11345, 16546}, minlevel = 120, }, goldneed = 400000 }, {--Nephritbucht name = "Nephritbucht", koord = {10869, 16558}, minlevel = 140, }, goldneed = 500000 }, {--Gautamakliff name = "Gautamakliff", koord = {12263, 16811}, minlevel = 160, }, goldneed = 7500000 }, {--Kap name = "Kap", koord = {11043, 17885}, minlevel = 180, }, goldneed = 10000000 }, }, } warpring.showwarps(warp) end function warp(tbl) local level = pc.get_level() if tbl.minlevel and level < tbl.minlevel then say("Dein Level ist zu niedrig, um diese Map zu betreten.") say("Minimal Level: "..tbl.minlevel) select("Abbrechen") return elseif tbl.maxlevel and level > tbl.maxlevel then say("Dein Level ist zu hoch, um diese Map zu betreten.") say("Maximal Level: "..tbl.maxlevel) select("Abbrechen") return end while not pc.can_warp() do say("Du kannst dich noch nicht teleportieren, da du in") say("den letzten 10 Sekunden gehandelt hast.") if select("Erneut versuchen", "Abbrechen") == 2 then return end end local warpneedstrings = warpring.get_warpneedstrings(tbl) if table.getn(warpneedstrings) > 0 then say("Um diese Map zu betreten benötigst du folgende") say("Dinge:") for _,v in ipairs(warpneedstrings) do say(v) end say("") say("Möchtest du trotzdem fortfahren?") if select("Teleportieren", "Abbrechen") == 2 then return end end if not warpring.check_and_remove_warpneeds(tbl) then say("Dir fehlt mindestens eins der benötigten Dinge.") select("Abbrechen") return end pc.warp(tbl.koord[1], tbl.koord[2]) end function get_warpneedstrings(tbl) local warpneeds = {} if tbl.itemneed and table.getn(tbl.itemneed) > 0 then for _,v in ipairs(tbl.itemneed) do table.insert(warpneeds, "- "..v[2].."x "..item_name(v[1])) end end if tbl.goldneed and tbl.goldneed > 0 then table.insert(warpneeds, "- "..tbl.goldneed.." Yang") end return warpneeds end function check_warpneeds(tbl) if tbl.itemneed and table.getn(tbl.itemneed) > 0 then for _,v in ipairs(tbl.itemneed) do if pc.count_item(v[1]) < v[2] then return false end end end if tbl.goldneed and tbl.goldneed > 0 then if pc.get_gold() < tbl.goldneed then return false end end return true end function remove_warpneeds(tbl) if tbl.itemneed and table.getn(tbl.itemneed) > 0 then for _,v in ipairs(tbl.itemneed) do pc.remove_item(v[1], v[2]) end end if tbl.goldneed and tbl.goldneed > 0 then pc.change_gold(-tbl.goldneed) end end function check_and_remove_warpneeds(tbl) if not warpring.check_warpneeds(tbl) then return false end warpring.remove_warpneeds(tbl) return true end function get_warpnames(tbl) local level = pc.get_level() local names = {} for _,v in ipairs(tbl) do if v.minlevel and level < v.minlevel then v.name = v.name.." (ab Lv. "..v.minlevel..")" elseif v.maxlevel and level > v.maxlevel then v.name = v.name.." (bis Lv. "..v.maxlevel..")" end table.insert(names, v.name) end return names end function showwarps(tbl) local warpnames = warpring.get_warpnames(tbl) local s = tbl[select3(warpnames)] or false if not s then return end if s.koord then warpring.warp(s) return end warpring.showwarps(s) end end end
Dann kommt aber dieser Fehler:
warpring.quest:86:syntax error : [string "start"]:26: unexpected symbol near `='
Abort trap (core dumped)
|
|
|
07/17/2016, 17:31
|
#12380
|
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
|
Deine } Setzung schaut komisch aus, die würde ich an deiner Stelle mal überarbeiten
für mich hast du zuviele schließende Klammern drin.
Quote:
Originally Posted by .DarthNeno
Wollte eben die Quest einfügen
PHP Code:
quest warpring begin state start begin when 70058.use begin local warp = {--koord Pflicht, rest optional! {--Map1 name = "Map 1", {--Rotes Reich name = "Rotes Reich", koord = {965784, 275242}, minlevel = 1, }, goldneed = 1000 }, {--Gelbes Reich name = "Gelbes Reich", koord = {965784, 275242}, minlevel = 1, }, goldneed = 1000 }, {--Blaues Reich name = "Blaues Reich", koord = {965784, 275242}, minlevel = 1, }, goldneed = 1000 }, }, {--Levelmaps name = "Levelmaps", {--Spinnendungeon name = "Spinnendungeon", koord = {600, 4970}, minlevel = 60, }, goldneed = 100000 }, {--Spinnendungeon 2 name = "Spinnendungeon 2", koord = {6656, 4352}, minlevel = 80, }, goldneed = 200000 }, {--Grotte name = "Grotte", koord = {1536, 12032}, minlevel = 100, }, goldneed = 300000 }, {--Donnerberge name = "Donenrberge", koord = {11345, 16546}, minlevel = 120, }, goldneed = 400000 }, {--Nephritbucht name = "Nephritbucht", koord = {10869, 16558}, minlevel = 140, }, goldneed = 500000 }, {--Gautamakliff name = "Gautamakliff", koord = {12263, 16811}, minlevel = 160, }, goldneed = 7500000 }, {--Kap name = "Kap", koord = {11043, 17885}, minlevel = 180, }, goldneed = 10000000 }, }, } warpring.showwarps(warp) end function warp(tbl) local level = pc.get_level() if tbl.minlevel and level < tbl.minlevel then say("Dein Level ist zu niedrig, um diese Map zu betreten.") say("Minimal Level: "..tbl.minlevel) select("Abbrechen") return elseif tbl.maxlevel and level > tbl.maxlevel then say("Dein Level ist zu hoch, um diese Map zu betreten.") say("Maximal Level: "..tbl.maxlevel) select("Abbrechen") return end while not pc.can_warp() do say("Du kannst dich noch nicht teleportieren, da du in") say("den letzten 10 Sekunden gehandelt hast.") if select("Erneut versuchen", "Abbrechen") == 2 then return end end local warpneedstrings = warpring.get_warpneedstrings(tbl) if table.getn(warpneedstrings) > 0 then say("Um diese Map zu betreten benötigst du folgende") say("Dinge:") for _,v in ipairs(warpneedstrings) do say(v) end say("") say("Möchtest du trotzdem fortfahren?") if select("Teleportieren", "Abbrechen") == 2 then return end end if not warpring.check_and_remove_warpneeds(tbl) then say("Dir fehlt mindestens eins der benötigten Dinge.") select("Abbrechen") return end pc.warp(tbl.koord[1], tbl.koord[2]) end function get_warpneedstrings(tbl) local warpneeds = {} if tbl.itemneed and table.getn(tbl.itemneed) > 0 then for _,v in ipairs(tbl.itemneed) do table.insert(warpneeds, "- "..v[2].."x "..item_name(v[1])) end end if tbl.goldneed and tbl.goldneed > 0 then table.insert(warpneeds, "- "..tbl.goldneed.." Yang") end return warpneeds end function check_warpneeds(tbl) if tbl.itemneed and table.getn(tbl.itemneed) > 0 then for _,v in ipairs(tbl.itemneed) do if pc.count_item(v[1]) < v[2] then return false end end end if tbl.goldneed and tbl.goldneed > 0 then if pc.get_gold() < tbl.goldneed then return false end end return true end function remove_warpneeds(tbl) if tbl.itemneed and table.getn(tbl.itemneed) > 0 then for _,v in ipairs(tbl.itemneed) do pc.remove_item(v[1], v[2]) end end if tbl.goldneed and tbl.goldneed > 0 then pc.change_gold(-tbl.goldneed) end end function check_and_remove_warpneeds(tbl) if not warpring.check_warpneeds(tbl) then return false end warpring.remove_warpneeds(tbl) return true end function get_warpnames(tbl) local level = pc.get_level() local names = {} for _,v in ipairs(tbl) do if v.minlevel and level < v.minlevel then v.name = v.name.." (ab Lv. "..v.minlevel..")" elseif v.maxlevel and level > v.maxlevel then v.name = v.name.." (bis Lv. "..v.maxlevel..")" end table.insert(names, v.name) end return names end function showwarps(tbl) local warpnames = warpring.get_warpnames(tbl) local s = tbl[select3(warpnames)] or false if not s then return end if s.koord then warpring.warp(s) return end warpring.showwarps(s) end end end
Dann kommt aber dieser Fehler:
warpring.quest:86:syntax error : [string "start"]:26: unexpected symbol near `='
Abort trap (core dumped)
|
|
|
|
07/18/2016, 13:02
|
#12381
|
elite*gold: 0
Join Date: May 2010
Posts: 294
Received Thanks: 157
|
Quote:
Originally Posted by .DarthNeno
Wollte eben die Quest einfügen
PHP Code:
quest warpring begin state start begin when 70058.use begin local warp = {--koord Pflicht, rest optional! {--Map1 name = "Map 1", {--Rotes Reich name = "Rotes Reich", koord = {965784, 275242}, minlevel = 1, }, goldneed = 1000 }, {--Gelbes Reich name = "Gelbes Reich", koord = {965784, 275242}, minlevel = 1, }, goldneed = 1000 }, {--Blaues Reich name = "Blaues Reich", koord = {965784, 275242}, minlevel = 1, }, goldneed = 1000 }, }, {--Levelmaps name = "Levelmaps", {--Spinnendungeon name = "Spinnendungeon", koord = {600, 4970}, minlevel = 60, }, goldneed = 100000 }, {--Spinnendungeon 2 name = "Spinnendungeon 2", koord = {6656, 4352}, minlevel = 80, }, goldneed = 200000 }, {--Grotte name = "Grotte", koord = {1536, 12032}, minlevel = 100, }, goldneed = 300000 }, {--Donnerberge name = "Donenrberge", koord = {11345, 16546}, minlevel = 120, }, goldneed = 400000 }, {--Nephritbucht name = "Nephritbucht", koord = {10869, 16558}, minlevel = 140, }, goldneed = 500000 }, {--Gautamakliff name = "Gautamakliff", koord = {12263, 16811}, minlevel = 160, }, goldneed = 7500000 }, {--Kap name = "Kap", koord = {11043, 17885}, minlevel = 180, }, goldneed = 10000000 }, }, } warpring.showwarps(warp) end function warp(tbl) local level = pc.get_level() if tbl.minlevel and level < tbl.minlevel then say("Dein Level ist zu niedrig, um diese Map zu betreten.") say("Minimal Level: "..tbl.minlevel) select("Abbrechen") return elseif tbl.maxlevel and level > tbl.maxlevel then say("Dein Level ist zu hoch, um diese Map zu betreten.") say("Maximal Level: "..tbl.maxlevel) select("Abbrechen") return end while not pc.can_warp() do say("Du kannst dich noch nicht teleportieren, da du in") say("den letzten 10 Sekunden gehandelt hast.") if select("Erneut versuchen", "Abbrechen") == 2 then return end end local warpneedstrings = warpring.get_warpneedstrings(tbl) if table.getn(warpneedstrings) > 0 then say("Um diese Map zu betreten benötigst du folgende") say("Dinge:") for _,v in ipairs(warpneedstrings) do say(v) end say("") say("Möchtest du trotzdem fortfahren?") if select("Teleportieren", "Abbrechen") == 2 then return end end if not warpring.check_and_remove_warpneeds(tbl) then say("Dir fehlt mindestens eins der benötigten Dinge.") select("Abbrechen") return end pc.warp(tbl.koord[1], tbl.koord[2]) end function get_warpneedstrings(tbl) local warpneeds = {} if tbl.itemneed and table.getn(tbl.itemneed) > 0 then for _,v in ipairs(tbl.itemneed) do table.insert(warpneeds, "- "..v[2].."x "..item_name(v[1])) end end if tbl.goldneed and tbl.goldneed > 0 then table.insert(warpneeds, "- "..tbl.goldneed.." Yang") end return warpneeds end function check_warpneeds(tbl) if tbl.itemneed and table.getn(tbl.itemneed) > 0 then for _,v in ipairs(tbl.itemneed) do if pc.count_item(v[1]) < v[2] then return false end end end if tbl.goldneed and tbl.goldneed > 0 then if pc.get_gold() < tbl.goldneed then return false end end return true end function remove_warpneeds(tbl) if tbl.itemneed and table.getn(tbl.itemneed) > 0 then for _,v in ipairs(tbl.itemneed) do pc.remove_item(v[1], v[2]) end end if tbl.goldneed and tbl.goldneed > 0 then pc.change_gold(-tbl.goldneed) end end function check_and_remove_warpneeds(tbl) if not warpring.check_warpneeds(tbl) then return false end warpring.remove_warpneeds(tbl) return true end function get_warpnames(tbl) local level = pc.get_level() local names = {} for _,v in ipairs(tbl) do if v.minlevel and level < v.minlevel then v.name = v.name.." (ab Lv. "..v.minlevel..")" elseif v.maxlevel and level > v.maxlevel then v.name = v.name.." (bis Lv. "..v.maxlevel..")" end table.insert(names, v.name) end return names end function showwarps(tbl) local warpnames = warpring.get_warpnames(tbl) local s = tbl[select3(warpnames)] or false if not s then return end if s.koord then warpring.warp(s) return end warpring.showwarps(s) end end end
Dann kommt aber dieser Fehler:
warpring.quest:86:syntax error : [string "start"]:26: unexpected symbol near `='
Abort trap (core dumped)
|
musst aber noch weiter überarbeiten, ab deiner warp funktion kommen die functionunktionen nicht mehr die table werte.
PHP Code:
quest warpring begin state start begin when 70058.use begin local warp = {--koord Pflicht, rest optional! {--Map1 name = "Map 1", {--Rotes Reich name = "Rotes Reich", koord = {965784, 275242}, minlevel = 1, goldneed = 1000 }, {--Gelbes Reich name = "Gelbes Reich", koord = {965784, 275242}, minlevel = 1, goldneed = 1000 }, {--Blaues Reich name = "Blaues Reich", koord = {965784, 275242}, minlevel = 1, goldneed = 1000 }, }, {--Levelmaps name = "Levelmaps", {--Spinnendungeon name = "Spinnendungeon", koord = {600, 4970}, minlevel = 60, goldneed = 100000 }, {--Spinnendungeon 2 name = "Spinnendungeon 2", koord = {6656, 4352}, minlevel = 80, goldneed = 200000 }, {--Grotte name = "Grotte", koord = {1536, 12032}, minlevel = 100, goldneed = 300000 }, {--Donnerberge name = "Donenrberge", koord = {11345, 16546}, minlevel = 120, goldneed = 400000 }, {--Nephritbucht name = "Nephritbucht", koord = {10869, 16558}, minlevel = 140, goldneed = 500000 }, {--Gautamakliff name = "Gautamakliff", koord = {12263, 16811}, minlevel = 160, goldneed = 7500000 }, {--Kap name = "Kap", koord = {11043, 17885}, minlevel = 180, goldneed = 10000000 } } } warpring.showwarps(warp) end function warp(tbl) local level = pc.get_level() if tbl.minlevel and level < tbl.minlevel then say("Dein Level ist zu niedrig, um diese Map zu betreten.") say("Minimal Level: "..tbl.minlevel) select("Abbrechen") return elseif tbl.maxlevel and level > tbl.maxlevel then say("Dein Level ist zu hoch, um diese Map zu betreten.") say("Maximal Level: "..tbl.maxlevel) select("Abbrechen") return end while not pc.can_warp() do say("Du kannst dich noch nicht teleportieren, da du in") say("den letzten 10 Sekunden gehandelt hast.") if select("Erneut versuchen", "Abbrechen") == 2 then return end end local warpneedstrings = warpring.get_warpneedstrings(tbl) if table.getn(warpneedstrings) > 0 then say("Um diese Map zu betreten benötigst du folgende") say("Dinge:") for _,v in ipairs(warpneedstrings) do say(v) end say("") say("Möchtest du trotzdem fortfahren?") if select("Teleportieren", "Abbrechen") == 2 then return end end if not warpring.check_and_remove_warpneeds(tbl) then say("Dir fehlt mindestens eins der benötigten Dinge.") select("Abbrechen") return end pc.warp(tbl.koord[1], tbl.koord[2]) end function get_warpneedstrings(tbl) local warpneeds = {} if tbl.itemneed and table.getn(tbl.itemneed) > 0 then for _,v in ipairs(tbl.itemneed) do table.insert(warpneeds, "- "..v[2].."x "..item_name(v[1])) end end if tbl.goldneed and tbl.goldneed > 0 then table.insert(warpneeds, "- "..tbl.goldneed.." Yang") end return warpneeds end function check_warpneeds(tbl) if tbl.itemneed and table.getn(tbl.itemneed) > 0 then for _,v in ipairs(tbl.itemneed) do if pc.count_item(v[1]) < v[2] then return false end end end if tbl.goldneed and tbl.goldneed > 0 then if pc.get_gold() < tbl.goldneed then return false end end return true end function remove_warpneeds(tbl) if tbl.itemneed and table.getn(tbl.itemneed) > 0 then for _,v in ipairs(tbl.itemneed) do pc.remove_item(v[1], v[2]) end end if tbl.goldneed and tbl.goldneed > 0 then pc.change_gold(-tbl.goldneed) end end function check_and_remove_warpneeds(tbl) if not warpring.check_warpneeds(tbl) then return false end warpring.remove_warpneeds(tbl) return true end function get_warpnames(tbl) local level = pc.get_level() local names = {} for _,v in ipairs(tbl) do if v.minlevel and level < v.minlevel then v.name = v.name.." (ab Lv. "..v.minlevel..")" elseif v.maxlevel and level > v.maxlevel then v.name = v.name.." (bis Lv. "..v.maxlevel..")" end table.insert(names, v.name) end return names end function showwarps(tbl) local warpnames = warpring.get_warpnames(tbl) local s = tbl[select3(warpnames)] or false if not s then return end if s.koord then warpring.warp(s) return end warpring.showwarps(s) end end end
|
|
|
07/18/2016, 13:56
|
#12382
|
elite*gold: 20
Join Date: Sep 2012
Posts: 579
Received Thanks: 139
|
Quote:
Originally Posted by IzeBreakzz
Hey Com,
bräuchte dringend Hilfe bei einer Quest.
PHP 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 16091.click begin cmdchat("CraftingSystem Open/weapon") end when 16092.click begin cmdchat("CraftingSystem Open/armor") end when 16093.click begin cmdchat("CraftingSystem Open/juwelery") end when 16090.click begin cmdchat("CraftingSystem Open/legendary") 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("Da ist was falsch gelaufen...") 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 = { ["3209,1|0,0|0,0|3209,1|0,0|0,0|0,0|0,0|0,0"] = {7479, 1} -- Chuánqi Klinge-Rohling ["2379,1|0,0|0,0|2379,1|0,0|0,0|0,0|0,0|0,0"] = {7481, 1} -- Chuánqi Bogen-Rohling ["5339,1|0,0|0,0|5339,1|0,0|0,0|0,0|0,0|0,0"] = {7483, 1} -- Chuánqi Stab-Rohling ["1349,1|0,0|0,0|1349,1|0,0|0,0|0,0|0,0|0,0"] = {7485, 1} -- Chuánqi Dolche-Rohling ["239,1|0,0|0,0|239,1|0,0|0,0|0,0|0,0|0,0"] = {7487, 1} -- Chuánqi Schwert-Rohling ["7189,1|0,0|0,0|7189,1|0,0|0,0|0,0|0,0|0,0"] = {7489, 1} -- Chuánqi Fächer-Rohling ["269,1|0,0|0,0|269,1|0,0|0,0|0,0|0,0|0,0"] = {7491, 1} -- Chuánqi Magieschwert-Rohling ["7409,1|0,0|0,0|7409,1|0,0|0,0|0,0|0,0|0,0"] = {7480, 1} -- Kaiseraxt-Rohling ["7419,1|0,0|0,0|7419,1|0,0|0,0|0,0|0,0|0,0"] = {7482, 1} -- Kaiserbogen-Rohling ["7429,1|0,0|0,0|7429,1|0,0|0,0|0,0|0,0|0,0"] = {7484, 1} -- Kaiserstab-Rohling ["7439,1|0,0|0,0|7439,1|0,0|0,0|0,0|0,0|0,0"] = {7486, 1} -- Kaiserdolche-Rohling ["7449,1|0,0|0,0|7449,1|0,0|0,0|0,0|0,0|0,0"] = {7488, 1} -- Kaiserschwert-Rohling ["7459,1|0,0|0,0|7459,1|0,0|0,0|0,0|0,0|0,0"] = {7490, 1} -- Kaiserfächer-Rohling ["7469,1|0,0|0,0|7469,1|0,0|0,0|0,0|0,0|0,0"] = {7492, 1} -- Kaisermagieschwert-Rohling ["42019,1|0,0|0,0|42019,1|0,0|0,0|0,0|0,0|0,0"] = {42050, 1} -- Chuánqi-Panzer Rohling ["44019,1|0,0|0,0|44019,1|0,0|0,0|0,0|0,0|0,0"] = {44050, 1} -- Chuánqi-Anzug Rohling ["46019,1|0,0|0,0|46019,1|0,0|0,0|0,0|0,0|0,0"] = {46050, 1} -- Chuánqi-Rüstung Rohling ["48019,1|0,0|0,0|48019,1|0,0|0,0|0,0|0,0|0,0"] = {48050, 1} -- Chuánqi-Kleidung Rohling ["42069,1|0,0|0,0|42069,1|0,0|0,0|0,0|0,0|0,0"] = {42051, 1} -- Kaiser-Panzer Rohling ["44069,1|0,0|0,0|44069,1|0,0|0,0|0,0|0,0|0,0"] = {44051, 1} -- Kaiser-Anzug Rohling ["46069,1|0,0|0,0|46069,1|0,0|0,0|0,0|0,0|0,0"] = {46051, 1} -- Kaiser-Rüstung Rohling ["48069,1|0,0|0,0|48069,1|0,0|0,0|0,0|0,0|0,0"] = {48051, 1} -- Kaiser-Kleidung Rohling ["13369,1|0,0|0,0|13369,1|0,0|0,0|0,0|0,0|0,0"] = {13606, 1} -- DämonenJägerhelm-Rohling ["13359,1|0,0|0,0|13359,1|0,0|0,0|0,0|0,0|0,0"] = {13701, 1} -- Jaktohelm-Rohling ["12909,1|0,0|0,0|12909,1|0,0|0,0|0,0|0,0|0,0"] = {13604, 1} -- Ritterhelm-Rohling ["12809,1|0,0|0,0|12809,1|0,0|0,0|0,0|0,0|0,0"] = {13602, 1} -- Himmelshelm-Rohling ["13219,1|0,0|0,0|13219,1|0,0|0,0|0,0|0,0|0,0"] = {13600, 1} -- Dämonenkönighelm-Rohling ["17119,1|0,0|0,0|17119,1|0,0|0,0|0,0|0,0|0,0"] = {13605, 1} -- Schwarzhelm-Rohling ["13139,1|0,0|0,0|13139,1|0,0|0,0|0,0|0,0|0,0"] = {13601, 1} -- Capterhelm-Rohling ["13909,1|0,0|0,0|13909,1|0,0|0,0|0,0|0,0|0,0"] = {13603, 1} -- Jägerhelm-Rohling ["13209,1|0,0|0,0|13209,1|0,0|0,0|0,0|0,0|0,0"] = {13607, 1} -- Halsblau-Rohling ["13309,1|0,0|0,0|13309,1|0,0|0,0|0,0|0,0|0,0"] = {13608, 1} -- Armbandblau-Rohling ["13339,1|0,0|0,0|13339,1|0,0|0,0|0,0|0,0|0,0"] = {13702, 1} -- Ohrringblau-Rohling ["14449,1|0,0|0,0|14449,1|0,0|0,0|0,0|0,0|0,0"] = {13704, 1} -- SchwarzLederschuhe-Rohling ["13319,1|0,0|0,0|13319,1|0,0|0,0|0,0|0,0|0,0"] = {13607, 1} -- Halsgrün-Rohling ["13399,1|0,0|0,0|13399,1|0,0|0,0|0,0|0,0|0,0"] = {13700, 1} -- Armbandgrün-Rohling ["12609,1|0,0|0,0|12609,1|0,0|0,0|0,0|0,0|0,0"] = {13703, 1} -- Ohrringgrün-Rohling ["11199,1|0,0|0,0|11199,1|0,0|0,0|0,0|0,0|0,0"] = {13705, 1} -- Metallschuhe-Rohling } 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]=="WRONG_WEARFLEG" then syschat("Das ist nicht der richtige Schmied um diesen Gegenstand zu verbessern") return 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("Da ist was falsch gelaufen...") return end else cmdchat("CraftingSystem craftitem/0/0") syschat("Da ist was falsch gelaufen...") 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
Bei der Quest soll man Items per craftingwindow hoch ziehen können. Wenn ich die Quest aber so einfüge, zeigt er mir folgenden Fehler:
PHP Code:
craftingwindow.quest:141:syntax error : [string "start"]:22: `}' expected (to close `{' at line 20) near `[' Error occured on compile craftingwindow.quest
Zudem ist das Problem dass ich die sachen die eig. nur beim legendary typ geuppt werden sollen auch beim waffen schmied gehen.
Wäre echt stark wenn mir jemand bei dem problem helfen könnte.
|
Brauche immer noch dringend Hilfe.. Keiner eine Lösung parat?
|
|
|
07/18/2016, 14:02
|
#12383
|
elite*gold: 0
Join Date: May 2010
Posts: 294
Received Thanks: 157
|
Quote:
Originally Posted by IzeBreakzz
Brauche immer noch dringend Hilfe.. Keiner eine Lösung parat?
|
in der CRAFTING_POSSIBILITIES fehlen die kommata
|
|
|
07/18/2016, 16:09
|
#12384
|
elite*gold: 20
Join Date: Sep 2012
Posts: 579
Received Thanks: 139
|
Ja das war ein Test* Aber wenn ich die Kommas setze, dann geht das Craftingsystem einfach nicht. Ich kann die Sachen rein ziehen, aber es passiert nichts.
|
|
|
07/18/2016, 21:00
|
#12385
|
elite*gold: 253
Join Date: Jan 2010
Posts: 465
Received Thanks: 31
|
Moin
Habe hier eine angefange Quest und sitzte da schon ein paar Wochen dran, habe auch schon eine Handvoll Leute gefragt die mir zum Teil helfen konnten, doch nicht so wie ich es gern hätte. Größtes Problem ist das die SF von 2010 sind und nciht geupdatet werden können.
Die Quest soll folgendermaßen ablaufen. Gildenleader1 fordert Gildenleader2 zu einem Pvm Duel heraus. Wenn Leader2 annimmt werden beide auf eine Map geportet. Auf der Map spawnen Monster, die Gilde die zuerst eine bestimmte Anzahl Mobs gekillt hat, gewinnt.
Momentan funzt es nur mit Gruppen, soll aber nur mit Gilden funzen(wie im normalen GK).
Das größere Problem ist, ich würde es gern als Dungeon laufen lassen, damit mehere Gks gleichzeitig stattfinden können, nur wie man sieht ist der Mapindex wo der zweite Leader hingeportet wird, statisch und nicht dynamisch. Wobei es zu Problemen kommt wenn der 2 Gk´s gleichzeitig laufen.
Drittes Problem, zurzeit wird nur der Gruppen2/Gildenleader2 auf doe Map geportet nach Passwort eingabe.
Hoffe mir kann einer helfen. Wenn es am Geld hängen soll, pn
PHP Code:
quest pvm_guild_war begin state start begin when 20092.chat."Pvm-Krieg" begin if select("Andere Gruppe herausfordern", "Passworteingabe", "abbrechen") == 1 then say_title("Hallo "..pc.get_name().."") say("Bei mir kannst du eine andere Gruppe") say("in einer PvM-Schalcht herausfordern") say("Gegen welche Gruppe möchtest du antreten?") say("Bedenke das du den Namen des Gruppen-Anführers eingeben musst!") local sname = input() if sname == "" then say("Du musst einen Namen eingeben") return end if sname == ""..pc.get_name().."" then say("Du kannst nicht gegen dich selbst antreten") return end local u_vid = find_pc_by_name(sname) if not npc.is_near_vid(u_vid, 30) then say("Der Spieler muss in deiner nähe sein!") say("") return end local ok_sign = confirm(u_vid, "Möchtest du gegen die Gruppe von "..pc.get_name().." antreten?", 20) if ok_sign == 1 then if party.is_leader() then say("Lege nun ein Passwort fest und gib es dem Anführer") say("der gegnerischen Gruppe damit sie zur Schlacht kommen") say("Du kannst nur Zahlen benutzten und maximal 6 Zeichen. ") local passwort = tonumber(input("")) if passwort <=999999 then game.set_event_flag("GildenPvM", passwort) d.join(41) d.regen_file("data/dungeon/pvm_guild_war.txt") else say("Fehler") end else say("Du musst der Leader einer Gruppe sein.") end else return end else if pc.get_level() then say("Gib nun das Passwort ein") local passwort = tonumber(input("")) if game.get_event_flag("GildenPvM") == passwort then if party.is_party() then pc.warp(9696, 2790, 410000) game.set_event_flag("GildenPvM", 0) else return end end else say("Du musst der Leader einer Gruppe sein.") end end end when 101.kill or 103.kill with party.is_party() and pc.in_dungeon() begin local count1 = pc.getqf("state") + 1 if count1 <= 10 then pc.setqf("state", count1) end if count1 == 10 then timer(pvm_schlacht_exit, 5) d.kill_all() notice_all("Die Gruppe von "..pc.get_name().." hat die PvM-Schlacht gewonnen") pc.delqf("state") end end when pvm_schlacht_exit.timer begin d.exit_all() end when 102.kill or 104.kill with party.is_party() and pc.in_dungeon() begin local count1 = pc.getqf("state2") + 1 if count1 <= 10 then pc.setqf("state2", count1) end if count1 == 10 then d.kill_all() d.regen_file("data/dungeon/pvm_guild_war_npc.txt") pc.delqf("state2") end end end en
|
|
|
07/21/2016, 11:37
|
#12386
|
elite*gold: 0
Join Date: Sep 2013
Posts: 42
Received Thanks: 0
|
Hallo.
Meine Warpring.quest
Code:
quest warpring begin
state start begin
when 70007.use or 9012.chat.gameforge.map_warp._10_npcChat or 20009.chat.gameforge.neutral_warp._10_npcChat begin
local warp = {--koord Pflicht, rest optional!
{--Map1
name = "[01-20] Map 1",
{--Rotes Reich
name = "[01-20] Rotes Reich",
koord = {474100, 955000},
},
{--Gelbes Reich
name = "[01-20] Gelbes Reich",
koord = {63525, 166543},
},
{--Blaues Reich
name = "[01-20] Blaues Reich",
koord = {960100, 268800},
},
},
{--Map2
name = "[20-35] Map 2",
{--Rotes Reich
name = "[20-35] Rotes Reich",
koord = {352200, 882200},
},
{--Gelbes Reich
name = "[20-35] Gelbes Reich",
koord = {145900, 239800},
},
{--Blaues Reich
name = "[20-35] Blaues Reich",
koord = {863700, 246300},
},
},
{--Standart Maps
name = "[35-55] Standart Maps",
{--Orktal Mitte
name = "[35-55] Orktal",
koord = {333074, 747167},
},
{--Hwang-Tempel
name = "[35-55] Tempel",
koord = {553600, 144100},
},
{--Wüste Mitte
name = "[35-55] Wüste",
koord = {297300, 547900},
},
{--Eisland Mitte
name = "[35-55] Eisland",
koord = {436900, 216100},
},
{--Feuerland Mitte
name = "[35-55] Feuerland",
koord = {601300, 687900},
},
{--Dämonenturm
name = "[35-55] Dämonenturm",
koord = {590406, 110717},
},
{--Schlangenfeld
name = "[35-55] Schlangenfeld",
koord = {1059000, 726200},
},
},
{--Spinnendungeons
name = "[55-75] Anspruchsvolle Maps",
{--Spinnendungeons 1
name = "[55-65] Spinnendungeon 1",
koord = {60000, 497000},
},
{--Spinnendungeons 2
name = "[65-75] Spinnendungeon 2",
koord = {703800, 462500},
},
},
{--Grotte der Verbannung
name = "[150-200] Besondere Maps",
{--Grotte 1
name = "[150-200] Grotte(FP)",
koord = {10000, 1207800},
},
{--Grotte 2
name = "[150-200] Grotte (SP)",
koord = {241800, 1275000},
},
{--Drachenraum
name = "[200-Dungeon] Drachenraum",
koord = {181473, 1220674},
},
},
{--90er Maps
name = "[55-120] Farmmaps",
{--Donnerberge
name = "[55-89] Donnerberge",
koord = {1134500, 1654600},
},
{--Gautamakliff
name = "[90-120] Gautamakliff",
koord = {1226300, 1681100},
},
},
{--100er Maps
name = "[90-200] Levelmaps",
{--Rotdrachen-Festung
name = "[90-100] Rotdrachen-Festung",
koord = {614265, 706964},
},
{--Nemeres Warte
name = "[100-125] Nemeres Warte",
koord = {433025, 167605},
},
{--Verwunschener Wald
name = "[125-140] Verwunschener Wald",
koord = {801800, 1499000},
},
{--Tempel der Ochao
name = "[140-160]Tempel der Ochao",
koord = {884800, 1447000},
},
{--Kap des Drachenfeuers
name = "[160-190] Drachenkap",
koord = {1104300, 1788500},
},
{--Nephritbucht
name = "[190-200] Nephritbucht",
koord = {1086900, 1655800},
},
},
},
warpring.showwarps(warp)
end
function warp(tbl)
local level = pc.get_level()
if tbl.minlevel and level < tbl.minlevel then
say("Dein Level ist zu niedrig, um diese Map zu betreten.")
say("Minimal Level: "..tbl.minlevel)
select("Abbrechen")
return
elseif tbl.maxlevel and level > tbl.maxlevel then
say("Dein Level ist zu hoch, um diese Map zu betreten.")
say("Maximal Level: "..tbl.maxlevel)
select("Abbrechen")
return
end
while not pc.can_warp() do
say("Du kannst dich noch nicht teleportieren, da du in")
say("den letzten 10 Sekunden gehandelt hast.")
if select("Erneut versuchen", "Abbrechen") == 2 then return end
end
local warpneedstrings = warpring.get_warpneedstrings(tbl)
if table.getn(warpneedstrings) > 0 then
say("Um diese Map zu betreten benötigst du folgende")
say("Dinge:")
for _,v in ipairs(warpneedstrings) do
say(v)
end
say("")
say("Möchtest du trotzdem fortfahren?")
if select("Teleportieren", "Abbrechen") == 2 then return end
end
if not warpring.check_and_remove_warpneeds(tbl) then
say("Dir fehlt mindestens eins der benötigten Dinge.")
select("Abbrechen")
return
end
pc.warp(tbl.koord[1], tbl.koord[2])
end
function get_warpneedstrings(tbl)
local warpneeds = {}
if tbl.itemneed and table.getn(tbl.itemneed) > 0 then
for _,v in ipairs(tbl.itemneed) do
table.insert(warpneeds, "- "..v[2].."x "..item_name(v[1]))
end
end
if tbl.goldneed and tbl.goldneed > 0 then
table.insert(warpneeds, "- "..tbl.goldneed.." Yang")
end
return warpneeds
end
function check_warpneeds(tbl)
if tbl.itemneed and table.getn(tbl.itemneed) > 0 then
for _,v in ipairs(tbl.itemneed) do
if pc.count_item(v[1]) < v[2] then
return false
end
end
end
if tbl.goldneed and tbl.goldneed > 0 then
if pc.get_gold() < tbl.goldneed then
return false
end
end
return true
end
function remove_warpneeds(tbl)
if tbl.itemneed and table.getn(tbl.itemneed) > 0 then
for _,v in ipairs(tbl.itemneed) do
pc.remove_item(v[1], v[2])
end
end
if tbl.goldneed and tbl.goldneed > 0 then
pc.change_gold(-tbl.goldneed)
end
end
function check_and_remove_warpneeds(tbl)
if not warpring.check_warpneeds(tbl) then
return false
end
warpring.remove_warpneeds(tbl)
return true
end
function get_warpnames(tbl)
local level = pc.get_level()
local names = {}
for _,v in ipairs(tbl) do
if v.minlevel and level < v.minlevel then
v.name = v.name.." (ab Lv. "..v.minlevel..")"
elseif v.maxlevel and level > v.maxlevel then
v.name = v.name.." (bis Lv. "..v.maxlevel..")"
end
table.insert(names, v.name)
end
return names
end
function showwarps(tbl)
local warpnames = warpring.get_warpnames(tbl)
local s = tbl[select3(warpnames)] or false
if not s then return end
if s.koord then
warpring.warp(s)
return
end
warpring.showwarps(s)
end
end
end
Simpel : Das Item ging - ich hab die Ports etc bissl. vertauscht & dann ging sie nicht mehr. Warpring ist in db noch auf Typ 18 und die quest die VNUM ist auch die gleiche. Sprich muss an der quest liegen. hoffe ihr wisst woran
|
|
|
07/21/2016, 13:10
|
#12387
|
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
|
Wenn du ne Table aufbaust, brauchst du bei den letzten Einträgen keine Kommata, schon gar nicht, wenn die Table komplett zuende ist.
PHP Code:
quest warpring begin state start begin when 70007.use or 9012.chat.gameforge.map_warp._10_npcChat or 20009.chat.gameforge.neutral_warp._10_npcChat begin local warp = {--koord Pflicht, rest optional! {--Map1 name = "[01-20] Map 1", {--Rotes Reich name = "[01-20] Rotes Reich", koord = {474100, 955000}, }, {--Gelbes Reich name = "[01-20] Gelbes Reich", koord = {63525, 166543}, }, {--Blaues Reich name = "[01-20] Blaues Reich", koord = {960100, 268800}, } }, {--Map2 name = "[20-35] Map 2", {--Rotes Reich name = "[20-35] Rotes Reich", koord = {352200, 882200}, }, {--Gelbes Reich name = "[20-35] Gelbes Reich", koord = {145900, 239800}, }, {--Blaues Reich name = "[20-35] Blaues Reich", koord = {863700, 246300}, } }, {--Standart Maps name = "[35-55] Standart Maps", {--Orktal Mitte name = "[35-55] Orktal", koord = {333074, 747167}, }, {--Hwang-Tempel name = "[35-55] Tempel", koord = {553600, 144100}, }, {--Wüste Mitte name = "[35-55] Wüste", koord = {297300, 547900}, }, {--Eisland Mitte name = "[35-55] Eisland", koord = {436900, 216100}, }, {--Feuerland Mitte name = "[35-55] Feuerland", koord = {601300, 687900}, }, {--Dämonenturm name = "[35-55] Dämonenturm", koord = {590406, 110717}, }, {--Schlangenfeld name = "[35-55] Schlangenfeld", koord = {1059000, 726200}, } }, {--Spinnendungeons name = "[55-75] Anspruchsvolle Maps", {--Spinnendungeons 1 name = "[55-65] Spinnendungeon 1", koord = {60000, 497000}, }, {--Spinnendungeons 2 name = "[65-75] Spinnendungeon 2", koord = {703800, 462500}, } }, {--Grotte der Verbannung name = "[150-200] Besondere Maps", {--Grotte 1 name = "[150-200] Grotte(FP)", koord = {10000, 1207800}, }, {--Grotte 2 name = "[150-200] Grotte (SP)", koord = {241800, 1275000}, }, {--Drachenraum name = "[200-Dungeon] Drachenraum", koord = {181473, 1220674}, } }, {--90er Maps name = "[55-120] Farmmaps", {--Donnerberge name = "[55-89] Donnerberge", koord = {1134500, 1654600}, }, {--Gautamakliff name = "[90-120] Gautamakliff", koord = {1226300, 1681100}, } }, {--100er Maps name = "[90-200] Levelmaps", {--Rotdrachen-Festung name = "[90-100] Rotdrachen-Festung", koord = {614265, 706964}, }, {--Nemeres Warte name = "[100-125] Nemeres Warte", koord = {433025, 167605}, }, {--Verwunschener Wald name = "[125-140] Verwunschener Wald", koord = {801800, 1499000}, }, {--Tempel der Ochao name = "[140-160]Tempel der Ochao", koord = {884800, 1447000}, }, {--Kap des Drachenfeuers name = "[160-190] Drachenkap", koord = {1104300, 1788500}, }, {--Nephritbucht name = "[190-200] Nephritbucht", koord = {1086900, 1655800}, } } } warpring.showwarps(warp) end function warp(tbl) local level = pc.get_level() if tbl.minlevel and level < tbl.minlevel then say("Dein Level ist zu niedrig, um diese Map zu betreten.") say("Minimal Level: "..tbl.minlevel) select("Abbrechen") return elseif tbl.maxlevel and level > tbl.maxlevel then say("Dein Level ist zu hoch, um diese Map zu betreten.") say("Maximal Level: "..tbl.maxlevel) select("Abbrechen") return end while not pc.can_warp() do say("Du kannst dich noch nicht teleportieren, da du in") say("den letzten 10 Sekunden gehandelt hast.") if select("Erneut versuchen", "Abbrechen") == 2 then return end end local warpneedstrings = warpring.get_warpneedstrings(tbl) if table.getn(warpneedstrings) > 0 then say("Um diese Map zu betreten benötigst du folgende") say("Dinge:") for _,v in ipairs(warpneedstrings) do say(v) end say("") say("Möchtest du trotzdem fortfahren?") if select("Teleportieren", "Abbrechen") == 2 then return end end if not warpring.check_and_remove_warpneeds(tbl) then say("Dir fehlt mindestens eins der benötigten Dinge.") select("Abbrechen") return end pc.warp(tbl.koord[1], tbl.koord[2]) end function get_warpneedstrings(tbl) local warpneeds = {} if tbl.itemneed and table.getn(tbl.itemneed) > 0 then for _,v in ipairs(tbl.itemneed) do table.insert(warpneeds, "- "..v[2].."x "..item_name(v[1])) end end if tbl.goldneed and tbl.goldneed > 0 then table.insert(warpneeds, "- "..tbl.goldneed.." Yang") end return warpneeds end function check_warpneeds(tbl) if tbl.itemneed and table.getn(tbl.itemneed) > 0 then for _,v in ipairs(tbl.itemneed) do if pc.count_item(v[1]) < v[2] then return false end end end if tbl.goldneed and tbl.goldneed > 0 then if pc.get_gold() < tbl.goldneed then return false end end return true end function remove_warpneeds(tbl) if tbl.itemneed and table.getn(tbl.itemneed) > 0 then for _,v in ipairs(tbl.itemneed) do pc.remove_item(v[1], v[2]) end end if tbl.goldneed and tbl.goldneed > 0 then pc.change_gold(-tbl.goldneed) end end function check_and_remove_warpneeds(tbl) if not warpring.check_warpneeds(tbl) then return false end warpring.remove_warpneeds(tbl) return true end function get_warpnames(tbl) local level = pc.get_level() local names = {} for _,v in ipairs(tbl) do if v.minlevel and level < v.minlevel then v.name = v.name.." (ab Lv. "..v.minlevel..")" elseif v.maxlevel and level > v.maxlevel then v.name = v.name.." (bis Lv. "..v.maxlevel..")" end table.insert(names, v.name) end return names end function showwarps(tbl) local warpnames = warpring.get_warpnames(tbl) local s = tbl[select3(warpnames)] or false if not s then return end if s.koord then warpring.warp(s) return end warpring.showwarps(s) end end end
Quote:
Originally Posted by TrollZone
Hallo.
Meine Warpring.quest
Code:
quest warpring begin
state start begin
when 70007.use or 9012.chat.gameforge.map_warp._10_npcChat or 20009.chat.gameforge.neutral_warp._10_npcChat begin
local warp = {--koord Pflicht, rest optional!
{--Map1
name = "[01-20] Map 1",
{--Rotes Reich
name = "[01-20] Rotes Reich",
koord = {474100, 955000},
},
{--Gelbes Reich
name = "[01-20] Gelbes Reich",
koord = {63525, 166543},
},
{--Blaues Reich
name = "[01-20] Blaues Reich",
koord = {960100, 268800},
},
},
{--Map2
name = "[20-35] Map 2",
{--Rotes Reich
name = "[20-35] Rotes Reich",
koord = {352200, 882200},
},
{--Gelbes Reich
name = "[20-35] Gelbes Reich",
koord = {145900, 239800},
},
{--Blaues Reich
name = "[20-35] Blaues Reich",
koord = {863700, 246300},
},
},
{--Standart Maps
name = "[35-55] Standart Maps",
{--Orktal Mitte
name = "[35-55] Orktal",
koord = {333074, 747167},
},
{--Hwang-Tempel
name = "[35-55] Tempel",
koord = {553600, 144100},
},
{--Wüste Mitte
name = "[35-55] Wüste",
koord = {297300, 547900},
},
{--Eisland Mitte
name = "[35-55] Eisland",
koord = {436900, 216100},
},
{--Feuerland Mitte
name = "[35-55] Feuerland",
koord = {601300, 687900},
},
{--Dämonenturm
name = "[35-55] Dämonenturm",
koord = {590406, 110717},
},
{--Schlangenfeld
name = "[35-55] Schlangenfeld",
koord = {1059000, 726200},
},
},
{--Spinnendungeons
name = "[55-75] Anspruchsvolle Maps",
{--Spinnendungeons 1
name = "[55-65] Spinnendungeon 1",
koord = {60000, 497000},
},
{--Spinnendungeons 2
name = "[65-75] Spinnendungeon 2",
koord = {703800, 462500},
},
},
{--Grotte der Verbannung
name = "[150-200] Besondere Maps",
{--Grotte 1
name = "[150-200] Grotte(FP)",
koord = {10000, 1207800},
},
{--Grotte 2
name = "[150-200] Grotte (SP)",
koord = {241800, 1275000},
},
{--Drachenraum
name = "[200-Dungeon] Drachenraum",
koord = {181473, 1220674},
},
},
{--90er Maps
name = "[55-120] Farmmaps",
{--Donnerberge
name = "[55-89] Donnerberge",
koord = {1134500, 1654600},
},
{--Gautamakliff
name = "[90-120] Gautamakliff",
koord = {1226300, 1681100},
},
},
{--100er Maps
name = "[90-200] Levelmaps",
{--Rotdrachen-Festung
name = "[90-100] Rotdrachen-Festung",
koord = {614265, 706964},
},
{--Nemeres Warte
name = "[100-125] Nemeres Warte",
koord = {433025, 167605},
},
{--Verwunschener Wald
name = "[125-140] Verwunschener Wald",
koord = {801800, 1499000},
},
{--Tempel der Ochao
name = "[140-160]Tempel der Ochao",
koord = {884800, 1447000},
},
{--Kap des Drachenfeuers
name = "[160-190] Drachenkap",
koord = {1104300, 1788500},
},
{--Nephritbucht
name = "[190-200] Nephritbucht",
koord = {1086900, 1655800},
},
},
},
warpring.showwarps(warp)
end
function warp(tbl)
local level = pc.get_level()
if tbl.minlevel and level < tbl.minlevel then
say("Dein Level ist zu niedrig, um diese Map zu betreten.")
say("Minimal Level: "..tbl.minlevel)
select("Abbrechen")
return
elseif tbl.maxlevel and level > tbl.maxlevel then
say("Dein Level ist zu hoch, um diese Map zu betreten.")
say("Maximal Level: "..tbl.maxlevel)
select("Abbrechen")
return
end
while not pc.can_warp() do
say("Du kannst dich noch nicht teleportieren, da du in")
say("den letzten 10 Sekunden gehandelt hast.")
if select("Erneut versuchen", "Abbrechen") == 2 then return end
end
local warpneedstrings = warpring.get_warpneedstrings(tbl)
if table.getn(warpneedstrings) > 0 then
say("Um diese Map zu betreten benötigst du folgende")
say("Dinge:")
for _,v in ipairs(warpneedstrings) do
say(v)
end
say("")
say("Möchtest du trotzdem fortfahren?")
if select("Teleportieren", "Abbrechen") == 2 then return end
end
if not warpring.check_and_remove_warpneeds(tbl) then
say("Dir fehlt mindestens eins der benötigten Dinge.")
select("Abbrechen")
return
end
pc.warp(tbl.koord[1], tbl.koord[2])
end
function get_warpneedstrings(tbl)
local warpneeds = {}
if tbl.itemneed and table.getn(tbl.itemneed) > 0 then
for _,v in ipairs(tbl.itemneed) do
table.insert(warpneeds, "- "..v[2].."x "..item_name(v[1]))
end
end
if tbl.goldneed and tbl.goldneed > 0 then
table.insert(warpneeds, "- "..tbl.goldneed.." Yang")
end
return warpneeds
end
function check_warpneeds(tbl)
if tbl.itemneed and table.getn(tbl.itemneed) > 0 then
for _,v in ipairs(tbl.itemneed) do
if pc.count_item(v[1]) < v[2] then
return false
end
end
end
if tbl.goldneed and tbl.goldneed > 0 then
if pc.get_gold() < tbl.goldneed then
return false
end
end
return true
end
function remove_warpneeds(tbl)
if tbl.itemneed and table.getn(tbl.itemneed) > 0 then
for _,v in ipairs(tbl.itemneed) do
pc.remove_item(v[1], v[2])
end
end
if tbl.goldneed and tbl.goldneed > 0 then
pc.change_gold(-tbl.goldneed)
end
end
function check_and_remove_warpneeds(tbl)
if not warpring.check_warpneeds(tbl) then
return false
end
warpring.remove_warpneeds(tbl)
return true
end
function get_warpnames(tbl)
local level = pc.get_level()
local names = {}
for _,v in ipairs(tbl) do
if v.minlevel and level < v.minlevel then
v.name = v.name.." (ab Lv. "..v.minlevel..")"
elseif v.maxlevel and level > v.maxlevel then
v.name = v.name.." (bis Lv. "..v.maxlevel..")"
end
table.insert(names, v.name)
end
return names
end
function showwarps(tbl)
local warpnames = warpring.get_warpnames(tbl)
local s = tbl[select3(warpnames)] or false
if not s then return end
if s.koord then
warpring.warp(s)
return
end
warpring.showwarps(s)
end
end
end
Simpel : Das Item ging - ich hab die Ports etc bissl. vertauscht & dann ging sie nicht mehr. Warpring ist in db noch auf Typ 18 und die quest die VNUM ist auch die gleiche. Sprich muss an der quest liegen. hoffe ihr wisst woran
|
|
|
|
07/23/2016, 10:11
|
#12388
|
elite*gold: 0
Join Date: Sep 2013
Posts: 42
Received Thanks: 0
|
Hallo
nach langem suchen habe ich :
gefunden.
Ich habe die Quest so umgeschrieben (Weil die da oben nicht ging irgendwie) - nun geht meine auch nicht xD
PHP Code:
quest gm_panel begin state start begin when letter with pc.is_gm() begin send_letter("Sharzun - BannPanel") end when button or info begin say_title("Sharzun - BannPanel") say("Hier kannst du folgende Dinge tun:") say("") say("- Einen Spieler Bannen") say("- Einen Spieler Entbannen") say("") local a = select("Ban Player", "Unban player", "Exit")
if a == 1 then say("Name of player who you wanna ban") say("") say("Info : Abusing GM power and you will be removed") local cblock = input() say("Reason:") local creason = input() game.set_event_flag("banned_".. cblock ..(),1") notice_all("Player: ".. cblock .." is banned. reason: ".. creason.."") notice_all("<ATTENTION>Play by the rules!!") end if a == 2 then say("Insert name of player who will be unbanned") local cublock = input() game.set_event_flag("banned_".. culock ..(),0") notice_all("Ban for player: ".. cublock .." was removed") end if a == 3 then return end end end end end end
Es wäre sehr nett , wenn mir die jmd fix korrigieren könnte..
|
|
|
07/25/2016, 00:03
|
#12389
|
elite*gold: LOCKED
Join Date: Feb 2016
Posts: 1,455
Received Thanks: 284
|
Quote:
Originally Posted by TommyH99
Was stimmt da nicht dass der Stein nicht anklicken geht? Ja hab ihn bei Type auf 18...
Code:
quest regenbogen begin
state start begin
when 50512.use begin
say_title("Regenbogenstein:")
say("Du möchtest also deine Skills ")
say("Perfektionieren?")
if pc.job ==0 then
say("Wähle deine Lehre aus")
local s=select("Körper","Mental")
if s==1 then
pc.set_skill_group(1)
pc.set_skill_level(1 ,59)
pc.set_skill_level(2 ,59)
pc.set_skill_level(3 ,59)
pc.set_skill_level(4 ,59)
pc.set_skill_level(5 ,59)
pc.set_skill_level(124 ,50)
pc.set_skill_level(131 ,50)
pc.set_skill_level(121 ,50)
pc.set_skill_level(129 ,50)
pc.set_skill_level(126 ,50)
pc.set_skill_level(127 ,50)
pc.set_skill_level(128 ,50)
pc.set_skill_level(137 ,20)
pc.set_skill_level(138 ,20)
pc.set_skill_level(139 ,20)
pc.set_skill_level(140 ,20)
pc.set_skill_level(125 ,59)
pc.set_skill_level(130 ,59)
say("Alle deine Skills sind nun Perfekt! Viel Spaß")
end
if s==2 then
pc.set_skill_group(2)
pc.set_skill_level(16 ,59)
pc.set_skill_level(17 ,59)
pc.set_skill_level(18 ,59)
pc.set_skill_level(19 ,59)
pc.set_skill_level(20 ,59)
pc.set_skill_level(124 ,50)
pc.set_skill_level(131 ,50)
pc.set_skill_level(121 ,50)
pc.set_skill_level(129 ,50)
pc.set_skill_level(126 ,50)
pc.set_skill_level(127 ,50)
pc.set_skill_level(128 ,50)
pc.set_skill_level(137 ,20)
pc.set_skill_level(138 ,20)
pc.set_skill_level(139 ,20)
pc.set_skill_level(140 ,20)
pc.set_skill_level(125 ,59)
pc.set_skill_level(130 ,59)
say("Alle deine Skills sind nun Perfekt! Viel Spaß")
end
elseif pc.job ==1 then
say("Wähle deine Lehre aus")
local s=select("Nahkampf","Fernkampf")
if s==1 then
pc.set_skill_group(3)
pc.set_skill_level(31 ,59)
pc.set_skill_level(32 ,59)
pc.set_skill_level(33 ,59)
pc.set_skill_level(34 ,59)
pc.set_skill_level(35 ,59)
pc.set_skill_level(124 ,50)
pc.set_skill_level(131 ,50)
pc.set_skill_level(121 ,50)
pc.set_skill_level(129 ,50)
pc.set_skill_level(126 ,50)
pc.set_skill_level(127 ,50)
pc.set_skill_level(128 ,50)
pc.set_skill_level(137 ,20)
pc.set_skill_level(138 ,20)
pc.set_skill_level(139 ,20)
pc.set_skill_level(140 ,20)
pc.set_skill_level(125 ,59)
pc.set_skill_level(130 ,59)
say("Alle deine Skills sind nun Perfekt! Viel Spaß")
end
if s==2 then
pc.set_skill_group(4)
pc.set_skill_level(46 ,59)
pc.set_skill_level(47 ,59)
pc.set_skill_level(48 ,59)
pc.set_skill_level(49 ,59)
pc.set_skill_level(50 ,59)
pc.set_skill_level(124 ,50)
pc.set_skill_level(131 ,50)
pc.set_skill_level(121 ,50)
pc.set_skill_level(129 ,50)
pc.set_skill_level(126 ,50)
pc.set_skill_level(127 ,50)
pc.set_skill_level(128 ,50)
pc.set_skill_level(137 ,20)
pc.set_skill_level(138 ,20)
pc.set_skill_level(139 ,20)
pc.set_skill_level(140 ,20)
pc.set_skill_level(125 ,59)
pc.set_skill_level(130 ,59)
say("Alle deine Skills sind nun Perfekt! Viel Spaß")
end
elseif pc.job ==2 then
say("Wähle deine Lehre aus")
local s=select("Magie","Waffe")
if s==1 then
pc.set_skill_group(5)
pc.set_skill_level(76 ,59)
pc.set_skill_level(77 ,59)
pc.set_skill_level(78 ,59)
pc.set_skill_level(79 ,59)
pc.set_skill_level(80 ,59)
pc.set_skill_level(81, 59)
pc.set_skill_level(124 ,50)
pc.set_skill_level(131 ,50)
pc.set_skill_level(121 ,50)
pc.set_skill_level(129 ,50)
pc.set_skill_level(126 ,50)
pc.set_skill_level(127 ,50)
pc.set_skill_level(128 ,50)
pc.set_skill_level(137 ,20)
pc.set_skill_level(138 ,20)
pc.set_skill_level(139 ,20)
pc.set_skill_level(140 ,20)
pc.set_skill_level(125 ,59)
pc.set_skill_level(130 ,59)
say("Alle deine Skills sind nun Perfekt! Viel Spaß")
end
if s==2 then
--Waffe
pc.set_skill_group(6)
pc.set_skill_level(61 ,59)
pc.set_skill_level(62 ,59)
pc.set_skill_level(63 ,59)
pc.set_skill_level(64 ,59)
pc.set_skill_level(65 ,59)
pc.set_skill_level(66 ,59)
pc.set_skill_level(124 ,50)
pc.set_skill_level(131 ,50)
pc.set_skill_level(121 ,50)
pc.set_skill_level(129 ,50)
pc.set_skill_level(126 ,50)
pc.set_skill_level(127 ,50)
pc.set_skill_level(128 ,50)
pc.set_skill_level(137 ,20)
pc.set_skill_level(138 ,20)
pc.set_skill_level(139 ,20)
pc.set_skill_level(140 ,20)
pc.set_skill_level(125 ,59)
pc.set_skill_level(130 ,59)
say("Alle deine Skills sind nun Perfekt! Viel Spaß")
end
elseif pc.job ==3 then
say("Wähle deine Lehre aus")
local s=select("Heilung","Drache")
if s==1 then
pc.set_skill_group(7)
pc.set_skill_level(106 ,59)
pc.set_skill_level(107 ,59)
pc.set_skill_level(108 ,59)
pc.set_skill_level(109 ,59)
pc.set_skill_level(110 ,59)
pc.set_skill_level(111 ,59)
pc.set_skill_level(124 ,50)
pc.set_skill_level(131 ,50)
pc.set_skill_level(121 ,50)
pc.set_skill_level(129 ,50)
pc.set_skill_level(126 ,50)
pc.set_skill_level(127 ,50)
pc.set_skill_level(128 ,50)
pc.set_skill_level(137 ,20)
pc.set_skill_level(138 ,20)
pc.set_skill_level(139 ,20)
pc.set_skill_level(140 ,20)
pc.set_skill_level(125 ,59)
pc.set_skill_level(130 ,59)
say("Alle deine Skills sind nun Perfekt! Viel Spaß")
end
if s==2 then
pc.set_skill_group(8)
pc.set_skill_level(91 ,59)
pc.set_skill_level(92 ,59)
pc.set_skill_level(93 ,59)
pc.set_skill_level(94 ,59)
pc.set_skill_level(95 ,59)
pc.set_skill_level(96 ,59)
pc.set_skill_level(124 ,50)
pc.set_skill_level(131 ,50)
pc.set_skill_level(121 ,50)
pc.set_skill_level(129 ,50)
pc.set_skill_level(126 ,50)
pc.set_skill_level(127 ,50)
pc.set_skill_level(128 ,50)
pc.set_skill_level(137 ,20)
pc.set_skill_level(138 ,20)
pc.set_skill_level(139 ,20)
pc.set_skill_level(140 ,20)
pc.set_skill_level(125 ,59)
pc.set_skill_level(130 ,59)
say("Alle deine Skills sind nun Perfekt! Viel Spaß")
end
end
end
end
end
|
Falsch geschrieben, kann dir gerne eine Reihe an Varianten bzw Quests schicken. Meld dich einfach.
Liebe Grüße
Quote:
Originally Posted by "Sh4Xx"
Code:
if s == 1 then
pc.remove_item(70058, 1)
pc.setqf("core_vip", 1)
affect.add_collect(apply.ATT_SPEED,3,60*60*24*365*60)
affect.add_collect(apply.ATT_BONUS_TO_MONSTER,5,60*60*24*365*60)
affect.add_collect(apply.ATT_SPEED,5,60*60*24*365*60)
affect.add_collect(apply.ATT_SPEED,5,60*60*24*365*60)
affect.add_collect(apply.ATT_SPEED,5,60*60*24*365*60)
else
return
end
end
end
end
Ganze quest geht nur die Belohnung , also Attribute werden nicht Verteilt hab ich da was Falsch eingeben?
|
Meld dich bei mir, schreibe dir funktionierende..
Liebe Grüße
Quote:
Originally Posted by Timau
~Quest nimmt kein Ende~
Ich hab ein problem mit der Quest ... im Spioler... sie nimmt einfach kein Ende.
Sobald man eben die ganze Quest fertig hat wiederholt sie sich bei Orkzahn
was wiederum nicht sein soll... evtl weiß einer von euch das Problem.
Code:
quest biologen_quest begin
----------------------------------
-- LvL 30 / Orkzähne
----------------------------------
state start begin
when login or levelup with pc.level>29 begin
set_state(talk_to_disciple_lv30)
end
end
state talk_to_disciple_lv30 begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then target.vid("__TARGET__", v, "Biologe")
end
send_letter("Die Forschung des Biologen")
end
when button or info begin
say_title("Die Forschung des Biologen")
say("")
say("Der Biologe benötigt deine Hilfe.")
say("Sprich mit ihm.")
say("")
say_reward("Sprich mit dem Biologen")
say("")
end
when __TARGET__.target.click or 20084.chat."Orkzähne" begin
target.delete("__TARGET__")
say("Biologe:")
say("")
say("Oh, du hilfst mir?")
say("Gut ...")
say("Ich bin übrings der Biologe")
say("und studiere zahlreiches aus der Pflanzenwelt.")
say("Wenn du mir bei meinen Forschungen hilfst,")
say("werde ich dich reich belohnen.")
say("")
wait()
say("Biologe:")
say("Ich habe vor kurzem wieder angefangen ...")
say("Ich Forsche an einer Legende ...")
say("Doch habe ich derzeit viel zu tun,")
say("es währe also nett, wenn du mir hilfst ...")
say("")
wait()
say("Biologe:")
say("Ich benötige zehn Orkzähne für meine Forschungen.")
say("Diese sind jedoch sehr zerbrechlich,")
say("es kann also sein, dass einige bei")
say("meinen Untersuchungen kaputt gehen.")
say("Ich benötige alle zehn,")
say("um meine Forschungen vollenden zu können.")
say("")
set_state(collect_orcteeth)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
end
end
state collect_orcteeth begin
when letter begin
send_letter("Die Forschung des Biologen")
end
when button or info begin
say_title("Orkzähne")
say("")
say("Der Biologe gab euch den Auftrag,")
say("zehn Orkzähne zu sammeln.")
say("Sammelt und bringt sie dem Biologen.")
say("")
say_item_vnum(30006)
say_reward("Du hast derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
end
when 20084.chat."Orkzähne" with pc.count_item(30006)>0 begin
if get_time()>pc.getqf("duration") then
say("Einen Moment ...")
say("Vielen Dank,")
say("lasst mich schnell überprüfen")
say("ob dieser Zahn in Ordnung ist ...")
say("")
pc.remove_item("30006", 1)
pc.setqf("duration",get_time()+1)
wait()
local rand = number(0,99)
if rand<50 then
local count = pc.getqf("collect_count")+1
if count<1 then
pc.setqf("collect_count", count)
say("Biologe:")
say("Hervorragend, dieser Zahn ist in Ordnung.")
say("Bringt mir noch welche, damit ich meine")
say("Forschungen abschließen kann.")
say("")
say_reward("Ihr habt derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
else
say("Biologe:")
say("Du hast mir die 10 Stück gebracht...")
say("Nun bitte ich dich noch, mir den")
say("Jinunggyis Seelenstein zu bringen.")
say("Du bekommst ihn von Stolzen Orks ...")
say("Ich denke, dafür bist du stark genug.")
say("")
pc.setqf("collect_count",0)
pc.setqf("duration",0)
set_state(collect_jinunggyis)
end
else
say("Biologe:")
say("Es tut mir leid, aber der Zahn ist bei")
say("den Untersuchungen zerbrochen.")
say("Bitte hol mir einen neuen Orkzahn!")
say("")
end
else
say("Biologe:")
say("Entschuldige, ich habe die letzten")
say("Studien noch nicht beendet ...")
say("Bitte bring mir den Zahn später.")
say("")
end
end
end
state collect_jinunggyis begin
when letter begin
send_letter("Jinunggyis Seelenstein")
end
when button or info begin
say_title("Jinunggyis Seelenstein")
say("")
say("Ihr habt alle zehn Orkzähne gesammelt.")
say("Nun müsst ihr Jinunggyis Seelenstein erbeuten.")
say("")
say_item_vnum(30220)
say("Ob dieser Stein tatsächlich eine Seele enthält?")
say("")
end
when 635.kill or 636.kill or 637.kill begin
if pc.count_item(30220)<1 then
local rand = number(0,99)
if rand<5 then pc.give_item2(30220, 1)
end
end
end
when 20084.chat."Jinunggyis Seelenstein" begin
if pc.count_item(30220)>0 then
say("Biologe:")
say("Dank deiner Hilfe verstehe ich nun")
say("die Legende um Jinunggyis Seelenstein.")
say("Du hast hart gekämpft.")
say("Sprich mit Baek-Go, er wird dir helfen,")
say("deine inneren Kräfte zu steigern.")
say("")
pc.remove_item(30220,1)
set_state(jinunggyis_reward)
else
say("Biologe:")
say("Du hast mir die 10 Stück gebracht...")
say("Nun bitte ich dich noch, mir den")
say("Jinunggyis Seelenstein zu bringen.")
say("Du bekommst ihn von Stolzen Orks ...")
say("Ich denke, dafür bist du stark genug.")
say("")
end
end
end
state jinunggyis_reward begin
when letter begin
send_letter("Sprich mit Baek-Go")
local v = find_npc_by_vnum(20018)
if v != 0 then target.vid("__TARGET__", v, "Doktor")
end
end
when button or info begin
say("Um die Belohnung des Biologen zu erhalten")
say("suche mit den Informationen der")
say("Orkzähne und des Seelensteins Baek-Go auf.")
say("")
end
when __TARGET__.target.click or 20018.chat."Belohnung des Biologen" begin
target.delete("__TARGET__")
say_title("Baek-Go:")
say("Ich sehe ...")
say("Der Biologe hat dich zu mir geschickt.")
say("Hier ist deine Belohnung:")
say("")
say_reward("Du erhälst:")
say_reward("Bewegungsgeschwindigkeit +10% (Dauerhaft)")
say("")
affect.add_collect(apply.MOV_SPEED, 10, 60*60*24*365*60)
set_state(collect_quest_lv40)
end
end
----------------------------------
-- LvL 40 / Fluchsammlung
----------------------------------
state collect_quest_lv40 begin
when login or levelup with pc.level>39 begin
set_state(talk_to_disciple_lv40)
end
end
state talk_to_disciple_lv40 begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then target.vid("__TARGET__", v, "Biologe")
end
send_letter("Forschung des Biologen Nr. 2")
end
when button or info begin
say_title("Forschung des Biologen Nr. 2")
say("")
say("Der Biologe benötigt ein weiteres Mal Hilfe.")
say("Er meinte, er bräuchte Hilfe auf der Suche")
say("nach speziellen Gegenständen.")
say("Sprich mit ihm,")
say("um eine genauere Beschreibung zu erhalten.")
say("")
say_reward("Sprich mit dem Biologen")
say("")
end
when __TARGET__.target.click or 20084.chat."Fluchbücher" begin
target.delete("__TARGET__")
say("Biologe:")
say("Gut, dass du gekommen bist...")
say("Die Untersuchung der Orkzähne")
say("habe ich abgeschlossen.")
say("Nun habe ich neue Objekte gefunden,")
say("die ich gerne untersuchen würde.")
wait()
say("Biologe:")
say("Ich würde sie ja selber sammeln,")
say("aber ich habe zuviel zu tun...")
say("Es wäre sehr nett, wenn du dies")
say("für mich erledigen könntest.")
wait()
say("Biologe:")
say("Ich möchte die Fluchbücher untersuchen.")
say("Davon benötige ich 15 Stück.")
say("Die Bücher sind jedoch ziemlich alt,")
say("manchmal zerfallen sie einfach!")
say("")
set_state(collect_cursebook)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
end
end
state collect_cursebook begin
when letter begin
send_letter("Forschung des Biologen Nr. 2")
end
when button or info begin
say_title("Fluchsammlungen")
say("")
say("Der Biologe gab euch den Auftrag,")
say("15 Fluchsammlungen zu besorgen.")
say("Diese kannst du bei den Dunklen- und")
say("Hohen Peinigern erbeuten.")
say("")
say_item_vnum(30047)
say_reward("Du hast derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
end
when 20084.chat."Fluchsammlungen" with pc.count_item(30047)>0 begin
if get_time()>pc.getqf("duration") then
say("Einen Moment ...")
say("Vielen Dank,")
say("lasst mich schnell überprüfen")
say("ob dieser Zahn in Ordnung ist ...")
say("")
pc.remove_item("30047", 1)
pc.setqf("duration",get_time()+1)
wait()
local rand = number(0,99)
if rand<50 then
local count = pc.getqf("collect_count")+1
if count<1 then
pc.setqf("collect_count", count)
say("Biologe:")
say("Hervorragend, diese Fluchsammlung ist in Ordnung.")
say("Bringt mir noch welche, damit ich meine")
say("Forschungen abschließen kann.")
say("")
say_reward("Ihr habt derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
else
say("Biologe:")
say("Du hast mir die 15 Sammlungen gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige den Tempelseelenstein,")
say("den du von Stolzen dunklen Fanatikern,")
say("Kämpfern, sowie Obersten erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
pc.setqf("collect_count",0)
pc.setqf("duration",0)
set_state(collect_templekey)
end
else
say("Biologe:")
say("Es tut mir leid, die Fluchsammlung")
say("ist bei den Untersuchungen zerfallen.")
say("Bitte hol mir eine neue Fluchsammlung.")
end
else
say("Biologe:")
say("Entschuldige, ich habe die letzten")
say("Studien noch nicht beendet ...")
say("Bitte bring mir die Fluchsammmlung später.")
end
end
end
state collect_templekey begin
when letter begin
send_letter("Tempelseelenstein")
end
when button or info begin
say_title("Tempelseelenstein")
say("")
say("Ihr habt alle 15 Fluchsammlungen abgegeben.")
say("Nun müsst ihr den Tempelseelenstein erbeuten.")
say("")
say_item_vnum(30221)
say("Ob dieser Stein tatsächlich Seelen")
say("der Tempelanhänger enthält?")
say("")
end
when 635.kill or 636.kill or 637.kill begin
if pc.count_item(30221)<1 then
local rand = number(0,99)
if rand<5 then pc.give_item2(30221, 1)
end
end
end
when 20084.chat."Tempelseelenstein" begin
if pc.count_item(30221)>0 then
say("Biologe:")
say("Dank deiner Hilfe verstehe ich nun")
say("die Legende um den Tempelseelenstein.")
say("Du hast hart gekämpft.")
say("Sprich mit Baek-Go, er wird dir helfen,")
say("deine inneren Kräfte zu steigern.")
say("")
pc.remove_item(30221,1)
set_state(templekey_reward)
else
say("Biologe:")
say("Du hast mir die 15 Sammlungen gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige den Tempelseelenstein,")
say("den du von Stolzen dunklen Fanatikern,")
say("Kämpfern, sowie Obersten erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
end
end
end
state templekey_reward begin
when letter begin
send_letter("Sprich mit Baek-Go")
local v = find_npc_by_vnum(20018)
if v != 0 then target.vid("__TARGET__", v, "Doktor")
end
end
when button or info begin
say_title("Sprich mit Baek-Go")
say("Um die Belohnung des Biologen zu erhalten,")
say("suche mit den Informationen der")
say("Fluchsammlungen und des Seelensteins")
say("Baek-Go auf. Er befindet sich in der Stadt.")
say("")
end
when __TARGET__.target.click or 20018.chat."Belohnung des Biologen" begin
target.delete("__TARGET__")
say_title("Baek-Go:")
say("Ich sehe ...")
say("Der Biologe hat dich zu mir geschickt.")
say("Hier ist deine Belohnung:")
say("")
say_reward("Du erhälst:")
say_reward("Angriffsgeschwindigkeit +5% (Dauerhaft)")
say("")
affect.add_collect(apply.ATT_SPEED,5,60*60*24*365*60)
set_state(collect_quest_lv50)
end
end
----------------------------------
-- LvL 50 / Dämonenandenken
----------------------------------
state collect_quest_lv50 begin
when login or levelup with pc.level>49 begin
set_state(talk_to_disciple_lv50)
end
end
state talk_to_disciple_lv50 begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then target.vid("__TARGET__", v, "Biologe")
end
send_letter("Forschung des Biologen Nr. 3")
end
when button or info begin
say_title("Forschung des Biologen Nr. 3")
say("")
say("Der Biologe benötigt ein weiteres Mal Hilfe.")
say("Er meinte, er bräuchte Hilfe auf der Suche")
say("nach speziellen Gegenständen.")
say("Sprich mit ihm,")
say("um eine genauere Beschreibung zu erhalten.")
say("")
say_reward("Sprich mit dem Biologen")
say("")
end
when __TARGET__.target.click or 20084.chat."Dämonenandenken" begin
target.delete("__TARGET__")
say("Biologe:")
say("Gut, dass du gekommen bist...")
say("Die Untersuchung der Fluchsammlungen")
say("habe ich abgeschlossen.")
say("Nun habe ich neue Objekte gefunden,")
say("die ich gerne untersuchen würde.")
wait()
say("Biologe:")
say("Ich würde sie ja selber sammeln,")
say("aber ich habe zuviel zu tun...")
say("Es wäre sehr nett, wenn du dies")
say("für mich erledigen könntest.")
wait()
say("Biologe:")
say("Ich möchte die Dämonenandenken untersuchen.")
say("Davon benötige ich 15 Stück.")
say("Diese sind jedoch ziemlich zerbrechlich,")
say("es kann also sein, dass einige bei")
say("meinen Untersuchungen kaputt gehen.")
say("")
set_state(collect_deamonitem)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
end
end
state collect_deamonitem begin
when letter begin
send_letter("Forschung des Biologen Nr. 3")
end
when button or info begin
say_title("Dämonenandenken")
say("")
say("Der Biologe gab euch den Auftrag,")
say("15 Dämonenandenken zu besorgen.")
say("Diese kannst du bei den Monstern im")
say("Dämonenturm erbeuten.")
say("")
say_item_vnum(30015)
say_reward("Du hast derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
end
when 20084.chat."Dämonenandenken" with pc.count_item(30015)>0 begin
if get_time()>pc.getqf("duration") then
say("Einen Moment ...")
say("Vielen Dank,")
say("lasst mich schnell überprüfen")
say("ob dieser Zahn in Ordnung ist ...")
say("")
pc.remove_item("30015", 1)
pc.setqf("duration", get_time()+1)
wait()
local rand = number(0,99)
if rand<50 then
local count = pc.getqf("collect_count")+1
if count<1 then
pc.setqf("collect_count", count)
say("Biologe:")
say("Hervorragend,")
say("dieses Dämonenandenken ist in Ordnung.")
say("Bringt mir noch welche, damit ich meine")
say("Forschungen abschließen kann.")
say("")
say_reward("Ihr habt derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
else
say("Biologe:")
say("Du hast mir die 15 Andenken gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige Sagyis Seelenstein,")
say("den du von den Monstern im Dämonenturm,")
say("erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
pc.setqf("collect_count",0)
pc.setqf("duration",0)
set_state(collect_sagyis)
end
else
say("Biologe:")
say("Es tut mir leid, das Andenken")
say("ist bei den Untersuchungen zerbrochen.")
say("Bitte hol mir ein Neues.")
end
else
say("Biologe:")
say("Entschuldige, ich habe die letzten")
say("Studien noch nicht beendet ...")
say("Bitte bring mir das Andenken später.")
end
end
end
state collect_sagyis begin
when letter begin
send_letter("Sagyis Seelenstein")
end
when button or info begin
say_title("Sagyis Seelenstein")
say("")
say("Ihr habt alle 15 Dämonenandenken abgegeben.")
say("Nun müsst ihr Sagyis Seelenstein erbeuten.")
say("")
say_item_vnum(30222)
say("Ob dieser Stein tatsächlich Seelen")
say("von Sagyis Adligen enthält?")
say("")
end
when 1031.kill or 1032.kill or 1033.kill or 1034.kill begin
if pc.count_item(30222)<1 then
local rand = number(0,99)
if rand<5 then pc.give_item2(30222, 1)
end
end
end
when 20084.chat."Sagyis Seelenstein" begin
target.delete("__TARGET__")
if pc.count_item(30222)>0 then
say("Biologe:")
say("Dank deiner Hilfe verstehe ich nun")
say("die Legende um Sagyis Seelenstein.")
say("Du hast hart gekämpft.")
say("Sprich mit Baek-Go, er wird dir helfen,")
say("deine inneren Kräfte zu steigern.")
say("")
pc.remove_item(30222,1)
set_state(sagyis_reward)
else
say("Biologe:")
say("Du hast mir die 15 Andenken gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige Sagyis Seelenstein,")
say("den du von den Monstern im Dämonenturm,")
say("erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
end
end
end
state sagyis_reward begin
when letter begin
send_letter("Sprich mit Baek-Go")
local v = find_npc_by_vnum(20018)
if v != 0 then target.vid("__TARGET__", v, "Doktor")
end
end
when button or info begin
say_title("Sprich mit Baek-Go")
say("Um die Belohnung des Biologen zu erhalten,")
say("suche mit den Informationen der")
say("Dämonenandenken und des Seelensteins")
say("Baek-Go auf. Er befindet sich in der Stadt.")
say("")
end
when __TARGET__.target.click or 20018.chat."Belohnung des Biologen" begin
target.delete("__TARGET__")
say_title("Baek-Go:")
say("Ich sehe ...")
say("Der Biologe hat dich zu mir geschickt.")
say("Hier ist deine Belohnung:")
say("")
say_reward("Du erhälst:")
say_reward("Verteidigung +60 (Dauerhaft)")
say("")
affect.add_collect(apply.DEF_GRADE_BONUS,60,60*60*24*365*60)
set_state(collect_quest_lv60)
end
end
----------------------------------
-- LvL 60 / Eiskugeln
----------------------------------
state collect_quest_lv60 begin
when login or levelup with pc.level>59 begin
set_state(talk_to_disciple_lv60)
end
end
state talk_to_disciple_lv60 begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then target.vid("__TARGET__", v, "Biologe")
end
send_letter("Forschung des Biologen Nr. 4")
end
when button or info begin
say_title("Forschung des Biologen Nr. 4")
say("")
say("Der Biologe benötigt ein weiteres Mal Hilfe.")
say("Er meinte, er bräuchte Hilfe auf der Suche")
say("nach speziellen Gegenständen.")
say("Sprich mit ihm,")
say("um eine genauere Beschreibung zu erhalten.")
say("")
say_reward("Sprich mit dem Biologen")
say("")
end
when __TARGET__.target.click or 20084.chat."Eiskugeln" begin
target.delete("__TARGET__")
say("Biologe:")
say("Gut, dass du gekommen bist...")
say("Die Untersuchung der Dämonenandenken")
say("habe ich abgeschlossen.")
say("Nun habe ich neue Objekte gefunden,")
say("die ich gerne untersuchen würde.")
wait()
say("Biologe:")
say("Ich würde sie ja selber sammeln,")
say("aber ich habe zuviel zu tun...")
say("Es wäre sehr nett, wenn du dies")
say("für mich erledigen könntest.")
wait()
say("Biologe:")
say("Ich möchte die Eiskugeln untersuchen.")
say("Davon benötige ich 15 Stück.")
say("Diese sind jedoch ziemlich zerbrechlich,")
say("es kann also sein, dass einige bei")
say("meinen Untersuchungen kaputt gehen.")
say("")
set_state(collect_scoops)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
end
end
state collect_scoops begin
when letter begin
send_letter("Forschung des Biologen Nr. 4")
end
when button or info begin
say_title("Eiskugeln")
say("")
say("Der Biologe gab euch den Auftrag,")
say("15 Eiskugeln zu besorgen.")
say("Diese kannst du bei den Eisgolems auf")
say("dem Berg Sohan erbeuten.")
say("")
say_item_vnum(30050)
say_reward("Du hast derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
end
when 20084.chat."Dämonenandenken" with pc.count_item(30050)>0 begin
if get_time()>pc.getqf("duration") then
say("Einen Moment ...")
say("Vielen Dank,")
say("lasst mich schnell überprüfen")
say("ob dieser Zahn in Ordnung ist ...")
say("")
pc.remove_item("30050", 1)
pc.setqf("duration", get_time()+1)
wait()
local rand = number(0,99)
if rand<50 then
local count = pc.getqf("collect_count")+1
if count<1 then
pc.setqf("collect_count", count)
say("Biologe:")
say("Hervorragend,")
say("diese Eiskugel ist in Ordnung.")
say("Bringt mir noch welche, damit ich meine")
say("Forschungen abschließen kann.")
say("")
say_reward("Ihr habt derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
else
say("Biologe:")
say("Du hast mir die 15 Eiskugeln gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige Aurtumryus Seelenstein,")
say("den du von den Eismonstern auf dem Berg Sohan,")
say("erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
pc.setqf("collect_count",0)
pc.setqf("duration",0)
set_state(collect_aurtumryus)
end
else
say("Biologe:")
say("Es tut mir leid, die Eiskugel")
say("ist bei den Untersuchungen zerbrochen.")
say("Bitte hol mir eine Neue.")
end
else
say("Biologe:")
say("Entschuldige, ich habe die letzten")
say("Studien noch nicht beendet ...")
say("Bitte bring mir die Eiskugel später.")
end
end
end
state collect_aurtumryus begin
when letter begin
send_letter("Aurtumryus Seelenstein")
end
when button or info begin
say_title("Aurtumryus Seelenstein")
say("")
say("Ihr habt alle 15 Eiskugeln abgegeben.")
say("Nun müsst ihr Aurtumryus Seelenstein erbeuten.")
say("")
say_item_vnum(30223)
say("Ob dieser Stein tatsächlich Seelen")
say("von Aurtumryus Adligen enthält?")
say("")
end
when 1101.kill or 1102.kill or 1103.kill or 1104.kill or 1105.kill or 1106.kill or 1107.kill begin
if pc.count_item(30223)<1 then
local rand = number(0,99)
if rand<5 then pc.give_item2(30223, 1)
end
end
end
when 20084.chat."Aurtumryus Seelenstein" begin
if pc.count_item(30223)>0 then
say("Biologe:")
say("Dank deiner Hilfe verstehe ich nun")
say("die Legende um Aurtumryus Seelenstein.")
say("Du hast hart gekämpft.")
say("Sprich mit Baek-Go, er wird dir helfen,")
say("deine inneren Kräfte zu steigern.")
say("")
pc.remove_item(30223,1)
set_state(aurtumryus_reward)
else
say("Biologe:")
say("Du hast mir die 15 Eiskugeln gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige Aurtumryus Seelenstein,")
say("den du von den Eismonstern auf dem Berg Sohan,")
say("erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
end
end
end
state aurtumryus_reward begin
when letter begin
send_letter("Sprich mit Baek-Go")
local v = find_npc_by_vnum(20018)
if v != 0 then target.vid("__TARGET__", v, "Doktor")
end
end
when button or info begin
say_title("Sprich mit Baek-Go")
say("Um die Belohnung des Biologen zu erhalten,")
say("suche mit den Informationen der")
say("Eiskugeln und des Seelensteins")
say("Baek-Go auf. Er befindet sich in der Stadt.")
say("")
end
when __TARGET__.target.click or 20018.chat."Belohnung des Biologen" begin
target.delete("__TARGET__")
say_title("Baek-Go:")
say("Ich sehe ...")
say("Der Biologe hat dich zu mir geschickt.")
say("Hier ist deine Belohnung:")
say("")
say_reward("Du erhälst:")
say_reward("Angriffswert +50 (Dauerhaft)")
say("")
affect.add_collect(apply.ATT_GRADE_BONUS,50,60*60*24*365*60)
set_state(collect_quest_lv70)
end
end
----------------------------------
-- LvL 70 / Zelkovas Holzäste
----------------------------------
state collect_quest_lv70 begin
when login or levelup with pc.level>69 begin
set_state(talk_to_disciple_lv70)
end
end
state talk_to_disciple_lv70 begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then target.vid("__TARGET__", v, "Biologe")
end
send_letter("Forschung des Biologen Nr. 5")
end
when button or info begin
say_title("Forschung des Biologen Nr. 5")
say("")
say("Der Biologe benötigt ein weiteres Mal Hilfe.")
say("Er meinte, er bräuchte Hilfe auf der Suche")
say("nach speziellen Gegenständen.")
say("Sprich mit ihm,")
say("um eine genauere Beschreibung zu erhalten.")
say("")
say_reward("Sprich mit dem Biologen")
say("")
end
when __TARGET__.target.click or 20084.chat."Zelkovas Holzäste" begin
target.delete("__TARGET__")
say("Biologe:")
say("Gut, dass du gekommen bist...")
say("Die Untersuchung der Eiskugeln")
say("habe ich abgeschlossen.")
say("Nun habe ich neue Objekte gefunden,")
say("die ich gerne untersuchen würde.")
wait()
say("Biologe:")
say("Ich würde sie ja selber sammeln,")
say("aber ich habe zuviel zu tun...")
say("Es wäre sehr nett, wenn du dies")
say("für mich erledigen könntest.")
wait()
say("Biologe:")
say("Ich möchte Zelkovas Holzäste untersuchen.")
say("Davon benötige ich 25 Stück.")
say("Diese welken jedoch ziemlich schnell,")
say("es kann also sein, dass einige für")
say("meine Untersuchungen unbrauchbar sind.")
say("")
set_state(collect_branches)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
end
end
state collect_branches begin
when letter begin
send_letter("Forschung des Biologen Nr. 5")
end
when button or info begin
say_title("Zelkovas Holzäste")
say("")
say("Der Biologe gab euch den Auftrag,")
say("25 von Zelkovas Holzästen zu besorgen.")
say("Diese kannst du bei den Monstern")
say("im Geisterwald erbeuten.")
say("")
say_item_vnum(30165)
say_reward("Du hast derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
end
when 20084.chat."Zelkovas Holzäste" with pc.count_item(30165)>0 begin
if get_time()>pc.getqf("duration") then
say("Einen Moment ...")
say("Vielen Dank,")
say("lasst mich schnell überprüfen")
say("ob dieser Holzast in Ordnung ist ...")
say("")
pc.remove_item("30165", 1)
pc.setqf("duration", get_time()+1)
wait()
local rand = number(0,99)
if rand<50 then
local count = pc.getqf("collect_count")+1
if count<1 then
pc.setqf("collect_count", count)
say("Biologe:")
say("Hervorragend,")
say("dieser Holzast ist in Ordnung.")
say("Bringt mir noch welche, damit ich meine")
say("Forschungen abschließen kann.")
say("")
say_reward("Ihr habt derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
else
say("Biologe:")
say("Du hast mir die 25 Holzäste gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige Gyimoks Seelenstein,")
say("den du ebenfalls von den Monstern")
say("im Geisterwald erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
pc.setqf("collect_count",0)
pc.setqf("duration",0)
set_state(collect_gyimoks)
end
else
say("Biologe:")
say("Es tut mir leid, der Holzast")
say("ist während des Transports verwelkt.")
say("Bitte hol mir einen Neuen.")
end
else
say("Biologe:")
say("Entschuldige, ich habe die letzten")
say("Studien noch nicht beendet ...")
say("Bitte bring mir den Holzast später.")
end
end
end
state collect_gyimoks begin
when letter begin
send_letter("Gyimoks Seelenstein")
end
when button or info begin
say_title("Gyimoks Seelenstein")
say("")
say("Ihr habt alle 15 Eiskugeln abgegeben.")
say("Nun müsst ihr Gyimoks Seelenstein erbeuten.")
say("")
say_item_vnum(30224)
say("Ob dieser Stein tatsächlich Seelen")
say("von Gyimoks Adligen enthält?")
say("")
end
when 2301.kill or 2302.kill or 2303.kill or 2304.kill or 2305.kill or 2311.kill or
2312.kill or 2313.kill or 2314.kill or 2315.kill or 2306.kill or 2307.kill begin
if pc.count_item(30224)<1 then
local rand = number(0,99)
if rand<5 then pc.give_item2(30224, 1)
end
end
end
when 20084.chat."Gyimoks Seelenstein" begin
target.delete("__TARGET__")
if pc.count_item(30224)>0 then
say("Biologe:")
say("Dank deiner Hilfe verstehe ich nun")
say("die Legende um Gyimoks Seelenstein.")
say("Du hast hart gekämpft.")
say("Sprich mit Baek-Go, er wird dir helfen,")
say("deine inneren Kräfte zu steigern.")
say("")
pc.remove_item(30224,1)
set_state(gyimoks_reward)
else
say("Biologe:")
say("Du hast mir die 25 Holzäste gebracht.")
say("Nun...ich habe noch eine Bitte.")
say("Ich benötige Gyimoks Seelenstein,")
say("den du ebenfalls von den Monstern")
say("im Geisterwald erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
end
end
end
state gyimoks_reward begin
when letter begin
send_letter("Sprich mit Baek-Go")
local v = find_npc_by_vnum(20018)
if v != 0 then target.vid("__TARGET__", v, "Doktor")
end
end
when button or info begin
say_title("Sprich mit Baek-Go")
say("Um die Belohnung des Biologen zu erhalten,")
say("suche mit den Informationen der")
say("Zelkova Holzäste und des Seelensteins")
say("Baek-Go auf. Er befindet sich in der Stadt.")
say("")
end
when __TARGET__.target.click or 20018.chat."Belohnung des Biologen" begin
target.delete("__TARGET__")
say_title("Baek-Go:")
say("Ich sehe ...")
say("Der Biologe hat dich zu mir geschickt.")
say("Hier ist deine Belohnung:")
say("")
say_reward("Du erhälst:")
say_reward("Bewegungsgeschwindigkeit +10% (Dauerhaft)")
say_reward("Schadensreduzierung +10% (Dauerhaft)")
say("")
affect.add_collect(apply.MOV_SPEED,10,60*60*24*365*60)
affect.add_collect(apply.DEF_GRADE_BONUS,10,60*60*24*365*60)
set_state(collect_quest_lv80)
end
end
----------------------------------
-- LvL 80 / Tugyis Tafeln
----------------------------------
state collect_quest_lv80 begin
when login or levelup with pc.level>79 begin
set_state(talk_to_disciple_lv80)
end
end
state talk_to_disciple_lv80 begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then target.vid("__TARGET__", v, "Biologe")
end
send_letter("Forschung des Biologen Nr. 6")
end
when button or info begin
say_title("Forschung des Biologen Nr. 6")
say("")
say("Der Biologe benötigt ein weiteres Mal Hilfe.")
say("Er meinte, er bräuchte Hilfe auf der Suche")
say("nach speziellen Gegenständen.")
say("Sprich mit ihm,")
say("um eine genauere Beschreibung zu erhalten.")
say("")
say_reward("Sprich mit dem Biologen")
say("")
end
when __TARGET__.target.click or 20084.chat."Tugyis Tafeln" begin
target.delete("__TARGET__")
say("Biologe:")
say("Gut, dass du gekommen bist...")
say("Die Untersuchung der Zelkova Holzäste")
say("habe ich abgeschlossen.")
say("Nun habe ich neue Objekte gefunden,")
say("die ich gerne untersuchen würde.")
wait()
say("Biologe:")
say("Ich würde sie ja selber sammeln,")
say("aber ich habe zuviel zu tun...")
say("Es wäre sehr nett, wenn du dies")
say("für mich erledigen könntest.")
wait()
say("Biologe:")
say("Ich möchte Tugyis Tafeln untersuchen.")
say("Davon benötige ich 30 Stück.")
say("Diese sind jedoch ziemlich zerbrechlich,")
say("es kann also sein, dass einige bei")
say("meinen Untersuchungen kaputt gehen.")
say("")
set_state(collect_plates)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
end
end
state collect_plates begin
when letter begin
send_letter("Forschung des Biologen Nr. 6")
end
when button or info begin
say_title("Tugyis Tafeln")
say("")
say("Der Biologe gab euch den Auftrag,")
say("30 von Tugyis Tafeln zu besorgen.")
say("Diese kannst du bei den Monstern")
say("im Land der Riesen erbeuten.")
say("")
say_item_vnum(30166)
say_reward("Du hast derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
end
when 1401.kill or 1402.kill or 1403.kill or 1601.kill or 1602.kill or 1603.kill begin
local rand = number(0,99)
if rand<5 then pc.give_item2(30166, 1)
end
end
when 20084.chat."Tugyis Tafeln" with pc.count_item(30165)>0 begin
if get_time()>pc.getqf("duration") then
say("Einen Moment ...")
say("Vielen Dank,")
say("lasst mich schnell überprüfen")
say("ob diese Tafel in Ordnung ist ...")
say("")
pc.remove_item("30166", 1)
pc.setqf("duration", get_time()+1)
wait()
local rand = number(0,99)
if rand<50 then
local count = pc.getqf("collect_count")+1
if count<1 then
pc.setqf("collect_count", count)
say("Biologe:")
say("Hervorragend,")
say("diese Tafel ist in Ordnung.")
say("Bringt mir noch welche, damit ich meine")
say("Forschungen abschließen kann.")
say("")
say_reward("Ihr habt derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
else
say("Biologe:")
say("Du hast mir die 30 Tafeln gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige Tugyis Seelenstein,")
say("den du ebenfalls von den Monstern")
say("im Land der Riesen erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
pc.setqf("collect_count",0)
pc.setqf("duration",0)
set_state(collect_tugyis)
end
else
say("Biologe:")
say("Es tut mir leid, die Tafel")
say("ist während der Untersuchung zerbrochen.")
say("Bitte hol mir eine Neue.")
end
else
say("Biologe:")
say("Entschuldige, ich habe die letzten")
say("Studien noch nicht beendet ...")
say("Bitte bring mir die Tafel später.")
end
end
end
state collect_tugyis begin
when letter begin
send_letter("Tugyis Seelenstein")
end
when button or info begin
say_title("Tugyis Seelenstein")
say("")
say("Ihr habt alle 30 Tafeln abgegeben.")
say("Nun müsst ihr Tugyis Seelenstein erbeuten.")
say("")
say_item_vnum(30225)
say("Ob dieser Stein tatsächlich Seelen")
say("von Tugyis Adligen enthält?")
say("")
end
when 1401.kill or 1402.kill or 1403.kill or 1601.kill or 1602.kill or 1603.kill begin
if pc.count_item(30224)<1 then
local rand = number(0,99)
if rand<5 then pc.give_item2(30225, 1)
end
end
end
when 20084.chat."Tugyis Seelenstein" begin
if pc.count_item(30225)>0 then
say("Biologe:")
say("Dank deiner Hilfe verstehe ich nun")
say("die Legende um Tugyis Seelenstein.")
say("Du hast hart gekämpft.")
say("Sprich mit Baek-Go, er wird dir helfen,")
say("deine inneren Kräfte zu steigern.")
say("")
pc.remove_item(30225,1)
set_state(tugyis_reward)
else
say("Biologe:")
say("Du hast mir die 30 Tafeln gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige Tugyis Seelenstein,")
say("den du ebenfalls von den Monstern")
say("im Land der Riesen erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
end
end
end
state tugyis_reward begin
when letter begin
send_letter("Sprich mit Baek-Go")
local v = find_npc_by_vnum(20018)
if v != 0 then target.vid("__TARGET__", v, "Doktor")
end
end
when button or info begin
say_title("Sprich mit Baek-Go")
say("Um die Belohnung des Biologen zu erhalten,")
say("suche mit den Informationen der")
say("Tugyis Tafeln und des Seelensteins")
say("Baek-Go auf. Er befindet sich in der Stadt.")
say("")
end
when __TARGET__.target.click or 20018.chat."Belohnung des Biologen" begin
target.delete("__TARGET__")
say_title("Baek-Go:")
say("Ich sehe ...")
say("Der Biologe hat dich zu mir geschickt.")
say("Hier ist deine Belohnung:")
say("")
say_reward("Du erhälst:")
say_reward("Angriffsgeschwindigkeit +5% (Dauerhaft)")
say_reward("Schadenserhöhung +10% (Dauerhaft)")
say("")
affect.add_collect(apply.ATT_SPEED,5,60*60*24*365*60)
affect.add_collect_point(apply.POINT_ATT_BONUS,10,60*60*24*365*60)
set_state(collect_quest_lv90)
end
end
----------------------------------
-- LvL 90 / Notiz der Anführer
----------------------------------
state collect_quest_lv90 begin
when login or levelup with pc.level>79 begin
set_state(talk_to_disciple_lv90)
end
end
state talk_to_disciple_lv90 begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then target.vid("__TARGET__", v, "Biologe")
end
send_letter("Forschung des Biologen Nr. 7")
end
when button or info begin
say_title("Forschung des Biologen Nr. 7")
say("")
say("Der Biologe benötigt ein weiteres Mal Hilfe.")
say("Er meinte, er bräuchte Hilfe auf der Suche")
say("nach speziellen Gegenständen.")
say("Sprich mit ihm,")
say("um eine genauere Beschreibung zu erhalten.")
say("")
say_reward("Sprich mit dem Biologen")
say("")
end
when __TARGET__.target.click or 20084.chat."Notiz der Anführer" begin
target.delete("__TARGET__")
say("Biologe:")
say("Gut, dass du gekommen bist...")
say("Die Untersuchung der Tugyis Tafeln")
say("habe ich abgeschlossen.")
say("Nun habe ich neue Objekte gefunden,")
say("die ich gerne untersuchen würde.")
wait()
say("Biologe:")
say("Ich würde sie ja selber sammeln,")
say("aber ich habe zuviel zu tun...")
say("Es wäre sehr nett, wenn du dies")
say("für mich erledigen könntest.")
wait()
say("Biologe:")
say("Ich möchte Notizen der Anführer untersuchen.")
say("Davon benötige ich 50 Stück.")
say("Es kann jedoch sein, dass sich einige")
say("Notizen als alt und unlesbar herausstellen.")
say("")
set_state(collect_notices)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
end
end
state collect_notices begin
when letter begin
send_letter("Forschung des Biologen Nr. 7")
end
when button or info begin
say_title("Notiz der Anführer")
say("")
say("Der Biologe gab euch den Auftrag,")
say("50 Notizen der Anführer zu besorgen.")
say("Diese kannst du von den Bossen")
say("wie z.B. Oberork, Königsspinne,")
say("Neunschwanz, etc. erbeuten.")
say("")
say_item_vnum(30168)
say_reward("Du hast derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
end
when 591.kill or 691.kill or 791.kill or 793.kill or 991.kill or 992.kill or 993.kill or 1091.kill or 1092.kill or 1093.kill or 1304.kill or
1403.kill or 2091.kill or 2191.kill or 2206.kill or 2207.kill or 2306.kill or 2493.kill or 2494.kill or 5001.kill or 5004.kill or
5161.kill or 5162.kill or 5163.kill begin
local rand = number(0,99)
if rand<5 then pc.give_item2(30168, 1)
end
end
when 20084.chat."Notiz der Anführer" with pc.count_item(30168)>0 begin
if get_time()>pc.getqf("duration") then
say("Einen Moment ...")
say("Vielen Dank,")
say("lasst mich schnell überprüfen")
say("ob diese Notiz lesbar ist ...")
say("")
pc.remove_item("30168", 1)
pc.setqf("duration", get_time()+1)
wait()
local rand = number(0,99)
if rand<50 then
local count = pc.getqf("collect_count")+1
if count<1 then
pc.setqf("collect_count", count)
say("Biologe:")
say("Hervorragend,")
say("diese Notiz ist in Ordnung.")
say("Bringt mir noch welche, damit ich meine")
say("Forschungen abschließen kann.")
say("")
say_reward("Ihr habt derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
else
say("Biologe:")
say("Du hast mir die 50 Notizen gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige den Seelenstein der Anführer,")
say("den du ebenfalls von den Bossen")
say("erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
pc.setqf("collect_count",0)
pc.setqf("duration",0)
set_state(collect_bossKey)
end
else
say("Biologe:")
say("Es tut mir leid, die Notiz")
say("hat sich als unlesbar herausgestellt.")
say("Bitte hol mir eine Neue.")
end
else
say("Biologe:")
say("Entschuldige, ich habe die letzten")
say("Studien noch nicht beendet ...")
say("Bitte bring mir die Notiz später.")
end
end
end
state collect_bossKey begin
when letter begin
send_letter("Seelenstein der Anführer")
end
when button or info begin
say_title("Seelenstein der Anführer")
say("")
say("Ihr habt alle 50 Notizen abgegeben.")
say("Nun müsst ihr den Seelenstein der Anführer")
say("erbeuten.")
say("")
say_item_vnum(30227)
say("Ob dieser Stein tatsächlich Seelen")
say("der Anführer enthält?")
say("")
end
when 591.kill or 691.kill or 791.kill or 793.kill or 991.kill or 992.kill or 993.kill or 1091.kill or 1092.kill or 1093.kill or 1304.kill or
1403.kill or 2091.kill or 2191.kill or 2206.kill or 2207.kill or 2306.kill or 2493.kill or 2494.kill or 5001.kill or 5004.kill or
5161.kill or 5162.kill or 5163.kill begin
if pc.count_item(30227)<1 then
local rand = number(0,99)
if rand<5 then pc.give_item2(30227, 1)
end
end
end
when 20084.chat."Seelenstein der Anführer" begin
if pc.count_item(30227)>0 then
say("Biologe:")
say("Dank deiner Hilfe verstehe ich nun")
say("die Legende um den Seelenstein der Anführer.")
say("Du hast hart gekämpft.")
say("Sprich mit Baek-Go, er wird dir helfen,")
say("deine inneren Kräfte zu steigern.")
say("")
pc.remove_item(30227,1)
set_state(bossKey_reward)
else
say("Biologe:")
say("Du hast mir die 50 Notizen gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige den Seelenstein der Anführer,")
say("den du ebenfalls von den Bossen")
say("erbeuten kannst.")
say("Ich denke, dafür bist du stark genug.")
say("")
end
end
end
state bossKey_reward begin
when letter begin
send_letter("Sprich mit Baek-Go")
local v = find_npc_by_vnum(20018)
if v != 0 then target.vid("__TARGET__", v, "Doktor")
end
end
when button or info begin
say_title("Sprich mit Baek-Go")
say("Um die Belohnung des Biologen zu erhalten,")
say("suche mit den Informationen der")
say("Notizen und des Seelensteins")
say("Baek-Go auf. Er befindet sich in der Stadt.")
say("")
end
when __TARGET__.target.click or 20018.chat."Belohnung des Biologen" begin
target.delete("__TARGET__")
say_title("Baek-Go:")
say("Ich sehe ...")
say("Der Biologe hat dich zu mir geschickt.")
say("Hier ist deine Belohnung:")
say("")
say_reward("Du erhälst:")
say_reward("Bewegungsgeschwindigkeit +5% (Dauerhaft)")
say_reward("Angriffsgeschwindigkeit +5% (Dauerhaft)")
say_reward("Schadensreduzierung +5% (Dauerhaft)")
say_reward("Angriffswert +50 (Dauerhaft)")
say("")
affect.add_collect(apply.MOV_SPEED, 5, 60*60*24*365*60)
affect.add_collect(apply.ATT_SPEED, 5, 60*60*24*365*60)
affect.add_collect(apply.ATT_GRADE_BONUS,25,60*60*24*365*60)
affect.add_collect(apply.DEF_GRADE_BONUS,5,60*60*24*365*60)
set_state(collect_quest_lv100)
end
end
----------------------------------
-- LvL 100 / Tofusteak
----------------------------------
state collect_quest_lv100 begin
when login or levelup with pc.level>99 begin
set_state(talk_to_disciple_lv100)
end
end
state talk_to_disciple_lv100 begin
when letter begin
local v = find_npc_by_vnum(20084)
if v != 0 then target.vid("__TARGET__", v, "Biologe")
end
send_letter("Auftrag des Biologen")
end
when button or info begin
say_title("Auftrag des Biologen")
say("")
say("Der Biologe benötigt ein weiteres Mal Hilfe.")
say("Er meinte, er bräuchte Hilfe auf der Suche")
say("nach speziellen Gegenständen.")
say("Sprich mit ihm,")
say("um eine genauere Beschreibung zu erhalten.")
say("")
say_reward("Sprich mit dem Biologen")
say("")
end
when __TARGET__.target.click or 20084.chat."Tofusteak" begin
target.delete("__TARGET__")
say("Biologe:")
say("Gut, dass du gekommen bist...")
say("Ich habe eine Überraschungsparty für")
say("die Gemischwarenhändlerin vor,")
say("da Sie demnächst 30 Jahre alt wird.")
say("")
wait()
say("Biologe:")
say("für die Gäste fehlen mir noch 35 Tofusteaks.")
say("Tofusteaks bekommt man von Oger Berserker")
say("im Land der Riesen.")
say("")
wait()
say("Biologe:")
say("Bedenke jedoch, dass Tofusteaks")
say("nicht lange haltbar sind.")
say("Es kann also sein, dass sich einige")
say("bei meinen Untersuchungen als")
say("unbrauchbar herausstellen.")
say("Ich brauche unbedingt 35 Stück,")
say("da auch 35 Gäste erscheinen werden.")
say("")
set_state(collect_tofu)
pc.setqf("duration",0)
pc.setqf("collect_count",0)
end
end
state collect_tofu begin
when letter begin
send_letter("Auftrag des Biologen")
end
when button or info begin
say_title("Tofusteak")
say("")
say("Der Biologe gab euch den Auftrag,")
say("35 Tofusteaks zu besorgen.")
say("Diese kannst du von Oger Berserkern")
say("im Land der Riesen erbeuten.")
say("")
say_item_vnum(30068)
say_reward("Du hast derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
end
when 1603.kill begin
local rand = number(0,99)
if rand<5 then pc.give_item2(30068, 1)
end
end
when 20084.chat."Tofusteak" with pc.count_item(30068)>0 begin
if get_time()>pc.getqf("duration") then
say("Einen Moment ...")
say("Vielen Dank,")
say("lasst mich schnell überprüfen")
say("ob das Steak verzehrbar ist ...")
say("")
pc.remove_item("30068", 1)
pc.setqf("duration", get_time()+1)
wait()
local rand = number(0,99)
if rand<50 then
local count = pc.getqf("collect_count")+1
if count<1 then
pc.setqf("collect_count", count)
say("Biologe:")
say("Hervorragend,")
say("dieses Steak ist in Ordnung.")
say("Bringt mir noch welche, damit ich meine")
say("Party steigen lassen kann.")
say("")
say_reward("Ihr habt derzeit "..pc.getqf("collect_count").." abgegeben!")
say("")
else
say("Biologe:")
say("Du hast mir die 35 Tofusteaks gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige ein Rezept,")
say("um aus den Steaks eine saftige Mahlzeit")
say("zu bereiten.")
say("Mir ist zu Ohren gekommen, dass Tausendkämpfer")
say("solche Mahlzeiten zubereiten.")
say("Ich denke, dafür bist du stark genug.")
say("")
pc.setqf("collect_count",0)
pc.setqf("duration",0)
set_state(collect_recipe)
end
else
say("Biologe:")
say("Es tut mir leid, das Steak")
say("hat sich als unbrauchbar herausgestellt.")
say("Bitte hol mir ein Neues.")
end
else
say("Biologe:")
say("Entschuldige, ich habe das letzte")
say("Steak noch nicht verarbeitet ...")
say("Bitte bring mir das Steak später.")
end
end
end
state collect_recipe begin
when letter begin
send_letter("Rezept")
end
when button or info begin
say_title("Rezept")
say("")
say("Ihr habt alle 35 Tofusteaks abgegeben.")
say("Nun müsst ihr das Rezept erbeuten.")
say("")
say_item_vnum(50903)
end
when 1403.kill begin
if pc.count_item(50903)<1 then
local rand = number(0,99)
if rand<5 then pc.give_item2(50903, 1)
end
end
end
when 20084.chat."Rezept" begin
if pc.count_item(50903)>0 then
say("Biologe:")
say("Vielen Dank, nun kann ich die Mahlzeiten")
say("endlich zubereiten.")
say("Dank dir wird die Überraschungsparty steigen.")
say("Du hast hart gekämpft.")
say("Sprich mit Baek-Go, er wird dir helfen,")
say("deine inneren Kräfte zu steigern.")
say("")
pc.remove_item(50903,1)
set_state(recipe_reward)
else
say("Biologe:")
say("Du hast mir die 35 Tofusteaks gebracht.")
say("Nun, ich habe noch eine Bitte.")
say("Ich benötige ein Rezept,")
say("um aus den Steaks eine saftige Mahlzeit")
say("zu bereiten.")
say("Mir ist zu Ohren gekommen, dass Tausendkämpfer")
say("solche Mahlzeiten zubereiten.")
say("Ich denke, dafür bist du stark genug.")
say("")
end
end
end
state recipe_reward begin
when letter begin
send_letter("Sprich mit Baek-Go")
local v = find_npc_by_vnum(20018)
if v != 0 then target.vid("__TARGET__", v, "Doktor")
end
end
when button or info begin
say_title("Sprich mit Baek-Go")
say("Um die Belohnung des Biologen zu erhalten,")
say("suche mit den Informationen der")
say("Überraschungsparty Baek-Go auf.")
say("Er befindet sich in der Stadt.")
say("")
end
when __TARGET__.target.click or 20018.chat."Belohnung des Biologen" begin
target.delete("__TARGET__")
say_title("Baek-Go:")
say("Ich sehe ...")
say("Der Biologe hat dich zu mir geschickt.")
say("Hier ist deine Belohnung:")
say("")
say_reward("Du erhälst:")
say_reward("Bewegungsgeschwindigkeit +5% (Dauerhaft)")
say_reward("Angriffsgeschwindigkeit +5% (Dauerhaft)")
say_reward("Schadensreduzierung +5% (Dauerhaft)")
say_reward("MAX. HP +2000 (Dauerhaft)")
say("")
affect.add_collect(apply.MAX_HP, 2000, 60*60*24*365*60)
complete_quest()
end
end
end
|
Ohne Funktion wird sie niemals enden Chef.
Liebe Grüße
Quote:
Originally Posted by ScarosHD
Habe Probleme mit meiner Jagdquest
quest pvm begin
state start begin
when login or levelup with pc.level >= 2 begin
set_state(information)
end
end
state information begin
when letter begin
send_letter("Auftrag 1")
end
when info or button begin
say_title("Auftrag 1")
say("")
say_reward("Töte 10x Wildhunde")
say("")
pc.setqf("state1", 0)
q.set_counter("Wildhunde", 20)
set_state(kill)
end
end
state kill begin
when letter begin
send_letter("Auftrag 1")
end
when info or button begin
say_title("Auftrag 1")
say("Staus:")
say_reward("Du hast schon "..pc.getqf("state1").." von 20x Wildhunde getötet")
end
when 101.kill begin
local count1 = pc.getqf("state1") + 1
if count1 <= 10 then
pc.setqf("state1", count1)
q.set_counter("Schwarzer Ork", count1)
end
if count1 == 10 then
set_state(fertig)
end
state fertig begin
when letter begin
send_letter("Auftrag 1 abgeschlossen!")
end
when info or button begin
say_title("Auftrag 1 abgeschlossen!")
say("")
say("du erhälst")
say_reward("Rüstung +3")
say("")
clear_letter()
set_state(ende)
if pc.get_job() == 0 then
item_vnum2 = 11203
elseif pc.get_job() == 1 then
item_vnum2 = 11403
elseif pc.get_job() == 2 then
item_vnum2 = 11603
elseif pc.get_job() == 3 then
item_vnum2 = 11803
end
end
state ende begin
end
end
end
|
Gibt für sowas schöne Jagdquestmaker.
Liebe Grüße
|
|
|
07/25/2016, 10:14
|
#12390
|
elite*gold: 0
Join Date: Sep 2013
Posts: 42
Received Thanks: 0
|
Hallo!
Ich bekomme durchgehend:
Error occured on compile ...
PHP Code:
quest ingameban begin state start begin when login with pc.is_gm() begin send_letter("HALLO") end when button or info with pc.is_gm() begin say_title("Sharzun - BannPanel") say("Hier kannst du folgende Dinge tun:") say("") say("- Einen Spieler Bannen") say("- Einen Spieler Entbannen") say("") local a = select("Ban Player", "Unban player", "Exit")
if a == 1 then say("Name of player who you wanna ban") say("") say("Info : Abusing GM power and you will be removed") local cblock = input() say("Reason:") local creason = input() game.set_event_flag("banned_".. cblock ..(),1") notice_all("Player: ".. cblock .." is banned. reason: ".. creason.."") notice_all("<ATTENTION>Play by the rules!!") end if a == 2 then say("Insert name of player who will be unbanned") local cublock = input() game.set_event_flag("banned_".. culock ..(),0") notice_all("Ban for player: ".. cublock .." was removed") end if a == 3 then return end end end end end
|
|
|
All times are GMT +2. The time now is 16:51.
|
|