Heute wollte ich euch mal zeigen wie ihr die Seelenstein Quest so bearbeitet , dass der Seelenstein , den Skill von G1 gleich zu P macht.
How To:
Connectet zu Filezilla und geht in den Ordner:
Dort öffnet ihr diese Datei mit Notepad++:
Ihr geht zu diesem Text (Zeile 122-124)
Unter diesem Code fügt ihr nun das ein:
Das sieht dann so aus:
Kleine Erklärung:
command
führt einen GM Befehl aus wie z.B "reload a"
setsk
"settet" einen Skill das sieht dann z.B so aus :"setsk 1 59" (das wäre Aura P)
"..skill_vnum.."
Das ist der Skill den ihr ausgewählt habt am anfang des Seelensteines.
59
Das bedeutet soviel wie P.
Variante 2 :
Ihr benutzt den Code:
Die ganze Quest würde dann so aussehen:
mfg mufkeksy & DasKuchen
How To:
Connectet zu Filezilla und geht in den Ordner:
PHP Code:
/usr/rain/channel/share_data/locale/hongkong/quest
Dort öffnet ihr diese Datei mit Notepad++:
PHP Code:
training_grandmaster_skill.quest
PHP Code:
say_reward("Erfolgreich!")
say_reward(string.format("Verbrauchte Rangpunkte %d ", need_alignment))
say("")
PHP Code:
command("setsk "..skill_vnum.." 59")
PHP Code:
say_reward("Erfolgreich!")
say_reward(string.format("Verbrauchte Rangpunkte %d ", need_alignment))
say("")
command("setsk "..skill_vnum.." 59")
command
führt einen GM Befehl aus wie z.B "reload a"
setsk
"settet" einen Skill das sieht dann z.B so aus :"setsk 1 59" (das wäre Aura P)
"..skill_vnum.."
Das ist der Skill den ihr ausgewählt habt am anfang des Seelensteines.
59
Das bedeutet soviel wie P.
Variante 2 :
Ihr benutzt den Code:
PHP Code:
pc.set_skill_level "..skill_vnum.." 59
PHP Code:
quest training_grandmaster_skill begin
state start begin
when 50513.use begin
say_title("Seelenstein")
if pc.get_skill_group() == 0 then
say("Du hast keine Skills"..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("Hiermit kannst du eine")
say("Fertigkeit perfektionieren.")
say("")
wait()
say_title("Seelenstein")
else
say("Du musst noch warten.")
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("Deine Fertigkeiten sind bereits perfekt!")
return
end
say("Wähle eine Fertigkeit aus.")
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-30)
test_chat("Deine Rangpunkte:"..cur_alignment)
test_chat("Benötigte Rangpunkte:"..need_alignment)
local title=string.format("%s Perfektionieren", skill_name, skill_level-30+1)
say_title(title)
say("Beim lesen des Seelensteins")
say("verlierst du Rangpunkte!")
say("")
if cur_alignment<-99999+need_alignment then
say_reward("Zu wenig Rangpunkte.")
return
end
if cur_alignment<0 then
say_reward(string.format("Benötigte Rangpunkte: %d -> %d", need_alignment, need_alignment*2))
say_reward("(®ö¤H¥H¤Uªº¸Ü, µ½´c*È®ø¯Ó2*¿)")
need_alignment=need_alignment*2
elseif cur_alignment<need_alignment then
say_reward(string.format("Benötigte Rangpunkte:: %d", need_alignment))
say_reward("Zu wenige Rangpunkte")
else
say_reward(string.format("Benötigte Rangpunkte: %d", need_alignment))
end
say("")
local s=select("Weiter", "Abbrechen")
if s==2 then
return
end
if cur_alignment>=0 and cur_alignment<need_alignment then
say_title(string.format("%s ½T©w", title))
say("Es ist soweit!")
say("Um zu trainieren,")
say("gib bitte ein: Trainieren")
say("")
say("")
say_reward("Trainieren")
say("")
local s=input()
if s!="Trainieren" 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("[°ª¯Åµ¥¯Å]§Þ¯à*×½m¿ù»~: ¥ð®§¤¤")
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
say_title(string.format("%s ", title))
if 40 == pc.get_skill_level(skill_vnum) then
say(string.format("%s ist schon Perfekt", skill_name))
else
say(string.format("%s Erfolgreich gestiegen", skill_name, skill_level-50+9+9))
end
say("")
say_reward("Erfolgreich!")
say_reward(string.format("Verbrauchte Rangpunkte %d ", need_alignment))
say("")
command("setsk "..skill_vnum.." 59")
else
say_title(string.format("%s ", title))
say("Das hat leider nicht geklappt.")
say("")
say_reward("Fehlgeschlagen!")
say("")
end
end
item.remove()
end
function BuildGrandMasterSkillList(job, group)
GRAND_MASTER_SKILL_LEVEL = 30
PERFECT_MASTER_SKILL_LEVEL = 40
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
mfg mufkeksy & DasKuchen