[SERVICE] Die Questerstellung

08/06/2014 17:43 .yorliK#1606
Quote:
Originally Posted by thespeedyy View Post
ok danke aber ich benutze die 40250 game und da fehlen mir die item2 funktionen ich habe nur die von vanilla:
Code:
item.get_attr_type(int index)
item.get_attr_value(int index)
item.set_attr(int ApplyType, int ApplyValue[, int index])
Ich kenn mich mit den Funtkionen von Vanilla nicht aus, hab jetzt item2.get_attr durch item.get_attr_value ersetzt und item2.set_attr durch item.set_attr, weil es so aussieht als würden die das gleiche bewirken.

Musste mal ausprobieren..

Code:
quest upp_npc begin
	state start begin
		when npcvnum.take begin -- NPC ID eintragen
			vnum = item.get_vnum()
			zulass = {14229, 0, 0, 0} -- Eintragen welche Items zugelassen sind.
			is_in = 0
			for i=1, table.getn(zulass), 1 do
				if vnum == zulass[i] then
					is_in = 1
					break
				end
			end
			if is_in == 0 then
				syschat("Dieses Item kannst du nicht 'weiteruppen'!")
				return
			end
			local vnum = item.get_vnum()
			local boni = {{item.get_attr_value(0)}, {item.get_attr_value(1)}, {item.get_attr_value(2)}, {item.get_attr_value(3)}, {item.get_attr_value(4)}, {item.get_attr_value(5)}, {item.get_attr_value(6)}}
			local stones = {item.get_socket(0), item.get_socket(1), item.get_socket(2)}
			local name = { } -- leer lassen
			local newr ={ 
								[14229]={ 14509, 14529, 14549, 14569 },  -- Uppmöglichkeiten eintragen
								[0]={ 0, 0 },
								[0]={ 0, 0 },
								[0]={ 0, 0 } --Letzte Tabelle bekommt kein Komma, behalte diese Muster bei.
							}
			say_title(mob_name(npc.get_race())..":")
			say("")
			say("Such dir eine aus!")
			say("")
			for i=1, table.getn(newr[vnum]), 1 do
				table.insert(name, item_name(newr[vnum][i]))
			end
			table.insert(name, "Abbrechen")
			local a = select_table(name)
			if a == table.getn(name) then
				say_title(mob_name(npc.get_race())..":")
				say("")
				say("Okay, vielleicht ein anderes Mal!")
				say("")
				return
			end
			say_title(mob_name(npc.get_race())..":")
			say("")
			say(item_name(vnum).." wirklich zu ")
			say(name[a].." uppen?")
			say("")
			if select("Ja", "Nein")==2 then return end
			if pc.count_item(vnum) == 0 then
				say_title(mob_name(npc.get_race())..":")
				say("")
				say("Du besitzt keine "..item_name(vnum)..".")
				say("")
				return
			end
			say_title(mob_name(npc.get_race())..":")
			say("")
			say("Gut, da haste das Ding.")
			say("...")
			say("...")
			item.remove()
			pc2.give_or_drop_item_and_select(newr[vnum][a]) -- GIBT RÜSSI und selected sie
			for b = 1, table.getn(boni) do 
				if tonumber(boni[b][1]) > 0 then
					item.set_attr(b-1, boni[b][1], boni[b][2]) -- setzt boni
				end
			end
			for c = 1, table.getn(stones) do
				if tonumber(stones[c]) > 0 then
					item.set_socket(c-1, stones[c]) -- setzt steine
				end
			end
		end
	end
end
08/06/2014 18:03 thespeedyy#1607
leider ohne erfolg sonst adde mich mal skype marc12111 vielleicht finden wir eine lösung
08/06/2014 18:33 .yorliK#1608
Quote:
Originally Posted by thespeedyy View Post
leider ohne erfolg sonst adde mich mal skype ********* vielleicht finden wir eine lösung
# gelöst.

Für die, die wissen wollen wie:
08/06/2014 21:22 KILLER3208#1609
Hallo liebe Community, Kann mir jemand
bei der Warpring Quest ein neuen Warp hinzufügen?

Warpcode: "/warp 8192 7168"

Warpring quest:

Code:
quest warpring begin
    state start begin
        when 70007.use begin
            say_title("Warpring") 
            say("Wohin möchtest du Teleportiert werden?")
        local empire = pc.get_empire() 
                    local selectmap = select("Map1","Map2","Orktal","Wüste","Eisland","Feuerland","Weiter","Abbrechen")
                    if selectmap == 8 then
                return
                    elseif selectmap == 7 then
                        say_title("Warpring") 
                        say("Wohin möchtest du Teleportiert werden?")
            local selectmap2 = select("Dämonenturm","Geisterwald","Roter Wald","Spinnendungeon","Grotte der Verbannung","Farm-Map","Abbrechen")
                    if selectmap2 == 7 then
                        return
                    elseif selectmap2 == 1 then
                        say_title("Warpring") 
                        say("Wohin möchtest du Teleportiert werden?")
            pc.warp(590500,110800)
                    elseif selectmap2 == 2 then
                        say_title("Warpring") 
                        say("Wohin möchtest du Teleportiert werden?")
                    local geisterselect = select("Anfang","Ende","Abbrechen")
                    if geisterselect == 3 then
                        return
                    elseif geisterselect == 1 then
            pc.warp(290500,5700)
                    elseif geisterselect == 2 then
            pc.warp(286400,44200)
            end
                    elseif selectmap2 == 3 then
                        say_title("Warpring") 
                        say("Wohin möchtest du Teleportiert werden?")
                    local roterselect = select("Anfang","Ende","Abbrechen")
                    if roterselect == 3 then
                        return
                    elseif roterselect == 1 then
            pc.warp(1119900,70800)
                    elseif geisterselect == 2 then
            pc.warp(1119100,7700)
            end
                    elseif selectmap2 == 4 then
                        say_title("Warpring") 
                        say("Wohin möchtest du Teleportiert werden?")
            pc.warp(91700, 525300)
                    elseif selectmap2 == 5 then
                        say_title("Warpring") 
                        say("Wohin möchtest du Teleportiert werden?")
            pc.warp(0,1203200)
                    elseif selectmap2 == 6 then
                        say_title("Warpring") 
                        say("Wohin möchtest du Teleportiert werden?")
            pc.warp(38500,65000)
            end
                    elseif selectmap == 1 then
                        say_title("Warpring") 
                        say("Wohin möchtest du Teleportiert werden?")
                    local map1select = select("Rotes Reich","Gelbes Reich","Blaues Reich","Abbrechen")
                    if map1select == 4 then
                        return
                    elseif map1select == 1 then
            pc.warp(474300, 954800)
                    elseif map1select == 2 then
            pc.warp(63800, 166400)
                    elseif map1select == 3 then
            pc.warp(959900, 269200)
            end
                    elseif selectmap == 2 then
                        say_title("Warpring") 
                        say("Wohin möchtest du Teleportiert werden?")
                    local map2select = select("Rotes Reich","Gelbes Reich","Blaues Reich","Abbrechen")
                    if map2select == 4 then
                        return
                    elseif map2select == 1 then
            pc.warp(353100, 882900)
                    elseif map2select == 2 then
            pc.warp(145500, 240000)
                    elseif map2select == 3 then
            pc.warp(863900, 246000)
            end
                    elseif selectmap == 3 then
                        say_title("Warpring") 
                        say("Wohin möchtest du Teleportiert werden?")
                    local otselect = select("Anfang","Mitte","Abbrechen")
                    if otselect == 3 then
                        return
                    elseif otselect == 1 then
            if empire == 1 then
            pc.warp(402100, 673900)
                    elseif empire == 2 then
            pc.warp(270400, 739900)
                    elseif empire == 3 then
            pc.warp(321300, 808000)
            end
                    elseif otselect == 2 then
            pc.warp(332800, 745600)
            end
                    elseif selectmap == 4 then
                        say_title("Warpring") 
                        say("Wohin möchtest du Teleportiert werden?")
                    local wuesteselect = select("Anfang","Mitte","Abbrechen")
                    if wuesteselect == 3 then
                        return
                    elseif wuesteselect == 1 then
            if empire == 1 then
            pc.warp(217800, 627200)
                    elseif empire == 2 then
            pc.warp(221900, 502700)
                    elseif empire == 3 then
            pc.warp(344000, 502500)
            end
                    elseif wuesteselect == 2 then
            pc.warp(296800, 547100)
            end
                    elseif selectmap == 5 then
                        say_title("Warpring") 
                        say("Wohin möchtest du Teleportiert werden?")
                    local eisselect = select("Anfang","Mitte","Abbrechen")
                    if eisselect == 3 then
                        return
                    elseif eisselect == 1 then
            if empire == 1 then
            pc.warp(434200, 290600)
                    elseif empire == 2 then
            pc.warp(375200, 174900)
                    elseif empire == 3 then
            pc.warp(491800, 173600)
            end
                    elseif eisselect == 2 then
            pc.warp(436500, 215400)
            end
                    elseif selectmap == 6 then
                        say_title("Warpring") 
                        say("Wohin möchtest du Teleportiert werden?")
                    local feuerselect = select("Anfang","Mitte","Abbrechen")
                    if feuerselect == 3 then
                        return
                    elseif feuerselect == 1 then
            if empire == 1 then
            pc.warp(599400, 756300)
                    elseif empire == 2 then
            pc.warp(597800, 622200)
                    elseif empire == 3 then
            pc.warp(730700, 689800)
            end
                    elseif feuerselect == 2 then
            pc.warp(600800, 687100)
            end	
                end
                    end
                        end
                            end
Dankeschön im vorraus

MFG KILLER3208 ;)
08/06/2014 23:04 .yorliK#1610
Quote:
Originally Posted by KILLER3208 View Post
Hallo liebe Community, Kann mir jemand
bei der Warpring Quest ein neuen Warp hinzufügen?

Warpcode: "/warp 8192 7168"


Dankeschön im vorraus

MFG KILLER3208 ;)
Bahh, aber natürlich, auf Seite 3 findest du "Neue Map".

Code:
quest warpring begin
	state start begin
		when 70007.use begin
			say_title("Warpring") 
			say("Wohin möchtest du Teleportiert werden?")
			local empire = pc.get_empire() 
			local selectmap = select("Map1","Map2","Orktal","Wüste","Eisland","Feuerland","Weiter","Abbrechen")
			if selectmap == 8 then
				return
			elseif selectmap == 7 then
				say_title("Warpring") 
				say("Wohin möchtest du Teleportiert werden?")
				local selectmap2 = select("Dämonenturm","Geisterwald","Roter Wald","Spinnendungeon","Grotte der Verbannung","Farm-Map","Weiter", "Abbrechen")
				if selectmap2 == 8 then
					return
				elseif selectmap2 ==7 then
					say_title("Warpring") 
					say("Wohin möchtest du Teleportiert werden?")
					local selectmap3 = select("Neue Map", "Abbrechen")
					if selectmap3== 1 then
						pc.warp(819200, 716800)
					elseif selectmap3==2 then
						return
					end
				elseif selectmap2 == 1 then
					pc.warp(590500,110800)
				elseif selectmap2 == 2 then
					say_title("Warpring") 
					say("Wohin möchtest du Teleportiert werden?")
					local geisterselect = select("Anfang","Ende","Abbrechen")
					if geisterselect == 3 then
						return
					elseif geisterselect == 1 then
						pc.warp(290500,5700)
					elseif geisterselect == 2 then
						pc.warp(286400,44200)
					end
				elseif selectmap2 == 3 then
					say_title("Warpring") 
					say("Wohin möchtest du Teleportiert werden?")
					local roterselect = select("Anfang","Ende","Abbrechen")
					if roterselect == 3 then
						return
					elseif roterselect == 1 then
						pc.warp(1119900,70800)
					elseif geisterselect == 2 then
						pc.warp(1119100,7700)
					end
				elseif selectmap2 == 4 then
					pc.warp(91700, 525300)
				elseif selectmap2 == 5 then
					pc.warp(0,1203200)
						elseif selectmap2 == 6 then
					pc.warp(38500,65000)
				end
			elseif selectmap == 1 then
				say_title("Warpring") 
				say("Wohin möchtest du Teleportiert werden?")
				local map1select = select("Rotes Reich","Gelbes Reich","Blaues Reich","Abbrechen")
				if map1select == 4 then
					return
				elseif map1select == 1 then
					pc.warp(474300, 954800)
				elseif map1select == 2 then
					pc.warp(63800, 166400)
				elseif map1select == 3 then
					pc.warp(959900, 269200)
				end
			elseif selectmap == 2 then
				say_title("Warpring") 
				say("Wohin möchtest du Teleportiert werden?")
				local map2select = select("Rotes Reich","Gelbes Reich","Blaues Reich","Abbrechen")
				if map2select == 4 then
					return
				elseif map2select == 1 then
					pc.warp(353100, 882900)
				elseif map2select == 2 then
					pc.warp(145500, 240000)
				elseif map2select == 3 then
					pc.warp(863900, 246000)
				end
			elseif selectmap == 3 then
				say_title("Warpring") 
				say("Wohin möchtest du Teleportiert werden?")
				local otselect = select("Anfang","Mitte","Abbrechen")
				if otselect == 3 then
					return
				elseif otselect == 1 then
					if empire == 1 then
						pc.warp(402100, 673900)
					elseif empire == 2 then
						pc.warp(270400, 739900)
					elseif empire == 3 then
						pc.warp(321300, 808000)
					end
				elseif otselect == 2 then
					pc.warp(332800, 745600)
				end
			elseif selectmap == 4 then
				say_title("Warpring") 
				say("Wohin möchtest du Teleportiert werden?")
				local wuesteselect = select("Anfang","Mitte","Abbrechen")
				if wuesteselect == 3 then
					return
				elseif wuesteselect == 1 then
					if empire == 1 then
						pc.warp(217800, 627200)
					elseif empire == 2 then
						pc.warp(221900, 502700)
					elseif empire == 3 then
						pc.warp(344000, 502500)
					end
				elseif wuesteselect == 2 then
					pc.warp(296800, 547100)
				end
			elseif selectmap == 5 then
				say_title("Warpring") 
				say("Wohin möchtest du Teleportiert werden?")
				local eisselect = select("Anfang","Mitte","Abbrechen")
				if eisselect == 3 then
					return
				elseif eisselect == 1 then
					if empire == 1 then
						pc.warp(434200, 290600)
					elseif empire == 2 then
						pc.warp(375200, 174900)
					elseif empire == 3 then
						pc.warp(491800, 173600)
					end
				elseif eisselect == 2 then
					pc.warp(436500, 215400)
				end
			elseif selectmap == 6 then
				say_title("Warpring") 
				say("Wohin möchtest du Teleportiert werden?")
				local feuerselect = select("Anfang","Mitte","Abbrechen")
				if feuerselect == 3 then
					return
				elseif feuerselect == 1 then
					if empire == 1 then
						pc.warp(599400, 756300)
					elseif empire == 2 then
						pc.warp(597800, 622200)
					elseif empire == 3 then
						pc.warp(730700, 689800)
					end
				elseif feuerselect == 2 then
					pc.warp(600800, 687100)
				end
			end
		end
	end
