Piyasa Kontrol Quest

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0

Bir zamanlar server için çok eskiden kodladığım bir quest. İşine yarayacaklar olacaktır diye düşünerek paylaşıyorum.

🔎 Çalışma Mantığı​

1. GM Paneli (20020 NPC üzerinden)​

  • <li data-xf-list-type="ul">GM oyuna girip “GM:piyasa Kontrol” seçeneğini açarsa:
    • <li data-xf-list-type="ul">Eğer sistem kapalıysa:
      • <li data-xf-list-type="ul">GM’den item vnum (örneğin 299), yang fiyatı ve kaç dakika aktif kalacağı bilgisi istenir. <li data-xf-list-type="ul">Bu bilgiler girildikten sonra game.set_event_flag ile sistem açılır. <li data-xf-list-type="ul">Tüm oyunculara notice_all ile duyuru yapılır: item adı, fiyatı ve süresi.
      <li data-xf-list-type="ul">Eğer sistem zaten açıksa:
      • <li data-xf-list-type="ul">GM’e “Sistem açık” mesajı gösterilir. <li data-xf-list-type="ul">İsterse kapatabilir (piyasa_acik = 0).

2. Oyuncu Paneli (20020 NPC üzerinden)​

  • <li data-xf-list-type="ul">Oyuncu “Piyasa Kontrol” seçeneğini açarsa ve sistem aktifse:
    • <li data-xf-list-type="ul">Oyuncuya item adı ve alış fiyatı gösterilir. <li data-xf-list-type="ul">Eğer oyuncu “Evet” derse:
      • <li data-xf-list-type="ul">Envanterinde o item var mı kontrol edilir. <li data-xf-list-type="ul">Varsa → item 1 adet silinir (pc.remove_item) ve oyuncuya belirlenen yang eklenir (pc.change_gold). <li data-xf-list-type="ul">Eğer süre bitmişse (item_time &lt; get_time()), sistem otomatik kapanır ve notice_all ile duyurulur.
      <li data-xf-list-type="ul">Eğer item yoksa → “Envanterinde bulunamadı” mesajı çıkar.

3. Login Event​

  • <li data-xf-list-type="ul">Oyuncu oyuna girdiğinde sistem açıksa:
    • <li data-xf-list-type="ul">Ona özel notice çıkar: “Piyasa Kontrol Sistemi Aktif!” <li data-xf-list-type="ul">Item adı ve fiyatı gösterilir.

📊 Özet​

  • <li data-xf-list-type="ul">Amaç: GM’in belirlediği itemi, belirlenen fiyattan oyuncuların NPC’ye satabilmesini sağlamak. <li data-xf-list-type="ul">Mantık:
    • <li data-xf-list-type="ul">GM açıyor → item, fiyat ve süre belirliyor. <li data-xf-list-type="ul">Oyuncular NPC’ye gidip itemi satıyor → karşılığında yang alıyor. <li data-xf-list-type="ul">Süre bitince sistem otomatik kapanıyor.


      Kod:
      state start begin         when 20020.chat."GM:Piyasa Kontrol " with pc.is_gm() begin             if game.get_event_flag("piyasa_acik") == 0 then                 say(" Merhaba  "..pc.get_name().." ")                 say("Sistem Durumu: |cffff9999Kapalı!")                 say(" Piyasa Kontrol Açılsın mı ? ")                 if select(" Evet "," Hayır ") == 2 then                     return                 end                 say(" Piyasa Kontrol İçin İtem Vnum(Örn: 299) ")                 piyasa_itemi = tonumber(input()) or nil                 if piyasa_itemi == 0 then                     syschat(" Geçersiz İtem Kodu Belirttiniz.")                     return                 end                 say(" Piyasa Kontrol İçin Yang Giriniz. ")                 piyasa_yang = tonumber(input()) or nil                 if piyasa_yang == 0 then                     say(" Geçersiz Bir Yang Belirttiniz ")                     return                 end                 say(" Ne kadar Süre Aktif Kalıcak? ( Dakika ) ")                 piyasa_dakika = tonumber(input()) or nil                 if piyasa_dakika == 0 then                     syschat(" Geçersiz Bir Süre Belirttiniz.")                     return                 end                 game.set_event_flag("item_time", get_time()+piyasa_dakika*60)                 game.set_event_flag("piyasa_acik", 1)                 notice_all(" Piyasa Kontrol Açıldı! ")                 notice_all(" Piyasa Kontrol İtemi : |cffff9999"..item_name(piyasa_itemi).." ")                 notice_all("İtem'in Alış-Satış Fiyatı:|cffff9999 "..piyasa_yang.." Yang")                 notice_all(" Etkinlik Süresi : "..piyasa_dakika.." Dakika")             else                 say("Sistem Durumu:|cff07eb96Açık!")                 say(" Piyasa Kontrol Sistemini Kapatmak istiyor musun ? ")                 if select(" Evet ", " Hayır ")==2 then return end                 game.set_event_flag("piyasa_acik", 0)                 piyasa_itemi = nil                 notice_all(" Piyasa Kontrol Sistemi Kapatıldı! ")             end  end         when 20020.chat."Piyasa Kontrol" with game.get_event_flag("piyasa_acik") == 1 and not npc.is_pc() begin            say(" Merhaba, "..pc.get_name().." ")            say("Piyasa Kontrol Altına almak için buradayım.")            say("İşleme Devam etmek istiyor musunuz ?")            say("Şuan Piyasa Kontrol Listesindeki İtemler;")            say("|cff07eb96 İtem Adı:|cffff9999"..item_name(piyasa_itemi).."")            say("|cff07eb96 Alış Fiyati:|cffff9999"..piyasa_yang.." Yang")            local secimyap = select("Evet","Kapat")             if secimyap == 1 then                 if pc.count_item(piyasa_itemi) &lt; 1 then                 say(""..pc.get_name()..", Envanterinde")                 say("|cffff9999"..item_name(piyasa_itemi).."|ccccc1459 Bulunamadı. ")                 else                  pc.change_gold(piyasa_yang)                  pc.remove_item(piyasa_itemi,1)             if game.get_event_flag("item_time") &lt; get_time() then                 notice_all(" Piyasa Kontrol Sistemi Kapatıldı! ")                 game.set_event_flag("piyasa_acik", 0)                 return             end                 end         end         end         when login with game.get_event_flag("piyasa_acik") == 1 begin             notice(" Piyasa Kontrol Sistemi Aktif! ")             notice(" Piyasa Kontrol İtemi : |cffff9999 "..item_name(piyasa_itemi).." ")         end     end

