berkmenoo 1
berkmenoo
mavzermete 1
mavzermete
Mt2Hizmet 1
Mt2Hizmet
xranzei 1
xranzei
Hikaye Ekle

Petlere özellik verme Quest ?

  • Konuyu başlatan Konuyu başlatan karayelmetin2
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 5
  • Görüntüleme Görüntüleme 1K

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

Selamun aleykum arkadaslar ben 5 adet farklı pete farklı farklı savunmalar vermek istiyorum aşagıdaki questte verdiğmi özellikler hepsi için geçerli oluyor nasıl yapabilirim 5 pete nasıl farklı savunmalar verebilirim ?


Kod:
[/COLOR]quest petler begin	state start begin	
		function get_pet_info(itemVnum,id)
			local petim = global_getvarchar("pet_"..id.."_name")
			local lv = game.get_event_flag("pet_"..id.."_level")
			pet_info_map = {
			--  [ITEM VNUM] MOB_VNUM, DEFAULT NAME, buff_idx, spawn_effect_idx
				[53001]		= { 34001, " - Lv "..lv.." "..petim.." ", 0},	-- Feuerphönix
				[53002]		= { 34002, " - Lv "..lv.." "..petim.." ", 0},	-- Baby Rentier
				[53003]		= { 34003, " - Lv "..lv.." "..petim.." ", 0},		-- Eisphönix
				[53005]		= { 34004, " - Lv "..lv.." "..petim.." ", 0},	-- Baby Azrael
				[53006]		= { 34009, " - Lv "..lv.." "..petim.." ", 0},	-- Baby Azrael (gold)
				[53007]		= { 34010, " - Lv "..lv.." "..petim.." ", 0},			-- Bambi
				[53008]		= { 34011, " - Lv "..lv.." "..petim.." ", 0},			-- Knuud
				[53009]		= { 34012, " - Lv "..lv.." "..petim.." ", 0},		-- Bao Bao
				[53010]		= { 34008, " - Lv "..lv.." "..petim.." ", 0},		-- Leonidas
				[53011]		= { 34007, " - Lv "..lv.." "..petim.." ", 0},			-- Khan
				[53012]		= { 34005, " - Lv "..lv.." "..petim.." ", 0},			-- Porkie
				[53013]		= { 34006, " - Lv "..lv.." "..petim.." ", 0},			-- Rufus
				[53014]     = { 34013, " - Lv "..lv.." "..petim.." ", 0},
				[53016]     = { 34015, " - Lv "..lv.." "..petim.." ", 0},
				[53017]     = { 34016, " - Lv "..lv.." "..petim.." ", 0},
				[53018]     = { 34017, " - Lv "..lv.." "..petim.." ", 0},
				[53019]     = { 34018, " - Lv "..lv.." "..petim.." ", 0},
				[53020]     = { 34019, " - Lv "..lv.." "..petim.." ", 0},
				[53021]     = { 34020, " - Lv "..lv.." "..petim.." ", 0},
				[53022]     = { 34021, " - Lv "..lv.." "..petim.." ", 0},
				[53023]     = { 34022, " - Lv "..lv.." "..petim.." ", 0},
				[53024]     = { 34023, " - Lv "..lv.." "..petim.." ", 0},
				[53025]     = { 34024, " - Lv "..lv.." "..petim.." ", 0},
				[53026]     = { 34025, " - Lv "..lv.." "..petim.." ", 0},
				[53027]     = { 34026, " - Lv "..lv.." "..petim.." ", 0},
				[53028]     = { 34027, " - Lv "..lv.." "..petim.." ", 0},
				[53029]     = { 34028, " - Lv "..lv.." "..petim.." ", 0},
				[53030]     = { 34029, " - Lv "..lv.." "..petim.." ", 0},
				[53031]     = { 34030, " - Lv "..lv.." "..petim.." ", 0},
				[53032]     = { 34031, " - Lv "..lv.." "..petim.." ", 0},
				[53033]     = { 34032, " - Lv "..lv.." "..petim.." ", 0},
			}


			itemVnum = tonumber(itemVnum)


			return pet_info_map[itemVnum]
		end
		
		function givebonus(x)
            local y,boni = {17,1,9,15},petler.bonuslistesi() 
            table.foreach(boni[x],function(i,l) pc.setqf("bonus"..i.."",l)  affect.add_collect(y[i],l,60*60*24*365*60) end ) 
			pc.setqf("pet_geldi",1)
        end 
        function bonuslistesi() 
            return { 
                [1] = {5,500,1,1}, 
                [2] = {5,1000,5,2}, 
                [3] = {10,1500,10,3}, 
                [4] = {10,2000,15,4}, 
                [5] = {15,3000,20,5}, 
            } 
        end   	 
        function removebonus(x) 
            local y,boni = {17,1,9,15},petler.bonuslistesi() 
            table.foreach(boni[x],function(i,l)  affect.remove_collect(y[i],l,60*60*24*365*60) end ) 
			pc.setqf("pet_geldi",0) 
			cmdchat("pet_kapat")
        end 


		when kill with pc.getqf("pet_geldi") == 1 begin 
			local id = pc.getqf("pet_id")
            if game.get_event_flag("pet_"..id.."_level") == 5 then 
                return 
            end     
            if not npc.is_pc() then 
				local expim = game.get_event_flag("pet_"..id.."_exp")
				local level = game.get_event_flag("pet_"..id.."_level")
				game.set_event_flag("pet_"..id.."_exp",expim+1)
                local exp2up = {2000, 8000, 16000, 35000, 40000} 
                local expprocent = {20, 80, 160, 350, 400} 
				cmdchat("pet_exp "..(expim/expprocent[level]).."") 
                if expim == exp2up[level] then 
                    if level == 4 then 
                        say_title("Tebrikler!") 
                        say("Seviye:"..(level+1).."") 
                        say_reward("Evcil hayvanın seviye atladı.") 
                    end 
                    say_title("Tebrikler!") 
                    say("Seviye: "..(level+1).."") 
                    say("Evcil hayvanın seviye atladı.") 
					game.set_event_flag("pet_"..id.."_level",level+1)
					game.set_event_flag("pet_"..id.."_exp",0)
                    petler.removebonus(level) 
                end 
            end 
        end 
		
		when pet_kontrol.timer begin
			local id = pc.getqf("pet_id")
			if pc.get_hp() < 0 then
				petler.removebonus(game.get_event_flag("pet_"..id.."_level"))     
				cleartimer("pet_kontrol")
			end
		end
		
		when logout begin
			if pc.getqf("pet_geldi") == 1 then
				local id = pc.getqf("pet_id")
				petler.removebonus(game.get_event_flag("pet_"..id.."_level"))     
			else
				cmdchat("pet_kapat")
			end
        end 
		when 20092.take begin
			local id = item.get_id()
			local vnum = item.vnum
			say_item_vnum(vnum)
			say("Silindi")
			pc.remove_item(vnum,1)
		end
		
		when 34001.click or 34002.click or 34003.click or 34004.click or 34005.click or 34006.click or 34007.click or 34008.click begin
			local id = pc.getqf("pet_id")
			local expim = game.get_event_flag("pet_"..id.."_exp")
			local level = game.get_event_flag("pet_"..id.."_level")
			local isim = global_getvarchar("pet_"..id.."_name")
			say_title(isim.." Bilgileri: ")
			say("")
			say("Level : "..level)
			say("EXP : "..expim)
			say("Yarı İnsan Bonusu : +%"..pc.getqf("bonus1"))
			say("HP Bonusu : +"..pc.getqf("bonus2"))
			say("Büyü Hızı : +"..pc.getqf("bonus3"))
			say("Kritik İsabet : +"..pc.getqf("bonus4"))
			say("")
			say_reward("Pet Seçenekleri:")
			say("")
			local menu = select("İsim değiştir ", "Gönder ", "Kapat ")
			if menu == 1 then
				local need = 38100
				if pc.count_item(need) < 1 then
					say_item_vnum(need)
					say("Güçlü atıştırmalık olmadan ")
					say("petinin ismini değiştiremezsin.")
					return
				else
					say("Pet'inizin yeni ismini girin.")
					say("")
					local yeni = tostring(input(''))
					if yeni == nil or yeni == "" then
						say("Boş bırakamazsın..")
						return
					else
						say("Petinizin ismi değiştiriliyor.")
						local id = pc.getqf("pet_id")
						global_setvarchar("pet_"..id.."_name",yeni)
						local mobVnum = pc.getqf("pet_vnum")
						local pet_level = game.get_event_flag("pet_"..id.."_level")
						if true == pet.is_summon(mobVnum) then
							pet.unsummon(mobVnum)
							petler.removebonus(pet_level) 
						end
						wait()
						cleartimer("pet_kontrol")
						loop_timer("pet_kontrol",1)
						local petName = global_getvarchar("pet_"..id.."_name")
						pet.summon(mobVnum, petName, false)
						petler.givebonus(pet_level) 
						local expprocent1 = {20, 80, 160, 350, 400} 
						cmdchat("pet_goster") --tamam
						cmdchat("pet_exp "..(expim/expprocent1[pet_level]).."") --tamam
						cmdchat("pet_level "..pet_level) --tamam
						cmdchat("pet_isim "..petName) --tamam
						cmdchat("pet_bonus "..pc.getqf("bonus1").."")
						cmdchat("pet_bonus2 "..pc.getqf("bonus2").."")		
						say("Petinizin yeni adı "..yeni.." ")
						say("olmuştur.")
					end
				end
			elseif menu == 2 then
				local mobVnum = pc.getqf("pet_vnum")
				local pet_level = game.get_event_flag("pet_"..id.."_level")
				if true == pet.is_summon(mobVnum) then
					pet.unsummon(mobVnum)
					petler.removebonus(pet_level) 
				end
				say("Pet gönderildi.")
			end
		end
		
		when 53001.use or 53002.use or 53003.use or 53004.use or 53005.use or 53006.use or 53007.use or 53008.use or 53009.use or 53010.use or 53011.use or 53012.use or 53013.use
		or 53014.use or 53015.use or 53016.use or 53017.use or 53018.use or 53019.use or 53020.use or 53021.use or 53022.use or 53023.use or 53024.use or 53025.use or 53026.use or 53027.use 
		or 53028.use or 53029.use or 53030.use or 53031.use or 53032.use or 53033.use begin
			local id = item.get_id()
			local pet_info = petler.get_pet_info(item.vnum, id)
			local bul = game.get_event_flag("pet_"..id.."")
			local expim = game.get_event_flag("pet_"..id.."_exp")
			local pet_level = game.get_event_flag("pet_"..id.."_level")
			local pet_isim = global_getvarchar("pet_"..id.."_name")
			if bul == 0 and pet.count_summoned() < 1 and pc.getqf("pet_geldi") == 0 then
				say("İlk defa bu peti kullanıyorsun demek.")
				say("Öncelikle petine bir isim girmelisin.")
				say("")
				say_reward("Lütfen argo isim kullanmayınız.")
				say("")
				local isim = tostring(input(""))
				if isim == nil or isim == "" then
					say("Boş geçemezsin.")
					return
				else
					say("Petinizin bilgileri işleniyor...")
					global_setvarchar("pet_"..id.."_name",isim)
					game.set_event_flag("pet_"..id.."_level",1)
					game.set_event_flag("pet_"..id.."_exp",0)
					game.set_event_flag("pet_"..id.."",1)
					wait()
					say("Petinizin ismi "..isim.." olmuştur.")
					say("Petiniz 1 seviye olarak başlamıştır.")
					say("Her seviyede daha çok bonus verecektir.")
					local expprocent1 = {20, 80, 160, 350, 400} 
					cmdchat("pet_goster") --tamam
					cmdchat("pet_exp "..(expim/expprocent1[pet_level]).."") --tamam
					cmdchat("pet_level "..pet_level) --tamam
					cmdchat("pet_isim "..pet_isim) --tamam
					cmdchat("pet_bonus "..pc.getqf("bonus1").."")
					cmdchat("pet_bonus2 "..pc.getqf("bonus2").."")
					cmdchat("pet_bonus3 "..pc.getqf("bonus3").."")
					cmdchat("pet_bonus4 "..pc.getqf("bonus4").."")
					local pet_info = petler.get_pet_info(item.vnum, id)
					if null != pet_info then


						local mobVnum = pet_info[1]
						local petName = pet_info[2]
						
						
						
						if true == pet.is_summon(mobVnum) then
							pet.unsummon(mobVnum)
							petler.removebonus(pet_level) 
						else
						
							if pet.count_summoned() < 1 then
								if pc.getqf("pet_geldi") == 0 then 
									chat("Evcil Hayvanını Çağırdın.")
									pc.setqf("pet_id",id)
									pc.setqf("pet_vnum",mobVnum)
									cleartimer("pet_kontrol")
									loop_timer("pet_kontrol",1)
									pet.summon(mobVnum, petName, false)
									petler.givebonus(pet_level) 
											
								end 
							else
								syschat("Yanında bir pet varken başka bir pet çağıramazsın.")
							end
						end
					end 
				end
			else
				if null != pet_info then


					local mobVnum = pet_info[1]
					local petName = pet_info[2]
					
					
					
					if true == pet.is_summon(mobVnum) then
						pet.unsummon(mobVnum)
						petler.removebonus(pet_level) 
					else
					
						if pet.count_summoned() < 1 then
							if pc.getqf("pet_geldi") == 0 then 
								chat("Evcil Hayvanını Çağırdın.")
								pc.setqf("pet_id",id)
								pc.setqf("pet_vnum",mobVnum)
								cleartimer("pet_kontrol")
								loop_timer("pet_kontrol",1)
								pet.summon(mobVnum, petName, false)
								petler.givebonus(pet_level) 
								local expprocent1 = {20, 80, 160, 350, 400} 
								cmdchat("pet_goster") --tamam
								cmdchat("pet_exp "..(expim/expprocent1[pet_level]).."") --tamam
								cmdchat("pet_level "..pet_level)--tamam
								cmdchat("pet_isim "..pet_isim)--tamam
								cmdchat("pet_bonus "..pc.getqf("bonus1").."")
								cmdchat("pet_bonus2 "..pc.getqf("bonus2").."")
								cmdchat("pet_bonus3 "..pc.getqf("bonus3").."")
								cmdchat("pet_bonus4 "..pc.getqf("bonus4").."")
							end 
						else
							syschat("Yanında bir pet varken başka bir pet çağıramazsın.")
						end
					end
				end 
			end
		end -- when
	end-- state
end -- quest


[COLOR=#daa520]
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst