Danke LordKill, funktioniert :)
quest kill begin
state start begin
when login or levelup wit pc.get_level() == 99 begin
setstate(letter)
end
end
state letter begin
when letter begin
send_letter("Blaue Tode töten")
end
end
when button or info begin
say_title("Blaue Tode töten")
say("Du bist also ein King?")
say("Dann töte 10 Blaue Tode!")
pc.setqf("gekillt", 0)
q.set_counter("kills", 10)
setstate(kill2)
end
state kill2 begin
when button or info begin
say_title("Blaue Tode töten")
say("")
say("Du musst noch "..pc.getqf("kills").." blaue Tode von 10 töten")
say("")
end
end
state kill begin
when 1095.kill begin
local count = pc.getqf("kills") +1
if count <= 10
pc.setqf("gekillt", count)
q.set_counter("kills" -count)
end
if count == 10
say("Du hast es geschafft du hast 10 blaue Tode")
say("besiegt, dafür bekommst du eine Belohnung")
pc.give_item(19, 1)
end
end
end
end
SYSERR: Apr 11 13:15:12 :: InitializeLua: LOAD_QUESTLIB_FAILURE(locale/germany/quest/questlib.lua)
quest kill begin
state start begin
when letter or levelup with pc.get_level() >= 99 begin
send_letter("Blaue Tode töten")
end
when info or button begin
say_title("Blaue Tode töten")
say("Du bist also ein King?")
say("Dann töte 10 Blaue Tode!")
pc.setqf("gekillt", 0)
end
when kill with npc.get_race() == 1095 and pc.getqf("gekillt") < 10 begin
local x = pc.getqf("gekillt")+1
if x == 10 then
say("Du hast es geschafft du hast 10 blaue Tode")
say("besiegt, dafür bekommst du eine Belohnung")
pc.give_item(19, 1)
else
pc.setqf("gekillt", x)
chat("Es verbleiben "..(10-x).." Monster")
end
end
end
end
Quote:
Also ich versuche ein item zu machen das wie seeli ist halt einfach schon ab M1 brauchbar ist... ich nehme als item die drachenschuppe (nicht das reittier) und hab die quest von der seeli als vorlage genommen und überall alles angepasst bzw. wo die 30 stand eine 20 gemacht.... Nun wenn ich das item anklicke mit M1 Skill passiert nix erst ab G1 wie beim normalen seeli. Kann mit jemand helfen!?
In den Objekt ordner in FileZilla hab ich auch den ordner von dem seeli kopiert bearbeitet und die quest darin auch also die .start quest....
WIESO HILFT MIR NIEMAND?!!
Es würde mich echt freuen wenn mir jemand helfen würde!
quest training_master_skill begin
state start begin
when 71123.use begin
say_title("Meister")
local seelicount = pc.count_item(71123)
if pc.get_skill_group() == 0 then
say("Du hast keine Fertigkeiten "..pc.get_skill_group())
return
end
if get_time() < pc.getqf("next_time") then -- and not is_test_server() then
if pc.is_skill_book_no_delay() then
say("Du hast eine Exo-Rolle Gelesen!")
say("Nun kannst du einen weiteren")
say("Blauen-Seelenstein lesen!")
say("")
wait()
say_title("Meister")
else
say("Du hast heute Bereits einen Blauen-Seelenstein gelesen!")
return
end
end
local result = training_grandmaster_skill.BuildGrandMasterSkillList(pc.get_job(), pc.get_skill_group())
local vnum_list = result[1]
local name_list = result[2]
if table.getn(vnum_list) == 0 then
say("Du hast keine Fertigkeiten")
return
end
say("Fertigkeit Auswählen")
say("")
local menu_list = {}
table.foreach(name_list, function(i, name) table.insert(menu_list, name) end)
table.insert(menu_list, "Abbrechen")
local s=select_table(menu_list)
if table.getn(menu_list) == s then
return
end
local skill_name=name_list[s]
local skill_vnum=vnum_list[s]
local skill_level = pc.get_skill_level(skill_vnum)
local cur_alignment = pc.get_real_alignment()
local need_alignment = 1000+500*(skill_level-20)
test_chat("Momentaner Rang: "..cur_alignment)
test_chat("Benötigter Rang: "..need_alignment)
local title=string.format("%s auf Meister %d lesen", skill_name, skill_level-20+1)
if pc.count_item(71123) != seelicount then
say("Stfu Buguser!")
return
end
item.remove()
say_title(title)
say("Das lesen eines Blauen-Seelensteines")
say("kostet Rangpunke.")
say("")
if cur_alignment<-19000+need_alignment then
say_reward("Du hast zu wenig Rang!")
return
end
if cur_alignment<0 then
say_reward(string.format("Benötigter Rang: %d -> %d", need_alignment, need_alignment*2))
say_reward("Beim klappen des Blauen-Seelensteins wird dir")
say_reward("das doppelte an Rangpunkten abgezoegn!")
need_alignment=need_alignment*2
elseif cur_alignment<need_alignment then
say_reward(string.format("Benötigter Rang: %d", need_alignment))
say_reward("Beim klappen des Blauen-Seelensteins wird dir")
say_reward("das doppelte an Rangpunkten abgezoegn!")
else
say_reward(string.format("Benötigter Rang: %d", need_alignment))
end
say("")
local s=select("Lesen", "Abbrechen")
if s==2 then
return
end
if cur_alignment>=0 and cur_alignment<need_alignment then
say_title(string.format("%s -Bestätigen", title))
say("Das Lesen eines Blauen-Seelensteines kostet Rang,")
say("wenn du diesen Blauen-Seelenstein ließt,")
say("kommst du in -Rang")
say("Bitte Bestätige das du diesen Blauen-Seelenstein")
say("wirklich lesen möchtest!")
say("")
say_reward("Bestätigen")
say("")
say("Bitte gebe 'Meister' ein!")
local s=input()
if s!="Meister" then
return
end
end
if get_time() < pc.getqf("next_time") then -- and not is_test_server() then
if pc.is_skill_book_no_delay() then
pc.remove_skill_book_no_delay()
else
say("Seelitest1")
return
end
end
pc.setqf("next_time", get_time()+time_hour_to_sec(number(8, 12)))
if need_alignment>0 then
if pc.learn_grand_master_skill(skill_vnum) then
pc.change_alignment(-need_alignment)
say_title(string.format("%s -Erfolgreich", title))
if 40 == pc.get_skill_level(skill_vnum) then
say(string.format("%s Seelitest2.", skill_name))
else
say(string.format("Dein Blauer-Seelenstein war Erfolgreich!", skill_name, skill_level-20+1+1))
end
say("")
say_reward("Erfolgreich!")
say_reward(string.format("Kosten an Rang: %d ", need_alignment))
say("")
else
say_title(string.format("%s -Fehlgeschlagen", title))
say("Dein Blauer-Seelenstein hat nicht geklappt.")
say("")
say_reward("Fehlgeschlagen!")
say("")
pc.change_alignment(-number(need_alignment/3, need_alignment/2))
end
end
end
function BuildGrandMasterSkillList(job, group)
GRAND_MASTER_SKILL_LEVEL = 20
PERFECT_MASTER_SKILL_LEVEL = 30
local skill_list = special.active_skill_list[job+1][group]
local ret_vnum_list = {}
local ret_name_list = {}
-- test_chat(string.format("job=%d, group=%d", job, group))
table.foreach(skill_list,
function(i, skill_vnum)
local skill_level = pc.get_skill_level(skill_vnum)
-- test_chat(string.format("[%d]=%d", skill_vnum, skill_level))
if skill_level >= GRAND_MASTER_SKILL_LEVEL and skill_level < PERFECT_MASTER_SKILL_LEVEL then
table.insert(ret_vnum_list, skill_vnum)
local name=locale.GM_SKILL_NAME_DICT[skill_vnum]
if name == nil then name=skill_vnum end
table.insert(ret_name_list, name)
end
end)
return {ret_vnum_list, ret_name_list}
--return {ret_vnum_list, ret_name_list}
end
end
end
quest training_master_skill begin
state start begin
when 71123.use begin
say_title("Meister")
local seelicount = pc.count_item(71123)
if pc.get_skill_group() == 0 then
say("Du hast keine Fertigkeiten "..pc.get_skill_group())
return
end
if get_time() < pc.getqf("next_time") then -- and not is_test_server() then
if pc.is_skill_book_no_delay() then
say("Du hast eine Exo-Rolle Gelesen!")
say("Nun kannst du einen weiteren")
say("Blauen-Seelenstein lesen!")
say("")
wait()
say_title("Meister")
else
say("Du hast heute Bereits einen Blauen-Seelenstein gelesen!")
return
end
end
local result = training_master_skill.BuildGrandMasterSkillList(pc.get_job(), pc.get_skill_group())
local vnum_list = result[1]
local name_list = result[2]
if table.getn(vnum_list) == 0 then
say("Du hast keine Fertigkeiten")
return
end
say("Fertigkeit Auswählen")
say("")
local menu_list = {}
table.foreach(name_list, function(i, name) table.insert(menu_list, name) end)
table.insert(menu_list, "Abbrechen")
local s=select_table(menu_list)
if table.getn(menu_list) == s then
return
end
local skill_name=name_list[s]
local skill_vnum=vnum_list[s]
local skill_level = pc.get_skill_level(skill_vnum)
local cur_alignment = pc.get_real_alignment()
local need_alignment = 1000+500*(skill_level-20)
test_chat("Momentaner Rang: "..cur_alignment)
test_chat("Benötigter Rang: "..need_alignment)
local title=string.format("%s auf Meister %d lesen", skill_name, skill_level-20+1)
if pc.count_item(71123) != seelicount then
say("Stfu Buguser!")
return
end
item.remove()
say_title(title)
say("Das lesen eines Blauen-Seelensteines")
say("kostet Rangpunke.")
say("")
if cur_alignment<-19000+need_alignment then
say_reward("Du hast zu wenig Rang!")
return
end
if cur_alignment<0 then
say_reward(string.format("Benötigter Rang: %d -> %d", need_alignment, need_alignment*2))
say_reward("Beim klappen des Blauen-Seelensteins wird dir")
say_reward("das doppelte an Rangpunkten abgezoegn!")
need_alignment=need_alignment*2
elseif cur_alignment<need_alignment then
say_reward(string.format("Benötigter Rang: %d", need_alignment))
say_reward("Beim klappen des Blauen-Seelensteins wird dir")
say_reward("das doppelte an Rangpunkten abgezoegn!")
else
say_reward(string.format("Benötigter Rang: %d", need_alignment))
end
say("")
local s=select("Lesen", "Abbrechen")
if s==2 then
return
end
if cur_alignment>=0 and cur_alignment<need_alignment then
say_title(string.format("%s -Bestätigen", title))
say("Das Lesen eines Blauen-Seelensteines kostet Rang,")
say("wenn du diesen Blauen-Seelenstein ließt,")
say("kommst du in -Rang")
say("Bitte Bestätige das du diesen Blauen-Seelenstein")
say("wirklich lesen möchtest!")
say("")
say_reward("Bestätigen")
say("")
say("Bitte gebe 'Meister' ein!")
local s=input()
if s!="Meister" then
return
end
end
if get_time() < pc.getqf("next_time") then -- and not is_test_server() then
if pc.is_skill_book_no_delay() then
pc.remove_skill_book_no_delay()
else
say("Seelitest1")
return
end
end
pc.setqf("next_time", get_time()+time_hour_to_sec(number(8, 12)))
if need_alignment>0 then
if pc.learn_grand_master_skill(skill_vnum) then
pc.change_alignment(-need_alignment)
say_title(string.format("%s -Erfolgreich", title))
if 40 == pc.get_skill_level(skill_vnum) then
say(string.format("%s Seelitest2.", skill_name))
else
say(string.format("Dein Blauer-Seelenstein war Erfolgreich!", skill_name, skill_level-20+1+1))
end
say("")
say_reward("Erfolgreich!")
say_reward(string.format("Kosten an Rang: %d ", need_alignment))
say("")
else
say_title(string.format("%s -Fehlgeschlagen", title))
say("Dein Blauer-Seelenstein hat nicht geklappt.")
say("")
say_reward("Fehlgeschlagen!")
say("")
pc.change_alignment(-number(need_alignment/3, need_alignment/2))
end
end
end
function BuildGrandMasterSkillList(job, group)
GRAND_MASTER_SKILL_LEVEL = 20
PERFECT_MASTER_SKILL_LEVEL = 30
local skill_list = special.active_skill_list[job+1][group]
local ret_vnum_list = {}
local ret_name_list = {}
-- test_chat(string.format("job=%d, group=%d", job, group))
table.foreach(skill_list,
function(i, skill_vnum)
local skill_level = pc.get_skill_level(skill_vnum)
-- test_chat(string.format("[%d]=%d", skill_vnum, skill_level))
if skill_level >= GRAND_MASTER_SKILL_LEVEL and skill_level < PERFECT_MASTER_SKILL_LEVEL then
table.insert(ret_vnum_list, skill_vnum)
local name=locale.GM_SKILL_NAME_DICT[skill_vnum]
if name == nil then name=skill_vnum end
table.insert(ret_name_list, name)
end
end)
return {ret_vnum_list, ret_name_list}
--return {ret_vnum_list, ret_name_list}
end
end
end
Danke die quest klappt FAST leider geht es immer fail xD Komme nicht auf M2 hoch^^ hab jetze 30 von denen versucht alle Fehlgeschlagen^^Quote:
Ich bin mir nicht sicher aber versuchs mal so
PHP Code:quest training_master_skill begin
state start begin
when 71123.use begin
say_title("Meister")
local seelicount = pc.count_item(71123)
if pc.get_skill_group() == 0 then
say("Du hast keine Fertigkeiten "..pc.get_skill_group())
return
end
if get_time() < pc.getqf("next_time") then -- and not is_test_server() then
if pc.is_skill_book_no_delay() then
say("Du hast eine Exo-Rolle Gelesen!")
say("Nun kannst du einen weiteren")
say("Blauen-Seelenstein lesen!")
say("")
wait()
say_title("Meister")
else
say("Du hast heute Bereits einen Blauen-Seelenstein gelesen!")
return
end
end
local result = training_master_skill.BuildGrandMasterSkillList(pc.get_job(), pc.get_skill_group())
local vnum_list = result[1]
local name_list = result[2]
if table.getn(vnum_list) == 0 then
say("Du hast keine Fertigkeiten")
return
end
say("Fertigkeit Auswählen")
say("")
local menu_list = {}
table.foreach(name_list, function(i, name) table.insert(menu_list, name) end)
table.insert(menu_list, "Abbrechen")
local s=select_table(menu_list)
if table.getn(menu_list) == s then
return
end
local skill_name=name_list[s]
local skill_vnum=vnum_list[s]
local skill_level = pc.get_skill_level(skill_vnum)
local cur_alignment = pc.get_real_alignment()
local need_alignment = 1000+500*(skill_level-20)
test_chat("Momentaner Rang: "..cur_alignment)
test_chat("Benötigter Rang: "..need_alignment)
local title=string.format("%s auf Meister %d lesen", skill_name, skill_level-20+1)
if pc.count_item(71123) != seelicount then
say("Stfu Buguser!")
return
end
item.remove()
say_title(title)
say("Das lesen eines Blauen-Seelensteines")
say("kostet Rangpunke.")
say("")
if cur_alignment<-19000+need_alignment then
say_reward("Du hast zu wenig Rang!")
return
end
if cur_alignment<0 then
say_reward(string.format("Benötigter Rang: %d -> %d", need_alignment, need_alignment*2))
say_reward("Beim klappen des Blauen-Seelensteins wird dir")
say_reward("das doppelte an Rangpunkten abgezoegn!")
need_alignment=need_alignment*2
elseif cur_alignment<need_alignment then
say_reward(string.format("Benötigter Rang: %d", need_alignment))
say_reward("Beim klappen des Blauen-Seelensteins wird dir")
say_reward("das doppelte an Rangpunkten abgezoegn!")
else
say_reward(string.format("Benötigter Rang: %d", need_alignment))
end
say("")
local s=select("Lesen", "Abbrechen")
if s==2 then
return
end
if cur_alignment>=0 and cur_alignment<need_alignment then
say_title(string.format("%s -Bestätigen", title))
say("Das Lesen eines Blauen-Seelensteines kostet Rang,")
say("wenn du diesen Blauen-Seelenstein ließt,")
say("kommst du in -Rang")
say("Bitte Bestätige das du diesen Blauen-Seelenstein")
say("wirklich lesen möchtest!")
say("")
say_reward("Bestätigen")
say("")
say("Bitte gebe 'Meister' ein!")
local s=input()
if s!="Meister" then
return
end
end
if get_time() < pc.getqf("next_time") then -- and not is_test_server() then
if pc.is_skill_book_no_delay() then
pc.remove_skill_book_no_delay()
else
say("Seelitest1")
return
end
end
pc.setqf("next_time", get_time()+time_hour_to_sec(number(8, 12)))
if need_alignment>0 then
if pc.learn_grand_master_skill(skill_vnum) then
pc.change_alignment(-need_alignment)
say_title(string.format("%s -Erfolgreich", title))
if 40 == pc.get_skill_level(skill_vnum) then
say(string.format("%s Seelitest2.", skill_name))
else
say(string.format("Dein Blauer-Seelenstein war Erfolgreich!", skill_name, skill_level-20+1+1))
end
say("")
say_reward("Erfolgreich!")
say_reward(string.format("Kosten an Rang: %d ", need_alignment))
say("")
else
say_title(string.format("%s -Fehlgeschlagen", title))
say("Dein Blauer-Seelenstein hat nicht geklappt.")
say("")
say_reward("Fehlgeschlagen!")
say("")
pc.change_alignment(-number(need_alignment/3, need_alignment/2))
end
end
end
function BuildGrandMasterSkillList(job, group)
GRAND_MASTER_SKILL_LEVEL = 20
PERFECT_MASTER_SKILL_LEVEL = 30
local skill_list = special.active_skill_list[job+1][group]
local ret_vnum_list = {}
local ret_name_list = {}
-- test_chat(string.format("job=%d, group=%d", job, group))
table.foreach(skill_list,
function(i, skill_vnum)
local skill_level = pc.get_skill_level(skill_vnum)
-- test_chat(string.format("[%d]=%d", skill_vnum, skill_level))
if skill_level >= GRAND_MASTER_SKILL_LEVEL and skill_level < PERFECT_MASTER_SKILL_LEVEL then
table.insert(ret_vnum_list, skill_vnum)
local name=locale.GM_SKILL_NAME_DICT[skill_vnum]
if name == nil then name=skill_vnum end
table.insert(ret_name_list, name)
end
end)
return {ret_vnum_list, ret_name_list}
--return {ret_vnum_list, ret_name_list}
end
end
end
--Tempel des Drachen
----------------------------------------------------
quest dragontemple begin
state start begin
when logout with pc.get_map_index() >= 82 begin
pc.setf("punishment", 1)
end
when login with pc.get_map_index() >= 82 and pc.getf("punishment") == 1 begin
pc.setf("punishment", 0)
warp_to_village()
end
when 30121.chat."Ejderhanin Odasina Girmek İstiyorum" with pc.get_map_index() == 73 and game.get_event_flag("dragontemple_open") == 1 begin
pc.setf("punishment", 0)
if game.get_event_flag("dragontemple_used") == 1 then
if game.get_event_flag("dragontemple_block") == 1 then
say_title(mob_name(30121))
say("")
say("Oda su Anda Kullaniliyor Sirani Beklemelisin.")
return;
end
say_title(mob_name(30121))
say("")
say("Oda Ayrilmis Durumda.")
say("Eger Girmek İStiyorsan Parolayi Bilmelisin")
say("Parola")
local password = input()
if game.get_event_flag("dragontemple_password") == tonumber(password) then
say_title(""..mob_name(30121).."")
say("")
say("Parola Eslesti.")
say("Seni Odaya Göturecegim.")
wait()
say_title(""..mob_name(30121).."")
say("")
say("Ama Bunun Karsiliginda Bana,")
say("Kivrik Anahtar 3 Adet Vermelisin.")
say_item_vnum(30179)
local s = select("Hazirim Girelim", "Hayir")
if s == 1 then
if pc.count_item(30179) >= 3 then
pc.remove_item(30179,3)
pc.warp(843600, 1066900,82)
--DragonLair.startRaid(82)
else
say("Sadece "..pc.count_item(30179).." 3 Adet ALzim Bulunca Tekrar Gel.")
say("")
say_item_vnum(30179)
end
else
return
end
else
say_title(""..mob_name(30121).."")
say("")
say("uzgunum Parola Eslesmed")
return
end
elseif pc.has_guild() and game.get_event_flag("dragontemple_used") == 0 then
say_title(""..mob_name(30121).."")
say("")
say("Demek Ejderha İle Savasmak İstiyorsun?")
say("Tamam O Zaman)
say("Bunun İçin Parola Belirlemeli (Sadece Rakam)")
say("Ve Bu Parolayi 5 Dk. İçinde Arkaslarina Bildirmelisin.")
local password = tonumber(input(""))
game.set_event_flag("dragontemple_password",password)
say_title(""..mob_name(30121).."")
say("")
say("Bu Kadarda Degil Gİrmek İçin Hepinizde,")
say("Kivrik Anahtar 3 Adet Olamali")
say("")
say_item_vnum(30179)
say("")
local s = select("Tamam Haziriz Gidelim.", "Hayir")
if s == 1 then
if pc.count_item(30179) >= 3 then
pc.remove_item(30179,3)
game.set_event_flag("dragontemple_used",1)
timer("blockentry",5*60)
notice_all("Cesur ..pc.get_name().. Grubu Ejderha İle Mucadele Ediyor.")
else
say("Cesur ..pc.get_name().. Grubu Ejderha İle Mucadele Ediyor.")
say("")
say_item_vnum(30179)
say("")
return
end
elseif s==2 then
return
end
elseif not pc.has_guild() then
say_title(""..mob_name(30121).."")
say("")
say("Ejderha İle Mucadele Edebilmen İçin.")
say("Bir Loncaya uye Olmalisin.")
end
end
when 2493.kill with pc.get_map_index() >= 82 begin
notice_all("Cesur "..pc.get_name().." nin Grubu Beran-Setaou yu Öldurdu.")
timer("set_unused",30)
end
when set_unused.timer begin
game.set_event_flag("dragontemple_used",0)
game.set_event_flag("dragontemple_block",0)
end
when blockentry.timer begin
game.set_event_flag("dragontemple_block",1)
end
end
end
quest eventbossmap11 begin
state start begin
when 20088.chat."Event Boss Map" with pc.get_level() >=150 and game.get_event_flag("eventbossmap") == 0 and pc.getqf("player") == 0 begin
say_title("SD2-Porter:")
say("")
say("Sei gegruesst Reisender!")
say("Du moechstest also zur Event Boss Map")
say("Ich kann dich gerne hinbringen.")
say("")
say("Moechtest du zur Event Boss Map")
say("")
local s = select("Ja", "Nein")
if s==1 then
say_title("SD2-Porter:")
say("")
say("Gut")
say("Ich wuensche dir viel Spass")
game.set_event_flag("eventbossmap", 1)
pc.warp(999900, 999900)
end
if s==2 then
return
end
end
when 2598.kill with pc.get_map_index() == 201 begin
notice_all(""..pc.get_name().." hat den Zombiegott besiegt!")
notice_all("Wir gratulieren ihm!")
timer("first", 20)
end
when first.timer begin
warp_all_to_village()
game.set_event_flag("eventbossmap", 0)
pc.setqf("player", 1)
timer("twice", 86400)
end
when twice.timer begin
pc.setqf("player", 0)
end
end
end
when 2598.kill with pc.get_map_index() == 201 begin
notice_all(""..pc.get_name().." hat den Zombiegott besiegt!")
notice_all("Wir gratulieren ihm!")
timer("first", 20)
end
when first.timer begin
warp_all_to_village()
game.set_event_flag("eventbossmap", 0)
pc.setqf("player", 1)
timer("twice", 86400)
end
when twice.timer begin
pc.setqf("player", 0)
end
end
end
quest Map1 begin
state start begin
state Map1 begin
warp_to_village()
end
Quote: