Originally Posted by russian-dima
Hallo Leute,
bin eher ein blutiger Anfänger was so Sachen wie Quests schreiben angeht.
Bin grade an einer Quest dran, die jedoch nicht ganz richtig funktioniert.
Das Problem dabei ist, dass der Sprung von beispielsweise G auf M, oder der Wechsel von Drachenauf Heil oder umgekehrt nicht immer funktioniert.
Ich stell die Quest einach mal rein.
PHP Code:
quest ThorsRing begin
state start begin
when 40003.use begin
say_title("Regenbogenstein-Quest!")
say("")
say("Welche Skills willst du erlernen?")
say("")
local auswahl=select("M-Skills", "G-Skills", "P-Skills", "Skill-Resets")
--------------------------------M-Skills---------------------------------------------------------
if auswahl ==1 then
--Krieger--------------------------------------------
if pc.job == 0 then
local s = select("Körper","Mental","Abbrechen")
if s == 1 then
--Körper
pc.set_skill_group(1)
pc.remove_item(50512, 1)
pc.set_skill_level(1, 20)
pc.set_skill_level(2, 20)
pc.set_skill_level(3, 20)
pc.set_skill_level(4, 20)
pc.set_skill_level(5, 20)
pc.set_skill_level(6, 20)
elseif s == 2 then
--Mentalo
pc.set_skill_group(2)
pc.remove_item(50512, 1)
pc.set_skill_level(16, 20)
pc.set_skill_level(17, 20)
pc.set_skill_level(18, 20)
pc.set_skill_level(19, 20)
pc.set_skill_level(20, 20)
pc.set_skill_level(21, 20)
end
--Ninja----------------------------------------------
elseif pc.job ==1 then
local s = select("Nahkampf","Bogen","Abbrechen")
if s == 1 then
--Nahkampf
pc.set_skill_group(1)
pc.remove_item(50512, 1)
pc.set_skill_level(31, 20)
pc.set_skill_level(32, 20)
pc.set_skill_level(33, 20)
pc.set_skill_level(34, 20)
pc.set_skill_level(35, 20)
pc.set_skill_level(36, 20)
say_title("Regenbogenstein:")
say("")
say("Deine Skills sind auf Großmeister")
say("")
elseif s == 2 then
--Fernkampf
pc.set_skill_group(2)
pc.remove_item(50512, 1)
pc.set_skill_level(46, 20)
pc.set_skill_level(47, 20)
pc.set_skill_level(48, 20)
pc.set_skill_level(49, 20)
pc.set_skill_level(50, 20)
pc.set_skill_level(51, 20)
end
--Sura-----------------------------------------------
elseif pc.job == 2 then
local s = select("Magie","Waffe","Abbrechen")
if s == 1 then
--Magie-Sura--
pc.set_skill_group(1)
pc.remove_item(50512, 1)
pc.set_skill_level(76, 20)
pc.set_skill_level(77, 20)
pc.set_skill_level(78, 20)
pc.set_skill_level(79, 20)
pc.set_skill_level(80, 20)
pc.set_skill_level(81, 20)
elseif s == 2 then
--Waffen-Sura--
pc.set_skill_group(2)
pc.remove_item(50512, 1)
pc.set_skill_level(61, 20)
pc.set_skill_level(62, 20)
pc.set_skill_level(63, 20)
pc.set_skill_level(64, 20)
pc.set_skill_level(65, 20)
pc.set_skill_level(66, 20)
end
--Schamane--------------------------------------------
elseif pc.job == 3 then
local s = select("Drachen","Heil","Abbrechen")
if s == 1 then
--Drachen-Schamane--
pc.set_skill_group(1)
pc.set_skill_level(106, 20)
pc.set_skill_level(107, 20)
pc.set_skill_level(108, 20)
pc.set_skill_level(109, 20)
pc.set_skill_level(110, 20)
pc.set_skill_level(111, 20)
elseif s == 2 then
--Heil-Schamane--
pc.set_skill_group(2)
pc.set_skill_level(91, 20)
pc.set_skill_level(92, 20)
pc.set_skill_level(93, 20)
pc.set_skill_level(94, 20)
pc.set_skill_level(95, 20)
pc.set_skill_level(96, 20)
end
end
end
----------------------------G-Skills---------------------------------------------------------
if auswahl ==2 then
--Krieger--------------------------------------------(G-Skill)
if pc.job == 0 then
local s = select("Körper","Mental","Abbrechen")
if s == 1 then
--Körper
pc.set_skill_group(1)
pc.set_skill_level(1, 30)
pc.set_skill_level(2, 30)
pc.set_skill_level(3, 30)
pc.set_skill_level(4, 30)
pc.set_skill_level(5, 30)
pc.set_skill_level(6, 30)
elseif s == 2 then
--Mentalo
pc.set_skill_group(2)
pc.set_skill_level(16, 30)
pc.set_skill_level(17, 30)
pc.set_skill_level(18, 30)
pc.set_skill_level(19, 30)
pc.set_skill_level(30, 30)
pc.set_skill_level(21, 30)
end
--Ninja----------------------------------------------(G-Skill)
elseif pc.job ==1 then
local s = select("Nahkampf","Bogen","Abbrechen")
if s == 1 then
--Nahkampf
pc.set_skill_group(1)
pc.set_skill_level(31, 30)
pc.set_skill_level(32, 30)
pc.set_skill_level(33, 30)
pc.set_skill_level(34, 30)
pc.set_skill_level(35, 30)
pc.set_skill_level(36, 30)
say_title("Regenbogenstein:")
say("")
say("Deine Skills sind auf Großmeister")
say("")
elseif s == 2 then
--Fernkampf
pc.set_skill_group(2)
pc.set_skill_level(46, 30)
pc.set_skill_level(47, 30)
pc.set_skill_level(48, 30)
pc.set_skill_level(49, 30)
pc.set_skill_level(50, 30)
pc.set_skill_level(51, 30)
end
--Sura-----------------------------------------------(G-Skill)
elseif pc.job == 2 then
local s = select("Magie","Waffe","Abbrechen")
if s == 1 then
--Magie-Sura--
pc.set_skill_group(1)
pc.set_skill_level(76, 30)
pc.set_skill_level(77, 30)
pc.set_skill_level(78, 30)
pc.set_skill_level(79, 30)
pc.set_skill_level(80, 30)
pc.set_skill_level(81, 30)
elseif s == 2 then
--Waffen-Sura--
pc.set_skill_group(2)
pc.remove_item(50512, 1)
pc.set_skill_level(61, 30)
pc.set_skill_level(62, 30)
pc.set_skill_level(63, 30)
pc.set_skill_level(64, 30)
pc.set_skill_level(65, 30)
pc.set_skill_level(66, 30)
end
--Schamane--------------------------------------------(G-Skill)
elseif pc.job == 3 then
local s = select("Drachen","Heil","Abbrechen")
if s == 1 then
--Drachen-Schamane--
pc.set_skill_group(1)
pc.set_skill_level(106, 30)
pc.set_skill_level(107, 30)
pc.set_skill_level(108, 30)
pc.set_skill_level(109, 30)
pc.set_skill_level(110, 30)
pc.set_skill_level(111, 30)
elseif s == 2 then
--Heil-Schamane--
pc.set_skill_group(2)
pc.set_skill_level(91, 30)
pc.set_skill_level(92, 30)
pc.set_skill_level(93, 30)
pc.set_skill_level(94, 30)
pc.set_skill_level(95, 30)
pc.set_skill_level(96, 30)
end
end
return
end
----------------------------------------P-Skills---------------------------------------------------------
if auswahl ==3 then
--Krieger--
if pc.job == 0 then
local s = select("Körper","Mental","Abbrechen")
if s == 1 then
--Körper
pc.set_skill_group(1)
pc.remove_item(50512, 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)
pc.set_skill_level(6, 59)
elseif s == 2 then
--Mentalo
pc.set_skill_group(2)
pc.remove_item(50512, 1)
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(30, 59)
pc.set_skill_level(21, 59)
end
--Ninja--
elseif pc.job ==1 then
local s = select("Nahkampf","Bogen","Abbrechen")
if s == 1 then
--Nahkampf
pc.set_skill_group(1)
pc.remove_item(50512, 1)
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)
pc.set_skill_level(36, 59)
say_title("Regenbogenstein:")
say("")
say("Deine Skills sind auf Großmeister")
say("")
elseif s == 2 then
--Fernkampf
pc.set_skill_group(2)
pc.remove_item(50512, 1)
pc.set_skill_level(46, 5)
pc.set_skill_level(47, 59)
pc.set_skill_level(48, 59)
pc.set_skill_level(49, 59)
pc.set_skill_level(50, 59)
pc.set_skill_level(51, 59)
end
--Sura--
elseif pc.job == 2 then
local s = select("Magie","Waffe","Abbrechen")
if s == 1 then
--Magie-Sura--
pc.set_skill_group(1)
pc.remove_item(50512, 1)
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)
elseif s == 2 then
--Waffen-Sura--
pc.set_skill_group(2)
pc.remove_item(50512, 1)
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)
end
--Schamane--
elseif pc.job == 3 then
local s = select("Drachen","Heil","Abbrechen")
if s == 1 then
--Drachen-Schamane--
pc.set_skill_group(1)
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)
elseif s == 2 then
--Heil-Schamane--
pc.set_skill_group(2)
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)
end
end
return
end
end
end
end
Ich habe versucht die Quest auch so übersichtlich wie nur möglich aufzubauen. Das mit den RETURNs, war eher ein TEST von meiner Seite aus. Ich weis leider nicht genau was so ein Return bewirkt. :D
Ich bin mir sicher dass es in meiner Quest auch noch die eine oder andere Unreinheit gibt, würde mich freuen wenn man mich auf diese auch noch aufmerksam machen würde (Erklärungen sind gern gesehen) DANKE ;)
P.S.: Hab vergessen zu erwähnen, dass die Quest mit dem ThorsRing gesteuert wird, da diese am ENDE von der Regenbogenstein-Quest abweichen wird. Also anstatt des Regenbogensteins den ThorsRing benutzen, aber ich denke mal diese Info war hier eher überflüssig.
|