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