WIESO HILFT MIR NIEMAND?!!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....
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....
Die training_master_skill.quest
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_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
Die training_master_skill.start
PHP Code: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
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
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
Es würde mich echt freuen wenn mir jemand helfen würde!