end
08/07/2014 00:19 .Vegas™#1611
Kann mir jemand eine Quest erstellen, wo man die Exp angibt wie viel der Server geben soll?

Also möchte gerne so die EXP anpassen fürs leveln.#

lg.
.vegas
08/07/2014 00:44 TeufelsKreis'#1612
Kann mir wer eine Quest erstellen die so funktionirt
Das wen ich 5 items fallenlasse egal welche erst wd nach 1 sec
Also pro sec darf ich max 5 Items weg werfen wen mehr dann kommt da eine meldung
Da steht. Du kannst erst nach einer Sekunde wieder Items runterschmeißen
Wäre euch sehr Dankbar !
08/08/2014 16:20 rollback#1613
Quote:
Originally Posted by TeufelsKreis' View Post
Kann mir wer eine Quest erstellen die so funktionirt
Das wen ich 5 items fallenlasse egal welche erst wd nach 1 sec
Also pro sec darf ich max 5 Items weg werfen wen mehr dann kommt da eine meldung
Da steht. Du kannst erst nach einer Sekunde wieder Items runterschmeißen
Wäre euch sehr Dankbar !
geht nicht über eine quest. dafür musst du an der game arbeiten
08/08/2014 16:39 TeufelsKreis'#1614
Quote:
Originally Posted by [Sensenmann] View Post
geht nicht über eine quest. dafür musst du an der game arbeiten
Erstmal vielen dank für die antwort :)

