Metin2 Event Flag Kodları: Etkinlik Açma, Kapatma ve Drop Ayarları

🟢 Konu yazarı şu anda aktif
Metin2 Event-Flag-Kodex.png

Metin2 PvP sunucularında etkinlik açmak veya kapatmak için her zaman ayrı bir quest hazırlamak gerekmiyor. Sunucu dosyalarında tanımlı event flag kodları sayesinde Okey, Ayışığı, yılbaşı ve benzeri etkinlikleri GM komutlarıyla yönetmek mümkün.

Event flag sistemi yalnızca etkinliklerden ibaret değil. EXP, Yang, eşya düşürme oranları ve çeşitli oyun ayarları da aynı yöntemle değiştirilebiliyor.

Ancak her kod bütün server files sürümlerinde çalışmaz. Kullanılan game source ve quest yapısına göre flag isimleri ve görevleri farklı olabilir.

Metin2 Event Flag Nedir?

Event flag, sunucu genelinde kullanılan bir ayar değeridir. Quest dosyaları ve oyun sunucusu bu değerleri okuyarak ilgili işlemleri gerçekleştirir.

Örneğin bir etkinliğin açık olup olmadığını belirlemek için 0 ve 1 değerleri kullanılabilir.

  • 0: Kapalı
  • 1: Açık

Sayısal değer kullanan flaglarda ise 100, 200 veya 50 gibi değerler kullanılabilir. Bunların ne anlama geldiği ilgili flagın çalışma mantığına bağlıdır.

Event Flag Komutları Nasıl Kullanılır?

GM yetkisine sahip karakterle oyun içinde şu komutu kullanabilirsiniz:

Kod:
/e cards_event 1

Bu komut, ilgili sistem destekleniyorsa Okey etkinliğini aktif eder.

Kapatmak için:

Kod:
/e cards_event 0

Değiştirilmiş event flag değerlerini görüntülemek için eski sunucu yapılarında şu komut kullanılabilir:

Kod:
/get

Not: /get komutunun bulunması ve hangi değerleri listelediği game source sürümüne bağlıdır.

Metin2 Etkinlik Açma ve Kapatma Kodları

Aşağıdaki kodlar klasik Metin2 sunucu dosyalarında karşılaşılan event flag isimleridir.

Okey Etkinliği
Kod:
/e cards_event 1
/e cards_event 0

Ayışığı Sandığı
Kod:
/e drop_moon 1
/e drop_moon 0

Bulmaca Kutusu
Kod:
/e kids_day_quiz 1
/e kids_day_quiz 0

Bulmaca kutusu düşürme oranlarında şu flaglar kullanılabilir:

Kod:
kids_day_drop
kids_day_drop_high

İlk değer düşük seviyeler, ikincisi yüksek seviyeler için tanımlanmış olabilir. Kesin oran hesabı source kodundan kontrol edilmelidir.

Futbol Topu Etkinliği
Kod:
/e futboltopu 1
/e futboltopu 0

Farklı dosyalarda football_drop isimli flag da bulunabilir. İki kodun aynı işlevi gördüğü varsayılmamalıdır.

Paskalya Etkinliği
Kod:
easter_drop

Paskalya eşyalarının düşürülmesiyle ilgili kullanılan eski bir flagdır. Değerinin nasıl yorumlandığı ilgili source koduna bağlıdır.

Cadılar Bayramı
Kod:
halloween_drop

Cadılar Bayramı eşya düşürme sistemiyle ilişkilidir.

Ramazan Etkinliği
Kod:
ramadan_drop

Ramazan etkinliği eşya düşürme ayarlarında kullanılabilir.

Sevgililer Günü
Kod:
valentine_drop

Çikolata ve gül gibi etkinlik eşyalarıyla ilişkilidir.

Beyaz Gün Etkinliği
Kod:
whiteday_drop

Eski sunucu dosyalarında Beyaz Gün eşyalarının düşürülmesi için kullanılır.

