Jump to content
metin2dev
Ekstasia2
passi

[Quest]Auto Bonus for PVP-Server

Recommended Posts

English:

Hello,

today I want to share with you my quest. What it does? It changes your attributes on an item if you place it on a certain NPC (in this case "Handu-Up") and puts best in slot PVP attributes.

What this quest can't do (yet):

  • Differentiate between Average Damage, Skill damage - type weapons like Poison Sword (If someone could show me how to exit a FOR-Loop in LUA I might be ablte to do it)  #added
  • Change attributes on other items than your "standard" equipement like costumes etc.

Keep in mind that I just wanted to look back into quest scripting so I it's not perfect written by any means but it works and I think some people will have a use for it.

Here is the Code (Downloadable as attachement down below):

Spoiler

-----------------------------made by Passi-------------------------------------
quest auto_boni_easy begin
	state start begin
		when 20086.take begin
			--Item
			local name = item.get_name()
			local vnum = item.get_vnum()
			local sock1 = item.get_socket(0)
			local sock2 = item.get_socket(1)
			local sock3 = item.get_socket(2)
			local type = item.get_type()
			local sub = item.get_sub_type()
			local dss = false
			-----max. dss & fks einstellen------------
			local avg = 60
			local fks = 25
			
			function addonType(num)
				local w = {189,188, 187, 186, 185, 184, 184,183, 182, 181, 180,									--gifti
							3169, 3168, 3167, 3166, 3165, 3164, 3163, 3162, 3161, 3160,							--grolli
							1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,									--tfc
							2170,2171,2172,2173,2174,2175,2176,2177,2178,2179,									--kraehi
							199, 198, 197, 196, 195, 194, 193, 192, 191, 190,									--loewi
							5120,5121,5122,5123,5124,5125,5126,5127,5128,5129,									--orchi
							290,291,292, 293, 294, 295, 296, 297, 298, 299,										--vms
							1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,									--sbd
							3210,3211,3212,3213,3214,3215,3216,3217,3218,3219,									--rek
							2150,2151,2152,2153,2154,2155,2156,2157,2158,2159,									--horni
							5110,5111,5112,5113,5114,5115,5116,5117,5118,5119,									--antig
							7160,7161,7162,7163,7164,7165,7166,7167,7168,7169									--hwf
						}
						
				for a = 1, table.getn(w), 1 do
					if w[a] == num then
						return true
					end
				end
			end
					
			
			--Player
			local job = pc.get_job()
			
			
			--EQ
			
			local halskette1 = {						---schwert,2hand, dolch
				{1, 5000}, 
				{15, 10},
				{29, 15},
				{30, 15},
				{31, 15}
			}
			
			local halskette2 = {						---glocke faecher, pfeil
				{1, 5000}, 
				{15, 10},
				{32, 15},
				{33, 15},
				{34, 15}
			}
			
			local armband1 = {						---tp,mgdeff, tp abs, db, hm
				{1, 5000}, 
				{23, 15},
				{16, 10},
				{37, 15},
				{17, 15}
			}
			
			local ohrringe1 = {						---hm, schwert, 2hand, dolch, giftwd
				{17, 15}, 
				{29, 15},
				{30, 15},
				{31, 15},
				{41, 15}
			}
			
			local ohrringe2 = {						---hm, glocke, faecher, pfeil, giftwd
				{17, 15}, 
				{32, 15},
				{33, 15},
				{34, 15},
				{41, 15}
			}
			
			local schuhe1 = {						---tp, schwert, 2hand, dolch, krit
				{1, 5000}, 
				{29, 15},
				{30, 15},
				{31, 15},
				{15, 10}
			}
			
			local schuhe2 = {						---tp, glocke, faecher, pfeil, krit
				{1, 5000}, 
				{32, 15},
				{33, 15},
				{34, 15},
				{15, 10}
			}
			
			local helme1 = {						---vergiftung, magiedeff, hm, block, angriffsg
				{12, 15}, 
				{37, 15},
				{17, 15},
				{27, 15},
				{7, 15}
			}
			
			local ruestung1 = {						---tp, 1hand, 2hand, dolch, tp abs
				{1, 5000}, 
				{29, 15},
				{30, 15},
				{31, 15},
				{23, 15}
			}
			
			local ruestung2 = {						---tp, facher, glocke, pfeil, tp abs
				{1, 5000}, 
				{32, 15},
				{33, 15},
				{34, 15},
				{23, 15}
			}
			
			local schild1 = {						---str, dex, hm, abwohnm, block
				{5, 15}, 
				{6, 15},
				{17, 15},
				{48, 1},
				{27, 15}
			}
			
			local schild2 = {						---int, str, hm, abwohnm, block
				{4, 15}, 
				{5, 15},
				{17, 15},
				{48, 1},
				{27, 15}
			}
			
			------------------------------
			
			say_title(""..name..":")
			say("Moechtest du die Bonis veraendern?")
			say("")
			say_show_item(vnum)
			say("")
			say("")
			say("")
			local q = select3("Neu bonieren")
			
			if q == 1 then
			
				if type == 1 then 									--waffen
					if job == 0 then
						if sub == 0 then				--Schwerter
							local dss = addonType(vnum)
							if dss == true then
								local a = select3("Durchschnittsschaden", "Fertigkeitsschaden")
								if a == 1 then
									pc.remove_item(vnum)
									pc.give_item2(vnum)
									item.set_value(0, 72, avg)		--dss
									item.set_value(1, 71, -30)		--fks
									item.set_socket(0, sock1)
									item.set_socket(1, sock2)
									item.set_socket(2, sock3)
									say(bool_to_str(dss))
								elseif a == 2 then
									pc.remove_item(vnum)
									pc.give_item2(vnum)
									item.set_value(0, 72, -40)			--dss
									item.set_value(1, 71, fks)			--fks
									item.set_socket(0, sock1)
									item.set_socket(1, sock2)
									item.set_socket(2, sock3)
								end
							else
								pc.remove_item(vnum)
								pc.give_item2(vnum)
								item.set_value(0, 5, 15) --- 1 Boni --- str
								item.set_value(1, 6, 15) --- 2 Boni --- dex
								item.set_value(2, 17, 15) --- 3 Boni --- hm
								item.set_value(3, 15, 10) --- 4 Boni ---  krit
								item.set_value(4, 16, 10) --- 5 Boni --- db
								item.set_socket(0, sock1)
								item.set_socket(1, sock2)
								item.set_socket(2, sock3)
								say(bool_to_str(dss))
							end

						elseif sub == 3 then							--2hand
							local dss = addonType(vnum)
							if dss == true then
								local a = select3("Durchschnittsschaden", "Fertigkeitsschaden")
								if a == 1 then
									pc.remove_item(vnum)
									pc.give_item2(vnum)
									item.set_value(0, 72, avg)		--dss
									item.set_value(1, 71, -30)		--fks
									item.set_socket(0, sock1)
									item.set_socket(1, sock2)
									item.set_socket(2, sock3)
									say(bool_to_str(dss))
								elseif a == 2 then
									pc.remove_item(vnum)
									pc.give_item2(vnum)
									item.set_value(0, 72, -40)			--dss
									item.set_value(1, 71, fks)			--fks
									item.set_socket(0, sock1)
									item.set_socket(1, sock2)
									item.set_socket(2, sock3)
									say(bool_to_str(dss))
								end
							else
								pc.remove_item(vnum)
								pc.give_item2(vnum)
								item.set_value(0, 5, 15) --- 1 Boni --- str
								item.set_value(1, 6, 15) --- 2 Boni --- dex
								item.set_value(2, 17, 15) --- 3 Boni --- hm
								item.set_value(3, 9, 20) --- 4 Boni ---  zg
								item.set_value(4, 16, 10) --- 5 Boni --- db
								item.set_socket(0, sock1)
								item.set_socket(1, sock2)
								item.set_socket(2, sock3)
								say(bool_to_str(dss))
							end
						end
					
						
					elseif job == 2 then
						local dss = addonType(vnum)
						if dss == true then
							local a = select3("Durchschnittsschaden", "Fertigkeitsschaden")
							if a == 1 then
								pc.remove_item(vnum)
								pc.give_item2(vnum)
								item.set_value(0, 72, avg)		--dss
								item.set_value(1, 71, -30)		--fks
								item.set_socket(0, sock1)
								item.set_socket(1, sock2)
								item.set_socket(2, sock3)
								say(bool_to_str(dss))
							elseif a == 2 then
								pc.remove_item(vnum)
								pc.give_item2(vnum)
								item.set_value(0, 72, -40)			--dss
								item.set_value(1, 71, fks)			--fks
								item.set_socket(0, sock1)
								item.set_socket(1, sock2)
								item.set_socket(2, sock3)
								say(bool_to_str(dss))
							end
						else
							if pc.get_skill_group() == 1 then						--waffensura
								pc.remove_item(vnum)
								pc.give_item2(vnum)
								item.set_value(0, 5, 15) --- 1 Boni --- str
								item.set_value(1, 4, 15) --- 2 Boni --- int
								item.set_value(2, 17, 15) --- 3 Boni --- hm
								item.set_value(3, 15, 10) --- 4 Boni ---  krit
								item.set_value(4, 16, 10) --- 5 Boni --- db
								item.set_socket(0, sock1)
								item.set_socket(1, sock2)
								item.set_socket(2, sock3)
							elseif pc.get_skill_group() == 2 then					--Magiesura
								pc.remove_item(vnum)
								pc.give_item2(vnum)
								item.set_value(0, 9, 20) --- 1 Boni --- zg
								item.set_value(1, 4, 15) --- 2 Boni --- int
								item.set_value(2, 17, 15) --- 3 Boni --- hm
								item.set_value(3, 15, 10) --- 4 Boni ---  krit
								item.set_value(4, 16, 10) --- 5 Boni --- db
								item.set_socket(0, sock1)
								item.set_socket(1, sock2)
								item.set_socket(2, sock3)
							end
						end
						
					elseif job == 1 then
						local dss = addonType(vnum)
						if dss == true then 
							local a = select3("Durchschnittsschaden", "Fertigkeitsschaden")
							if a == 1 then
								pc.remove_item(vnum)
								pc.give_item2(vnum)
								item.set_value(0, 72, avg)		--dss
								item.set_value(1, 71, -30)		--fks
								item.set_socket(0, sock1)
								item.set_socket(1, sock2)
								item.set_socket(2, sock3)
								say(bool_to_str(dss))
							elseif a == 2 then
								pc.remove_item(vnum)
								pc.give_item2(vnum)
								item.set_value(0, 72, -40)			--dss
								item.set_value(1, 71, fks)			--fks
								item.set_socket(0, sock1)
								item.set_socket(1, sock2)
								item.set_socket(2, sock3)
								say(bool_to_str(dss))
							end
						else
							if sub == 1 then 					--dolche
								pc.remove_item(vnum)
								pc.give_item2(vnum)
								item.set_value(0, 5, 15) --- 1 Boni --- str
								item.set_value(1, 6, 15) --- 2 Boni --- dex
								item.set_value(2, 17, 15) --- 3 Boni --- hm
								item.set_value(3, 15, 10) --- 4 Boni ---  krit
								item.set_value(4, 9, 15) --- 5 Boni --- zg
								item.set_socket(0, sock1)
								item.set_socket(1, sock2)
								item.set_socket(2, sock3)
							elseif sub == 2 then					--bogen
								pc.remove_item(vnum)
								pc.give_item2(vnum)
								item.set_value(0, 5, 15) --- 1 Boni --- str
								item.set_value(1, 6, 15) --- 2 Boni --- dex
								item.set_value(2, 17, 15) --- 3 Boni --- hm
								item.set_value(3, 9, 20) --- 4 Boni ---  zg
								item.set_value(4, 15, 10) --- 5 Boni --- krit
								item.set_socket(0, sock1)
								item.set_socket(1, sock2)
								item.set_socket(2, sock3)
							end
						end
					
							
					elseif job == 3 then 									--schamie
						local dss = addonType(vnum)
						if dss == true then
							local a = select3("Durchschnittsschaden", "Fertigkeitsschaden")
							if a == 1 then
								pc.remove_item(vnum)
								pc.give_item2(vnum)
								item.set_value(0, 72, avg)		--dss
								item.set_value(1, 71, -30)		--fks
								item.set_socket(0, sock1)
								item.set_socket(1, sock2)
								item.set_socket(2, sock3)
								say(bool_to_str(dss))
							elseif a == 2 then
								pc.remove_item(vnum)
								pc.give_item2(vnum)
								item.set_value(0, 72, -40)			--dss
								item.set_value(1, 71, fks)			--fks
								item.set_socket(0, sock1)
								item.set_socket(1, sock2)
								item.set_socket(2, sock3)
								say(bool_to_str(dss))
							end
						else
							if sub == 4 then
								pc.remove_item(vnum)
								pc.give_item2(vnum)
								item.set_value(0, 9, 20) --- 1 Boni --- zg
								item.set_value(1, 4, 15) --- 2 Boni --- int
								item.set_value(2, 17, 15) --- 3 Boni --- hm
								item.set_value(3, 15, 10) --- 4 Boni ---  krit
								item.set_value(4, 16, 10) --- 5 Boni --- db
								item.set_socket(0, sock1)
								item.set_socket(1, sock2)
								item.set_socket(2, sock3)
							elseif sub == 5 then 							--faecher
								pc.remove_item(vnum)
								pc.give_item2(vnum)
								item.set_value(0, 9, 20) --- 1 Boni --- zg
								item.set_value(1, 4, 15) --- 2 Boni --- int
								item.set_value(2, 17, 15) --- 3 Boni --- hm
								item.set_value(3, 15, 10) --- 4 Boni ---  krit
								item.set_value(4, 16, 10) --- 5 Boni --- db
								item.set_socket(0, sock1)
								item.set_socket(1, sock2)
								item.set_socket(2, sock3)
							end
						end
					end
					
				
				elseif type == 2 then 							--schmuck
					if sub == 5 then 						--halskette
						local s = select3("1Hand,2hand,Dolch", "Glocke, Faecher, Pfeildeff")
						if s == 1 then
							pc.remove_item(vnum)
							pc.give_item2(vnum)
							local i = 0
							for a = 1, 5, 1 do
								item.set_value(i, halskette1[a][1], halskette1[a][2])
								i = i+1
							end
							item.set_socket(0, sock1)
							item.set_socket(1, sock2)
							item.set_socket(2, sock3)
						elseif s == 2 then 
							pc.remove_item(vnum)
							pc.give_item2(vnum)
							local i = 0
							for a = 1, 5, 1 do
								item.set_value(i, halskette2[a][1], halskette2[a][2])
								i = i+1
							end
							item.set_socket(0, sock1)
							item.set_socket(1, sock2)
							item.set_socket(2, sock3)
						end

					elseif sub == 3 then 						--armband
						pc.remove_item(vnum)
						pc.give_item2(vnum)
						local i = 0
						for a = 1, 5, 1 do
							item.set_value(i, armband1[a][1], armband1[a][2])
							i = i+1
						end
						item.set_socket(0, sock1)
						item.set_socket(1, sock2)
						item.set_socket(2, sock3)

					elseif sub == 6 then 						--ohrringe
						local k = select3("1Hand,2hand,Dolch", "Glocke, Faecher, Pfeildeff")
						if k == 1 then
							pc.remove_item(vnum)
							pc.give_item2(vnum)
							local i = 0
							for a = 1, 5, 1 do
								item.set_value(i, ohrringe1[a][1], ohrringe1[a][2])
								i = i+1
							end
							item.set_socket(0, sock1)
							item.set_socket(1, sock2)
							item.set_socket(2, sock3)
						elseif k == 2 then 
							pc.remove_item(vnum)
							pc.give_item2(vnum)
							local i = 0
							for a = 1, 5, 1 do
								item.set_value(i, ohrringe2[a][1], ohrringe2[a][2])
								i = i+1
							end
							item.set_socket(0, sock1)
							item.set_socket(1, sock2)
							item.set_socket(2, sock3)
						end

					elseif sub == 4 then 						--ohrringe
						local l = select3("1Hand,2hand,Dolch", "Glocke, Faecher, Pfeildeff")
						if l == 1 then
							pc.remove_item(vnum)
							pc.give_item2(vnum)
							local i = 0
							for a = 1, 5, 1 do
								item.set_value(i, schuhe1[a][1], schuhe1[a][2])
								i = i+1
							end
							item.set_socket(0, sock1)
							item.set_socket(1, sock2)
							item.set_socket(2, sock3)
						elseif l == 2 then 
							pc.remove_item(vnum)
							pc.give_item2(vnum)
							local i = 0
							for a = 1, 5, 1 do
								item.set_value(i, schuhe2[a][1], schuhe2[a][2])
								i = i+1
							end
							item.set_socket(0, sock1)
							item.set_socket(1, sock2)
							item.set_socket(2, sock3)
						end

					elseif sub == 1 then 						--helme
						pc.remove_item(vnum)
						pc.give_item2(vnum)
						local i = 0
						for a = 1, 5, 1 do
							item.set_value(i, helme1[a][1], helme1[a][2])
							i = i+1
						end
						item.set_socket(0, sock1)
						item.set_socket(1, sock2)
						item.set_socket(2, sock3)
				

					elseif sub == 0 then 						--ruestung
						local t = select3("1Hand,2hand,Dolch", "Glocke, Faecher, Pfeildeff")
						if t == 1 then
							pc.remove_item(vnum)
							pc.give_item2(vnum)
							local i = 0
							for a = 1, 5, 1 do
								item.set_value(i, ruestung1[a][1], ruestung1[a][2])
								i = i+1
							end
							item.set_socket(0, sock1)
							item.set_socket(1, sock2)
							item.set_socket(2, sock3)
						elseif t == 2 then 
							pc.remove_item(vnum)
							pc.give_item2(vnum)
							local i = 0
							for a = 1, 5, 1 do
								item.set_value(i, ruestung2[a][1], ruestung2[a][2])
								i = i+1
							end
							item.set_socket(0, sock1)
							item.set_socket(1, sock2)
							item.set_socket(2, sock3)
						end

					elseif sub == 2 then									--schilder
						if job <= 1 then
							pc.remove_item(vnum)
							pc.give_item2(vnum)
							local i = 0
							for a = 1, 5, 1 do
								item.set_value(i, schild1[a][1], schild1[a][2])
								i = i+1
							end
							item.set_socket(0, sock1)
							item.set_socket(1, sock2)
							item.set_socket(2, sock3)
						elseif job > 1 then
							pc.remove_item(vnum)
							pc.give_item2(vnum)
							local i = 0
							for a = 1, 5, 1 do
								item.set_value(i, schild2[a][1], schild2[a][2])
								i = i+1
							end
							item.set_socket(0, sock1)
							item.set_socket(1, sock2)
							item.set_socket(2, sock3)
						end
					end
				else
					say("Falsches Item")
				end
			end
		end
	end
