Ticaret Ödülü Quest | Gamesfrm.com
 

Ticaret Ödülü Quest

engin62

Seviye 3
Üye
Katılım
19 Ara 2018
Mesajlar
32
Tepki puanı
21
Konum
Istanbul
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 highest_trade = 0 -- En yüksek ticaret sayısı
    local highest_trader -- En yüksek ticaret sayısına sahip oyuncunun ismi
    local trade_start_time = 0 -- Ticaret süresinin başlangıç zamanı

    function check_highest_trade()
        local trade_count = pc.get_trade_count()

        if trade_count > highest_trade then
            highest_trade = trade_count
            highest_trader = pc.get_name()
        end
    end

    state reward begin
        when login or levelup with pc.level >= 30 begin
            check_highest_trade()
            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_time = os.time()
                local elapsed_time = current_time - trade_start_time
                local remaining_time = 7 * 24 * 60 * 60 - elapsed_time

                if remaining_time <= 0 then
                    if pc.get_name() == highest_trader then
                        say("Tebrikler! 1 hafta boyunca en çok ticaret yaptığınız için size özel bir ödül verilecek.")
                        say("Toplamda " .. highest_trade .. " 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!")
                    else
                        say("Üzgünüm, en çok ticaret yapan oyuncu siz değilsiniz.")
                    end
                else
                    say("Üzgünüm, ödül süresi henüz tamamlanmadı.")
                    say("Ödül süresi bitene kadar kalan süre: " .. remaining_time .. " saniye.")
                end
            end
        end
    end

    state trade_timer begin
        when login with pc.level >= 30 begin
            trade_start_time = os.time()
        end
    end
end

Metin2 ticaret ödülü

Oyuncular arasında 1 haftalık bir süre boyunca en çok ticaret yapan oyuncuya özel bir ödül vermek için kullanılır. Her oyuncunun ticaret sayısı takip edilir ve en yüksek ticaret sayısına sahip oyuncuya ödül verilir. Ticaret süresi tamamlanmadan önce ödül talep edilemez ve sadece en çok ticaret yapan oyuncu ödül alabilir.
Sorularınız için yazabilirsiniz​
 
Son düzenleme:

Hunder

Seviye 5
Üye
Katılım
9 Eyl 2018
Mesajlar
79
Tepki puanı
1
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 highest_trade = 0 -- En yüksek ticaret sayısı
    local highest_trader -- En yüksek ticaret sayısına sahip oyuncunun ismi
    local trade_start_time = 0 -- Ticaret süresinin başlangıç zamanı

    function check_highest_trade()
        local trade_count = pc.get_trade_count()

        if trade_count > highest_trade then
            highest_trade = trade_count
            highest_trader = pc.get_name()
        end
    end

    state reward begin
        when login or levelup with pc.level >= 30 begin
            check_highest_trade()
            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_time = os.time()
                local elapsed_time = current_time - trade_start_time
                local remaining_time = 7 * 24 * 60 * 60 - elapsed_time

                if remaining_time <= 0 then
                    if pc.get_name() == highest_trader then
                        say("Tebrikler! 1 hafta boyunca en çok ticaret yaptığınız için size özel bir ödül verilecek.")
                        say("Toplamda " .. highest_trade .. " 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!")
                    else
                        say("Üzgünüm, en çok ticaret yapan oyuncu siz değilsiniz.")
                    end
                else
                    say("Üzgünüm, ödül süresi henüz tamamlanmadı.")
                    say("Ödül süresi bitene kadar kalan süre: " .. remaining_time .. " saniye.")
                end
            end
        end
    end

    state trade_timer begin
        when login with pc.level >= 30 begin
            trade_start_time = os.time()
        end
    end
end

Metin2 ticaret ödülü

Oyuncular arasında 1 haftalık bir süre boyunca en çok ticaret yapan oyuncuya özel bir ödül vermek için kullanılır. Her oyuncunun ticaret sayısı takip edilir ve en yüksek ticaret sayısına sahip oyuncuya ödül verilir. Ticaret süresi tamamlanmadan önce ödül talep edilemez ve sadece en çok ticaret yapan oyuncu ödül alabilir.
Sorularınız için yazabilirsiniz​

Güzel questte birbirine 2 karakter sürekli item verip alabilir.
 

engin62

