[Quest] Otomatik Eşya Drobu

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Kod:
function start_drop_event()     local time = os.date("*t")     if time.wday == 2 and time.hour == 20 then -- Haftada bir Pazartesi günü saat 20:00'da başlar         notice_all("Eşya düşürme eventi başladı! Bol şans!")         game.drop_item(50001, 1, 2) -- Düşürülecek eşyanın vnum'u 50001, 1 adet düşürülecek, metin taşı içinde düşürülecek yerlerin numaraları 2 olarak düşünülmüştür, değiştirebilirsiniz.         game.drop_item(50002, 1, 2) -- Başka bir eşya düşürmek isterseniz, buraya yeni bir game.drop_item satırı ekleyebilirsiniz.         game.drop_item(50003, 1, 2)         game.drop_item(50004, 1, 2)         game.drop_item(50005, 1, 2)         sleep(3600000) -- 1 saat boyunca devam eder         notice_all("Eşya düşürme eventi sona erdi. Teşekkürler!")     end end function at_server_startup()     local time = os.date("*t")     if time.wday == 2 and time.hour >= 20 then -- Eğer server Pazartesi günü saat 20:00'dan sonra açılırsa, event hemen başlar         start_drop_event()     end end function at_login()     start_drop_event() -- Bir oyuncu giriş yaptığında da eventi başlatır tetikler end

Kodların açıklaması :

  • <li data-xf-list-type="ul">start_drop_event() fonksiyonu, eşya düşürme eventini başlatmak için kullanılır. Bu fonksiyon, belirli bir zaman diliminde çalıştırılacaktır. <li data-xf-list-type="ul">os.date("*t") fonksiyonu, sistem saatini alır ve bir tablo olarak geri döndürür. Bu tablo, yıl, ay, gün, saat, dakika, saniye, haftanın günü vb. bilgileri içerir. <li data-xf-list-type="ul">if time.wday == 2 and time.hour == 20 then koşulu, eğer sistem saati Pazartesi günü ise ve saat 20:00 ise, eşya düşürme eventinin başlatılacağını belirtir. <li data-xf-list-type="ul">notice_all() fonksiyonu, tüm oyunculara oyun içi bir duyuru mesajı gönderir. Bu mesaj, eşya düşürme eventinin başladığını belirtecektir. <li data-xf-list-type="ul">game.drop_item() fonksiyonu, belirtilen vnum'a sahip bir eşyayı, belirtilen adette, belirtilen metin taşı içindeki yerlerden birine düşürür. Bu kodda, eşyaların vnum'ları, adetleri ve düşürülecek metin taşı yerlerinin numaraları belirtilmiştir. Bu kodda, örnek olarak 5 farklı eşya düşürülmesi sağlanmıştır. <li data-xf-list-type="ul">sleep() fonksiyonu, belirtilen süre boyunca programın çalışmasını durdurur. Bu kodda, 1 saat boyunca eşya düşürme eventi devam edecektir. <li data-xf-list-type="ul">notice_all() fonksiyonu, eşya düşürme eventinin bittiğini belirten bir oyun içi mesaj gönderir. Duyuru chatte

Metin2 Otomatik Eşya Drobu Quest Sistemi

Metin2 sunucularında quest sistemleri, oyuncuların oyun içindeki ilerlemesini yönlendiren ve deneyimi zenginleştiren önemli unsurlardır.

Otomatik Eşya Drobu quest sistemi ise, oyuncuların belirli görevleri tamamlaması sonucu otomatik olarak ödüller almasını sağlayan gelişmiş bir mekanizmadır. Bu sistem, hem oyun dengesini korumak hem de oyuncuların aktif kalmasını sağlamak adına kritik rol oynar.

Quest Nedir?

Quest, Metin2'de oyuncuların gerçekleştirmesi gereken görevleri tanımlar. Bu görevler genellikle NPC'ler üzerinden başlatılır ve belirli adımlarla tamamlanır. Görevler, harita üzerindeki düşmanları öldürmek, eşya toplamak veya belirli konumlara gitmek gibi çeşitli etkinlikleri kapsayabilir.

Otomatik Eşya Drobu Nasıl Çalışır?

Bu sistem, oyuncunun questi başarıyla tamamlaması durumunda, önceden tanımlanmış eşyaların doğrudan envanterine düşmesini sağlar. Bu işlem genellikle Lua betikleri ile yönetilir. Lua scriptleri, quest'in başlaması, devam etmesi ve bitmesi aşamalarında çalışır.