Piyasa Kontrol Quest
Metin2 Lobby olarak, Metin2 sunucularında quest sistemleri üzerine uzun süredir araştırmalar yapmaktayız. Bu bağlamda, oyuncuların oyun içi deneyimlerini artıran, aynı zamanda sunucu yöneticilerinin ekonomik dengeleri kontrol edebilmesini sağlayan Piyasa Kontrol Quest kavramı oldukça önemlidir. Bu yazıda, Metin2 özelinde piyasa üzerinde etkili olan quest sistemlerinden bahsedecek, nasıl daha etkin bir quest geliştirme yapılabileceğini inceleyeceğiz.

Piyasa Kontrolü Nedir?
Metin2 sunucularında piyasa kontrolü, oyun içi item ve para akışının dengeli bir şekilde yönetilmesini ifade eder. Oyuncuların questlerden elde ettiği ödüller, düşmanlardan kazandıkları ganimetler ve satın aldıkları ürünler doğrudan piyasa üzerinde etkilidir. Eğer bu süreçler kontrolsüz bırakılırsa, ekonomik bozulmalar meydana gelebilir. Bu durumda, sunucu uzun vadede sürdürülemez hale gelir.

Quest Sistemi ile Piyasa Kontrolü
Metin2 quest sistemleri, oyuncuların oyun içi aktivitelerini yönlendirmenin yanı sıra, item ve para döngüsünü kontrol etmede de kullanılır. Özellikle daily quest gibi tekrarlayan görevler, oyunculara düzenli ödüller vererek ekonomik dengenin korunmasına yardımcı olabilir. Ancak bu questlerin tasarımı oldukça kritiktir. Yanlış bir quest reward veya item miktarı, piyasayı bozabilir.

Quest Script Yazımı ve Lua Kullanımı
Metin2 quest sistemleri genellikle Lua programlama dili kullanılarak yazılır. Metin2 lua scriptleri, questlerin davranışlarını tanımlar. Örneğin, bir questin başlaması (quest begin), ilerlemesi (quest state), tamamlanması (quest end) gibi süreçler bu scriptler üzerinden yönetilir. Quest trigger[/COORD] sistemleri, belirli bir eylem gerçekleştiğinde questin aktif hale gelmesini sağlar. Ayrıca quest timer kullanarak, questlerin zamanla ilişkili çalışmasını da sağlayabilirsiniz. Bu sayede örneğin günlük görevler belirlenen saatte yenilenir.

