İlan
13 Haz 2026 23 çevrimiçi üye Duyurular
Ana Sayfa Quests
Ana Sayfa Forum Quests - Tüm Oyunculara Karşılıklı Yardımcı Olma Misyonu...
İlan Yan banner placeholder

- Tüm Oyunculara Karşılıklı Yardımcı Olma Misyonu

mceylan35 03.05.2026 22:50 852 görüntüleme 28 cevap
Son Mesaj
icemansahin
Üye
Üye
Katılım09 Nis 2026
Konular7
Mesajlar54
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
08.05.2026 00:42 #16
paylaşır mısın kanka o zaman
mceylan35
Üye
Üye
Katılım02 Oca 2026
Konular7
Mesajlar62
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
08.05.2026 00:42 #17
İnşallah Şuan İşlerden Kafamı Kaldıramıyorum Yetiştirmem Gereken Siparişler Var O Yüzden Biraz Zaman Alacak Gibi
sanalulke
Üye
Üye
Katılım12 Oca 2026
Konular6
Mesajlar69
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
08.05.2026 00:42 #18
Updated

C++:
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
mceylan35
Üye
Üye
Katılım02 Oca 2026
Konular7
Mesajlar62
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
08.05.2026 00:42 #19
Updated

C++:
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
Eyvallah Kardeşim Teşekkürler Up Yaptığın İçin <3
sanalulke
Üye
Üye
Katılım12 Oca 2026
Konular6
Mesajlar69
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
08.05.2026 00:42 #20
oyuncunun envanterinde yer olup olmadığını kontrol etmek gibi ekleme olurmu? Sence

Lua:
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
                local itemCount = 1

                local players = game.getPlayers()
                local successfulCount = 0 -- Başarılı ödül dağıtılan oyuncu sayısı
                local failedCount = 0 -- Ödül dağıtılamayan oyuncu sayısı

                for i, player in ipairs(players) do
                    if player.isOnline() then
                        -- Oyuncunun envanterinde yer olup olmadığı kontrol edilir.
                        if player.canCarry(itemVnum, itemCount) then
                            player.giveItem(itemVnum, itemCount)
                            successfulCount = successfulCount + 1
                        else
                            failedCount = failedCount + 1
                        end
                    end
                end

                say_title("Ödül Dağıt")
                -- Dağıtılan ve dağıtılamayan ödül bilgisi eklenir.
                say(string.format("Ödül %d oyuncuya başarıyla dağıtıldı. %d oyuncuya dağıtılamadı.", successfulCount, failedCount))
            else
                say_title("Ödül Dağıt")
                say("İşlem iptal edildi.")
            end
        end
    end
end
mceylan35
Üye
Üye
Katılım02 Oca 2026
Konular7
Mesajlar62
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
08.05.2026 00:42 #21
oyuncunun envanterinde yer olup olmadığını kontrol etmek gibi ekleme olurmu? Sence

Lua:
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
                local itemCount = 1

                local players = game.getPlayers()
                local successfulCount = 0 -- Başarılı ödül dağıtılan oyuncu sayısı
                local failedCount = 0 -- Ödül dağıtılamayan oyuncu sayısı

                for i, player in ipairs(players) do
                    if player.isOnline() then
                        -- Oyuncunun envanterinde yer olup olmadığı kontrol edilir.
                        if player.canCarry(itemVnum, itemCount) then
                            player.giveItem(itemVnum, itemCount)
                            successfulCount = successfulCount + 1
                        else
                            failedCount = failedCount + 1
                        end
                    end
                end

                say_title("Ödül Dağıt")
                -- Dağıtılan ve dağıtılamayan ödül bilgisi eklenir.
                say(string.format("Ödül %d oyuncuya başarıyla dağıtıldı. %d oyuncuya dağıtılamadı.", successfulCount, failedCount))
            else
                say_title("Ödül Dağıt")
                say("İşlem iptal edildi.")
            end
        end
    end
end
Nesne Marketine Göndermede Yapabilirsiniz Veya Depo
mceylan35
Üye
Üye
Katılım02 Oca 2026
Konular7
Mesajlar62
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
08.05.2026 00:42 #22
GetPlayer Cmd_general.cpp:
// Ödül dağıtma fonksiyonu
void distributeReward(DWORD itemVnum, BYTE itemCount) {
    // Dağıtılmış mı kontrolü
    if (game_event_flag_manager.is_set_event_flag("reward_distributed")) {
        sys_log(0, "Ödül zaten dağıtıldı.");
        return;
    }

    LPCHARACTER ch;
    LPCHARACTERVECTOR chars;
    int successfulCount = 0;
    int failedCount = 0;

    // Tüm karakterleri al
    chars = CHARACTER_MANAGER::instance().SelectAllCharacter();

    // Her karakter için kontrol yap
    for (LPCHARACTERVECTOR::iterator it = chars->begin(); it != chars->end(); ++it) {
        ch = *it;

        if (ch->IsPC()) { // Sadece oyunculara ödül ver
            if (ch->CanCarry(itemVnum, itemCount)) { // Oyuncunun envanterine ödül sığabilir mi?
                ch->AutoGiveItem(itemVnum, itemCount); // Ödülü ver
                successfulCount++;
            } else {
                failedCount++;
            }
        }
    }

    // Dağıtılan ve dağıtılamayan ödül bilgisini yazdır
    sys_log(0, "Ödül %d oyuncuya başarıyla dağıtıldı. %d oyuncuya dağıtılamadı.", successfulCount, failedCount);

    // Dağıtıldı bayrağını işaretle
    game_event_flag_manager.set_event_flag("reward_distributed", true);
}

// Ödül dağıtmak için kullanılacak komut
ACMD(do_distribute_reward) {
    DWORD itemVnum = 168; // Ödül item'in Vnum'u
    BYTE itemCount = 1; // Ödül miktarı

    distributeReward(itemVnum, itemCount);
    return true;
}

Test Etmeye Fırsatım Olmadı Kendi Serverimden Çektim Kod Kendim Yazmıştım Bi Deneyin Hata Verirse Düzeltirim <3

Oyun İçinde İtem Dağıtma Kodu : /distribute_reward 168 (168 Yerine Kodu Yazarsınız)
mrsrdrc
Bu konuyu görüntüleyenler
1 misafir
Cevap yazmak için giriş yapın.
Benzer Konular
18 cevap
2K görüntüleme
Yeni Fantezi Rölenti Oluşturma Yöntemi
Kirkhammett · 02 Nis 2026
19 cevap
2K görüntüleme
11 cevap
1.9K görüntüleme
Yeni Quest I Kelle Avcısı
EniyiSunucum · 11 Nis 2026
16 cevap
1.9K görüntüleme
65 - 250 Jackpot Sistemi | Quest
Gusav · 28 Mar 2026
6 cevap
1.9K görüntüleme
İlan Yan banner placeholder