quest training_grandmaster_skill begin
state start begin
when 50513.use begin
say_title("Seelenstein")
local seelicount = pc.count_item(50513)
if pc.get_skill_group() == 0 then
say("Du besitzt keine Fertigkeiten, die")
say("gegroßmeistert werden können.")
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("Durch den gebrauch einer Exorzismuss-")
say("Schriftrolle kannst du einen weiteren")
say("Seelenstein lesen!")
wait()
say_title("Seelenstein")
else
say("Du hast heute bereits einen 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 besitzt keine Fertigkeiten, die")
say("gegroßmeistert werden können.")
return
end
say("Welche Fertigkeit möchtest du trainieren?")
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("Momentaner Rang: "..cur_alignment)
test_chat("Benötigter Rang: "..need_alignment)
local title=string.format("%s auf G%d trainieren", skill_name, skill_level-30+1)
if skill_level-30+1==10 then
title=string.format("%s auf P trainieren", skill_name)
end
if pc.count_item(50513) != seelicount then
say("Stfu Buguser!")
return
end
say_title(title)
say("Durch das Lesen von Seelensteinen müssen")
say("dir als Zeichen des Opfers Rangpunkte")
say("abgezogen werden.")
say("")
if cur_alignment<-19000+need_alignment then
say_reward("Du hast zu wenig Rangpunkte!")
return
end
if cur_alignment<0 then
say_reward(string.format("Benötigter Rang: %d -> %d", need_alignment, need_alignment*2))
say_reward("Beim erfolgreichen Einlesen des")
say_reward("Seelensteines wird dir doppelt")
say_reward("so viel Rangpunkte abgezogen.")
need_alignment=need_alignment*2
elseif cur_alignment<need_alignment then
say_reward(string.format("Benötigter Rang: %d", need_alignment))
say_reward("Beim erfolgreichen Einlesen des")
say_reward("Seelensteines wird dir doppelt")
say_reward("so viel Rangpunkte abgezogen.")
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 Seelensteines kostet Rang,")
say("wenn du diesen Seelenstein ließt,")
say("kommst du in den negativen Bereich.")
say("Bitte Bestätige das du diesen Seelenstein")
say("wirklich lesen möchtest! Das tust du indem")
say("du in den Textfeld das Wort")
say_reward("trainieren")
say("eingibst.")
local s=input()
if s!="trainieren" 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("Bitte Holzi oder Lukii anschreiben!")
return
end
end
if pc.count_item(50513)>=1 then
pc.remove_item("50513", 1)
else return 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 ist nun perfeckt Gemeistert.", skill_name))
say("Herzlichen Glückwunsch!")
else
say(string.format("Das Großmeistern war erfolgreich!", skill_name, skill_level-30+1+1))
end
say("")
say_reward("Erfolgreich!")
say_reward(string.format("Es wurden %d Rangpunkte verbraucht", need_alignment))
say("")
else
say_title(string.format("%s fehlgeschlagen", title))
say("Das Großmeistern ist fehlgeschlagen.")
say("")
local rang = number(need_alignment/3, need_alignment/2)
say_reward("Fehlgeschlagen! Es wurden "..rang.." Rangpunkte verbraucht")
say("")
pc.change_alignment(-rang)
end
end
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 = {}
table.foreach(skill_list,
function(i, skill_vnum)
local skill_level = pc.get_skill_level(skill_vnum)
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}
end
end
end
Ich möchte, dass man den Seelenstein erst ab Level 65 nutzen bzw lesen kann.
quest training_grandmaster_skill begin
state start begin
when 50513.use with pc.get_level >= 65 begin
say_title("Seelenstein")
local seelicount = pc.count_item(50513)
if pc.get_skill_group() == 0 then
say("Du besitzt keine Fertigkeiten, die")
say("gegroßmeistert werden können.")
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("Durch den gebrauch einer Exorzismuss-")
say("Schriftrolle kannst du einen weiteren")
say("Seelenstein lesen!")
wait()
say_title("Seelenstein")
else
say("Du hast heute bereits einen 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 besitzt keine Fertigkeiten, die")
say("gegroßmeistert werden können.")
return
end
say("Welche Fertigkeit möchtest du trainieren?")
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("Momentaner Rang: "..cur_alignment)
test_chat("Benötigter Rang: "..need_alignment)
local title=string.format("%s auf G%d trainieren", skill_name, skill_level-30+1)
if skill_level-30+1==10 then
title=string.format("%s auf P trainieren", skill_name)
end
if pc.count_item(50513) != seelicount then
say("Stfu Buguser!")
return
end
say_title(title)
say("Durch das Lesen von Seelensteinen müssen")
say("dir als Zeichen des Opfers Rangpunkte")
say("abgezogen werden.")
say("")
if cur_alignment<-19000+need_alignment then
say_reward("Du hast zu wenig Rangpunkte!")
return
end
if cur_alignment<0 then
say_reward(string.format("Benötigter Rang: %d -> %d", need_alignment, need_alignment*2))
say_reward("Beim erfolgreichen Einlesen des")
say_reward("Seelensteines wird dir doppelt")
say_reward("so viel Rangpunkte abgezogen.")
need_alignment=need_alignment*2
elseif cur_alignment<need_alignment then
say_reward(string.format("Benötigter Rang: %d", need_alignment))
say_reward("Beim erfolgreichen Einlesen des")
say_reward("Seelensteines wird dir doppelt")
say_reward("so viel Rangpunkte abgezogen.")
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 Seelensteines kostet Rang,")
say("wenn du diesen Seelenstein ließt,")
say("kommst du in den negativen Bereich.")
say("Bitte Bestätige das du diesen Seelenstein")
say("wirklich lesen möchtest! Das tust du indem")
say("du in den Textfeld das Wort")
say_reward("trainieren")
say("eingibst.")
local s=input()
if s!="trainieren" 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("Bitte Holzi oder Lukii anschreiben!")
return
end
end
if pc.count_item(50513)>=1 then
pc.remove_item("50513", 1)
else return 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 ist nun perfeckt Gemeistert.", skill_name))
say("Herzlichen Glückwunsch!")
else
say(string.format("Das Großmeistern war erfolgreich!", skill_name, skill_level-30+1+1))
end
say("")
say_reward("Erfolgreich!")
say_reward(string.format("Es wurden %d Rangpunkte verbraucht", need_alignment))
say("")
else
say_title(string.format("%s fehlgeschlagen", title))
say("Das Großmeistern ist fehlgeschlagen.")
say("")
local rang = number(need_alignment/3, need_alignment/2)
say_reward("Fehlgeschlagen! Es wurden "..rang.." Rangpunkte verbraucht")
say("")
pc.change_alignment(-rang)
end
end
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 = {}
table.foreach(skill_list,
function(i, skill_vnum)
local skill_level = pc.get_skill_level(skill_vnum)
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}
end
end
end
Ich möchte, dass man den Seelenstein erst ab Level 65 nutzen bzw lesen kann.
Compile all quest without quest's files list // Kompilieren Sie alle Quest ohne Quest 07/17/2011 - Metin2 PServer Guides & Strategies - 3 Replies ENGLISH
Hello dear community, this is a very simple guide but at the same time useful.
How to compile ALL quest in the folder "quest" without the files list in the file "locale_list"?
Easy!
Open the file "make" and replace the content of the file with this:
for f in *.quest; do ./qc $f; done
Oki. Now set the 0777 permission to the file.
Finally open a SSH client and sign in. Write the command:
cd /game_file_folder
Seeli Quest --> 100% klappen lassen? 02/07/2011 - Metin2 Private Server - 3 Replies Hey zusammen..
Wollte schon die ganze Zeit bei mir einstellen..das
Seelensteine 100% beim lesen klappen..da niemand
Lust hat stundenlang zu lesen..
Hier die Quest nochmal.. vllt kann mir jemand
zeigen was ich da verändern soll..
seeli 07/18/2009 - Metin2 Private Server - 3 Replies hi wenn ich auf lonj guy t2 nen seeli lesen will und dadurch aggro werden würde was muss ich in dem fenster da eingeben?