Anti Spam :
Ich suche 2 Quest


Die erste : Wenn mann das level 150 erreicht kommt eine Quest in der mann
500 aus dem Roten Blau & Gelben Reich töten muss
Belohnung erstma
5 Rote Tränke
5 Blaue Tränke machen


Und in der 2te Quest
Wenn mann das level 100 erreicht hatt das mann 100 Spieler aus den beiden anderen reich töten muss z.b. ich bin blau dann rote und gelbe ist egal wv gelbe-rote können auch nur gelbe sein hauptsache 100 kills aus anderen reich!
Belohnung erstma
5 Rote Tränke
5 Blaue Tränke machen


haben 40K Files + Vanilla Core
Glaube der befehel hilft euch ( npc.get_vid )

Würde mich freuen wenn mir das jmd erstellt
Danke im Vorraus
08/08/2014 17:18 .yorliK#1615
Quote:
Originally Posted by TeufelsKreis' View Post
Ich suche 2 Quest

Die erste : Wenn mann das level 150 erreicht kommt eine Quest in der mann
500 aus dem Roten Blau & Gelben Reich töten muss
Belohnung erstma
5 Rote Tränke
5 Blaue Tränke machen


Und in der 2te Quest
Wenn mann das level 100 erreicht hatt das mann 100 Spieler aus den beiden anderen reich töten muss z.b. ich bin blau dann rote und gelbe ist egal wv gelbe-rote können auch nur gelbe sein hauptsache 100 kills aus anderen reich!
Belohnung erstma
5 Rote Tränke
5 Blaue Tränke machen


haben 40K Files + Vanilla Core
Glaube der befehel hilft euch ( npc.get_vid )

Würde mich freuen wenn mir das jmd erstellt
Danke im Vorraus
Code:
quest Teufelskreis begin
	state start begin
		when login or levelup with pc.get_level()>=150 begin
			pc.setqf("Lv150_Red", 0)
			pc.setqf("Lv150_Yellow", 0)
			set_state(infos)
		end
	end
	state infos begin
		when letter begin
			send_letter("PvP Lv150 Auftrag!")
		end
		when button or info begin
			say_title("PvP Lv150 Auftrag")
			say("")
			say("Töte jeweils 150 Spieler aus dem roten")
			say("und aus dem gelben Reich!")
			say("")
			say_reward("Fortschritt:")
			say("Rote: "..pc.getqf("Lv150_Red"))
			say("Gelbe: "..pc.getqf("Lv150_Yellow"))
		end
		when kill with npc.is_pc() begin
			if npc.get_empire()==1 then
				pc.setqf("Lv150_Red", pc.getqf("Lv150_Red")+1)
			elseif npc.get_empire()==2 then
				pc.setqf("Lv150_Yellow", pc.getqf("Lv150_Yellow")+1)
			end
			if pc.getqf("Lv150_Red")>=150 and pc.getqf("Lv150_Yellow")>=150 then
				set_state(lv150_win)
			end
		end
	end
	state lv150_win begin
		when letter begin
			send_letter("Lv150 Auftrag erledigt!")
		end
		when button or info begin
			say_title("Geschafft!")
			say("")
			say("Du hast jeweils 150 Spieler aus dem roten")
			say("und dem gelben Reich getötet.")
			say("")
			say_reward("Belohnung:")
			say("5x Roter Trank")
			say("5x Blauer Trank")
			pc.give_item2(27003, 5)
			pc.give_item2(27006, 5)
			set_state(__COMPLETE__)
		end
	end
	state __COMPLETE__ begin
	end
end
Code:
quest Teufelskreis2 begin
	state start begin
		when login or levelup with pc.get_level()>=100 begin
			pc.setqf("Lv100_Kills", 0)
			set_state(infos)
		end
	end
	state infos begin
		when letter begin
			send_letter("PvP Lv100 Auftrag!")
		end
		when button or info begin
			say_title("PvP Lv100 Auftrag")
			say("")
			say("Töte 100 Spieler aus anderen Reichen!")
			say("")
			say_reward("Fortschritt:")
			say("Spieler: "..pc.getqf("Lv100_Kills"))
		end
		when kill with npc.is_pc() begin
			if npc.get_empire()!=pc.get_empire() then
				pc.setqf("Lv100_Kills", pc.getqf("Lv100_Kills")+1)
			end
			if pc.getqf("Lv100_Kills")>=100 then
				set_state(lv100_win)
			end
		end
	end
	state lv100_win begin
		when letter begin
			send_letter("Lv100 Auftrag erledigt!")
		end
		when button or info begin
			say_title("Geschafft!")
			say("")
			say("Du hast 100 Spieler aus anderen Reichen")
			say("getötet.")
			say("")
			say_reward("Belohnung:")
			say("5x Roter Trank")
			say("5x Blauer Trank")
			pc.give_item2(27003, 5)
			pc.give_item2(27006, 5)
			set_state(__COMPLETE__)
		end
	end
	state __COMPLETE__ begin
	end
end
08/08/2014 17:33 TeufelsKreis'#1616
Bräuchte da noch eine Quest
Die folgender maßen aussieht
Wenn mann das level 160 erreicht hatt muss mann 250 Krieger Ninja Sura Schamies töten
egal aus welchem reich!

Danke im vorraus
08/08/2014 19:02 .yorliK#1617
Quote:
Originally Posted by TeufelsKreis' View Post
Bräuchte da noch eine Quest
Die folgender maßen aussieht
Wenn mann das level 160 erreicht hatt muss mann 250 Krieger Ninja Sura Schamies töten
egal aus welchem reich!

Danke im vorraus
Da du npc.get_vid() besitzt:
Code:
quest Teufelskreis3 begin
	state start begin
		when login or levelup with pc.get_level()>=160 begin
			pc.setqf("Lv160_Krieger", 0)
			pc.setqf("Lv160_Ninja", 0)
			pc.setqf("Lv160_Sura", 0)
			pc.setqf("Lv160_Schamane", 0)
			set_state(infos)
		end
	end
	state infos begin
		when letter begin
			send_letter("PvP Lv160 Auftrag!")
		end
		when button or info begin
			say_title("PvP Lv160 Auftrag")
			say("")
			say("Töte 250 Krieger, Ninja, Sura und")
			say("Schamanen.")
			say("")
			say_reward("Fortschritt:")
			say("Krieger: "..pc.getqf("Lv160_Krieger"))
			say("Ninja: "..pc.getqf("Lv160_Ninja"))
			say("Sura: "..pc.getqf("Lv160_Sura"))
			say("Schamanen: "..pc.getqf("Lv160_Schamane"))
		end
		when kill with npc.is_pc() begin
			vid = npc.get_vid()
			myVid = pc.select(vid)
			job = pc.get_job()
			pc.select(myVid)
			if job==0 then
				pc.setqf("Lv160_Krieger", pc.getqf("Lv160_Krieger")+1)
			elseif job==1 then
				pc.setqf("Lv160_Ninja", pc.getqf("Lv160_Ninja")+1)
			elseif job==2 then
				pc.setqf("Lv160_Sura", pc.getqf("Lv160_Sura")+1)
			elseif job==3 then
				pc.setqf("Lv160_Schamane", pc.getqf("Lv160_Schamane")+1)
			end
			if pc.getqf("Lv160_Krieger")>=250 and pc.getqf("Lv160_Ninja")>=250 and pc.getqf("Lv160_Sura")>=250 and pc.getqf("Lv160_Schamane")>=250 then
				set_state(lv160_win)
			end
		end
	end
	state lv160_win begin
		when letter begin
			send_letter("Lv160 Auftrag erledigt!")
		end
		when button or info begin
			say_title("Geschafft!")
			say("")
			say("Du hast 250 Krieger, Ninja, Sura und")
			say("Schamanen getötet.")
			say("")
			say_reward("Belohnung:")
			say("5x Roter Trank")
			say("5x Blauer Trank")
			pc.give_item2(27003, 5)
			pc.give_item2(27006, 5)
			set_state(__COMPLETE__)
		end
	end
	state __COMPLETE__ begin
	end
