Ticaret Ödülü Quest | Page 2 | Gamesfrm.com
 

Ticaret Ödülü Quest

PerFol

Seviye 6
Üye
Katılım
21 Ocak 2021
Mesajlar
125
Tepki puanı
2
Rica ederim

Sıralama listesi yok sadece en çok yapan kişi kim ise o bastı zaman sizsiniz diye yazar başkası basarsa daha az yapmış biri en çok ticareti siz yapmadınız yazar eklenebilir özellik istersen ekliyebilirim.

Rica ederim
Olursa çok güzel olur diye düşünüyorum :)
 

engin62

Seviye 3
Üye
Katılım
19 Ara 2018
Mesajlar
32
Tepki puanı
21
Konum
Istanbul
Olursa çok güzel olur diye düşünüyorum :)
Kod:
quest en_cok_ticaret_yapan begin
    state start begin
        when login or levelup with pc.level >= 30 begin
            send_letter("En Çok Ticaret Yapana Ödül")
        end
    end

    local trade_ranking = {} -- Ticaret sıralaması

    function update_trade_ranking()
        trade_ranking = {} -- Sıralamayı sıfırla

        local players = game.get_player_list()
        for i, player in ipairs(players) do
            if player.get_level() >= 30 then
                local trade_count = player.get_trade_count()
                table.insert(trade_ranking, {name = player.get_name(), tradeCount = trade_count})
            end
        end

        -- Ticaret sayısına göre sırala
        table.sort(trade_ranking, function(a, b) return a.tradeCount > b.tradeCount end)
    end

    state reward begin
        when login or levelup with pc.level >= 30 begin
            update_trade_ranking()
            send_letter("En Çok Ticaret Yapana Ödül")
        end
    end

    state reward begin
        when letter begin
            local s = select("Ödülümü almak istiyorum.")

            if s == 1 then
                local current_rank = 0
                local current_name = pc.get_name()
                local current_trade_count = pc.get_trade_count()

                for i, player in ipairs(trade_ranking) do
                    if player.name == current_name then
                        current_rank = i
                        break
                    end
                end

                if current_rank > 0 and current_rank <= 10 then
                    say("Tebrikler! 1 hafta boyunca en çok ticaret yaptığınız için size özel bir ödül verilecek.")
                    say("Toplamda " .. current_trade_count .. " adet ticaret gerçekleştirdiniz.")
                    say("Ödül olarak size 100 adet Efsanevi Eşya Verme Taşı veriyorum.")
                    say_item_vnum(12345, 100)
                    pc.give_item2(12345, 100)
                    say("Ödülünüzü aldınız. İyi oyunlar dilerim!")
                elseif current_rank > 10 then
                    say("Üzgünüm, en çok ticaret yapan oyuncular arasına giremediniz.")
                else
                    say("Üzgünüm, henüz sıralama belirlenmedi.")
                end
            end
        end
    end

    state ranking begin
        when letter begin
            say_title("En Çok Ticaret Yapan Oyuncular")

            for i, player in ipairs(trade_ranking) do
                if i > 10 then
                    break
                end

                say(i .. ". " .. player.name .. " - " .. player.tradeCount .. " Ticaret")
            end
        end
    end

    state trade_timer begin
        when login with pc.level >= 30 begin
            update_trade_ranking()
        end
    end
end

İlk 10 Kişiyi görmek için bu kodlar lazım yapabilirmisin bilmiyorum video ile anlatım yapabilirim aslında onun için 2 3 ay beklemen lazım
 
Üst