Quest Script Yapısı

Metin2 quest sistemlerinde Lua dili kullanılır. Bu betiklerde, quest adı, trigger (tetikleyici), state (durum) ve reward (ödül) gibi bileşenler yer alır. Örneğin bir quest begin bloğu, görevin başlatılmasını sağlarken, quest end bloğu ise görevin bitimini kontrol eder.

Quest Dosyası Oluşturma

Yeni bir quest oluşturmak için quest dosyası oluşturulmalıdır. Bu dosya genellikle server_data/quest/ dizininde yer alır. Dosya adı, quest ismiyle aynı olmalıdır. Quest dosyası içeriğinde, state machine yapısı kullanılır ve her durumda farklı işlemler tanımlanabilir.

Eşya Droplama Mekanizması

Quest tamamlandığında eşyanın otomatik düşmesi için, game.drop_item(item_vnum) fonksiyonu kullanılabilir. Bu fonksiyon, oyuncunun konumuna belirtilen eşyayı bırakır veya doğrudan envanterine ekler. Ayrıca, pc.give_item2 komutu ile doğrudan envanterine eşya eklenebilir.

Quest Debugging

Quest geliştirme sürecinde hatalarla karşılaşılabilir. Bu durumlarda quest debug işlemleri yapılmalıdır. Hatalar genellikle syntax hatası, eksik trigger ya da yanlış state tanımları şeklindedir. Log dosyaları incelenerek hata ayıklama yapılabilir.

Günlük Quest Sistemleri

Daily quest sistemleri, oyuncuların her gün giriş yaparak yapabileceği görevlerdir. Bu görevler, genellikle daha küçük ödüller içerir ancak oyuncunun aktif kalmasını sağlar. Otomatik eşya dropları bu sistemde sıkça tercih edilir.

Zincirleme Questler

Bazı questler, birbirine bağlıdır ve zincirleme ilerler. Bu tür questlerde, önceki görevin tamamlanması sonraki görevin açılmasını sağlar. Bu yapı, oyuncuların daha fazla içeriği keşfetmesini sağlar.

Özet

Metin2'de otomatik eşya drobu içeren quest sistemleri, oyuncu deneyimini artırmak ve sunucu sadakatini güçlendirmek için güçlü araçlardır. Doğru yapılandırıldığında, hem oyun dengesi korunur hem de oyuncular için sürükleyici bir yapı sağlanır.


Metin2 Automatic Item Drop Quest System

In Metin2 servers, quest systems are important elements that guide player progression within the game and enrich their experience.

Automatic Item Drop quest system allows players to automatically receive rewards upon completing specific tasks. This system plays a critical role in maintaining game balance and keeping players engaged.

What is a Quest?

Quest defines tasks that players must complete in Metin2. These quests usually start via NPCs and are completed through various steps. They may involve activities such as killing monsters on the map, collecting items, or traveling to specific locations.

How Does Automatic Item Drop Work?

This system ensures that upon successful completion of a quest, predefined items will automatically drop into the player’s inventory. This process is typically managed by Lua scripts. These scripts operate during the quest start, progress, and end phases.

Quest Script Structure

In Metin2 quest systems, the Lua language is used. In these scripts, components like quest name, trigger, state, and reward are present. For example, a quest begin block initiates the quest, while a quest end block controls its completion.

Creating a Quest File

To create a new quest, a quest file must be created. This file is generally located under server_data/quest/. The file name should match the quest name. Within the file, a state machine structure is used, and different operations can be defined for each state.

Item Drop Mechanism

To ensure an item drops automatically when a quest is completed, the function game.drop_item(item_vnum) can be used. This function places the specified item at the player’s location or directly adds it to their inventory. Alternatively, the command pc.give_item2 can be used to add items directly to the inventory.

Quest Debugging

During the development of quests, errors may occur. In such cases, quest debug procedures must be performed. Errors are often due to syntax errors, missing triggers, or incorrect state definitions. Error logs can be reviewed to perform debugging.

Daily Quest Systems

Daily quests are tasks that players can do every day upon logging in. These quests usually contain smaller rewards but help keep players active. Automatic item drops are frequently preferred in these systems.

Chained Quests

Some quests are linked and proceed in sequence. In such quests, completing one task opens up the next. This structure encourages players to explore more content.

Summary

In Metin2, quest systems with automatic item drop are powerful tools for enhancing player experience and strengthening server loyalty. When configured correctly, they maintain game balance while providing an engaging structure for players.
 

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

Benzer konular

Geri
Üst Alt