[SERVICE] Die Questkontrolle

03/27/2015 21:04 [Kaito]#11251
Quote:
Originally Posted by SolWayne View Post
[Only registered and activated users can see links. Click Here To Register...]

das geht nicht
Geht es so?

Code:
quest truhen_zero begin 
        state start begin 
        when login begin
            pc.set_skill_level(124)  --Bergbau
            pc.set_skill_level(13)  --Pferde-Rufen
            pc.set_skill_level(121, 50)  --Führung
            pc.set_skill_level(129, 50)  --Verwandeln
            pc.set_skill_level(126, 50)  --Rot Sprache
            pc.set_skill_level(127, 50)  --Gelb
            pc.set_skill_level(128, 50)  --Blau
            pc.set_skill_level(137, 20)  --Pferdrücken
            pc.set_skill_level(138, 20)  --Pferdestampfer
            pc.set_skill_level(139, 20)  --Kraftwelle
            pc.give_item2(50187)
            horse.set_level(21)  --Pferd
            setstate(hi)
        end
    end
    state hi begin 
        when login begin
            pc.give_item2(50187)
            set_state(truhen)
        end
    end
    state truhen begin
        when 50187.use begin
            local item_vnum = 19 --Schwert+9
            if pc.get_job() == 1 then
                item_vnum = 1009 --Dolche+9
            elseif pc.get_job() == 2 then                
                item_vnum = 19   --Schwert+9
            elseif pc.get_job() == 3 then
                item_vnum = 7009 --Fächer+9
            end
            pc.give_item2(item_vnum) --lvl 1er waffe je nach rasse
            pc.give_item2(27003, 200) --Roter Trank(G)
            pc.give_item2(50188, 1) --Lehrlingstruhe II
            pc.remove_item(50187, 1) --Lehrlingstruhe I verschwindet
        end 
        when 50188.use with pc.get_level() >= 10 begin 
            pc.give_item2(72726, 1)  --Elixier der Sonne (S)
            pc.give_item2(72730, 1)  --Elixier des Mondes (S)
            pc.give_item2(50189, 1)  --Lehrlingstruhe III
            pc.remove_item(50188, 1) --Lehrlingstruhe II verschwindet
        end 
        when 50189.use with pc.get_level() >= 20 begin 
            pc.give_item2(71084, 10)  --Gegenstand verzaubern 
            pc.give_item2(71085, 10)  --Gegenstand verstärken
            pc.give_item2(50190, 1)  --Expertentruhe I
            pc.remove_item(50189, 1) --Lehrlingstruhe III verschwindet
        end 
        when 50190.use with pc.get_level() >= 30 begin 
            pc.give_item2(27987, 5)  --Muschel
            pc.give_item2(25040, 10)  --Segenschriftrollen
            pc.give_item2(70003, 1)  --Buch des Anführers            
            pc.give_item2(50191, 1)  --Expertentruhe II
            pc.remove_item(50190, 1) --Expertentruhe I verschwindet
        end 
        when 50191.use with pc.get_level() >= 40 begin 
            pc.give_item2(71101, 5)  --Trank der Hast
            pc.give_item2(71153, 1)  --Trank der Weisheit
            pc.give_item2(71084, 50)  --Gegenstand verzaubern
            pc.give_item2(71085, 50)  --Gegenstand verstärken
            pc.give_item2(50192, 1)  --Expertentruhe III
            pc.remove_item(50191, 1) --Expertentruhe II verschwindet
        end 
        when 50192.use with pc.get_level() >= 50 begin 
            pc.give_item2(27987, 10)  --Muschel
            pc.give_item2(71124, 1)  --Weißer Löwe
            pc.give_item2(50193, 1)  --Meistertruhe I
            pc.remove_item(50192, 1) --Expertentruhe III verschwindet
        end 
        when 50193.use with pc.get_level() >= 60 begin 
            pc.give_item2(39007, 2)  --Schmiede-Handbuch
            pc.give_item2(71032, 2)  --Schriftrolle des Drachen
            pc.give_item2(39013, 5)  --Segen des Drachen
            pc.give_item2(71101, 10)  --Trank der Hast
            pc.give_item2(50194, 1)  --Meistertruhe II
            pc.remove_item(50193, 1) --Meistertruhe I verschwindet
        end 
        when 50194.use with pc.get_level() >= 70 begin
            pc.give_item2(27992, 1) --Weiße Perle
            pc.give_item2(27993, 1) --Blaue Perle
            pc.give_item2(27994, 1) --Blutrote Perle
            pc.give_item2(30319, 1) --Schrumpfkopf
            pc.give_item2(50195, 1)  --Meistertruhe III
            pc.remove_item(50194, 1) --Meistertruhe II verschwindet
        end 
        when 50195.use with pc.get_level() >= 80 begin
            pc.give_item2(71035, 5)  --Elixier des Forschers
            pc.give_item2(27992, 2) --Weiße Perle
            pc.give_item2(27993, 2) --Blaue Perle
            pc.give_item2(27994, 2) --Blutrote Perle
            pc.give_item2(39007, 3)  --Schmiede-Handbuch
            pc.give_item2(71032, 3)  --Schriftrolle des Drachen
            pc.give_item2(50196, 1)  --Großmeistertruhe
            pc.remove_item(50195, 1) --Meistertruhe III verschwindet
        end 
        when 50196.use with pc.get_level() >= 90 begin
            pc.give_item2(71035, 5)  --Elixier des Forschers
            pc.give_item2(27992, 3) --Weiße Perle
            pc.give_item2(27993, 3) --Blaue Perle
            pc.give_item2(27994, 3) --Blutrote Perle
            pc.give_item2(39001, 1) --Magischer Stein
            pc.give_item2(30319, 5) --Schrumpfkopf
            pc.remove_item(50196, 1) --Großmeistertruhe verschwindet
        end
		setstate(_COMPLETE_)
	end
    state _COMPLETE_ begin
    end
end
03/27/2015 21:05 SolWayne#11252
Auch nicht [Only registered and activated users can see links. Click Here To Register...]
03/27/2015 21:26 [Kaito]#11253
Quote:
Originally Posted by SolWayne View Post
Auch nicht [Only registered and activated users can see links. Click Here To Register...]

Teil das mal in zwei Quests auf also.

Code:
quest truhen_zero begin 
    state start begin 
        when login begin
            pc.give_item2(50187)
            set_state(truhen)
        end
    end
    state truhen begin
        when 50187.use begin
            local item_vnum = 19 --Schwert+9
            if pc.get_job() == 1 then
                item_vnum = 1009 --Dolche+9
            elseif pc.get_job() == 2 then                
                item_vnum = 19   --Schwert+9
            elseif pc.get_job() == 3 then
                item_vnum = 7009 --Fächer+9
            end
            pc.give_item2(item_vnum) --lvl 1er waffe je nach rasse
            pc.give_item2(27003, 200) --Roter Trank(G)
            pc.give_item2(50188, 1) --Lehrlingstruhe II
            pc.remove_item(50187, 1) --Lehrlingstruhe I verschwindet
        end 
        when 50188.use with pc.get_level() >= 10 begin 
            pc.give_item2(72726, 1)  --Elixier der Sonne (S)
            pc.give_item2(72730, 1)  --Elixier des Mondes (S)
            pc.give_item2(50189, 1)  --Lehrlingstruhe III
            pc.remove_item(50188, 1) --Lehrlingstruhe II verschwindet
        end 
        when 50189.use with pc.get_level() >= 20 begin 
            pc.give_item2(71084, 10)  --Gegenstand verzaubern 
            pc.give_item2(71085, 10)  --Gegenstand verstärken
            pc.give_item2(50190, 1)  --Expertentruhe I
            pc.remove_item(50189, 1) --Lehrlingstruhe III verschwindet
        end 
        when 50190.use with pc.get_level() >= 30 begin 
            pc.give_item2(27987, 5)  --Muschel
            pc.give_item2(25040, 10)  --Segenschriftrollen
            pc.give_item2(70003, 1)  --Buch des Anführers            
            pc.give_item2(50191, 1)  --Expertentruhe II
            pc.remove_item(50190, 1) --Expertentruhe I verschwindet
        end 
        when 50191.use with pc.get_level() >= 40 begin 
            pc.give_item2(71101, 5)  --Trank der Hast
            pc.give_item2(71153, 1)  --Trank der Weisheit
            pc.give_item2(71084, 50)  --Gegenstand verzaubern
            pc.give_item2(71085, 50)  --Gegenstand verstärken
            pc.give_item2(50192, 1)  --Expertentruhe III
            pc.remove_item(50191, 1) --Expertentruhe II verschwindet
        end 
        when 50192.use with pc.get_level() >= 50 begin 
            pc.give_item2(27987, 10)  --Muschel
            pc.give_item2(71124, 1)  --Weißer Löwe
            pc.give_item2(50193, 1)  --Meistertruhe I
            pc.remove_item(50192, 1) --Expertentruhe III verschwindet
        end 
        when 50193.use with pc.get_level() >= 60 begin 
            pc.give_item2(39007, 2)  --Schmiede-Handbuch
            pc.give_item2(71032, 2)  --Schriftrolle des Drachen
            pc.give_item2(39013, 5)  --Segen des Drachen
            pc.give_item2(71101, 10)  --Trank der Hast
            pc.give_item2(50194, 1)  --Meistertruhe II
            pc.remove_item(50193, 1) --Meistertruhe I verschwindet
        end 
        when 50194.use with pc.get_level() >= 70 begin
            pc.give_item2(27992, 1) --Weiße Perle
            pc.give_item2(27993, 1) --Blaue Perle
            pc.give_item2(27994, 1) --Blutrote Perle
            pc.give_item2(30319, 1) --Schrumpfkopf
            pc.give_item2(50195, 1)  --Meistertruhe III
            pc.remove_item(50194, 1) --Meistertruhe II verschwindet
        end 
        when 50195.use with pc.get_level() >= 80 begin
            pc.give_item2(71035, 5)  --Elixier des Forschers
            pc.give_item2(27992, 2) --Weiße Perle
            pc.give_item2(27993, 2) --Blaue Perle
            pc.give_item2(27994, 2) --Blutrote Perle
            pc.give_item2(39007, 3)  --Schmiede-Handbuch
            pc.give_item2(71032, 3)  --Schriftrolle des Drachen
            pc.give_item2(50196, 1)  --Großmeistertruhe
            pc.remove_item(50195, 1) --Meistertruhe III verschwindet
        end 
        when 50196.use with pc.get_level() >= 90 begin
            pc.give_item2(71035, 5)  --Elixier des Forschers
            pc.give_item2(27992, 3) --Weiße Perle
            pc.give_item2(27993, 3) --Blaue Perle
            pc.give_item2(27994, 3) --Blutrote Perle
            pc.give_item2(39001, 1) --Magischer Stein
            pc.give_item2(30319, 5) --Schrumpfkopf
            pc.remove_item(50196, 1) --Großmeistertruhe verschwindet
        end
		setstate(_COMPLETE_)
	end
    state _COMPLETE_ begin
    end