Önemli: Bir event flagın 1 değerine ayarlanması, ilgili etkinliğin mutlaka çalışacağı anlamına gelmez. Quest, drop tanımı ve sunucu desteği de bulunmalıdır.

Yılbaşı Event Flag Kodları

Metin2'de yılbaşıyla ilgili birden fazla flag bulunur.

Kod:
xmas_snow
xmas_song
xmas_sock
xmas_tree
xmas_boom
new_xmas_event

xmas_snow: Kar yağışı efektini yönetir.

xmas_song: Yılbaşı müziğiyle ilişkilidir.

xmas_sock: Yılbaşı çorabı düşürme ayarlarında kullanılır.

xmas_tree: Yılbaşı ağacının görünümünü belirleyen değerlerle ilişkilidir. Eski yapılarda 0-3 değerleri kullanılır.

xmas_boom: Havai fişek ve gece efektiyle ilişkilidir.

new_xmas_event: Yılbaşı ağacının oluşturulmasında kullanılabilir.

Örnek:

Kod:
/e xmas_snow 1

Kar yağışını kapatmak için:

Kod:
/e xmas_snow 0

Bu işlemlerin istemci tarafındaki görsel dosyalarla da uyumlu olması gerekir.

Metin2 EXP, Yang ve Drop Oranı Kodları

Event flagların en çok kullanıldığı alanlardan biri de sunucu oranlarıdır.

EXP oranı
Kod:
mob_exp
mob_exp_buyer

Eşya düşürme oranı
Kod:
mob_item
mob_item_buyer

Yang oranı
Kod:
mob_gold
mob_gold_buyer

Çoklu Yang düşürme
Kod:
mob_gold_pct
mob_gold_pct_buyer

Canavar hasarı
Kod:
mob_dam

Eski game source yapılarında bu değerlerin bir kısmı 100 tabanlı çarpan olarak yorumlanır.

Örneğin:

Kod:
/e mob_exp 200

İlgili sistem 100 değerini normal oran kabul ediyorsa 200 değeri iki katına karşılık gelebilir.

Ancak bu hesap bütün sunucu dosyalarında aynı değildir. Özellikle buyer uzantılı flagların hangi oyuncu gruplarına uygulandığı source üzerinden kontrol edilmelidir.

Drop oranı ile düşme ihtimali aynı şey değildir.

Bazı flaglarda verilen değer doğrudan çarpan değil, olasılık hesabında kullanılan bölen olabilir. Bu nedenle her drop koduna 200 yazmak iki kat drop anlamına gelmez.

Diğer Kullanışlı Event Flaglar

At Beceri Kitabı
Kod:
horse_skill_book_drop
At beceri kitabı düşürme ayarıyla ilişkilidir.

Ruh Taşı
Kod:
three_skill_item
Ruh taşı düşürme sistemiyle ilişkilidir.

Kan Taşı
Kod:
hc_drop
Kan taşı düşürme oranını etkileyebilir.

Büyülü Bakır
Kod:
mars_drop
Büyülü Bakır düşürme sistemiyle ilişkilidir.

Lonca bekleme süreleri
Kod:
guild_disband_delay
guild_withdraw_delay
Lonca ayrılma ve çıkarılma sonrasındaki bekleme kurallarıyla ilişkilidir.

Arena iksir sınırı
Kod:
arena_potion_limit
arena_potion_limit_count
Arena içerisindeki iksir kullanım sınırları için kullanılabilir.

Yang düşürme aralığı
Kod:
gold_drop_limit_time
Yang düşürme işlemleri arasındaki zaman kontrolüyle ilişkilidir.

Kişisel pazar vergisi
Kod:
personal_shop
Eski sunucu yapılarında pazar vergisi ayarı için kullanılır.

Üç Yol Savaşı Event Flagları

Üç Yol Savaşı sistemiyle ilgili şu flaglar bulunabilir:

Kod:
threeway_war_boss_count
threeway_war_pass_idx
threeway_war_sungzi_idx
threeway_war_choice
threeway_war_kill_count
threeway_war_dead_count

