[Quest] 10 Kişilik vs turnuvası [İlk]

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 281

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Merhaba değerli turkmmo halkı;

Sizlerle bir quest paylaşmak istiyorum quest'i size anlatayım

- Herhangi bir oyuncu npc'den duello eventini başlatır genel'den notice geçer xxx kişisi duelloyu başlattı şeklinde diğer 10 kişi npc ye gelip duelloya ismini kayıt ettirir 10 kişi 2 dakika içerisinde tamamlarsa belirlenen kişiler sizin seçtiğiniz map'e ışınlanır ölen şehre gönderilir sona kalana ise ödül verilir (isteğe bağlı) duello 3 dakika içinde bitmezse otomatik şehre ışınlanırlar questteki buglar giderilmiştir örn: oyuncu ismini kayıt ettikten sonra oyundan çıkması gibi bu quest ONURCAN YALÇIN(JİN) tarafından yazılmıştır kendisinden ben satın aldım paylaşmak istedim umarım bir teşekkürü çok görmezsiniz.


Not: Detaylı biçimde anlatacağım herhangi msn özel mesaj gibi yerlerden yardımda bulunmayacağım.

Quest:
Kod:
quest duello begin   state start begin   when login  begin     if pc.get_map_index() == 191 then     cmdchat("duello 1 0")     if game.get_event_flag("duellohp_"..pc.get_name()) > pc.get_hp() then     affect . add_collect ( 10 , game.get_event_flag("duellohp_"..pc.get_name()) , 4 )     end     game.set_event_flag("katilim", game.get_event_flag("katilim")+1)     game.set_event_flag("derece_"..pc.get_name(), pc.get_real_alignment())     game.set_event_flag("duello_"..pc.get_name(), "1")     timer("sayac4", 2)     timer("sayac6",    180)     end   end   when logout begin     if pc.get_map_index() == 191 then         cmdchat("duello 0 1")         game.set_event_flag("duello_"..pc.get_name(), "0")         game.set_event_flag("katilim", game.get_event_flag("katilim")-1)         if  pc.get_real_alignment()!= game.get_event_flag("derece_"..pc.get_name()) then         pc.change_alignment(game.get_event_flag("derece_"..pc.get_name()))         end         if game.get_event_flag("katilim") == 0 and game.get_event_flag("katilim_1") == 0 then         game.set_event_flag("katilim_1","1")         game.set_event_flag("katilim", "0")         game.set_event_flag("duello_toplam", "0")         global_setvarchar("duello_name_1","")         global_setvarchar("duello_name_2","")         global_setvarchar("duello_name_3","")         global_setvarchar("duello_name_4","")         global_setvarchar("duello_name_5","")         global_setvarchar("duello_name_6","")         global_setvarchar("duello_name_7","")         global_setvarchar("duello_name_8","")         global_setvarchar("duello_name_9","")         global_setvarchar("duello_name_10","")         game.set_event_flag("duello_open", "1")         game.set_event_flag("duello_toplam_katilim","0")         cmdchat("duello 0 1")         end     end     end   when 20092.chat."Duello iptal et ve baslat" with pc.is_gm() begin     say("")     say("")     say("")     local b=select("Başlat.", "Reddet.")     if 1==b then         game.set_event_flag("katilim", "0")         game.set_event_flag("duello_toplam", "0")         game.set_event_flag("duello_toplam_katilim",0)         global_setvarchar("duello_name_1","")         global_setvarchar("duello_name_2","")         global_setvarchar("duello_name_3","")         global_setvarchar("duello_name_4","")         global_setvarchar("duello_name_5","")         global_setvarchar("duello_name_6","")         global_setvarchar("duello_name_7","")         global_setvarchar("duello_name_8","")         global_setvarchar("duello_name_9","")         global_setvarchar("duello_name_10","")         end         end   when 20092.chat."Duello baslatmak istiyorum." with game.get_event_flag("duello_open") == 1 begin     say("")     say("")     say("")     local b=select("Başlat.", "Reddet.")       if 1==b and game.get_event_flag("duello_open") == 1 then         game.set_event_flag("katilim_1","0")         game.set_event_flag("katilim", "0")         game.set_event_flag("duello_toplam", "0")         game.set_event_flag("duello_toplam_katilim","0")         global_setvarchar("duello_name_2","")         global_setvarchar("duello_name_3","")         global_setvarchar("duello_name_4","")         global_setvarchar("duello_name_5","")         global_setvarchar("duello_name_6","")         global_setvarchar("duello_name_7","")         global_setvarchar("duello_name_8","")         global_setvarchar("duello_name_9","")         global_setvarchar("duello_name_10","")         global_setvarchar("duello_name_1",pc.get_name())         game.set_event_flag("duello_toplam","1")         game.set_event_flag("duello_open", "0")         timer("sayac1", 3)         timer("sayac3", 120)         notice_all(pc.get_name().." kisisi duello eventini baslatti Elizabeth npcsinden katiliniz.")         chat("Duelloya katildin katilimci sayisi 10 oldugunda otomatik isinlanacaksin.")       end   end   when 20092.chat."Duelloya katilmak istiyorum." with game.get_event_flag("duello_open") == 0  begin     say("")     say("")     say("")     local b=select("Katil.", "Katilma.")       if 1==b then         if game.get_event_flag("duello_toplam") < 11 then         if global_getvarchar("duello_name_1") != pc.get_name() and global_getvarchar("duello_name_2") != pc.get_name() and global_getvarchar("duello_name_3") != pc.get_name() and global_getvarchar("duello_name_4") != pc.get_name() and global_getvarchar("duello_name_5") != pc.get_name() and global_getvarchar("duello_name_6") != pc.get_name() and global_getvarchar("duello_name_7") != pc.get_name() and global_getvarchar("duello_name_8") != pc.get_name() and global_getvarchar("duello_name_9") != pc.get_name() and global_getvarchar("duello_name_10") != pc.get_name() then         local d = game.get_event_flag("duello_toplam")         global_setvarchar("duello_name_"..d+1,pc.get_name())         game.set_event_flag("duello_toplam", d+1)         chat("Duelloya katildin katilimci sayisi 10 oldugunda otomatik isinlanacaksin.")         timer("sayac1", 3)         end         else         say("Katilimlar doldu baska sefere iyi oyunlar.")         end       end   end   when 20092.chat."Duello katilimcilari" with game.get_event_flag("duello_open") == 0 begin       say("Katilimci listesi:")       say("")       say("1. >>>> "..global_getvarchar("duello_name_1"))       say("2. >>>> "..global_getvarchar("duello_name_2"))       say("3. >>>> "..global_getvarchar("duello_name_3"))       say("4. >>>> "..global_getvarchar("duello_name_4"))       say("5. >>>> "..global_getvarchar("duello_name_5"))       say("6. >>>> "..global_getvarchar("duello_name_6"))       say("7. >>>> "..global_getvarchar("duello_name_7"))       say("8. >>>> "..global_getvarchar("duello_name_8"))       say("9. >>>> "..global_getvarchar("duello_name_9"))       say("10. >>>> "..global_getvarchar("duello_name_10"))       say("")   end   when sayac1.timer begin   if global_getvarchar("duello_name_1") == pc.get_name() and game.get_event_flag("duello_toplam") == 10 then       game.set_event_flag("duellohp_"..pc.get_name(),pc.get_hp())       pc.warp("741200","249200")   elseif global_getvarchar("duello_name_2") == pc.get_name() and game.get_event_flag("duello_toplam") == 10 then         game.set_event_flag("duellohp_"..pc.get_name(),pc.get_hp())       pc.warp("741200","249200")   elseif global_getvarchar("duello_name_3") == pc.get_name() and game.get_event_flag("duello_toplam") == 10 then         game.set_event_flag("duellohp_"..pc.get_name(),pc.get_hp())       pc.warp("741200","249200")   elseif global_getvarchar("duello_name_4") == pc.get_name() and game.get_event_flag("duello_toplam") == 10 then         game.set_event_flag("duellohp_"..pc.get_name(),pc.get_hp())       pc.warp("741200","249200")   elseif global_getvarchar("duello_name_5") == pc.get_name() and game.get_event_flag("duello_toplam") == 10 then         game.set_event_flag("duellohp_"..pc.get_name(),pc.get_hp())       pc.warp("741200","249200")   elseif global_getvarchar("duello_name_6") == pc.get_name() and game.get_event_flag("duello_toplam") == 10 then         game.set_event_flag("duellohp_"..pc.get_name(),pc.get_hp())       pc.warp("741200","249200")   elseif global_getvarchar("duello_name_7") == pc.get_name() and game.get_event_flag("duello_toplam") == 10 then         game.set_event_flag("duellohp_"..pc.get_name(),pc.get_hp())       pc.warp("741200","249200")   elseif global_getvarchar("duello_name_8") == pc.get_name() and game.get_event_flag("duello_toplam") == 10 then         game.set_event_flag("duellohp_"..pc.get_name(),pc.get_hp())       pc.warp("741200","249200")   elseif global_getvarchar("duello_name_9") == pc.get_name() and game.get_event_flag("duello_toplam") == 10 then         game.set_event_flag("duellohp_"..pc.get_name(),pc.get_hp())       pc.warp("741200","249200")   elseif global_getvarchar("duello_name_10") == pc.get_name() and game.get_event_flag("duello_toplam") == 10 then         game.set_event_flag("duellohp_"..pc.get_name(),pc.get_hp())       pc.warp("741200","249200")   end   if  game.get_event_flag("duello_toplam") == 10 then   game.set_event_flag("duello_toplam_katilim",1)   end   timer("sayac2", 3)   end   when sayac2.timer begin   if global_getvarchar("duello_name_1") == pc.get_name() and game.get_event_flag("duello_toplam") == 10 then       game.set_event_flag("duellohp_"..pc.get_name(),pc.get_hp())       pc.warp("741200","249200")   elseif global_getvarchar("duello_name_2") == pc.get_name() and game.get_event_flag("duello_toplam") == 10 then         game.set_event_flag("duellohp_"..pc.get_name(),pc.get_hp())       pc.warp("741200","249200")   elseif global_getvarchar("duello_name_3") == pc.get_name() and game.get_event_flag("duello_toplam") == 10 then         game.set_event_flag("duellohp_"..pc.get_name(),pc.get_hp())       pc.warp("741200","249200")   elseif global_getvarchar("duello_name_4") == pc.get_name() and game.get_event_flag("duello_toplam") == 10 then         game.set_event_flag("duellohp_"..pc.get_name(),pc.get_hp())       pc.warp("741200","249200")   elseif global_getvarchar("duello_name_5") == pc.get_name() and game.get_event_flag("duello_toplam") == 10 then         game.set_event_flag("duellohp_"..pc.get_name(),pc.get_hp())       pc.warp("741200","249200")   elseif global_getvarchar("duello_name_6") == pc.get_name() and game.get_event_flag("duello_toplam") == 10 then         game.set_event_flag("duellohp_"..pc.get_name(),pc.get_hp())       pc.warp("741200","249200")   elseif global_getvarchar("duello_name_7") == pc.get_name() and game.get_event_flag("duello_toplam") == 10 then         game.set_event_flag("duellohp_"..pc.get_name(),pc.get_hp())       pc.warp("741200","249200")   elseif global_getvarchar("duello_name_8") == pc.get_name() and game.get_event_flag("duello_toplam") == 10 then         game.set_event_flag("duellohp_"..pc.get_name(),pc.get_hp())       pc.warp("741200","249200")   elseif global_getvarchar("duello_name_9") == pc.get_name() and game.get_event_flag("duello_toplam") == 10 then         game.set_event_flag("duellohp_"..pc.get_name(),pc.get_hp())       pc.warp("741200","249200")   elseif global_getvarchar("duello_name_10") == pc.get_name() and game.get_event_flag("duello_toplam") == 10 then         game.set_event_flag("duellohp_"..pc.get_name(),pc.get_hp())       pc.warp("741200","249200")   end   if  game.get_event_flag("duello_toplam") == 10 then   game.set_event_flag("duello_toplam_katilim",1)   end   timer("sayac1", 3)   end   when sayac3.timer begin   if game.get_event_flag("duello_toplam") != 10 and game.get_event_flag("duello_toplam_katilim") == 0  then   game.set_event_flag("katilim", "0")   game.set_event_flag("duello_toplam_katilim",1)   game.set_event_flag("duello_toplam", "0")   global_setvarchar("duello_name_1","")   global_setvarchar("duello_name_2","")   global_setvarchar("duello_name_3","")   global_setvarchar("duello_name_4","")   global_setvarchar("duello_name_5","")   global_setvarchar("duello_name_6","")   global_setvarchar("duello_name_7","")   global_setvarchar("duello_name_8","")   global_setvarchar("duello_name_9","")   global_setvarchar("duello_name_10","")   game.set_event_flag("duello_open", "1")   end   end   when sayac4.timer begin   if  pc.get_map_index() == 191 then   if false == pc.is_dead() and game.get_event_flag("katilim") == 1 and game.get_event_flag("duello_"..pc.get_name()) == 1 then    game.set_event_flag("katilim_1",0)   game.set_event_flag("duello_"..pc.get_name(), "0")   if game.get_event_flag("item_ver") == 1 then     local d = game.get_event_flag("item_kodu1")     local c = game.get_event_flag("item_kodu2")     pc.give_item2(d,1)     pc.give_item2(c,1)     end     if pc.get_empire() == 1 then       pc.warp(469300,964200)     elseif pc.get_empire() == 2 then       pc.warp(55700,157900)     elseif pc.get_empire() == 3 then       pc.warp(969600,278400)     end   end   if true == pc.is_dead() then     cmdchat("duello 0 1")     if pc.get_empire() == 1 then       pc.warp(469300,964200)     elseif pc.get_empire() == 2 then       pc.warp(55700,157900)     elseif pc.get_empire() == 3 then       pc.warp(969600,278400)     end     game.set_event_flag("duello_"..pc.get_name(), "0")   end   timer("sayac5", 2)   end   end   when sayac5.timer begin   if  pc.get_map_index() == 191 then   if false == pc.is_dead() and game.get_event_flag("katilim") == 1 and game.get_event_flag("duello_"..pc.get_name()) == 1 then    game.set_event_flag("katilim_1",0)   game.set_event_flag("duello_"..pc.get_name(), "0")   if game.get_event_flag("item_ver") == 1 then     local d = game.get_event_flag("item_kodu1")     local c = game.get_event_flag("item_kodu2")     pc.give_item2(d,1)     pc.give_item2(c,1)     end     if pc.get_empire() == 1 then       pc.warp(469300,964200)     elseif pc.get_empire() == 2 then       pc.warp(55700,157900)     elseif pc.get_empire() == 3 then       pc.warp(969600,278400)     end   end   if true == pc.is_dead() then     cmdchat("duello 0 1")     if pc.get_empire() == 1 then       pc.warp(469300,964200)     elseif pc.get_empire() == 2 then       pc.warp(55700,157900)     elseif pc.get_empire() == 3 then       pc.warp(969600,278400)     end     game.set_event_flag("duello_"..pc.get_name(), "0")   end   timer("sayac4", 2)   end   end   when sayac6.timer begin   if  pc.get_map_index() == 191  and game.get_event_flag("katilim") != 1 then   game.set_event_flag("katilim_1",0)     if pc.get_empire() == 1 then       pc.warp(469300,964200)     elseif pc.get_empire() == 2 then       pc.warp(55700,157900)     elseif pc.get_empire() == 3 then       pc.warp(969600,278400)     end     end     end   end  end