Seviye 3
Üye
Katılım
19 Ara 2018
Mesajlar
32
Tepki puanı
21
Konum
Istanbul
Güzel questte birbirine 2 karakter sürekli item verip alabilir.
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 highest_trade = 0 -- En yüksek ticaret sayısı
    local highest_trader -- En yüksek ticaret sayısına sahip oyuncunun ismi
    local last_traded_player -- Son ticaret yapılan oyuncunun ismi

    function check_highest_trade()
        local trade_count = pc.get_trade_count()

        if trade_count > highest_trade then
            highest_trade = trade_count
            highest_trader = pc.get_name()
        end
    end

    function can_trade_with(player_name)
        if player_name == last_traded_player then
            return false
        end

        return true
    end

    state reward begin
        when login or levelup with pc.level >= 30 begin
            check_highest_trade()
            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_trader = pc.get_name()

                if can_trade_with(current_trader) then
                    if pc.get_name() == highest_trader then
                        say("Tebrikler! 1 hafta boyunca en çok ticaret yaptığınız için size özel bir ödül verilecek.")
                        say("Toplamda " .. highest_trade .. " 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!")

                        last_traded_player = current_trader
                    else
                        say("Üzgünüm, en çok ticaret yapan oyuncu siz değilsiniz.")
                    end
                else
                    say("Üzgünüm, en son ticaret yaptığınız kişiyle tekrar ticaret yapamazsınız.")
                    say("Başka bir oyuncuyla ticaret yapmayı deneyin.")
                end
            end
        end
    end

    state trade_timer begin
        when login with pc.level >= 30 begin
            last_traded_player = "" -- İlk başta boş olarak ayarlanır
        end
    end
end

Engellenmiş Hali 👍🏻
 

Hunder

Seviye 5
Üye
Katılım
9 Eyl 2018
Mesajlar
79
Tepki puanı
1
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 highest_trade = 0 -- En yüksek ticaret sayısı
    local highest_trader -- En yüksek ticaret sayısına sahip oyuncunun ismi
    local last_traded_player -- Son ticaret yapılan oyuncunun ismi

    function check_highest_trade()
        local trade_count = pc.get_trade_count()

        if trade_count > highest_trade then
            highest_trade = trade_count
            highest_trader = pc.get_name()
        end
    end

    function can_trade_with(player_name)
        if player_name == last_traded_player then
            return false
        end

        return true
    end

    state reward begin
        when login or levelup with pc.level >= 30 begin
            check_highest_trade()
            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_trader = pc.get_name()

                if can_trade_with(current_trader) then
                    if pc.get_name() == highest_trader then
                        say("Tebrikler! 1 hafta boyunca en çok ticaret yaptığınız için size özel bir ödül verilecek.")
                        say("Toplamda " .. highest_trade .. " 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!")

                        last_traded_player = current_trader
                    else
                        say("Üzgünüm, en çok ticaret yapan oyuncu siz değilsiniz.")
                    end
                else
                    say("Üzgünüm, en son ticaret yaptığınız kişiyle tekrar ticaret yapamazsınız.")
                    say("Başka bir oyuncuyla ticaret yapmayı deneyin.")
                end
            end
        end
    end

    state trade_timer begin
        when login with pc.level >= 30 begin
            last_traded_player = "" -- İlk başta boş olarak ayarlanır
        end
    end
end

Engellenmiş Hali 👍🏻
Şimdi bunu kullanırsan bir kişi üst üste aynı kişiyle ticaret yapamayacak mı?
 

engin62

Seviye 3
Üye
Katılım
19 Ara 2018
Mesajlar
32
Tepki puanı
21
Konum
Istanbul
Şimdi bunu kullanırsan bir kişi üst üste aynı kişiyle ticaret yapamayacak mı?
1 kere sayılacak başka yapmiyacak veya şu şekilde yazıp gönderebilirim örneğin zehir kılıcı ticareti yapan kimse en çok ödül kazanır vs aklına gelebilecek bir şey varsa yaparım öneriler görüşler her zaman ön planda benim için 👍🏻
 

PerFol

Seviye 6
Üye
Katılım
21 Ocak 2021
Mesajlar
125
Tepki puanı
2
Sıralama listesi de belli oluyor mu? ve verilen ödülü sadece questten mi değiştirebiliyoruz?
 

engin62

Seviye 3
Üye
Katılım
19 Ara 2018
Mesajlar
32
Tepki puanı
21
Konum
Istanbul
Rica ederim
Sıralama listesi de belli oluyor mu? ve verilen ödülü sadece questten mi değiştirebiliyoruz?
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
 
Üst