|
You last visited: Today at 22:45
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
07/18/2016, 13:56
|
#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 immer noch dringend Hilfe.. Keiner eine Lösung parat?
|
|
|
07/18/2016, 14:02
|
#12377
|
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
|
#12378
|
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
|
#12379
|
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
|
#12380
|
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
|
#12381
|
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
|
#12382
|
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
|
#12383
|
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
|
#12384
|
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
|
|
|
07/25/2016, 16:56
|
#12385
|
elite*gold: 0
Join Date: Jul 2016
Posts: 14
Received Thanks: 12
|
Quote:
Originally Posted by TrollZone
Hallo!
Ich bekomme durchgehend:
Error occured on compile ...
|
Man sieht im Php Code doch schon, dass da ein " zu viel ist.
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
|
|
|
08/05/2016, 16:05
|
#12386
|
elite*gold: 50
Join Date: Jan 2013
Posts: 805
Received Thanks: 335
|
Hi undzwar hier an die Quester.
Ich beschäftige mich derzeit mit questen und möchte meine eigene Spinnenbaroness Quest schreiben.
Ich habe bisher geschafft das man Den Schlüssel abgeben muss und dann rein kommt und nach dem killen wieder Map1 geportet wird.
Und falls kein Schlüssel vorhanden ist man keinen Eintritt erhält.
Code:
quest spinnenbaroness begin
state start begin
when 30130.chat."Zugang zur Bruthöhle" begin
if pc.count_item("30324") < 1 then
say("Dieses Tor lässt sich nur mit einem")
say("Arachnidenschlüssel öffnen.")
elseif pc.count_item("30324") >= 1 then
say("Du wirst nun teleportiert.")
say("Viel Erfolg!")
d.new_jump(217, 88100, 614900)
d.regen_file("locale/germany/map/metin2_map_spinnendungeon_03/regen.txt")
end
end
when 2092.kill begin
timer("bosskill", 10)
syschat("Ihr werdet nun in eure Heimatstadt teleportiert.")
end
when bosskill.timer begin
d.exit_all_to_start_position()
end
end
end
Ich wollte das man auch alleine ohne Gruppe rein kommt. Das funktioniert. Wenn man jetzt aber in der Gruppe ist wird dann die ganze Gruppe teleportiert ?
Als zweites wollte ich fragen wie ich das mache. Wenn jetzt gerade eine Gruppe oder jemand einzelnes drinnen ist, ist es ja nicht gesperrt.
Wie kann ich das einfügen das, dann das Grabmal sagt: Der Dungeon ist gerade besetzt. Probiere es gleich noch einmal.
Was auch noch schön wäre ist das im Rufchat steht wer den Boss getötet hat.
Vielen Dank schonmal im Vorraus.
|
|
|
08/07/2016, 23:51
|
#12387
|
elite*gold: 1810
Join Date: Jan 2012
Posts: 2,208
Received Thanks: 1,630
|
Quote:
Originally Posted by #Vendetta
Hi undzwar hier an die Quester.
Ich beschäftige mich derzeit mit questen und möchte meine eigene Spinnenbaroness Quest schreiben.
Ich habe bisher geschafft das man Den Schlüssel abgeben muss und dann rein kommt und nach dem killen wieder Map1 geportet wird.
Und falls kein Schlüssel vorhanden ist man keinen Eintritt erhält.
Code:
quest spinnenbaroness begin
state start begin
when 30130.chat."Zugang zur Bruthöhle" begin
if pc.count_item("30324") < 1 then
say("Dieses Tor lässt sich nur mit einem")
say("Arachnidenschlüssel öffnen.")
elseif pc.count_item("30324") >= 1 then
say("Du wirst nun teleportiert.")
say("Viel Erfolg!")
d.new_jump(217, 88100, 614900)
d.regen_file("locale/germany/map/metin2_map_spinnendungeon_03/regen.txt")
end
end
when 2092.kill begin
timer("bosskill", 10)
syschat("Ihr werdet nun in eure Heimatstadt teleportiert.")
end
when bosskill.timer begin
d.exit_all_to_start_position()
end
end
end
Ich wollte das man auch alleine ohne Gruppe rein kommt. Das funktioniert. Wenn man jetzt aber in der Gruppe ist wird dann die ganze Gruppe teleportiert ?
Als zweites wollte ich fragen wie ich das mache. Wenn jetzt gerade eine Gruppe oder jemand einzelnes drinnen ist, ist es ja nicht gesperrt.
Wie kann ich das einfügen das, dann das Grabmal sagt: Der Dungeon ist gerade besetzt. Probiere es gleich noch einmal.
Was auch noch schön wäre ist das im Rufchat steht wer den Boss getötet hat.
Vielen Dank schonmal im Vorraus.
|
1. anderer questbefehl zum jumpen (entweder oder)
2. durch eine Abfrage (event_flag)
|
|
|
08/10/2016, 00:39
|
#12388
|
elite*gold: 0
Join Date: May 2012
Posts: 12
Received Thanks: 0
|
Kann mir jemand sagen warum diese Quest nicht funktioniert?
Wenn ich auf den Alkoholkrug klicke startet die Quest nicht mal, dass konnte ich herausfinden indem ich noch "chat("Test test Test")" hinzugefügt habe. Alle anderen Quests funktionieren einwandfrei.
Code:
quest alkoholkrug begin
state start begin
when 30013.use begin
chat("Test test Test")
pc.give_exp2(pc.get_next_exp())
end
end
end
|
|
|
08/10/2016, 02:25
|
#12389
|
elite*gold: 399
Join Date: Sep 2011
Posts: 5,323
Received Thanks: 3,937
|
Quote:
Originally Posted by ahmedta
Kann mir jemand sagen warum diese Quest nicht funktioniert?
Wenn ich auf den Alkoholkrug klicke startet die Quest nicht mal, dass konnte ich herausfinden indem ich noch "chat("Test test Test")" hinzugefügt habe. Alle anderen Quests funktionieren einwandfrei.
Code:
quest alkoholkrug begin
state start begin
when 30013.use begin
chat("Test test Test")
pc.give_exp2(pc.get_next_exp())
end
end
end
|
Item Type auf 18 bzw ITEM_QUEST stellen, überprüfen, ob die Quest in die locale_list eingetragen ist und ggf. den Server nach dem Quest "compilen" restarten.
|
|
|
08/23/2016, 15:48
|
#12390
|
elite*gold: 9
Join Date: Jun 2012
Posts: 268
Received Thanks: 155
|
PHP Code:
state ebene1_begin begin when letter begin local v=find_npc_by_vnum(20383) d.setf("ebene5_begin", 1) if v != 0 then target.vid("__TARGET__", v, "Aneko") end end when 20383.click with d.getf("ebene5_begin") == 1 begin target.delete("__TARGET__") say("Du bist weit gekommen "..pc.get_name()..". ") d.setf("ebene5_begin", 0) timer("upp5s", 2) end when upp5s.timer begin chat("Du hast noch 5 Sekunden Zeit, deine Ausrüstung beim Schmied zu verbessern") timer("ebene5_spawn1", 1) end when ebene5_spawn1.timer begin d.jump_all(1111+60, 1111+240) d.spawn_mob(391, 38, 255) d.spawn_mob(392, 38, 252) d.setf("anzahl", d.count_monster()) d.setf("spawn1", 1) end when kill with d.getf("spawn1") == 1 begin d.setf("anzahl", d.getf("anzahl")-1) if d.getf("anzahl") <= 0 then d.setf("spawn1", 0) chat("Du hast sie beide getötet!") d.spawn_mob(393, 38, 241) d.spawn_mob(394, 38, 237) timer("ebene5_spawn2", 1) end end when ebene5_spawn2.timer begin d.setf("anzahl1", d.count_monster()) d.setf("spawn2", 1) end when kill with d.getf("spawn2") == 1 begin d.setf("anzahl1", d.getf("anzahl1")-1) if d.getf("anzahl1") <= 0 then d.setf("spawn2", 0) chat("Du hast sie beide getötet!") d.spawn_mob(392, 38, 227) d.spawn_mob(394, 38, 223) timer("ebene5_spawn3", 1) end end when ebene5_spawn3.timer begin d.setf("anzahl2", d.count_monster()) d.setf("spawn3", 1) end when kill with d.getf("spawn3") == 1 begin d.setf("anzahl2", d.getf("anzahl2")-1) if d.getf("anzahl2") <= 0 then d.setf("spawn3", 0) chat("Du hast sie beide getötet!") set_state(ebene6) end end end
Das Problem: Spawn1 der 2 Monster ist erfolgreich mit dem Chattext nach dem töten. Wenn Spawn2 der 2 Monster erscheint und ich die töte, erscheint der chat-text nicht mehr und der 3te Spawn erscheint nicht.
Ist nur ein Abschnitt von der Quest, da es ein einzelner State ist der nicht funktioniert - der restliche schon.
P.S.: Ich habe lange nicht mehr mit quests gearbeitet, bitte nicht so bös sein wegen Fehler
|
|
|
All times are GMT +1. The time now is 22:46.
|
|