questlib.lua'ya eklenecek kodlar
Kod:
function setvarchar(name, var)  local laenge = string.len (var)  local setchar = 0  local save_name = 0  local letter = 0  while laenge > setchar do   setchar = setchar + 1   letter = string.sub (var, setchar, setchar)   letter = string.byte(letter, 1)   save_name = ""..name.."_char_"..setchar..""   pc.setqf(save_name, letter)  end  local save_laenge=""..name.."laenge"  pc.setqf(save_laenge, laenge) end function getvarchar(name)  local save_laenge = ""..name.."laenge"  local laenge = pc.getqf(save_laenge)  local save_name = 0  local var = ""  local letter = 0  local getchar = 0  while laenge > getchar do   getchar = getchar + 1   save_name = ""..name.."_char_"..getchar..""   letter = pc.getqf(save_name)   if letter!=0 then    letter = string.char(letter)   else    letter = ""   end   var = ""..var..""..letter..""  end  return var end function delvarchar(name)  local save_laenge = ""..name.."laenge"  local laenge = pc.getqf(save_laenge)  local getchar = 0  while laenge > getchar do   getchar = getchar + 1   local save_name = ""..name.."_char_"..getchar..""   pc.delqf(save_name)  end  pc.delqf(save_laenge) end function global_setvarchar(name, var)  local laenge = string.len (var)  local setchar = 0  local save_name = 0  local letter = 0  while laenge > setchar do   setchar = setchar + 1   letter = string.sub (var, setchar, setchar)   letter = string.byte(letter)   if letter==91 or letter==93 then    letter=32   end   save_name = ""..name.."_char_"..setchar..""   game.set_event_flag(save_name, letter)  end  local save_laenge=""..name.."laenge"  game.set_event_flag(save_laenge, laenge) end function global_getvarchar(name)  local save_laenge = ""..name.."laenge"  local laenge = game.get_event_flag(save_laenge)  local save_name = 0  local var = ""  local letter = 0  local getchar = 0  while laenge > getchar do   getchar = getchar + 1   save_name = ""..name.."_char_"..getchar..""   letter = game.get_event_flag(save_name)   if letter!=0 then    letter = string.char(letter)   else    letter = ""   end   var = ""..var..""..letter..""  end  return var end


quest_functions'a eklenecek kod
Kod:
[COLOR=#000000]pc.is_dead[/COLOR]



Questi biraz inceleyin anlarsınız zaten..



Emeğe saygı arkadaşlar lütfen alıntı yapacaksanız alıntıdır diye yazın, Saygılar.















Metin2 Lobby'de Öne Çıkan Yeni Turnuva: 10 Kişilik Quest Turnuvası

Metin2 dünyasında quest sistemleri her zaman oyuncuların ilgisini çekmiş ve oyun içi deneyimi zenginleştirmiştir. Özellikle Metin2 quest geliştirme konusunda uzmanlaşmış geliştiriciler, oyun içi etkileşimi artırmak ve oyunculara yeni hedefler sunmak amacıyla çeşitli organizasyonlar düzenlemektedir. Bu bağlamda, Metin2Lobby.com olarak sizlere sunduğumuz 10 Kişilik Quest Turnuvası ile birlikte, Metin2 quest sistemlerinin sınırlarını zorlayan yeni bir rekabet ortamı yaratıyoruz.

Turnuvanın Amacı ve Formatı

Bu turnuva, Metin2 sunucularında çalışan quest sistemlerinin test edilmesi, geliştirilmesi ve en önemlisi de rekabetçi bir atmosferde değerlendirilmesi için tasarlanmıştır. Her turnuvada 10 farklı oyuncu ya da geliştirici, kendi geliştirdikleri özel quest sistemlerini veya mevcut sistemleri optimize ederek turnuvaya katılmaktadır. Katılımcılar, lua quest sistemleri, quest chain yapıları, quest trigger mantıkları gibi konularda yarışmaktadır.

Turnuva Kuralları

Her turnuvada katılımcılar, kendi quest sistemlerini test sunucusuna yüklemeli ve belirlenen süre zarfında sistemlerinin çalışır durumda olduğundan emin olmalıdır. Sistemler, hem teknik açıdan hem de kullanıcı dostu olarak değerlendirilecektir. Metin2 quest debug ve quest error gibi hata ayıklama süreçleri turnuvanın önemli adımlarındandır. Oyuncuların_quest_trigger_olarak etkileşime girebildiği, quest timer[/BR]
Ödüller ve Kazananlar

Turnuvayı kazanan oyunculara özel ödüller verilmektedir. Bu ödüller; Metin2 sunucularında kullanılabilecek özel quest itemler, quest reward bonusları, custom quest[/BR]
Gelecek Turnuvalar

Yaklaşan turnuvalarda daha fazla katılımcıyla, daha karmaşık quest state yapılarıyla ve daha yüksek seviye quest development becerileriyle karşılaşmamız muhtemeldir. Metin2Lobby olarak,.quest_chain_sistemleri, daily quest entegrasyonları ve martysama quest gibi gelişmiş modelleri destekleyen yeni turnuva formatları planlamaktayız. Her turnuva,.quest_dev_konusunda yeni bir adım atılmasını sağlayacaktır.


New Tournament on Metin2 Lobby: 10 Player Quest Tournament

Metin2 quest systems have always captured players' interest and enriched the gaming experience. Particularly developers specialized in Metin2 quest development create various events to enhance in-game interaction and provide new goals for players. In this context, with our Metin2Lobby.com, we are introducing a new competitive environment through the 10 Player Quest Tournament, pushing the limits of Metin2 quest systems.

Purpose and Format of the Tournament

This tournament is designed to test, develop, and evaluate Metin2 quest systems in a competitive environment. Each tournament features 10 different players or developers who participate by uploading their custom quest systems or optimized versions. Participants compete in areas such as lua quest systems, quest chain structures, and quest trigger logic.

Tournament Rules

Participants must upload their quest systems to the test server and ensure that they function properly within the given time frame. Systems will be evaluated both technically and based on user-friendliness. Metin2 quest debug and quest error processes are crucial parts of the tournament. Players interact via _quest_trigger_, and systems with effective quest timer[/BR]
Rewards and Winners

Winners of the tournament receive special rewards including exclusive Metin2 items usable on servers, quest reward bonuses, custom quest[/BR]
Future Tournaments

Upcoming tournaments are expected to feature more participants, complex quest state structures, and advanced quest development skills. At Metin2Lobby, we are planning new tournament formats that support quest_chain systems, daily quest integrations, and advanced models like martysama quest. Each tournament will take a new step in _quest_dev_.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Benzer konular

Geri
Üst Alt