end

 

German:

Spoiler

 

Hallo Leute,

da ich mich mal wieder langsam mit lua vertraut machen will habe ich letztens eine Quest geschrieben. Was macht sie:

Ganz einfach, ihr zieht ein EQ-Gegenstand auf einen NPC (In diesem Fall "Handu-Up") und eure Gegenstand bekommt dann perfekte PVP Bonis.
Steine werden auch mit uebernommen!

Was die Quest(noch) nicht kann bzw. was ich nicht effizient hinbekommen habe:

  • Unterscheiden zwischen dss & fks waffen, Giftschwert bekommt also auch ganz normale Attribute (Wenn mir jemand sagen kann, wie man eine FOR-Schleife unterbricht, koennte ich es hinbekommen) #hinzugefuegt
  • Bisher nur "normales" switchbar (d.h. keine Kostueme oder so)

Klar, kann man die Quest schoener schreiben, aber mir ging es lediglich darum wieder in Lua reinzukommen, und sie funktioniert ja, von daher habe ich von meiner Seite aus nichts zu meckern :)

Ich denke mal, einige PvP-Server koennten fuer sowas Verwendung haben.

Hier die Quest (Im Anhang als Download verfuegbar):

Spoiler


-----------------------------made by Passi-------------------------------------
quest auto_boni_easy begin
	state start begin
		when 20086.take begin
			--Item
			local name = item.get_name()
			local vnum = item.get_vnum()
			local sock1 = item.get_socket(0)
			local sock2 = item.get_socket(1)
			local sock3 = item.get_socket(2)
			local type = item.get_type()
			local sub = item.get_sub_type()
			local dss = false
			-----max. dss & fks einstellen------------
			local avg = 60
			local fks = 25
			
			function addonType(num)
				local w = {189,188, 187, 186, 185, 184, 184,183, 182, 181, 180,									--gifti
							3169, 3168, 3167, 3166, 3165, 3164, 3163, 3162, 3161, 3160,							--grolli
							1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,									--tfc
							2170,2171,2172,2173,2174,2175,2176,2177,2178,2179,									--kraehi
							199, 198, 197, 196, 195, 194, 193, 192, 191, 190,									--loewi
							5120,5121,5122,5123,5124,5125,5126,5127,5128,5129,									--orchi
							290,291,292, 293, 294, 295, 296, 297, 298, 299,										--vms
							1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,									--sbd
							3210,3211,3212,3213,3214,3215,3216,3217,3218,3219,									--rek
							2150,2151,2152,2153,2154,2155,2156,2157,2158,2159,									--horni
							5110,5111,5112,5113,5114,5115,5116,5117,5118,5119,									--antig
							7160,7161,7162,7163,7164,7165,7166,7167,7168,7169									--hwf
						}
						
				for a = 1, table.getn(w), 1 do
					if w[a] == num then
						return true
					end
				end
			end
					
			
			--Player
			local job = pc.get_job()
			
			
			--EQ
			
			local halskette1 = {						---schwert,2hand, dolch
				{1, 5000}, 
				{15, 10},
				{29, 15},
				{30, 15},
				{31, 15}
			}
			
			local halskette2 = {						---glocke faecher, pfeil
				{1, 5000}, 
				{15, 10},
				{32, 15},
				{33, 15},
				{34, 15}
			}
			
			local armband1 = {						---tp,mgdeff, tp abs, db, hm
				{1, 5000}, 
				{23, 15},
				{16, 10},
				{37, 15},
				{17, 15}
			}
			
			local ohrringe1 = {						---hm, schwert, 2hand, dolch, giftwd
				{17, 15}, 
				{29, 15},
				{30, 15},
				{31, 15},
				{41, 15}
			}
			
			local ohrringe2 = {						---hm, glocke, faecher, pfeil, giftwd
				{17, 15}, 
				{32, 15},
				{33, 15},
				{34, 15},
				{41, 15}
			}
			
			local schuhe1 = {						---tp, schwert, 2hand, dolch, krit
				{1, 5000}, 
				{29, 15},
				{30, 15},
				{31, 15},
				{15, 10}
			}
			
			local schuhe2 = {						---tp, glocke, faecher, pfeil, krit
				{1, 5000}, 
				{32, 15},
				{33, 15},
				{34, 15},
				{15, 10}
			}
			
			local helme1 = {						---vergiftung, magiedeff, hm, block, angriffsg
				{12, 15}, 
				{37, 15},
				{17, 15},
				{27, 15},
				{7, 15}
			}
			
			local ruestung1 = {						---tp, 1hand, 2hand, dolch, tp abs
				{1, 5000}, 
				{29, 15},
				{30, 15},
				{31, 15},
				{23, 15}
			}
			
			local ruestung2 = {						---tp, facher, glocke, pfeil, tp abs
				{1, 5000}, 
				{32, 15},
				{33, 15},
				{34, 15},
				{23, 15}
			}
			
			local schild1 = {						---str, dex, hm, abwohnm, block
				{5, 15}, 
				{6, 15},
				{17, 15},
				{48, 1},
				{27, 15}
			}
			
			local schild2 = {						---int, str, hm, abwohnm, block
				{4, 15}, 
				{5, 15},
				{17, 15},
				{48, 1},
				{27, 15}
			}
			
			------------------------------
			
			say_title(""..name..":")
			say("Moechtest du die Bonis veraendern?")
			say("")
			say_show_item(vnum)
			say("")
			say("")
			say("")
			local q = select3("Neu bonieren")
			
			if q == 1 then
			
				if type == 1 then 									--waffen
					if job == 0 then
						if sub == 0 then				--Schwerter
							local dss = addonType(vnum)
							if dss == true then
								local a = select3("Durchschnittsschaden", "Fertigkeitsschaden")
								if a == 1 then
									pc.remove_item(vnum)
									pc.give_item2(vnum)
									item.set_value(0, 72, avg)		--dss
									item.set_value(1, 71, -30)		--fks
									item.set_socket(0, sock1)
									item.set_socket(1, sock2)
									item.set_socket(2, sock3)
									say(bool_to_str(dss))
								elseif a == 2 then
									pc.remove_item(vnum)
									pc.give_item2(vnum)
									item.set_value(0, 72, -40)			--dss
									item.set_value(1, 71, fks)			--fks
									item.set_socket(0, sock1)
									item.set_socket(1, sock2)
									item.set_socket(2, sock3)
								end
							else
								pc.remove_item(vnum)
								pc.give_item2(vnum)
								item.set_value(0, 5, 15) --- 1 Boni --- str
								item.set_value(1, 6, 15) --- 2 Boni --- dex
								item.set_value(2, 17, 15) --- 3 Boni --- hm
								item.set_value(3, 15, 10) --- 4 Boni ---  krit
								item.set_value(4, 16, 10) --- 5 Boni --- db
								item.set_socket(0, sock1)
								item.set_socket(1, sock2)
								item.set_socket(2, sock3)
								say(bool_to_str(dss))
							end

						elseif sub == 3 then							--2hand
							local dss = addonType(vnum)
							if dss == true then
								local a = select3("Durchschnittsschaden", "Fertigkeitsschaden")
								if a == 1 then
									pc.remove_item(vnum)
									pc.give_item2(vnum)
									item.set_value(0, 72, avg)		--dss
									item.set_value(1, 71, -30)		--fks
									item.set_socket(0, sock1)
									item.set_socket(1, sock2)
									item.set_socket(2, sock3)
									say(bool_to_str(dss))
								elseif a == 2 then
									pc.remove_item(vnum)
									pc.give_item2(vnum)
									item.set_value(0, 72, -40)			--dss
									item.set_value(1, 71, fks)			--fks
									item.set_socket(0, sock1)
									item.set_socket(1, sock2)
									item.set_socket(2, sock3)
									say(bool_to_str(dss))
								end
							else
								pc.remove_item(vnum)
								pc.give_item2(vnum)
								item.set_value(0, 5, 15) --- 1 Boni --- str
								item.set_value(1, 6, 15) --- 2 Boni --- dex
								item.set_value(2, 17, 15) --- 3 Boni --- hm
								item.set_value(3, 9, 20) --- 4 Boni ---  zg
								item.set_value(4, 16, 10) --- 5 Boni --- db
								item.set_socket(0, sock1)
								item.set_socket(1, sock2)
								item.set_socket(2, sock3)
								say(bool_to_str(dss))
							end
						end
					
						
					elseif job == 2 then
						local dss = addonType(vnum)
						if dss == true then
							local a = select3("Durchschnittsschaden", "Fertigkeitsschaden")
							if a == 1 then
								pc.remove_item(vnum)
								pc.give_item2(vnum)
								item.set_value(0, 72, avg)		--dss
								item.set_value(1, 71, -30)		--fks
								item.set_socket(0, sock1)
								item.set_socket(1, sock2)
								item.set_socket(2, sock3)
								say(bool_to_str(dss))
							elseif a == 2 then
								pc.remove_item(vnum)
								pc.give_item2(vnum)
								item.set_value(0, 72, -40)			--dss
								item.set_value(1, 71, fks)			--fks
								item.set_socket(0, sock1)
								item.set_socket(1, sock2)
								item.set_socket(2, sock3)
								say(bool_to_str(dss))
							end
						else
							if pc.get_skill_group() == 1 then						--waffensura
								pc.remove_item(vnum)
								pc.give_item2(vnum)
								item.set_value(0, 5, 15) --- 1 Boni --- str
								item.set_value(1, 4, 15) --- 2 Boni --- int
								item.set_value(2, 17, 15) --- 3 Boni --- hm
								item.set_value(3, 15, 10) --- 4 Boni ---  krit
								item.set_value(4, 16, 10) --- 5 Boni --- db
								item.set_socket(0, sock1)
								item.set_socket(1, sock2)
								item.set_socket(2, sock3)
							elseif pc.get_skill_group() == 2 then					--Magiesura
								pc.remove_item(vnum)
								pc.give_item2(vnum)
								item.set_value(0, 9, 20) --- 1 Boni --- zg
								item.set_value(1, 4, 15) --- 2 Boni --- int
								item.set_value(2, 17, 15) --- 3 Boni --- hm
								item.set_value(3, 15, 10) --- 4 Boni ---  krit
								item.set_value(4, 16, 10) --- 5 Boni --- db
								item.set_socket(0, sock1)
								item.set_socket(1, sock2)
								item.set_socket(2, sock3)
							end
						end
						
					elseif job == 1 then
						local dss = addonType(vnum)
						if dss == true then 
							local a = select3("Durchschnittsschaden", "Fertigkeitsschaden")
							if a == 1 then
								pc.remove_item(vnum)
								pc.give_item2(vnum)
								item.set_value(0, 72, avg)		--dss
								item.set_value(1, 71, -30)		--fks
								item.set_socket(0, sock1)
								item.set_socket(1, sock2)
								item.set_socket(2, sock3)
								say(bool_to_str(dss))
							elseif a == 2 then
								pc.remove_item(vnum)
								pc.give_item2(vnum)
								item.set_value(0, 72, -40)			--dss
								item.set_value(1, 71, fks)			--fks
								item.set_socket(0, sock1)
								item.set_socket(1, sock2)
								item.set_socket(2, sock3)
								say(bool_to_str(dss))
							end
						else
							if sub == 1 then 					--dolche
								pc.remove_item(vnum)
								pc.give_item2(vnum)
								item.set_value(0, 5, 15) --- 1 Boni --- str
								item.set_value(1, 6, 15) --- 2 Boni --- dex
								item.set_value(2, 17, 15) --- 3 Boni --- hm
								item.set_value(3, 15, 10) --- 4 Boni ---  krit
								item.set_value(4, 9, 15) --- 5 Boni --- zg
								item.set_socket(0, sock1)
								item.set_socket(1, sock2)
								item.set_socket(2, sock3)
							elseif sub == 2 then					--bogen
								pc.remove_item(vnum)
								pc.give_item2(vnum)
								item.set_value(0, 5, 15) --- 1 Boni --- str
								item.set_value(1, 6, 15) --- 2 Boni --- dex
								item.set_value(2, 17, 15) --- 3 Boni --- hm
								item.set_value(3, 9, 20) --- 4 Boni ---  zg
								item.set_value(4, 15, 10) --- 5 Boni --- krit
								item.set_socket(0, sock1)
								item.set_socket(1, sock2)
								item.set_socket(2, sock3)
							end
						end
					
							
					elseif job == 3 then 									--schamie
						local dss = addonType(vnum)
						if dss == true then
							local a = select3("Durchschnittsschaden", "Fertigkeitsschaden")
							if a == 1 then
								pc.remove_item(vnum)
								pc.give_item2(vnum)
								item.set_value(0, 72, avg)		--dss
								item.set_value(1, 71, -30)		--fks
								item.set_socket(0, sock1)
								item.set_socket(1, sock2)
								item.set_socket(2, sock3)
								say(bool_to_str(dss))
							elseif a == 2 then
								pc.remove_item(vnum)
								pc.give_item2(vnum)
								item.set_value(0, 72, -40)			--dss
								item.set_value(1, 71, fks)			--fks
								item.set_socket(0, sock1)
								item.set_socket(1, sock2)
								item.set_socket(2, sock3)
								say(bool_to_str(dss))
							end
						else
							if sub == 4 then
								pc.remove_item(vnum)
								pc.give_item2(vnum)
								item.set_value(0, 9, 20) --- 1 Boni --- zg
								item.set_value(1, 4, 15) --- 2 Boni --- int
								item.set_value(2, 17, 15) --- 3 Boni --- hm
								item.set_value(3, 15, 10) --- 4 Boni ---  krit
								item.set_value(4, 16, 10) --- 5 Boni --- db
								item.set_socket(0, sock1)
								item.set_socket(1, sock2)
								item.set_socket(2, sock3)
							elseif sub == 5 then 							--faecher
								pc.remove_item(vnum)
								pc.give_item2(vnum)
								item.set_value(0, 9, 20) --- 1 Boni --- zg
								item.set_value(1, 4, 15) --- 2 Boni --- int
								item.set_value(2, 17, 15) --- 3 Boni --- hm
								item.set_value(3, 15, 10) --- 4 Boni ---  krit
								item.set_value(4, 16, 10) --- 5 Boni --- db
								item.set_socket(0, sock1)
								item.set_socket(1, sock2)
								item.set_socket(2, sock3)
							end
						end
					end
					
				
				elseif type == 2 then 							--schmuck
					if sub == 5 then 						--halskette
						local s = select3("1Hand,2hand,Dolch", "Glocke, Faecher, Pfeildeff")
						if s == 1 then
							pc.remove_item(vnum)
							pc.give_item2(vnum)
							local i = 0
							for a = 1, 5, 1 do
								item.set_value(i, halskette1[a][1], halskette1[a][2])
								i = i+1
							end
							item.set_socket(0, sock1)
							item.set_socket(1, sock2)
							item.set_socket(2, sock3)
						elseif s == 2 then 
							pc.remove_item(vnum)
							pc.give_item2(vnum)
							local i = 0
							for a = 1, 5, 1 do
								item.set_value(i, halskette2[a][1], halskette2[a][2])
								i = i+1
							end
							item.set_socket(0, sock1)
							item.set_socket(1, sock2)
							item.set_socket(2, sock3)
						end

					elseif sub == 3 then 						--armband
						pc.remove_item(vnum)
						pc.give_item2(vnum)
						local i = 0
						for a = 1, 5, 1 do
							item.set_value(i, armband1[a][1], armband1[a][2])
							i = i+1
						end
						item.set_socket(0, sock1)
						item.set_socket(1, sock2)
						item.set_socket(2, sock3)

					elseif sub == 6 then 						--ohrringe
						local k = select3("1Hand,2hand,Dolch", "Glocke, Faecher, Pfeildeff")
						if k == 1 then
							pc.remove_item(vnum)
							pc.give_item2(vnum)
							local i = 0
							for a = 1, 5, 1 do
								item.set_value(i, ohrringe1[a][1], ohrringe1[a][2])
								i = i+1
							end
							item.set_socket(0, sock1)
							item.set_socket(1, sock2)
							item.set_socket(2, sock3)
						elseif k == 2 then 
							pc.remove_item(vnum)
							pc.give_item2(vnum)
							local i = 0
							for a = 1, 5, 1 do
								item.set_value(i, ohrringe2[a][1], ohrringe2[a][2])
								i = i+1
							end
							item.set_socket(0, sock1)
							item.set_socket(1, sock2)
							item.set_socket(2, sock3)
						end

					elseif sub == 4 then 						--ohrringe
						local l = select3("1Hand,2hand,Dolch", "Glocke, Faecher, Pfeildeff")
						if l == 1 then
							pc.remove_item(vnum)
							pc.give_item2(vnum)
							local i = 0
							for a = 1, 5, 1 do
								item.set_value(i, schuhe1[a][1], schuhe1[a][2])
								i = i+1
							end
							item.set_socket(0, sock1)
							item.set_socket(1, sock2)
							item.set_socket(2, sock3)
						elseif l == 2 then 
							pc.remove_item(vnum)
							pc.give_item2(vnum)
							local i = 0
							for a = 1, 5, 1 do
								item.set_value(i, schuhe2[a][1], schuhe2[a][2])
								i = i+1
							end
							item.set_socket(0, sock1)
							item.set_socket(1, sock2)
							item.set_socket(2, sock3)
						end

					elseif sub == 1 then 						--helme
						pc.remove_item(vnum)
						pc.give_item2(vnum)
						local i = 0
						for a = 1, 5, 1 do
							item.set_value(i, helme1[a][1], helme1[a][2])
							i = i+1
						end
						item.set_socket(0, sock1)
						item.set_socket(1, sock2)
						item.set_socket(2, sock3)
				

					elseif sub == 0 then 						--ruestung
						local t = select3("1Hand,2hand,Dolch", "Glocke, Faecher, Pfeildeff")
						if t == 1 then
							pc.remove_item(vnum)
							pc.give_item2(vnum)
							local i = 0
							for a = 1, 5, 1 do
								item.set_value(i, ruestung1[a][1], ruestung1[a][2])
								i = i+1
							end
							item.set_socket(0, sock1)
							item.set_socket(1, sock2)
							item.set_socket(2, sock3)
						elseif t == 2 then 
							pc.remove_item(vnum)
							pc.give_item2(vnum)
							local i = 0
							for a = 1, 5, 1 do
								item.set_value(i, ruestung2[a][1], ruestung2[a][2])
								i = i+1
							end
							item.set_socket(0, sock1)
							item.set_socket(1, sock2)
							item.set_socket(2, sock3)
						end

					elseif sub == 2 then									--schilder
						if job <= 1 then
							pc.remove_item(vnum)
							pc.give_item2(vnum)
							local i = 0
							for a = 1, 5, 1 do
								item.set_value(i, schild1[a][1], schild1[a][2])
								i = i+1
							end
							item.set_socket(0, sock1)
							item.set_socket(1, sock2)
							item.set_socket(2, sock3)
						elseif job > 1 then
							pc.remove_item(vnum)
							pc.give_item2(vnum)
							local i = 0
							for a = 1, 5, 1 do
								item.set_value(i, schild2[a][1], schild2[a][2])
								i = i+1
							end
							item.set_socket(0, sock1)
							item.set_socket(1, sock2)
							item.set_socket(2, sock3)
						end
					end
				else
					say("Falsches Item")
				end
			end
		end
	end
end

 

 

PS: Wenn ihr Anregungen, Verbesserungsvorschläge oder ähnliches habt, dann immer her damit. 

 

 

auto_boni_easy.quest

Share this post


Link to post
Share on other sites

Rules

§1 Language

(1.1) Language

The language in this board is english. If you want to post something in your own language always add an english translation. The only exception for this rule is this section: Private Servers


We are a global forum.
Please translate your text in the english language.

You can place your german text in a spoiler.

Best regards
Raylee

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×