Mehmet T.
Yönetici
Konular1 119
Yorumlar32


Favori Konuları2

Merhaba Ansiklopedia Takipçisi ;


Bu Quest ile oyunda aktif olan tüm karakterlere hediye gönderebileceksiniz. 


Sadece Aktif oyuncular o an hediye alabilmektedirler.

`itemDistribution` adında bir quest tanımlanmıştır. NPC'nin oyunculara ödül dağıtması için "Ödül Dağıt" adında bir konuşma seçeneği eklenmiştir.

Oyuncular NPC'ye "Ödül Dağıt" seçeneğini seçtiğinde, NPC oyunculara ödül verme işlemini gerçekleştirir. `itemVnum` değişkeni, dağıtılacak eşyanın VNUM'unu temsil eder ve `itemCount` değişkeni her oyuncuya verilecek eşya miktarını belirtir.

`game.getPlayers()` fonksiyonu tüm oyuncuları döndürür ve `ipairs` döngüsüyle her oyuncuya ödül verilir. `player.isOnline()` kontrolü ile sadece çevrimiçi olan oyunculara ödül verilir.

Örnekteki `169` ve `1` değerleri örnek olarak verilmiştir. Kodu kendi gereksinimlerinize göre düzenleyebilirsiniz. Örneğin, NPC'nin konuşmasını ve sorusunu değiştirebilir veya farklı eşyaları dağıtabilirsiniz.


quest itemDistribution begin
    state start begin
        when 20090.chat."Ödül Dağıt" begin
            say_title("Ödül Dağıt")
            say("Tüm oyunculara ödül vermek istediğinize emin misiniz?")
            local answer = select("Evet", "Hayır")

            if answer == 1 then
                local itemVnum = 168 -- Dağıtılacak eşyanın VNUM'u
                local itemCount = 1 -- Her oyuncuya verilecek eşya miktarı

                local onlinePlayers = game.getOnlinePlayers() -- Sadece çevrimiçi oyuncuları al

                local successCount = 0 -- Başarılı verilen ödül sayısı

                for i, player in ipairs(onlinePlayers) do
                    local result = player.giveItem(itemVnum, itemCount) -- Her oyuncuya ödül ver
                    if result then
                        successCount = successCount + 1
                    end
                end

                say_title("Ödül Dağıt")
                say("Toplam " .. successCount .. " oyuncuya ödül verildi!")
            else
                say_title("Ödül Dağıt")
                say("İşlem iptal edildi.")
            end
        end
    end
end