end
Code:
quest truhen_zero begin 
	state start begin 
        when login begin
            pc.set_skill_level(124)  --Bergbau
            pc.set_skill_level(13)  --Pferde-Rufen
            pc.set_skill_level(121, 50)  --Führung
            pc.set_skill_level(129, 50)  --Verwandeln
            pc.set_skill_level(126, 50)  --Rot Sprache
            pc.set_skill_level(127, 50)  --Gelb
            pc.set_skill_level(128, 50)  --Blau
            pc.set_skill_level(137, 20)  --Pferdrücken
            pc.set_skill_level(138, 20)  --Pferdestampfer
            pc.set_skill_level(139, 20)  --Kraftwelle
            pc.give_item2(50187)
            horse.set_level(21)  --Pferd
            setstate(_COMPLETE_)
        end
	end
	state _COMPLETE_ begin
	end
end
03/27/2015 21:27 Nick#11254
Quote:
Originally Posted by SolWayne View Post
Auch nicht [Only registered and activated users can see links. Click Here To Register...]

lg
03/27/2015 21:29 SolWayne#11255
Quote:
Originally Posted by .JayZoN View Post

lg

Nice hat geklappt dank dir :)
03/30/2015 07:26 Nyffel'#11256

03/30/2015 12:26 [Kaito]#11257
Quote:
Originally Posted by Nyffel' View Post


Code:
quest level1 begin
	state start begin
		when login with pc.get_level() >= 1 begin
			set_state(information)
		end
	end
	state information begin
		when letter begin
			send_letter("Willkommen auf Listirion2")
		end
		when info or button begin
			say("Willkommen auf Listirion2")
			say("Der Dunkle Anführer der Reiche Listirion")
			say("Hat die Welt fast schon ganz erobert.")
			say("Ich habe gehört das du dich der Allianz anschließen möchtest!")
			say("Ich hoffe wir können unser Land noch retten.")
			say("Töte 20 Wildhunde um deine Kräfte zu beweisen und du bekommst:")
			say("...")
			say("...")
			say("...")
			say("40% Bewegungsgeschwindigkeit.")
			say_reward("Töte 20x Wildhund")
			say("")
			pc.setqf("state",0)
			q.set_counter("Wildhund", 20)
		end
		when 101.kill begin
			local count = pc.setqf("state", pc.getqf("state")-1)
			if count <= 20 then
				q.set_counter("Wildhund", count)
			end
			if count == 0 then
				send_letter("Geschafft")
			end
		end
		when button or info begin
			say_title("Du bist stark genug!")
			say("Du hast die Quest erfolgreich abgeschlossen!")
			say("Du erhälst:")
			say_reward(" 40% Bewegungsgeschwindigkeit")
			affect.add_collect(apply.ATT_BONUS_TO_MOVSPEED, 10, 60*60*24*365*60)
			set_state(__COMPLETE__)
		end
	end
	state __COMPLETE__ begin
	end
end
03/30/2015 13:59 Zaturix#11258
Hallo

Ich habe heute meine erste Quest geschrieben,compilte auch alles aber wenn ich ingame höher als Lv.79 bin,erscheint trotzdem keine Quest.
Könnte mir evtl jemand sagen was ich falsch gemacht habe?

03/30/2015 14:09 rollback#11259
Quote:
Originally Posted by .Toxical View Post
Hallo

Ich habe heute meine erste Quest geschrieben,compilte auch alles aber wenn ich ingame höher als Lv.79 bin,erscheint trotzdem keine Quest.
Könnte mir evtl jemand sagen was ich falsch gemacht habe?

Code:
quest Drache begin
	state start begin
		when login or levelup with pc.get_level() >= 79 begin
			set_state(drache)
		end
	end
	state drache begin
		when login or enter begin
			send_letter("Drache")
		end
		when button or info begin
			say_title("Drache")
			say("")
			say("Ich grüße dich "..pc.get_name()..",")
			say("Der Drache mit wieder stress und ich will ihn")
			say("besiegen um seine Sachen zu bekommen")
			say("Willst du mir dabei helfen?")
			if select("Ja" , "Nein") == 2 then say("Du kannst es auch später wieder versuchen") return end
			say("Sehr gut freut mich")
			say_reward("Töte bitte den Drachen")
			clear_letter()
			set_state(killen)
		end
	end
	state killen begin
		when login or enter begin
			send_letter("Töte den Drachen")
		end
	
		when button or info begin
			say("Bitte töte den Drachen")
		end
	
		--- KillEvent begin
		when kill with npc.get_race() == 1093 begin
			set_state(done)
		end
	end
	state done begin
		when login or enter begin
			send_letter("Geschafft")
		end
		when button or info begin
			say_title("Drache")
			say("Du hast es tatsächlich geschafft den Blauen Drachen zu töten")
			say("Dafür wirst du natürlich auch belohnt:")
			local b = ({50513, 25041, 53001})[select("Seelenstein" , "Magischer Stein" , "Phönix-Siegel", "Abbrechen")]
			if not b then
				say("du kannst es auch später versuchen")
				return
			end
			repeat
				say("Du willst also das "..item_name(b)..",haben")
				local s = select("Ja" , "Nein" , "Informationen")
				if s == 2 then
					say("Du kannst dir auch später deine Belohngung aussuchen")
					return
				elseif s == 1 then
					pc.give_item2(b, 1)
					break
				elseif s == 3 then
					say_item_vnum(b)
					say("")
					csay.yellow("Dieser Seelenstein hilft dir zur Verbesserung deiner Skills")
					csay.yellow("Damit du stärker wirst")
					select("zurück")
				else
					return
				end
			until false
			set_state(_COMPLETE_)
		end
	end
	state _COMPLETE_ begin
	end
end
03/31/2015 11:59 zazadi#11260
Was ist an dieser Quest falsch?

03/31/2015 12:32 Nyffel'#11261


Kleine änderungen in meiner Quest vorgenommen :) und sie geht wieder nicht..
03/31/2015 12:38 zazadi#11262
Quote:
Originally Posted by Nyffel' View Post


Kleine änderungen in meiner Quest vorgenommen :) und sie geht wieder nicht..
Ich würd mal ganz am ende ein
PHP Code:
end 
mehr machen. Villt liegt es ja daran
03/31/2015 12:51 Nyffel'#11263
Quote:
Originally Posted by Core ツ View Post
Ich würd mal ganz am ende ein
PHP Code:
end 
mehr machen. Villt liegt es ja daran
schon versucht.^^
03/31/2015 12:54 KΛIƬӨ#11264
Quote:
Originally Posted by Nyffel' View Post


Kleine änderungen in meiner Quest vorgenommen :) und sie geht wieder nicht..
Code:
quest level1 begin 
    state start begin 
        when 3802.chat."Die Dunkelheit ist nah." begin
			say(pc.get_name().. "bist du es...?")
			say("Du hast es geschafft?")
			say("Du bist ihm entkommen?")
			say("Da bin ich erleichtert, geht es dir gut?")
			say("Hast du erfahren können was der Dunkle Herrscher vor hat?")
			say("Er hat unser Reich in 3 Diktaturen gespalten...")
			say("Shinsoo, Jinno, Chunjo")
			say("Er hat 90% der Bevölkerung versklavt")
			say("Nur wenige sind noch übrig um zu kämpfen.")
			say("Ich konnte die Diktatoren überzeugen zusammen")
			say("gegen den Fürsten der Dunkelheit Rechivat zu kämpfen.")
			say("Erfülle mir bitte eine Aufgabe und lass mich schauen")
			say("Ob du dem Kampf gewachsen bist.")
			say("")
			say_reward("Töte 20x Wildhund")
			pc.setqf("state", 20)
	        q.set_counter("Wildhund", 20)
			set_state(anfang)
			end
		end
	end
	state anfang begin
		when 101.kill begin
			local count = pc.setqf("state",pc.getqf("state") -1)
			if count <= 20 then
				pc.setqf("state", count)
				q.set_counter("Wildhund", count)
			end
			if count == 0 then
				send_letter("Du bist Stark genug!")
			end
		end
		when button or info begin
			say("Kehre zu Orgoth zurück!")
			say("Er hat eine Belohnung für dich.")
			say("")
		end
	end
	state beendet2 begin
		when 3802.chat."Du bist Stark genug!." begin
			say(pc.get_name().. "ich habe deine Kräfte wahrlich unterschätzt")
			say("Als kleine Belohnung erhälst du 40% Bewegungsgeschwindigkeit.")
			say("...")
			say("...")
			say("...")
			say("...")
			say_reward("Du hast 40% Bewegungsgeschwindigkeit erhalten.")
			set_state (__COMPLETE__)
		end
	end
	state __COMPLETE__ begin
	end
end
Quote:
Originally Posted by Core ツ View Post
Ich würd mal ganz am ende ein
PHP Code:
end 
mehr machen. Villt liegt es ja daran
Code:
quest perlentausch begin 
    state start begin 
        when 9009.chat."Steinstücke eintauschen" begin  
			say("Hey,") 
			say("Bist du etwa auf der Suche nach einer anderen Perle?") 
			say("Nun dann bist du hier richtig!! Ich habe Perlen jeder Art.") 
			say("Allerdings bin ich nur innerhalb des Koenigreichs unterwegs, was bedeutet") 
			say("Ich kann dir nur Blutrote, Blaue oder Weiße Perlen anbieten.") 
			say("") 
			local s = select ("Weiße Perle", "Blaue Perle", "Blutrote Perle", "Nichts von alledem!") 
			if s == 1 then 
				if pc.count_item(27992) < 100 then 
					pc.removeitem(27992, 100)                 
					pc.give_item2(27992) 
					say("Danke dir!") 
					say("Du erhältst eine Weiße Perle") 
					say("Ich hoffe sie wird dir von großem Nutzen sein") 
				end
			elseif s == 2 then 
				if pc.count_item(27992) < 150 then 
					pc.removeitem(27992, 150)                 
					pc.give_item2(27993) 
					say("Danke dir!") 
					say("Du erhältst eine Blaue Perle") 
					say("Ich hoffe sie wird dir von großem Nutzen sein") 
				end
			elseif s == 3 then 
				if pc.count_item(27992) < 200 then 
					pc.removeitem(27992, 200) 
					pc.give_item2(27994) 
					say("Danke dir!") 
					say("Du erhältst eine Blutrote Perle") 
					say("Ich hoffe sie wird dir von großem Nutzen sein") 
				end
			end
        end
    end 
end
Vnums bitte nicht in Anführungszeichen.
03/31/2015 12:59 Sp0ngeb0b ist cool#11265
PHP Code:
quest perlentausch begin 
    state start begin 
        when 9009.chat
."Steinstücke eintauschen" begin  
            say
("Hey,"
            
say("Bist du etwa auf der Suche nach einer anderen Perle?"
            
say("Nun dann bist du hier richtig!! Ich habe Perlen jeder Art."
            
say("Allerdings bin ich nur innerhalb des Koenigreichs unterwegs, was bedeutet"
            
say("Ich kann dir nur Blutrote, Blaue oder Weiße Perlen anbieten."
            
say(""
            
local w,= {27992,27993,27993},{"Weiße Perle (100 Steinstücke)""Blaue Perle (150 Steinstücke)""Blutrote Perle (200 Steinstücke)""Nichts von alledem!"}
            
local sel select_table(s)
            if 
sel == table.getn(sthen return end
            local e 
tonumber(string.sub(s[sel],(string.find(s[sel], '(')+1),(string.find(s[sel], '(')+3)))
            if 
pc.count_item(STEIN) >= e then --steinstücke id
                pc
.removeitem(STEINe)      --steinstücke id     
                pc
.give_item2(w[sel], 1)
                
say("Danke dir!")
                
say("Du erhältst eine "..item_name(sel[w]))
                
say("Ich hoffe sie wird dir von großem Nutzen sein")  
            
end    
        end
    end 
end 
probiers mal so :P
lg