threeway_war_boss_count etkinlikte oluşturulacak boss sayısıyla ilişkilidir.

Harita indekslerini belirleyen pass_idx ve sungzi_idx değerleri ise doğrudan değiştirilmemelidir.

Uyarı: Yanlış harita indeksi kullanılması Üç Yol Savaşı sisteminin çalışmasını bozabilir. Önce harita tanımlarını ve ilgili quest dosyalarını kontrol edin.

Diğer Event Flag İsimleri

Eski Metin2 source ve quest dosyalarında aşağıdaki isimlerle de karşılaşılabilir:

Kod:
fish_miss_pct
gold_trade_cycle
gold_trade_enable
japan_regen
medal_part_drop
user_dam
user_dam_buyer
pre_event_hc
refine_box
refine_box_drop
refine_box_low
refine_box_mid
refine_box_high
drop_char_stone
drop_char_stone.level_range
dropevent.drop_char_stone
drop_char_stone.percent_lv01_10
drop_char_stone.percent_lv11_30
drop_char_stone.percent_lv31_MX
spawn_block_log
xmas_santa
manwoo
fishevent
poly
update_refine_time

Bu flagların tamamı için doğrulanmış, ortak bir çalışma biçimi bulunmuyor. İsimlerinden hareketle kesin değerler vermek doğru olmaz.

Event Açılıyor Ama Eşya Düşmüyorsa

Özellikle özel sunucularda karşılaşılan sorunlardan biri, etkinliğin açık görünmesine rağmen eşya düşmemesidir.

Kontrol edilmesi gerekenler:

  1. Event flag isminin quest ve game source içerisinde gerçekten kullanıldığını kontrol edin.
  2. Etkinliğin drop tanımının bulunduğundan emin olun.
  3. Oyuncu seviyesi ve canavar seviyesi kısıtlamalarını inceleyin.
  4. İlgili item VNUM değerinin sunucuda mevcut olduğunu kontrol edin.
  5. Etkinliğin belirli harita veya kanallarla sınırlandırılıp sınırlandırılmadığına bakın.
  6. Quest değişikliklerinden sonra gerekli derleme ve yeniden yükleme işlemlerini uygulayın.
  7. Test sırasında syserr ve sunucu loglarını inceleyin.

Örnek quest kullanımı:

Kod:
if game.get_event_flag("cards_event") == 1 then
    -- Etkinlik açıkken yapılacak işlemler
end

Quest içerisinden bir flag değeri değiştirmek için:

Kod:
game.set_event_flag("cards_event", 1)

Bu kodlar yalnızca örnek kullanımı gösterir. Etkinliğin bütün işleyişini tek başına oluşturmaz.

Event Flag Değerleri Nerede Saklanır?

Klasik Metin2 sunucu yapılarında event flag değerleri quest sistemi üzerinden yönetilir. Eski sürümlerde bu değerler player.quest tablosunda da görülebilir.

Ancak doğrudan veritabanından kayıt silmek güvenli bir sıfırlama yöntemi değildir.

Öncelikle GM komutları veya ilgili quest fonksiyonları kullanılmalıdır. Veritabanı üzerinde işlem yapılacaksa yedek alınmalı ve kullanılan server files yapısı kontrol edilmelidir.

Sonuç

Metin2 event flag sistemi, sunucu yöneticilerinin etkinlikleri ve oyun oranlarını yönetmesini kolaylaştırır. Okey, Ayışığı, yılbaşı, EXP ve drop gibi işlemler uygun flaglarla kontrol edilebilir.

Burada önemli olan, kullanılan kodun sunucu dosyalarında gerçekten tanımlı olmasıdır. Eski bir rehberde yer alan her flagın güncel veya özelleştirilmiş server files üzerinde aynı şekilde çalışacağı düşünülmemelidir.

Değişiklikleri önce test sunucusunda denemek, özellikle drop oranları ve oyun ekonomisini etkileyen ayarlarda en güvenli yöntemdir.
 
  • Beğen
Tepkiler: RK
Geri