[SERVICE] Die Questkontrolle

06/01/2015 17:38 .He3o Copy™#11596
Quote:
Originally Posted by Backxtar View Post
Habe diese Quest vom Teleportsystem erweitert mit ein paar Teleportzielen,
jedoch soll man sich erst mit Level 75 in die Grotte und Grotte2 bzw. Boss teleportieren können.


Weiß jemand wie man dort eine Levelbegrenzung einfügt`?
Füg einfach eine neue spalte in deiner tabelle ein mit dem Level also so {10,10,100}
und dann bei der abfrage
PHP Code:
if warp[i] == nil then return end 
diese verwenden
PHP Code:
if warp[i] == nil  or pc.getlevel() < warp[i][3] then return end 
06/01/2015 22:55 Shimao#11597
Habe diese Quest:

Code:
quest azraelg begin
	state start begin	
	
		function givebonus(x)
			local y,boni = {63,1},pets.bonusliste()
			table.foreach(boni[x],function(i,l)  cmdchat("HaustierBonus"..i.." "..l.."") affect.add_collect(y[i],l,60*60*24*365*60) end )
			cmdchat("HaustierLevel "..pc.getqf('petlevel').."")
			cmdchat("HaustierName "..pc.get_name().."")
			pc.setqf("petruf",1)				
		end
		function bonusliste()
			return {
				[1] = {15,500},
				[2] = {20,1500},
				[3] = {25,2000},
				[4] = {30,2500},
				[5] = {35,3500},
			}
		end	
		function removebonus(x)
			local y,boni = {63,1},pets.bonusliste()
			table.foreach(boni[x],function(i,l) affect.remove_collect(y[i],l,60*60*24*365*60) end )
			horse.unsummon()
			pc.setqf("petruf",0)
			horse.set_level("21")
			cmdchat("HidePetGui")
			cleartimer("bugcheck")
		end		
	
		when 53006.use begin
			if pc.is_mount() then
				say_title("Entschuldigung")
				say("Bitte steige von deinem Mount ab!")
				return
			end
			if pc.getqf('petlevel') == 0 then
				pc.setqf('petlevel',1)
			end
			if pc.getqf("petruf") == 0 then
				local Horselevel = 29-pc.getqf('petlevel')
				horse.set_level(Horselevel)
				horse.unsummon() horse.summon()
				chat("Dein Haustier wurde gerufen.")
				pets.givebonus(pc.getqf('petlevel'))
				local expprocent1 = {20, 80, 160, 350, 400}
				cmdchat("PetProcentExp "..(pc.getqf("exp")/expprocent1[pc.getqf("petlevel")]).."")				
				cmdchat("ShowPetGui")
				loop_timer("bugcheck", 0.2)
			elseif pc.getqf("petruf") == 1 then		
				pets.removebonus(pc.getqf('petlevel'))
				chat("Dein Haustier verabschiedet sich nun.")
			end		
		end
		
		
		when kill with pc.getqf("petruf") == 1 begin
			if pc.getqf("petlevel") == 5 then
				return
			end	
			if not npc.is_pc() then
				pc.setqf("exp",pc.getqf("exp")+1)
				local exp2up = {2000, 8000, 16000, 35000, 40000}
				local expprocent = {20, 80, 160, 350, 400}
				cmdchat("PetProcentExp "..(pc.getqf("exp")/expprocent[pc.getqf("petlevel")]).."")
				if pc.getqf("exp") == exp2up[pc.getqf("petlevel")] then
					if pc.getqf("petlevel") == 4 then
						say_title("Herzlichen Glückwunsch")
						say("Dein Haustier erreicht Level "..(pc.getqf("petlevel")+1).."")
						say_reward("Dies war das letzte Level!")
					end
					say_title("Herzlichen Glückwunsch")
					say("Dein Haustier erreicht Level "..(pc.getqf("petlevel")+1).."")
					say("Rufe dein Pet bitte erneut!")
					pc.setqf("petlevel",pc.getqf("petlevel")+1)
					pc.setqf("exp",0)
					pets.removebonus(pc.getqf('petlevel'))
				end
			end
		end
		
		-- Bugschutz
		
		when bugcheck.timer begin
			if pc.is_mount() then
				horse.unride()
			end
			if pc.count_item(53006) == 0 then
				say_title("Buguser")
				say("Bugusing festgestellt!")
				pets.removebonus(pc.getqf('petlevel'))
			end
		end
		
		when login or logout or disconnect with pc.getqf("petruf") == 1 begin
			pets.removebonus(pc.getqf('petlevel'))
			chat("Dein Haustier ist nicht mitgekommen...")
			chat("Rufe es erneut!")	
		end		
		
	end	
end
Mit diesem Fehler beim kompilieren der Quest:

Code:
Calls undeclared function! :
pets.bonusliste
pets.givebonus
pets.removebonus
Error occured on compile azraelg.quest
Und bitte sagen, was geändert wurde da ich die gleiche quest mehrmals habe bzw mit anderen Bonis für andere Pets

danke im vorraus
06/01/2015 23:48 Nick#11598
Quote:
Originally Posted by Shimao View Post
Habe diese Quest:

Code:
quest azraelg begin
	state start begin	
	
		function givebonus(x)
			local y,boni = {63,1},pets.bonusliste()
			table.foreach(boni[x],function(i,l)  cmdchat("HaustierBonus"..i.." "..l.."") affect.add_collect(y[i],l,60*60*24*365*60) end )
			cmdchat("HaustierLevel "..pc.getqf('petlevel').."")
			cmdchat("HaustierName "..pc.get_name().."")
			pc.setqf("petruf",1)				
		end
		function bonusliste()
			return {
				[1] = {15,500},
				[2] = {20,1500},
				[3] = {25,2000},
				[4] = {30,2500},
				[5] = {35,3500},
			}
		end	
		function removebonus(x)
			local y,boni = {63,1},pets.bonusliste()
			table.foreach(boni[x],function(i,l) affect.remove_collect(y[i],l,60*60*24*365*60) end )
			horse.unsummon()
			pc.setqf("petruf",0)
			horse.set_level("21")
			cmdchat("HidePetGui")
			cleartimer("bugcheck")
		end		
	
		when 53006.use begin
			if pc.is_mount() then
				say_title("Entschuldigung")
				say("Bitte steige von deinem Mount ab!")
				return
			end
			if pc.getqf('petlevel') == 0 then
				pc.setqf('petlevel',1)
			end
			if pc.getqf("petruf") == 0 then
				local Horselevel = 29-pc.getqf('petlevel')
				horse.set_level(Horselevel)
				horse.unsummon() horse.summon()
				chat("Dein Haustier wurde gerufen.")
				pets.givebonus(pc.getqf('petlevel'))
				local expprocent1 = {20, 80, 160, 350, 400}
				cmdchat("PetProcentExp "..(pc.getqf("exp")/expprocent1[pc.getqf("petlevel")]).."")				
				cmdchat("ShowPetGui")
				loop_timer("bugcheck", 0.2)
			elseif pc.getqf("petruf") == 1 then		
				pets.removebonus(pc.getqf('petlevel'))
				chat("Dein Haustier verabschiedet sich nun.")
			end		
		end
		
		
		when kill with pc.getqf("petruf") == 1 begin
			if pc.getqf("petlevel") == 5 then
				return
			end	
			if not npc.is_pc() then
				pc.setqf("exp",pc.getqf("exp")+1)
				local exp2up = {2000, 8000, 16000, 35000, 40000}
				local expprocent = {20, 80, 160, 350, 400}
				cmdchat("PetProcentExp "..(pc.getqf("exp")/expprocent[pc.getqf("petlevel")]).."")
				if pc.getqf("exp") == exp2up[pc.getqf("petlevel")] then
					if pc.getqf("petlevel") == 4 then
						say_title("Herzlichen Glückwunsch")
						say("Dein Haustier erreicht Level "..(pc.getqf("petlevel")+1).."")
						say_reward("Dies war das letzte Level!")
					end
					say_title("Herzlichen Glückwunsch")
					say("Dein Haustier erreicht Level "..(pc.getqf("petlevel")+1).."")
					say("Rufe dein Pet bitte erneut!")
					pc.setqf("petlevel",pc.getqf("petlevel")+1)
					pc.setqf("exp",0)
					pets.removebonus(pc.getqf('petlevel'))
				end
			end
		end
		
		-- Bugschutz
		
		when bugcheck.timer begin
			if pc.is_mount() then
				horse.unride()
			end
			if pc.count_item(53006) == 0 then
				say_title("Buguser")
				say("Bugusing festgestellt!")
				pets.removebonus(pc.getqf('petlevel'))
			end
		end
		
		when login or logout or disconnect with pc.getqf("petruf") == 1 begin
			pets.removebonus(pc.getqf('petlevel'))
			chat("Dein Haustier ist nicht mitgekommen...")
			chat("Rufe es erneut!")	
		end		
		
	end	
end
Mit diesem Fehler beim kompilieren der Quest:

Code:
Calls undeclared function! :
pets.bonusliste
pets.givebonus
pets.removebonus
Error occured on compile azraelg.quest
Und bitte sagen, was geändert wurde da ich die gleiche quest mehrmals habe bzw mit anderen Bonis für andere Pets

danke im vorraus
Bezüglich des Fehlers; Die besagten Funktionen können deshalb nicht aufgerufen bzw. aufgefunden werden, da man die Bezeichnung am Kopf der Quest geändert hat.

Code:
quest azraelg begin
durch

Code:
quest pets begin
ersetzen.

lg
06/02/2015 09:12 Shimao#11599
Kann ich den mehrere Quests mit Quest Pets begin beginnen lassen ohne das es probleme gibt?
Nur halt für verschiedene items
06/02/2015 11:13 Rofelmau#11600
so lange die datein im ordner niocht gleich heißen sollte das gehen
du kannst aber auch einfach die funktionen umbenennen... habe ich mal eben gemacht

06/02/2015 11:15 Backxtar#11601
Quote:
Originally Posted by .He3o Copy™ View Post
Füg einfach eine neue spalte in deiner tabelle ein mit dem Level also so {10,10,100}
und dann bei der abfrage
PHP Code:
if warp[i] == nil then return end 
diese verwenden
PHP Code:
if warp[i] == nil  or pc.getlevel() < warp[i][3] then return end 
ich werde es mal probieren :)

Du meinst so oder?

Code:
quest teleport begin
	state start begin
		when login begin
			cmdchat("Teleport index"..q.getcurrentquestindex())
		end
		when info or button begin
			local i = tonumber(input(cmdchat("Teleport GetInfo")))+1
			if type(i) != "number" then return end
			local warp = teleport.warp_kords()
			if warp[i] == nil or pc.getlevel() < warp[i][3] then return end
			pc.warp(warp[i][1], warp[i][2])
		end

		function warp_kords()
			return {
						{10,10,40},	--Dt
						{10,10,1},	--Tempel
						{10,10,90},	--Donner
						{10,10,1},	--Roter Wald
						{10,10,90},	--Kap
						{10,10,1},	--Affendungeon 1 (Leicht)
						{10,10,1},	--Lungsam
						{10,10,100},	--NW
						{10,10,1},	--Berg Sohan
						{10,10,1},	--Bakra
						{10,10,1},	--Orktal
						{10,10,75},	--Devilscatacomb
						{10,10,1},	--Bokjung
						{10,10,1},	--Affendungeon 2 (Mittel)
						{10,10,1},	--Chunjo
						{10,10,90},	--Nephritibucht
						{10,10,75},	--Grotte1
						{10,10,75},	--Grotte2
						{10,10,75},	--Grotte Boss
						{10,10,1},	--Sd2
						{10,10,1},	--Sd3
						{10,10,50},	--Sd3 Boss
						{10,10,1},	--Yayang
						{10,10,1},	--Shinsoo
						{10,10,1},	--Affendungeon 3 (Expert)
						{10,10,1},	--Yongbi-Wüste
						{10,10,1},	--Schlangenfeld
						{10,10,1},	--Jinno
						{10,10,1},	--Feuerland
						{10,10,90},	--Gautamarkliff
						{10,10,1},	--Sd1
						{10,10,1},	--Land der Riesen
						{10,10,100}		--RDF
					}
		end
	end
end
06/02/2015 20:40 Shimao#11602
Quote:
Originally Posted by Rofelmau View Post
so lange die datein im ordner niocht gleich heißen sollte das gehen
du kannst aber auch einfach die funktionen umbenennen... habe ich mal eben gemacht

So bekomme ich zwar kein Error bei der Quest, aber Ingame passiert einfach nichts..

Und lasse ich bei allen das "pets" stehen dann kann ich die die Pets mehrmals Rufen und dann kommt sofort "Bugschutz, dein Pet wurde weggeschickt.. rufe es erneut.."

Muss man evtl. alle Pets in eine Quest packen und diese umschreiben?

Falls ja, kann das wer?

Danke im vorraus
06/03/2015 03:56 PlayaStylee#11603
Hillfe bitte porte mich auf die map wenn ich metin haue passiert nix Kann mir bitte einer helfen

PHP Code:
quest bossrun begin
state start begin
    when 30123.chat
."bossrun betreten" with pc.get_map_index() == 1 or 21 or 41 begin
        say
("".. pc.get_name() ..":")
        
say("Ich habe eine Notitz gefunden")
        
say("Es ist schwer etwas zu entzifern.")
        
wait()
        
say("".. pc.get_name() ..":")
        
say("Ich glaube es handelt sich um die")
        
say("Meerjungfrau die von Kryos2s")
        
say("Sklaven gefangen genommen wurde.")
        
wait()
        
say("".. pc.get_name() ..":")
        
say("Ah nun kann ich etwas entzifern..")
        
say("Es sieht so aus als stamm diese Notitz")
        
say("höchstpersönlich von Kryos2!")
        
wait()
        
say_red("Kryos2:")
        
say("Herzlichen Glückwunsch!")
        
say("Du hast einen freien eintritt in die Hölle")
        
say("erhalten!")
        
wait()
        if 
pc . get_level ( ) < 40 then 
            say_reward
("Mindestlevel 40!. Komme wieder, wenn du Level 40 bist!")
        elseif    
pc . get_level ( ) > 55 then
            say_reward
("Max Level 55!")
        else
            
say("Eure erste Aufgabe besteht darin")
            
say("den Metin der Seele zu bezwingen!")
            
say("Aber seht euch vor! Nur wer das Oberhaupt tötet")
            
say("und die Meerjungfrau rettet")
            
say("bekommt auch die Belohnung!")
            
wait()
            
say("Möchtest du die Meerjungfrau retten?")
            
            
local s = select("Ja", "Nein")
            if 
s == 1 then
                pc
.warp(1251200 , 1246800)
                
pc.remove_item(30160,1)
            else
                return
            
end
        end
    end
    
    when 101.kill with pc
.get_map_index()==303 begin
            local jump1 
= number(89, 90)
            if 
jump1<=50 then
                chat
("Du hattest Glück!")
                
chat("Du wirst gleich weiter teleportiert!")
                
timer("bossrun", 10)
                else
                
chat("Kryos2 lacht über deine nutzlosen versuche.")
                
chat("Bezwinge erneut einen Metin der Seele!")
        
end
    end
        when bossrun
.timer begin
            d
.setf("bossrunlevel", 1)
            
d.new_jump_all(303, 12495, 12480)
        
local vid = d.spawn_mob(691, 147, 135)
        
d.set_unique("real", vid)
        
d.notice("Los gehts!");
    
end
    when 692.kill with pc
.in_dungeon() begin
        
if d.is_unique_dead("real") then
            d
.setf("bossrunlevel", 2)
            
timer("bossrun2", 10)
        
end
    end
        when bossrun2
.timer begin
            d
.jump_all(12495, 12480)
        
local vid = d.spawn_mob(791, 147, 135)
        
d.set_unique("real", vid)
        
d.notice("Los gehts!");
        
end
    
    when 791.kill with pc
.in_dungeon() begin
        
if d.is_unique_dead("real") then
            d
.setf("bossrunlevel", 3)
            
timer("bossrun3", 10)
        
end
    end
            when bossrun3
.timer begin
            d
.jump_all(12495, 12480)
        
local vid = d.spawn_mob(2092, 147, 135)
        
d.set_unique("real", vid)
        
d.notice("Los gehts!");
        
end

            when 2092.kill with pc
.in_dungeon() begin
        
if d.is_unique_dead("real") then
            d
.setf("bossrunlevel", 4)
            
timer("bossrun4", 10)
        
end
        end    
            when bossrun4
.timer begin
            d
.jump_all(12495, 12480)
        
local vid = d.spawn_mob(2191, 147, 135)
        
d.set_unique("real", vid)
        
d.notice("Los gehts!");
        
end
        
        when 2191.kill with pc
.in_dungeon() begin
        
if d.is_unique_dead("real") then
            d
.setf("bossrunlevel", 5)
            
timer("bossrun5", 10)
        
end
        end    
            when bossrun5
.timer begin
            d
.jump_all(12495, 12480)
        
local vid = d.spawn_mob(1901, 147, 135)
        
d.set_unique("real", vid)
        
d.notice("Los gehts!");
        
end
        
        when 1901.kill with pc
.in_dungeon() begin
        
if d.is_unique_dead("real") then
            d
.setf("bossrunlevel", 6)
            
timer("bossrun6", 10)
        
end
        end    
            when bossrun6
.timer begin
            d
.jump_all(12495, 12480)
        
local vid = d.spawn_mob(2206, 147, 135)
        
d.set_unique("real", vid)
        
d.notice("Los gehts!");
        
end
        
        when 2206.kill with pc
.in_dungeon() begin
        
if d.is_unique_dead("real") then
            d
.setf("bossrunlevel", 7)
            
timer("bossrun7", 10)
        
end
        end
        when bossrun7
.timer begin
            d
.jump_all(12495, 12480)
        
local vid = d.spawn_mob(1304, 147, 135)
        
d.set_unique("real", vid)
        
d.notice("Los gehts!");
        
end
        
        when 1304.kill with pc
.in_dungeon() begin
        
if d.is_unique_dead("real") then
            d
.setf("bossrunlevel", 8)
            
timer("bossrun8", 10)
        
end
        end
        when bossrun8
.timer begin
            d
.jump_all(12495, 12480)
        
local vid = d.spawn_mob(1091, 147, 135)
        
d.set_unique("real", vid)
        
d.notice("Los gehts!");
        
end
        
        when 1091.kill with pc
.in_dungeon() begin
        
if d.is_unique_dead("real") then
            d
.setf("bossrunlevel", 9)
            
timer("bossrun9", 10)
        
end
        end
        when bossrun9
.timer begin
            d
.jump_all(12495, 12480)
        
local vid = d.spawn_mob(1092, 147, 135)
        
d.set_unique("real", vid)
        
d.notice("Los gehts!");
        
end
        
        when 1092.kill with pc
.in_dungeon() begin
        
if d.is_unique_dead("real") then
            d
.setf("bossrunlevel", 11)
            
timer("bossrun10", 10)
        
end
        end
        when bossrun10
.timer begin
        d
.jump_all(12495, 12480)
        
local vid = d.spawn_mob(2306, 147, 135)
        
d.set_unique("real", vid)
        
d.notice("Los gehts!");
        
end
        
when 2306.kill with pc
.in_dungeon() begin
    
if d.is_unique_dead("real") then
        d
.setf("bossrunlevel", 12)
        
d.notice("Ihr habt es geschaft die Meerjungfrau zu retten.")
        
d.notice("Dies war eine nicht allzu leichte Aufgabe.")
        
d.notice("Nun sollt ihr eine Belohnung erhalten.")
        
d.kill_all()
        
timer("meerjungfrau_end_port", 10)
    
end
end
    when meerjungfrau_end_port
.timer begin
        d
.jump_all(12495, 12480)
        
d.spawn_mob(20011, 147, 135)
        
timer("bossrun_escape_timer", 120)    
        
d.notice("Ihr werdet in 2 Minuten rausgeportet")
    
end
    
    when 20011.chat
."Belohnung" with pc.in_dungeon() and pc.getqf("belo") == 0 begin
        
            say
("Bla bla , hier kriegst du deine Belohnung")
            
pc.give_item2(19,1)
            
pc.setqf("belo", 1)
        
    
end
    when bossrun_escape_timer
.timer begin
        d
.setf("bossrunlevel", 0)
        
pc.setqf("belo",0)
        -- 
warp_to_village()
        
warp_all_to_village(pc.get_map_index(), 30)        
        
end
    end
end 
06/03/2015 08:04 Shimao#11604
Ich möchte gerne bei der quest mehrere Pets individuelle Bonis einstellen da es bei mehreren Quest nicht funktioniert.. hab gelesen es soll mit Questflags funktionieren..
Dem Ersteller meiner Wunschquest winken eine 5 Euro PSC (DE,Offline) insofern er die haben will

Code:
quest pets begin
	state start begin	
	
		function givebonus(x)
			local y,boni = {63,1},pets.bonusliste()
			table.foreach(boni[x],function(i,l)  cmdchat("HaustierBonus"..i.." "..l.."") affect.add_collect(y[i],l,60*60*24*365*60) end )
			cmdchat("HaustierLevel "..pc.getqf('petlevel').."")
			cmdchat("HaustierName "..pc.get_name().."")
			pc.setqf("petruf",1)				
		end
		function bonusliste()
			return {
				[1] = {15,500},
				[2] = {20,1500},
				[3] = {25,2000},
				[4] = {30,2500},
				[5] = {35,3500},
			}
		end	
		function removebonus(x)
			local y,boni = {63,1},pets.bonusliste()
			table.foreach(boni[x],function(i,l) affect.remove_collect(y[i],l,60*60*24*365*60) end )
			horse.unsummon()
			pc.setqf("petruf",0)
			horse.set_level("21")
			cmdchat("HidePetGui")
			cleartimer("bugcheck")
		end		
	
		when 53006.use begin
			if pc.is_mount() then
				say_title("Entschuldigung")
				say("Bitte steige von deinem Mount ab!")
				return
			end
			if pc.getqf('petlevel') == 0 then
				pc.setqf('petlevel',1)
			end
			if pc.getqf("petruf") == 0 then
				local Horselevel = 29-pc.getqf('petlevel')
				horse.set_level(Horselevel)
				horse.unsummon() horse.summon()
				chat("Dein Haustier wurde gerufen.")
				pets.givebonus(pc.getqf('petlevel'))
				local expprocent1 = {20, 80, 160, 350, 400}
				cmdchat("PetProcentExp "..(pc.getqf("exp")/expprocent1[pc.getqf("petlevel")]).."")				
				cmdchat("ShowPetGui")
				loop_timer("bugcheck", 0.2)
			elseif pc.getqf("petruf") == 1 then		
				pets.removebonus(pc.getqf('petlevel'))
				chat("Dein Haustier verabschiedet sich nun.")
			end		
		end
		
		
		when kill with pc.getqf("petruf") == 1 begin
			if pc.getqf("petlevel") == 5 then
				return
			end	
			if not npc.is_pc() then
				pc.setqf("exp",pc.getqf("exp")+1)
				local exp2up = {2000, 8000, 16000, 35000, 40000}
				local expprocent = {20, 80, 160, 350, 400}
				cmdchat("PetProcentExp "..(pc.getqf("exp")/expprocent[pc.getqf("petlevel")]).."")
				if pc.getqf("exp") == exp2up[pc.getqf("petlevel")] then
					if pc.getqf("petlevel") == 4 then
						say_title("Herzlichen Glückwunsch")
						say("Dein Haustier erreicht Level "..(pc.getqf("petlevel")+1).."")
						say_reward("Dies war das letzte Level!")
					end
					say_title("Herzlichen Glückwunsch")
					say("Dein Haustier erreicht Level "..(pc.getqf("petlevel")+1).."")
					say("Rufe dein Pet bitte erneut!")
					pc.setqf("petlevel",pc.getqf("petlevel")+1)
					pc.setqf("exp",0)
					pets.removebonus(pc.getqf('petlevel'))
				end
			end
		end
		
		-- Bugschutz
		
		when bugcheck.timer begin
			if pc.is_mount() then
				horse.unride()
			end
			if pc.count_item(53006) == 0 then
				say_title("Buguser")
				say("Bugusing festgestellt!")
				pets.removebonus(pc.getqf('petlevel'))
			end
		end
		
		when login or logout or disconnect with pc.getqf("petruf") == 1 begin
			pets.removebonus(pc.getqf('petlevel'))
			chat("Dein Haustier ist nicht mitgekommen...")
			chat("Rufe es erneut!")	
		end		
		
	end	
end
06/03/2015 12:02 DerForenLeser#11605
Quote:
Originally Posted by PlayaStylee View Post
Dein "Metin" ist ein Wildhund, zu erkennen an der Vnum 101.

Quote:
Originally Posted by Shimao View Post
Wenn Du den Pets nur maximal 3 Boni zuordnen willst, dann macht das Ganze über die Datenbank mehr Sinn. Dort kann man es ebenso wenig buggen und die Quest muss nicht verändert werden.

MfG
06/03/2015 12:07 Shimao#11606
Die Pets sollen aber lvlbar sein und dazu geht das in der Datenbank nicht das muss per Quest sein
06/03/2015 21:26 Tobii12xx#11607
Hey All,
Kumpel von mir hat mir mal mit seinem, ich sag mal "WISSEN", mir eine Quest geschrieben die nicht richtig funktioniert!
Grundidee:
Wenn man beim Regenbogenstein auf z.B. Körper drückt dass man auswählen kann welche Fertigkeit mann auf P haben möchte.
Hier der Code:
Code:
quest regenbogen begin
    state start begin
            when 50512.use  begin
                
                say_title("Regenbogenstein:")
                say("Du möchtest also deine Skills ")
                say("Perfektionieren?")
                
                if pc.job ==0 then
                say("Wähle deine Lehre aus")
                
                local s=select("Körper","Mental")
                
                if s==1 then
				local s=select("3Wegeschnitt","Schwertwirbel","Kampfrausch","Aura","Sausen")
				if s==1 then
                pc.set_skill_group(1)
                pc.set_skill_level(1 ,59)
				say("Erfolgreich geskillt!")
				if s==2 then
				pc.set_skill_group(1)
                pc.set_skill_level(2 ,59)
				say("Erfolgreich geskillt!")
				if s==3 then
                pc.set_skill_group(1)
                pc.set_skill_level(3 ,59)
				say("Erfolgreich geskillt!")
				if s==4 then
                pc.set_skill_group(1)
                pc.set_skill_level(4 ,59)
				say("Erfolgreich geskillt!")
				if s==5 then
                pc.set_skill_group(1)
                pc.set_skill_level(5 ,59)
                say("Erfolgreich geskillt!")
                end
                
				if s==2	then
				local s=select("Durchschlag","Heftiges Schlagen","Stampfer","Starker Körper","Schwertschlag")
                if s==1 then
                pc.set_skill_group(2)
                pc.set_skill_level(16 ,59)
				say("Erfolgreich geskillt!")
				if s==2 then
                pc.set_skill_group(2)
                pc.set_skill_level(17 ,59)
				say("Erfolgreich geskillt!")
				if s==3 then
                pc.set_skill_group(2)
                pc.set_skill_level(18 ,59)
				say("Erfolgreich geskillt!")
				if s==4 then
                pc.set_skill_group(2)
                pc.set_skill_level(19 ,59)
				say("Erfolgreich geskillt!")
				if s==5 then
                pc.set_skill_group(2)
                pc.set_skill_level(20 ,59)
				say("Erfolgreich geskillt!")
                end
                
                elseif pc.job ==1 then
                say("Wähle deine Lehre aus")
                
                local s=select("Nahkampf","Fernkampf")
                
                if s==1 then               
				local s=select("Hinterhalt","Blitzangriff","Degenwirbel","Tarnung","Giftwolke")
				if s==1 then
                pc.set_skill_group(3)
                pc.set_skill_level(31 ,59)
				say("Erfolgreich geskillt!")
				if s==2 then
                pc.set_skill_group(3)
                pc.set_skill_level(32 ,59)
				say("Erfolgreich geskillt!")
				if s==3 then
                pc.set_skill_group(3)
                pc.set_skill_level(33 ,59)
				say("Erfolgreich geskillt!")
				if s==4 then
                pc.set_skill_group(3)
                pc.set_skill_level(34 ,59)
				say("Erfolgreich geskillt!")
				if s==5 then
                pc.set_skill_group(3)
                pc.set_skill_level(35 ,59)
				say("Erfolgreich geskillt!")
                end
                
                if s==2 then
				local s=select("Wiederholter Schuss","Pfeilregen","Feuerpfeil","Federschreiten","Giftpfeil")
				if s==1 then
                pc.set_skill_group(4)
                pc.set_skill_level(46 ,59)
				say("Erfolgreich geskillt!")
				if s==2 then
                pc.set_skill_group(4)
                pc.set_skill_level(47 ,59)
				say("Erfolgreich geskillt!")
				if s==3 then
                pc.set_skill_group(4)
                pc.set_skill_level(48 ,59)
				say("Erfolgreich geskillt!")
				if s==4 then
                pc.set_skill_group(4)
                pc.set_skill_level(49 ,59)
				say("Erfolgreich geskillt!")
				if s==5 then
                pc.set_skill_group(4)
                pc.set_skill_level(50 ,59)
				say("Erfolgreich geskillt!")
                end
                
                elseif pc.job ==2 then
                say("Wähle deine Lehre aus")
                local s=select("Magie","Waffe")
                
                if s==1 then
				local s=select("Dunkler Schlag","Flammenschlag","Geist der Flamme","Dunkler Schutz","Geisterschlag","Dunkler Stein")
				if s==1 then
                pc.set_skill_group(5)
                pc.set_skill_level(76 ,59)
				say("Erfolgreich geskillt!")
				if s==2 then
                pc.set_skill_group(5)
                pc.set_skill_level(77 ,59)
				say("Erfolgreich geskillt!")
				if s==3 then
                pc.set_skill_group(5)
                pc.set_skill_level(78 ,59)
				say("Erfolgreich geskillt!")
				if s==4 then
                pc.set_skill_group(5)
                pc.set_skill_level(79 ,59)
				say("Erfolgreich geskillt!")
				if s==5 then
                pc.set_skill_group(5)
                pc.set_skill_level(80 ,59)
				say("Erfolgreich geskillt!")
				if s==6 then
                pc.set_skill_group(5)
                pc.set_skill_level(81, 59)
				say("Erfolgreich geskillt!")
                end
                
                if s==2 then
				local s=select("Fingerschlag","Drachenwirbel","Verzauberte Klinge","Furcht","Verzauberte Rüstung","Zauber Aufheben")
				if s==1then
                pc.set_skill_group(6)
                pc.set_skill_level(61 ,59)
				say("Erfolgreich geskillt!")
				if s==2then
                pc.set_skill_group(6)
                pc.set_skill_level(62 ,59)
				say("Erfolgreich geskillt!")
				if s==3then
                pc.set_skill_group(6)
                pc.set_skill_level(63 ,59)
				say("Erfolgreich geskillt!")
				if s==4then
                pc.set_skill_group(6)
                pc.set_skill_level(64 ,59)
				say("Erfolgreich geskillt!")
				if s==5then
                pc.set_skill_group(6)
                pc.set_skill_level(65 ,59)
				say("Erfolgreich geskillt!")
				if s==6then
                pc.set_skill_group(6)
                pc.set_skill_level(66 ,59)
				say("Erfolgreich geskillt!")
                end
                
                elseif pc.job ==3 then
                say("Wähle deine Lehre aus")
                local s=select("Heilung","Drache")
                
                if s==1 then
				local s=select("Blitzwurf","Blitz heraufbeschwören","Blitzkralle","Kurieren","Schnelligkeit","Angriff+")
				if s==1 then
                pc.set_skill_group(7)
                pc.set_skill_level(106 ,59)
				say("Erfolgreich geskillt!")
				if s==2 then
                pc.set_skill_group(7)
                pc.set_skill_level(107 ,59)
				say("Erfolgreich geskillt!")
				if s==3 then
                pc.set_skill_group(7)
                pc.set_skill_level(108 ,59)
				say("Erfolgreich geskillt!")
				if s==4 then
                pc.set_skill_group(7)
                pc.set_skill_level(109 ,59)
				say("Erfolgreich geskillt!")
				if s==5 then
                pc.set_skill_group(7)
                pc.set_skill_level(110 ,59)
				say("Erfolgreich geskillt!")
				if s==6 then
                pc.set_skill_group(7)
                pc.set_skill_level(111 ,59)
				say("Erfolgreich geskillt!")
                end
                
                if s==2 then
				local s=select("Fliegender Talisman","Drachenschiessen","Drachengebrüll","Segen","Reflektieren","Hilfe des Drachens")
				if s==1 then
                pc.set_skill_group(8)
                pc.set_skill_level(91 ,59)
				say("Erfolgreich geskillt!")
				if s==2 then
                pc.set_skill_group(8)
                pc.set_skill_level(92 ,59)
				say("Erfolgreich geskillt!")
				if s==3 then
                pc.set_skill_group(8)
                pc.set_skill_level(93 ,59)
				say("Erfolgreich geskillt!")
				if s==4 then
                pc.set_skill_group(8)
                pc.set_skill_level(94 ,59)
				say("Erfolgreich geskillt!")
				if s==5 then
                pc.set_skill_group(8)
                pc.set_skill_level(95 ,59)
				say("Erfolgreich geskillt!")
				if s==6 then
                pc.set_skill_group(8)
                pc.set_skill_level(96 ,59)
				say("Erfolgreich geskillt!")
                end
            end
        end
    end
end
Bitte um hilfe :)
Grüsse Dany
06/03/2015 23:55 Noa_#11608
Quote:
Originally Posted by Tobii12xx View Post
Hey All,
Kumpel von mir hat mir mal mit seinem, ich sag mal "WISSEN", mir eine Quest geschrieben die nicht richtig funktioniert!
Grundidee:
Wenn man beim Regenbogenstein auf z.B. Körper drückt dass man auswählen kann welche Fertigkeit mann auf P haben möchte.
Hier der Code:
Code:
quest regenbogen begin
    state start begin
            when 50512.use  begin
                
                say_title("Regenbogenstein:")
                say("Du möchtest also deine Skills ")
                say("Perfektionieren?")
                
                if pc.job ==0 then
                say("Wähle deine Lehre aus")
                
                local s=select("Körper","Mental")
                
                if s==1 then
				local s=select("3Wegeschnitt","Schwertwirbel","Kampfrausch","Aura","Sausen")
				if s==1 then
                pc.set_skill_group(1)
                pc.set_skill_level(1 ,59)
				say("Erfolgreich geskillt!")
				if s==2 then
				pc.set_skill_group(1)
                pc.set_skill_level(2 ,59)
				say("Erfolgreich geskillt!")
				if s==3 then
                pc.set_skill_group(1)
                pc.set_skill_level(3 ,59)
				say("Erfolgreich geskillt!")
				if s==4 then
                pc.set_skill_group(1)
                pc.set_skill_level(4 ,59)
				say("Erfolgreich geskillt!")
				if s==5 then
                pc.set_skill_group(1)
                pc.set_skill_level(5 ,59)
                say("Erfolgreich geskillt!")
                end
                
				if s==2	then
				local s=select("Durchschlag","Heftiges Schlagen","Stampfer","Starker Körper","Schwertschlag")
                if s==1 then
                pc.set_skill_group(2)
                pc.set_skill_level(16 ,59)
				say("Erfolgreich geskillt!")
				if s==2 then
                pc.set_skill_group(2)
                pc.set_skill_level(17 ,59)
				say("Erfolgreich geskillt!")
				if s==3 then
                pc.set_skill_group(2)
                pc.set_skill_level(18 ,59)
				say("Erfolgreich geskillt!")
				if s==4 then
                pc.set_skill_group(2)
                pc.set_skill_level(19 ,59)
				say("Erfolgreich geskillt!")
				if s==5 then
                pc.set_skill_group(2)
                pc.set_skill_level(20 ,59)
				say("Erfolgreich geskillt!")
                end
                
                elseif pc.job ==1 then
                say("Wähle deine Lehre aus")
                
                local s=select("Nahkampf","Fernkampf")
                
                if s==1 then               
				local s=select("Hinterhalt","Blitzangriff","Degenwirbel","Tarnung","Giftwolke")
				if s==1 then
                pc.set_skill_group(3)
                pc.set_skill_level(31 ,59)
				say("Erfolgreich geskillt!")
				if s==2 then
                pc.set_skill_group(3)
                pc.set_skill_level(32 ,59)
				say("Erfolgreich geskillt!")
				if s==3 then
                pc.set_skill_group(3)
                pc.set_skill_level(33 ,59)
				say("Erfolgreich geskillt!")
				if s==4 then
                pc.set_skill_group(3)
                pc.set_skill_level(34 ,59)
				say("Erfolgreich geskillt!")
				if s==5 then
                pc.set_skill_group(3)
                pc.set_skill_level(35 ,59)
				say("Erfolgreich geskillt!")
                end
                
                if s==2 then
				local s=select("Wiederholter Schuss","Pfeilregen","Feuerpfeil","Federschreiten","Giftpfeil")
				if s==1 then
                pc.set_skill_group(4)
                pc.set_skill_level(46 ,59)
				say("Erfolgreich geskillt!")
				if s==2 then
                pc.set_skill_group(4)
                pc.set_skill_level(47 ,59)
				say("Erfolgreich geskillt!")
				if s==3 then
                pc.set_skill_group(4)
                pc.set_skill_level(48 ,59)
				say("Erfolgreich geskillt!")
				if s==4 then
                pc.set_skill_group(4)
                pc.set_skill_level(49 ,59)
				say("Erfolgreich geskillt!")
				if s==5 then
                pc.set_skill_group(4)
                pc.set_skill_level(50 ,59)
				say("Erfolgreich geskillt!")
                end
                
                elseif pc.job ==2 then
                say("Wähle deine Lehre aus")
                local s=select("Magie","Waffe")
                
                if s==1 then
				local s=select("Dunkler Schlag","Flammenschlag","Geist der Flamme","Dunkler Schutz","Geisterschlag","Dunkler Stein")
				if s==1 then
                pc.set_skill_group(5)
                pc.set_skill_level(76 ,59)
				say("Erfolgreich geskillt!")
				if s==2 then
                pc.set_skill_group(5)
                pc.set_skill_level(77 ,59)
				say("Erfolgreich geskillt!")
				if s==3 then
                pc.set_skill_group(5)
                pc.set_skill_level(78 ,59)
				say("Erfolgreich geskillt!")
				if s==4 then
                pc.set_skill_group(5)
                pc.set_skill_level(79 ,59)
				say("Erfolgreich geskillt!")
				if s==5 then
                pc.set_skill_group(5)
                pc.set_skill_level(80 ,59)
				say("Erfolgreich geskillt!")
				if s==6 then
                pc.set_skill_group(5)
                pc.set_skill_level(81, 59)
				say("Erfolgreich geskillt!")
                end
                
                if s==2 then
				local s=select("Fingerschlag","Drachenwirbel","Verzauberte Klinge","Furcht","Verzauberte Rüstung","Zauber Aufheben")
				if s==1then
                pc.set_skill_group(6)
                pc.set_skill_level(61 ,59)
				say("Erfolgreich geskillt!")
				if s==2then
                pc.set_skill_group(6)
                pc.set_skill_level(62 ,59)
				say("Erfolgreich geskillt!")
				if s==3then
                pc.set_skill_group(6)
                pc.set_skill_level(63 ,59)
				say("Erfolgreich geskillt!")
				if s==4then
                pc.set_skill_group(6)
                pc.set_skill_level(64 ,59)
				say("Erfolgreich geskillt!")
				if s==5then
                pc.set_skill_group(6)
                pc.set_skill_level(65 ,59)
				say("Erfolgreich geskillt!")
				if s==6then
                pc.set_skill_group(6)
                pc.set_skill_level(66 ,59)
				say("Erfolgreich geskillt!")
                end
                
                elseif pc.job ==3 then
                say("Wähle deine Lehre aus")
                local s=select("Heilung","Drache")
                
                if s==1 then
				local s=select("Blitzwurf","Blitz heraufbeschwören","Blitzkralle","Kurieren","Schnelligkeit","Angriff+")
				if s==1 then
                pc.set_skill_group(7)
                pc.set_skill_level(106 ,59)
				say("Erfolgreich geskillt!")
				if s==2 then
                pc.set_skill_group(7)
                pc.set_skill_level(107 ,59)
				say("Erfolgreich geskillt!")
				if s==3 then
                pc.set_skill_group(7)
                pc.set_skill_level(108 ,59)
				say("Erfolgreich geskillt!")
				if s==4 then
                pc.set_skill_group(7)
                pc.set_skill_level(109 ,59)
				say("Erfolgreich geskillt!")
				if s==5 then
                pc.set_skill_group(7)
                pc.set_skill_level(110 ,59)
				say("Erfolgreich geskillt!")
				if s==6 then
                pc.set_skill_group(7)
                pc.set_skill_level(111 ,59)
				say("Erfolgreich geskillt!")
                end
                
                if s==2 then
				local s=select("Fliegender Talisman","Drachenschiessen","Drachengebrüll","Segen","Reflektieren","Hilfe des Drachens")
				if s==1 then
                pc.set_skill_group(8)
                pc.set_skill_level(91 ,59)
				say("Erfolgreich geskillt!")
				if s==2 then
                pc.set_skill_group(8)
                pc.set_skill_level(92 ,59)
				say("Erfolgreich geskillt!")
				if s==3 then
                pc.set_skill_group(8)
                pc.set_skill_level(93 ,59)
				say("Erfolgreich geskillt!")
				if s==4 then
                pc.set_skill_group(8)
                pc.set_skill_level(94 ,59)
				say("Erfolgreich geskillt!")
				if s==5 then
                pc.set_skill_group(8)
                pc.set_skill_level(95 ,59)
				say("Erfolgreich geskillt!")
				if s==6 then
                pc.set_skill_group(8)
                pc.set_skill_level(96 ,59)
				say("Erfolgreich geskillt!")
                end
            end
        end
    end
end
Bitte um hilfe :)
Grüsse Dany
PHP Code:
quest regenbogen begin
    state start begin
        when 50512.
use begin
            say_title
("Regenbogenstein:")
            
say("Du möchtest also deine Skills ")
            
say("Perfektionieren?")
            
say""
            
local race = pc.job
            local sel 
= select_table(({{"Körper","Mental"},{"Nahkampf","Fernkampf"},{"Magie","Waffe"},{"Heilung","Drache"}})[race+1]))
            
local SelJob= {}
            for 
i,skill_id in pairs(special.active_skill_list[race+1][sel])do table.insert(SelJob,locale.GM_SKILL_NAME_DICT[skill_id])end
            table
.insert(SelJob,"Abbrechen")
            
local SelJobSkill = select_table(SelJob)
            if 
SelJobSkill ~= table.getn(SelJobSkill) then
                pc
.set_skill_group(sel)
                
pc.set_skill_level(special.active_skill_list[race+1][sel][SelJobSkill],59)
                
say(string.format("%q",locale.GM_SKILL_NAME_DICT[special.active_skill_list[race+1][sel][SelJobSkill]]).." wurde auf Perfekt verbessert.")
            else
                return 
            
end
        end
    end
end 
ist ungetestet
06/04/2015 02:52 Tobii12xx#11609
Funktioniert nicht ...
06/04/2015 03:23 Noa_#11610
was (genau) funktioniert nicht?