Ein Item nur einmal benutzen

06/20/2010 04:11 syshack3rz#1
Hallo,

Wie muss diese Quest

Code:
----------------------------------
--   Regenbogenstein Quest by bjoern.ebert17
--		(c) by DarkSide 2010
----------------------------------
quest pskills begin
    state start begin
            when 70028.use begin
				
				say_title("Notiz des Weisen:")
				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", "Abbrechen")
				
				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
				
				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
                
				if s==3 then
					return
				end				
				
				elseif pc.job ==1 then
				say("Wähle deine Lehre aus")
				
				local s=select("Nahkampf","Bogen", "Abbrechen")
				
				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
				
				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
				
				if s==3 then
					return
				end				
				
				elseif pc.job ==2 then
				say("Wähle deine Lehre aus")
				local s=select("Magie","Waffe", "Abbrechen")
				
				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
				
				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
				
				if s==3 then
					return
				end				
				
				elseif pc.job ==3 then
				say("Wähle deine Lehre aus")
				local s=select("Heil","Drachen", "Abbrechen")
				
				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
				
				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
				
				if s==3 then
					return
				end
			end
		end
    end
end
Welche Quest funktion muss eingebaut werden, das dieses Item nur einmal innerhalb von 24h benutzt werden kann, jedenfalls so das es eine Zeit dazwischen gibt, ansonsten gibt es zu viele Bugs

Wer es umschreibt bekommt 25€ PSC

Danke
06/20/2010 04:25 #SoNiice#2
So funktioniert es, gerade selbst getestet ;)
Deine 25e kannste behalten o.O

Code:
quest pskills begin
    state start begin
            when 70028.use begin
			    if get_global_time() - pc.getqf("time") < delay and pc.getqf("time") != 0 then
                local zeit = delay - (get_global_time() - pc.getqf("time"))
                say("Du kannst dieses Item noch nicht einsetzen!")
                say("Du musst noch "..zeit.." Sekunden warten!")
                return
            end
				say_title("Notiz des Weisen:")
				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", "Abbrechen")
				
				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")
				clear_letter()
                pc.setqf("time",get_global_time())
                setstate(start)
				end
				
				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")
				clear_letter()
                pc.setqf("time",get_global_time())
                setstate(start)
				end
                
				if s==3 then
					return
				end				
				
				elseif pc.job ==1 then
				say("Wähle deine Lehre aus")
				
				local s=select("Nahkampf","Bogen", "Abbrechen")
				
				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")
				clear_letter()
                pc.setqf("time",get_global_time())
                setstate(start)
				end
				
				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")
				clear_letter()
                pc.setqf("time",get_global_time())
                setstate(start)
				end
				
				if s==3 then
					return
				end				
				
				elseif pc.job ==2 then
				say("Wähle deine Lehre aus")
				local s=select("Magie","Waffe", "Abbrechen")
				
				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")
				clear_letter()
                pc.setqf("time",get_global_time())
                setstate(start)
				end
				
				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")
				clear_letter()
                pc.setqf("time",get_global_time())
                setstate(start)
				end
				
				if s==3 then
					return
				end				
				
				elseif pc.job ==3 then
				say("Wähle deine Lehre aus")
				local s=select("Heil","Drachen", "Abbrechen")
				
				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")
				clear_letter()
                pc.setqf("time",get_global_time())
                setstate(start)
				end
				
				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")
				clear_letter()
                pc.setqf("time",get_global_time())
                setstate(start)
				end
				
				if s==3 then
					return
				end
			end
		end
    end
end
06/20/2010 11:01 syshack3rz#3
Alle 24h wäre eig. am besten