noisiv 1
noisiv
Manwe Work 1
Manwe Work
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
Cannn6161 1
Cannn6161
onur akbaş 1
onur akbaş
PrimeAC 1
PrimeAC
Mt2Hizmet 1
Mt2Hizmet
romegames 1
romegames
Fethi Polat 1
Fethi Polat
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

MaviAyGames | ( … ) Event Quest Modülü

  • Konuyu başlatan Konuyu başlatan MaviAy44
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 1
  • Görüntüleme Görüntüleme 244
  • Etiketler Etiketler
    bence sabit :)

MaviAy44

Emre Kırıcı
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye
Yönetici
Katılım
16 Tem 2019
Konular
715
Mesajlar
3,551
Çözüm
47
Online süresi
6mo 20d
Reaksiyon Skoru
2,110
Altın Konu
34
Başarım Puanı
309
MmoLira
19,559
DevLira
122
Ticaret - 100%
7   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ 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 : 0, Üye: 0, Misafir: 0)

Geri
Üst