Türkiye'de ilk Mobil & PC Aynı Anda Metin2 Oyna. Triarchonline kalıcı ve uzun ömürlü yapısı ile 24 Temmuz'da açılıyor. | 1-99 Mobil Metin2 Triarch HEMEN TIKLA!
niçin ? Deneme imkanım olsaydı direk Foto atardım deneyipte yapamayan olursa kapatırım.
Önüne gelen edit derse kapatmam tabi.
Sağolun.Teşekkürler...:ka19:
Aşağıda ki questi alman bir forumdan aldım, belki işinizi görür.
Kod:
quest pet_system begin
state start begin
when letter begin
cmdchat("petguihideshow "..q.getcurrentquestindex())
end
function givebonus(x)
local mobVnum = pc.getqf("mobVnum")
local y,boni = {10,54,1},pet_system.bonusliste()
table.foreach(boni[x],function(i,l) cmdchat("HaustierBonus"..i.." "..l.."") affect.add_collect(y[i],l,60*60*24*365*60) end )
cmdchat("HaustierLevel "..pc.getqf('petlevel_'..mobVnum).."")
cmdchat("HaustierName "..pc.get_name().."")
pc.setqf("petruf",1)
pc.setqf("petguishow",1)
end
function bonusliste()
return {
[1] = {20,10,500},
[2] = {30,20,1000},
[3] = {40,30,1500},
[4] = {50,45,2000},
[5] = {65,60,3000},
}
end
function removebonus(x)
local y,boni = {10,54,1},pet_system.bonusliste()
table.foreach(boni[x],function(i,l) affect.remove_collect(y[i],l,60*60*24*365*60) end )
pc.setqf("petruf",0)
--cmdchat("HidePetGui")
pc.setqf("petguishow",0)
cleartimer("bugcheck")
end
function get_pet_info(itemVnum)
pet_info_map = {
-- [ITEM VNUM] MOB_VNUM, DEFAULT NAME, buff_idx, spawn_effect_idx
[53001] = { 34001, "'s Lv.180 ", 0},
[53002] = { 34002, "'s Lv.1 ", 0},
[53003] = { 34003, "'s Lv.250 ", 0},
[53005] = { 34004, "'s Lv.250 ", 0},
[53006] = { 34008, "'s Lv.180 ", 0},
[53007] = { 34007, "'s Lv.60 ", 0},
[53008] = { 34005, "'s Lv.60 ", 0},
[53009] = { 34006, "'s Lv.1 ", 0},
[53004] = { 34027, "'s Lv.280 ", 0},
[53010] = { 34026, "'s Lv.310 ", 0},
}
itemVnum = tonumber(itemVnum)
return pet_info_map[itemVnum]
end
function get_spawn_effect_file(idx)
effect_table = {
[0] = nil,
[1] = "d:ymir workeffectetcappear_diemonster_appear.mse",
}
return effect_table [idx]
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 begin
local pet_info = pet_system.get_pet_info(item.vnum)
if null != pet_info then
local mobVnum = pet_info[1]
local petName = pet_info[2]
local spawn_effect_file_name = pet_system.get_spawn_effect_file(pet_info[4])
pc.setqf("mobVnum",mobVnum)
if true == pet.is_summon(mobVnum) then
if spawn_effect_file_name != nil then
pet.spawn_effect (mobVnum, spawn_effect_file_name)
end
pet.unsummon(mobVnum)
pet_system.removebonus(pc.getqf('petlevel_'..mobVnum))
cmdchat("HidePetGui")
syschat("Dein Haustier wurde weggeschickt")
else
if pet.count_summoned() < 1 then
pet.summon(mobVnum, petName, false)
if pet_info[4] ~= nil then
cmdchat(pet_info[4])
end
if pc.getqf('petlevel_'..mobVnum) == 0 then
pc.setqf('petlevel_'..mobVnum,1)
end
syschat("Dein Haustier wurde gerufen.")
pet_system.givebonus(pc.getqf('petlevel_'..mobVnum))
local expprocent1 = {20, 80, 160, 350, 400}
cmdchat("PetProcentExp "..(pc.getqf("exp_"..mobVnum)/expprocent1[pc.getqf("petlevel_"..mobVnum)]).."")
cmdchat("ShowPetGui")
loop_timer("bugcheck", 0.2)
else
syschat("Du hast bereits ein Haustier gerufen!")
end
if spawn_effect_file_name != nil then
pet.spawn_effect(mobVnum, spawn_effect_file_name)
end
end -- if pet.is_summon
end -- if null != pet_info
end -- when
when kill with not npc.is_pc() begin
local mobVnum = pc.getqf("mobVnum")
if pc.getqf("petlevel_"..mobVnum) == 5 then
return
else
if pc.getqf("petruf")==1 then
--intervall = 10
--if pc.get_level() <= mob.get_level(npc.get_race())+ intervall then -- du darfst nur max 10 lvl über das monster sein
pc.setqf("exp_"..mobVnum,pc.getqf("exp_"..mobVnum)+1)
local exp2up = {2000, 8000, 16000, 35000, 40000}
local expprocent = {20, 80, 160, 350, 400}
cmdchat("PetProcentExp "..(pc.getqf("exp_"..mobVnum)/expprocent[pc.getqf("petlevel_"..mobVnum)]).."")
if pc.getqf("exp_"..mobVnum) == exp2up[pc.getqf("petlevel_"..mobVnum)] then
if pc.getqf("petlevel_"..mobVnum) == 4 then
say_title("Herzlichen Glückwunsch")
say("Dein Haustier erreicht Level "..(pc.getqf("petlevel_"..mobVnum)+1).."")
say_reward("Dies war das letzte Level!")
end
say_title("Herzlichen Glückwunsch")
say("Dein Haustier erreicht Level "..(pc.getqf("petlevel_"..mobVnum)+1).."")
say("Rufe dein Pet bitte erneut!")
pc.setqf("petlevel_"..mobVnum,pc.getqf("petlevel_"..mobVnum)+1)
pc.setqf("exp_"..mobVnum,0)
pet_system.removebonus(pc.getqf('petlevel'))
end
end -- if not...
end -- if pc.get...
end -- when
-- Bugschutz
when bugcheck.timer begin
if pc.is_dead() then
pet_system.removebonus(pc.getqf('petlevel'))
end
end
when login or logout or disconnect with pc.getqf("petruf") == 1 begin
local mobVnum = pc.getqf("mobVnum")
pet_system.removebonus(pc.getqf('petlevel_'..mobVnum))
cmdchat("HidePetGui")
chat("Dein Haustier ist nicht mitgekommen...")
chat("Rufe es erneut!")
end
when button or info begin
local mobVnum = pc.getqf("mobVnum")
if pc.getqf("petruf") == 1 and pc.getqf("petguishow") == 1 then
cmdchat("HidePetGui")
pc.setqf("petguishow",0)
syschat("Dein Haustierfenster wurde geschlossen, du kannst es über den Button im Inventar erneut öffnen!")
elseif pc.getqf("petruf") == 1 and pc.getqf("petguishow") == 0 then
cmdchat("ShowPetGui")
local expprocent1 = {20, 80, 160, 350, 400}
cmdchat("PetProcentExp "..(pc.getqf("exp_"..mobVnum)/expprocent1[pc.getqf("petlevel_"..mobVnum)]).."")
pc.setqf("petguishow",1)
syschat("Dein Haustierfenster wurde geöffnet, du kannst es über den Button im Inventar wieder schließen!")
elseif pc.getqf("petruf") == 0 then
syschat("Du hast kein Haustier gerufen!")
end
end
end -- state
end -- quest
Son düzenleme:
- Durum
- Üzgünüz bu konu cevaplar için kapatılmıştır...
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 2
- Görüntüleme
- 60
