hello e*pvp i want the query and the quest for the rainbow stone is for P skills
----------------------------------
-- Regenbogenstein der nach dem lesen verschwindet
----------------------------------
quest regenbogen begin
state start begin
when 50512.use begin
say_title("Regenbogenstein")
say("Beachte, dass der Regenbogenstein nach dem Lesen verschwindet.")
say("Das Ausnutzen des Bugs ist verboten!")
say("Du möchtest also deine Skills auf")
say("Perfekter-Meister setzen?")
if pc.job ==0 then
say("Wähle deine Lehre aus")
local s=select("Körper","Mental")
if s==1 then
--Körper
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)
say("Deine Skills sind auf Perfekter Meister")
end
item.remove (50512 ,1)
if s==2 then
--Mentalo
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)
say("Deine Skills sind auf Perfekter Meister")
end
item.remove (50512 ,1)
elseif pc.job ==1 then
say("Wähle deine Lehre aus")
local s=select("Nahkampf","Bogen")
if s==1 then
--Nahkampf
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)
say("Deine Skills sind auf Perfekter Meister")
end
item.remove (50512 ,1)
if s==2 then
--Fernkampf
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)
say("Deine Skills sind auf Perfekter Meister")
end
item.remove (50512 ,1)
elseif pc.job ==2 then
say("Wähle deine Lehre aus")
local s=select("Magie","Waffe")
if s==1 then
--Magie
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)
say("Deine Skills sind auf Perfekter Meister")
end
item.remove (50512 ,1)
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)
say("Deine Skills sind auf Perfekter Meister")
end
item.remove (50512 ,1)
elseif pc.job ==3 then
say("Wähle deine Lehre aus")
local s=select("Heil","Drachen")
if s==1 then
--Heil
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)
say("Deine Skills sind auf Perfekter Meister")
end
item.remove (50512 ,1)
if s==2 then
--Drachen
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)
say("Deine Skills sind auf Perfekter Meister")
end
item.remove (50512 ,1)
end
end
end
end
quest regenbogenstein begin
state start begin
function BuildPerfectMasterSkillList(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
when 50512.use begin
local count = pc.count_item(50512)
pc.setqf("regen_count", count)
if pc.get_skill_group() == 0 then
say("Du hast noch keine Fertigkeiten.")
say("Versuche es später erneut.")
return
end
local result = regenbogenstein.BuildPerfectMasterSkillList(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 Großmeister-Fertigkeiten.")
return
end
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]
say("Möchtest du "..skill_name.." wirklich auf P skillen?")
local wahl = select("Ja", "Nein")
if wahl == 1 then
if pc.count_item(50512) == pc.getqf("regen_count") then
pc.set_skill_level(skill_vnum, 59)
say(skill_name.." wurde auf Perfekten Meister gesetzt.")
else
say("Buguser bekommen keine P-Skills ! ")
end
elseif wahl == 2 then
return
end
pc.remove_item(50512, 1)
end
end
end
Quote:
Servserside Rainbow Stone quest
PHP Code:----------------------------------
-- Regenbogenstein der nach dem lesen verschwindet
----------------------------------
quest regenbogen begin
state start begin
when 50512.use begin
say_title("Regenbogenstein")
say("Beachte, dass der Regenbogenstein nach dem Lesen verschwindet.")
say("Das Ausnutzen des Bugs ist verboten!")
say("Du möchtest also deine Skills auf")
say("Perfekter-Meister setzen?")
if pc.job ==0 then
say("Wähle deine Lehre aus")
local s=select("Körper","Mental")
if s==1 then
--Körper
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)
say("Deine Skills sind auf Perfekter Meister")
end
item.remove (50512 ,1)
if s==2 then
--Mentalo
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)
say("Deine Skills sind auf Perfekter Meister")
end
item.remove (50512 ,1)
elseif pc.job ==1 then
say("Wähle deine Lehre aus")
local s=select("Nahkampf","Bogen")
if s==1 then
--Nahkampf
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)
say("Deine Skills sind auf Perfekter Meister")
end
item.remove (50512 ,1)
if s==2 then
--Fernkampf
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)
say("Deine Skills sind auf Perfekter Meister")
end
item.remove (50512 ,1)
elseif pc.job ==2 then
say("Wähle deine Lehre aus")
local s=select("Magie","Waffe")
if s==1 then
--Magie
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)
say("Deine Skills sind auf Perfekter Meister")
end
item.remove (50512 ,1)
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)
say("Deine Skills sind auf Perfekter Meister")
end
item.remove (50512 ,1)
elseif pc.job ==3 then
say("Wähle deine Lehre aus")
local s=select("Heil","Drachen")
if s==1 then
--Heil
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)
say("Deine Skills sind auf Perfekter Meister")
end
item.remove (50512 ,1)
if s==2 then
--Drachen
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)
say("Deine Skills sind auf Perfekter Meister")
end
item.remove (50512 ,1)
end
end
end
end