Çözüldü Eventten Elde edilen item

Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

mnyk2070

MT Üye
MT Üye
Editör
Mesaj
394
Çözümler
11
Beğeni
131
Puan
499
merhaba arkadaşlar şöyle bir sorum var oyunda etkinlik vakti geldiğinde verilen itemler genelde canavardan düşüyor ben bunu metinden düşmesini nasıl sağlayabilirim
Lua (Quest):
quest event_system begin
    state start begin
        -- Kill
        when kill with not npc.is_pc() begin
            -- ayisigi
            if game.get_event_flag("2017_moon_drop") > 0 then
                local prob = number(1,900)
                if npc.get_level() >= pc.get_level() - 10 then
                    if prob <= 10 then
                        game.drop_item_with_ownership(50011,1)
                    end
                end          
            end
 
Çözüm
Her kesilen metinden bir tane atmasını istiyor musunuz?

Örnek olması için ufak bir örnek vermek istiyorum. Siz kendi oyununuza göre düzenleyebilirsiniz. Sadece mantığı anlamanız açısından.
Lua (Quest):
if game.get_event_flag("2017_moon_drop") > 0 then
    if npc.get_race() >= 8001 and npc.get_race() <= 8027 then
        game.drop_item_with_ownership(50011,1)
    end
end

Her kesilen metinden bir tane atacak. Eğer karakter leveli kontrol eklemek isterseniz. Mesela 50 level bi oyuncu 5 level metinden düşürmeyecek şekilde. Şöyle bir kontrol daha ekleyebilirsiniz.
Lua (Quest):
if game.get_event_flag("2017_moon_drop") > 0 then
    if npc.get_race() >= 8001 and npc.get_race() <= 8027 and npc.get_level() >= pc.get_level() - 15 then...
Her kesilen metinden bir tane atmasını istiyor musunuz?

Örnek olması için ufak bir örnek vermek istiyorum. Siz kendi oyununuza göre düzenleyebilirsiniz. Sadece mantığı anlamanız açısından.
Lua (Quest):
if game.get_event_flag("2017_moon_drop") > 0 then
    if npc.get_race() >= 8001 and npc.get_race() <= 8027 then
        game.drop_item_with_ownership(50011,1)
    end
end

Her kesilen metinden bir tane atacak. Eğer karakter leveli kontrol eklemek isterseniz. Mesela 50 level bi oyuncu 5 level metinden düşürmeyecek şekilde. Şöyle bir kontrol daha ekleyebilirsiniz.
Lua (Quest):
if game.get_event_flag("2017_moon_drop") > 0 then
    if npc.get_race() >= 8001 and npc.get_race() <= 8027 and npc.get_level() >= pc.get_level() - 15 then
        game.drop_item_with_ownership(50011,1)
    end
end
 
Çözüm
Lua (Quest):
    if npc.get_race() >= 8001 and npc.get_race() <= 8027 and npc.get_level() >= pc.get_level() - 15 then

npc.race'i 8001'e eşit ve büyük ile 8027'ye eşit ve küçüğü arasındaki;
leveli, leveline eşit veya 15 aşşağısı ise

120 level bi adam 120/105 levellik metinden 1 tane ayışığı düşürüyor. (1.5 veya 2.5m canı olan metinler)
15 level bi adam, 1 levellikten 1 tane ayışığı düşürüyor.

Bu şekilde quest yazılmaz, oyunun dengesini kaybettirir :D
1-45 / 45-90 / 90-120 arası için ayrı ayrı quest yazılmalı.
Konunun sahibi örnek queste göre düzenleme yapip eklerse daha iyi olur oyunu için.
 
Sadece bir örnek. Dediğiniz gibi oyun yapısına göre düzeltmesi gerekiyor :)
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst