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]