Piyasa Etkileyen Quest Parametreleri
Bir questin piyasa üzerindeki etkisi birkaç parametreye bağlıdır:
- Quest Reward: Oyuncuya verilen ödül miktarı ve türü doğrudan piyasayı etkiler.
- Quest Item: Belirli itemların quest ödülü olarak verilmesi, o itemin piyasadaki değerini düşürebilir.
- Quest Chain: Zincirleme görevler, uzun vadeli etkiler yaratabilir. Bu nedenle dikkatli planlanmalıdır.
- Quest Mob & NPC[/COORD]: Görevde kullanılacak düşmanlar ve karakterlerin verimli tasarımı, ekonomik dengenin sağlanması için önemlidir.

Hata Ayıklama ve Debugging
Quest sistemlerinde hatalar meydana geldiğinde, hem oyuncuların deneyimi olumsuz etkilenir hem de piyasa dengesi bozulabilir. Bu nedenle quest debug işlemleri önemlidir. Metin2 quest hata tespiti için log dosyaları incelenmeli, quest flag[/COORD] sistemleri kontrol edilmelidir. Doğru debugging ile.quest sistemlerinin daha kararlı ve güvenilir çalışması sağlanabilir.

Özel ve Geliştirilmiş Questler
Sunucunuzda piyasa kontrolü için özel questler yazmak, diğer sunuculardan farklılaşmanızı sağlar. Custom quest geliştirme, sunucu sahipleri için rekabet avantajı yaratır. Metin2dev quest[/COORD] gibi platformlar, geliştiricilere örnek scriptler sunar. Martysama quest[/COORD] gibi scriptler ise, profesyonel düzeyde görev sistemleri kurmak isteyenler için idealdir. Metin2 quest edit[/COORD] yaparak, mevcut sistemleri ihtiyaçlarınıza göre uyarlayabilirsiniz.

Sonuç
Metin2 dünyasında piyasa kontrolü[/COORD] yapmak, sadece teknik bilgi değil aynı zamanda stratejik düşünme gerektirir. Piyasa Kontrol Quest[/COORD] sistemi, doğru tasarlandığında hem oyuncu memnuniyetini artırır hem de sunucunuzun uzun vadeli sürdürülebilirliğini sağlar. Metin2 Lobby[/COORD] olarak, bu konuda size yardımcı olabilecek kaynaklara her zaman ulaşabilirsiniz.


Market Control Quest
As Metin2 Lobby, we have been researching quest systems on Metin2 servers for a long time. Within this scope, the concept of Market Control Quest, which enhances player experiences within the game and allows server administrators to control economic balances, is very important. In this article, we will talk about quest systems that affect the market in Metin2 and examine how more effective quest development can be achieved.

What is Market Control?
Market control in Metin2 servers refers to managing the in-game flow of items and money in a balanced way. Items obtained by players from quests, rewards from enemies, and purchased goods directly impact the market. If these processes are left uncontrolled, economic disruptions can occur. In such a case, the server becomes unsustainable in the long run.

Market Control with Quest Systems
Metin2 quest systems not only guide player activities within the game but also help control the item and money circulation. Especially daily quests, provide regular rewards to players, helping maintain economic balance. However, the design of these quests is critical. Incorrect quest rewards or item amounts can disrupt the market.

Writing Quest Scripts and Using Lua
Metin2 quest systems are generally written using the Lua programming language. Metin2 lua scripts define the behavior of quests. For example, the start of a quest (quest begin), its progress (quest state), and completion (quest end) are managed through these scripts. Quest trigger systems activate quests upon certain actions. Additionally, using quest timer, you can ensure quests function based on time, such as daily quests resetting at set hours.

Quest Parameters Influencing the Market
The effect of a quest on the market depends on several parameters:
- Quest Reward: The amount and type of reward given to the player directly affects the market.
- Quest Item: Giving specific items as quest rewards can lower their market value.
- Quest Chain: Sequential quests may have long-term effects, thus requiring careful planning.
- Quest Mob & NPC: Efficient design of enemies and characters used in quests is crucial for maintaining economic balance.

Debugging and Error Correction
When errors occur in quest systems, both player experience and market balance can be negatively affected. Therefore, quest debug operations are essential. Examining log files and checking quest flags helps detect Metin2 quest errors. Proper debugging ensures that quest systems operate reliably and stably.

Custom and Enhanced Quests
Writing custom quests for market control on your server helps differentiate from other servers. Developing custom quests creates competitive advantages for server owners. Platforms like Metin2dev quest offer sample scripts to developers. Scripts like Martysama quest are ideal for those looking to implement professional-level quest systems. By editing Metin2 quests, you can customize existing systems according to your needs.

Conclusion
Controlling the market in the world of Metin2 requires not only technical knowledge but also strategic thinking. When properly designed, the Market Control Quest system increases player satisfaction and ensures the long-term sustainability of your server. At Metin2 Lobby, you can always access resources that assist you in this area.
 

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

Geri
Üst Alt