end
08/10/2014 02:52 .Vegas™#1618
Kann mir jemand eine Seelenstein Quest schreiben der zu 100% klappt.
Habs selbst versucht aber habs leider nicht hinbekommen deswegen frage ich hier.

Lg.

.Vegas
08/10/2014 12:18 .yorliK#1619
Quote:
Originally Posted by .Vegas™ View Post
Kann mir jemand eine Seelenstein Quest schreiben der zu 100% klappt.
Habs selbst versucht aber habs leider nicht hinbekommen deswegen frage ich hier.

Lg.

.Vegas
.

Quote:
Originally Posted by Syciar View Post
Guten Tag Elitepvpers,
Da viele User immer noch keine Seelenstein Quest haben die zu 100% geht & keine Rangpunkte abzieht release ich mal eine.
Code:
quest Seelenstein 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 50513.use begin 
			local count = pc.count_item(50513) 
			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 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 erhöhen?") 
			local wahl = select("Ja", "Nein") 
			if wahl == 1 then 
				if pc.count_item(50513) == pc.getqf("regen_count") then 
					pc.set_skill_level(skill_vnum, pc.get_skill_level(skill_vnum)+1)  
					say(skill_name.." wurde erhöht.") 
				else 
					say("Buguser bekommen keine P-Skills ! ") 
				end 
			elseif wahl == 2 then 
				return 
			end 
			pc.remove_item(50513, 1) 
		end 
	end 
end
08/10/2014 14:17 .Vegas™#1620
PHP Code:
quest seelenstein begin 
    state start begin 
        
function BuildPerfectMasterSkillList(jobgroup
            
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"jobgroup)) 

            
table.foreach(skill_list,  
            function(
iskill_vnum)  
            
local skill_level pc.get_skill_level(skill_vnum

            -- 
test_chat(string.format("[%d]=%d"skill_vnumskill_level)) 
            if 
skill_level >= GRAND_MASTER_SKILL_LEVEL and skill_level PERFECT_MASTER_SKILL_LEVEL then 

                table
.insert(ret_vnum_listskill_vnum
                
local name=locale.GM_SKILL_NAME_DICT[skill_vnum
                if 
name == nil then name=skill_vnum end 
                table
.insert(ret_name_listname
            
end 
            end

            return {
ret_vnum_listret_name_list


            --return {
ret_vnum_listret_name_list
        
end 
        when 50513.
use begin 
            local count 
pc.count_item(50513
            
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 Fertigkeiten."
                return 
            
end 
            local menu_list 
= {} 
            
table.foreach(name_list, function(inametable.insert(menu_listnameend
            
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 erhöhen?"
            
local wahl select("Ja""Nein"
            if 
wahl == 1 then 
                
if pc.count_item(50513) == pc.getqf("regen_count"then 
                    pc
.set_skill_level(skill_vnumpc.get_skill_level(skill_vnum)+1)  
                    
say(skill_name.." wurde erhöht."
                else 
                    
say("Buguser bekommen keine P-Skills ! "
                
end 
            
elseif wahl == 2 then 
                
return 
            
end 
            pc
.remove_item(505131
        
end 
    end 
end 
Wenn ich die Quest Reloade kommt das:
[Only registered and activated users can see links. Click Here To Register...]

lg.

.Vegas