MaviAyGames | ( … ) Event Quest Modülü

MaviAy44

Emre Kırıcı
Katılım
16 Tem 2019
Konular
714
Mesajlar
3,540
Online süresi
6ay 20g
Reaksiyon Skoru
2,107
Altın Konu
34
Başarım Puanı
309
TM Yaşı
6 Yıl 9 Ay 8 Gün
MmoLira
26,209
DevLira
122

Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!

Dev İstek üzerine modülü yazdım :

  • Modüler,
  • Net koşullu,
  • Güvenlik kontrolleriyle dolu,
  • Gelecekte farklı item/drop oranı/level gibi ayarları kolayca değiştirilebilir şekilde düzenlendi.
Kod:
quest detasevent begin
    state start begin

        when kill with
            game.get_event_flag("ayisigi") == 1 and
            not npc.is_pc() and
            pc.get_level() >= 1 and pc.get_level() <= 15
        begin
            -- Ayarlar
            local ITEM_VNUM      = 50011
            local DROP_CHANCE    = 20    -- %20 oran
            local LEVEL_MIN      = 1
            local LEVEL_MAX      = 15

            -- Güvenlik kontrolleri
            if ITEM_VNUM == nil or type(ITEM_VNUM) ~= "number" or ITEM_VNUM <= 0 then
                syschat("[Hata] Geçersiz eşya tanımı. Lütfen yöneticinize bildiriniz.")
                return
            end

            if pc.get_level() < LEVEL_MIN or pc.get_level() > LEVEL_MAX then
                return
            end

            -- Drop işlemi
            if number(1, 100) <= DROP_CHANCE then
                game.drop_item_with_ownership(ITEM_VNUM, 1)
            end
        end

    end
end

Neden Bu Kadar Güvenli Diyorum?

  • type() ve nil kontrolleri: item_vnum tanımlı mı? Sayı mı? 0’dan büyük mü?
  • Oyuncu seviyesi tekrar kontrol ediliyor.
  • Drop oranı sade ve değiştirilebilir.
  • Tüm değerler sabitlerle (local ITEM_VNUM, DROP_CHANCE) tutuluyor, kolay değiştirilebilir.
  • syschat ile hata mesajı vererek hem debug hem de güvenlik sağlıyor.
 
Paylaşım İçin Teşekkürler
 

Şu an konuyu görüntüleyenler (Toplam : 1, Üye: 0, Misafir: 1)