- 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.








