Yeni Quest I Müzayede

  • Konuyu başlatan Konuyu başlatan SeumonDizayn
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 12
  • Görüntüleme Görüntüleme 277

SeumonDizayn

Grafiker , Mapper
Katılım
23 Ara 2015
Konular
128
Mesajlar
1,121
Çözüm
8
Online süresi
1mo 11d
Reaksiyon Skoru
309
Altın Konu
0
Başarım Puanı
184
MmoLira
3,270
DevLira
144
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

Başlatma (GM)

Yönetici, panel üzerinden satmak istediği eşyanın kodunu ve başlangıç fiyatını girerek müzayedeyi başlatır. Etkinlik başladığında tüm sunucuya duyuru gider.

Teklif Verme

Oyuncular NPC (20087) üzerinden teklif verirler. Her yeni teklif, bir öncekinden en az %10 daha yüksek olmak zorundadır. Teklif veren kişinin parası o an hesabından düşer.

Son Dakika Rekabeti (Anti-Snipe)

Müzayedenin bitmesine 1 dakikadan az kalmışken yeni bir teklif gelirse, sistem süreyi otomatik olarak 30 saniye uzatır. Bu sayede "son saniyede itemi kaptım" hilesi yapılamaz, rekabet devam eder.

Kazananın Belirlenmesi

10 dakikalık süre (veya uzatmalar) bittiğinde, en yüksek teklifi veren oyuncu eşyanın sahibi olur. Sistem kazananı tüm servera duyurur ve eşyayı oyuncuya teslim eder.

Kısacası: En yüksek parayı veren nadir eşyayı kapar; hem Yang piyasası dengelenir hem de oyuncular arasında büyük bir rekabet oluşur.




[CODE title="seumondizayn_muzayede.quest"]quest seumondizayn_muzayede begin
state start begin
when letter with pc.is_gm() begin
send_letter("GM: Müzayede Paneli")
end

when button or info begin
say_title("SeumonDizayn - Müzayede Yönetimi")
local s = select("Yeni Müzayede Başlat", "Müzayedeyi İptal Et", "Kapat")

if s == 1 then
if game.get_event_flag("muzayede_aktif") == 1 then
say_reward("Hata: Zaten aktif bir müzayede var.")
return
end

say("İtem Vnum girin:")
local item_vnum = tonumber(input())
say("Başlangıç fiyatı girin:")
local baslangic_fiyat = tonumber(input())

if item_vnum == nil or baslangic_fiyat == nil then
say_reward("Hata: Geçersiz giriş.")
return
end

game.set_event_flag("muzayede_aktif", 1)
game.set_event_flag("muzayede_item", item_vnum)
game.set_event_flag("muzayede_fiyat", baslangic_fiyat)
game.set_event_flag("muzayede_bitis", get_global_time() + 600)
game.set_event_flag("son_teklif_id", 0)

notice_all("SeumonDizayn: Müzayede Başladı!")
notice_all("Ürün: " .. item_name(item_vnum) .. " | Başlangıç: " .. baslangic_fiyat .. " Yang")
notice_all("NPC 20087 üzerinden teklif verebilirsiniz. Süre: 10 Dakika.")

elseif s == 2 then
game.set_event_flag("muzayede_aktif", 0)
notice_all("SeumonDizayn: Müzayede iptal edildi.")
end
end

when 20087.chat."Müzayede Sistemi" begin
say_title("SeumonDizayn - Açık Artırma")
if game.get_event_flag("muzayede_aktif") == 0 then
say("Aktif müzayede yok.")
return
end

local kalan_sure = game.get_event_flag("muzayede_bitis") - get_global_time()
if kalan_sure <= 0 then
seumondizayn_muzayede.muzayede_bitir()
return
end

local su_an_fiyat = game.get_event_flag("muzayede_fiyat")
local min_teklif = math.floor(su_an_fiyat + (su_an_fiyat * 10 / 100))
local son_teklif_isim = game.get_event_flag("son_teklif_id") == 0 and "Yok" or game.get_event_flag("son_teklif_isim_flag")

say_item_vnum(game.get_event_flag("muzayede_item"))
say_reward("Mevcut Teklif: " .. su_an_fiyat .. " Yang")
say_reward("Lider: " .. son_teklif_isim)
say("Kalan Süre: " .. kalan_sure .. " sn.")
say("Min. Teklif: " .. min_teklif .. " Yang")

if select("Teklif Ver", "Kapat") == 1 then
if pc.get_gold() < min_teklif then
say_reward("Yetersiz Yang.")
return
end

if pc.get_player_id() == game.get_event_flag("son_teklif_id") then
say_reward("Zaten en yüksek teklif senin.")
return
end

pc.change_gold(-min_teklif)
game.set_event_flag("muzayede_fiyat", min_teklif)
game.set_event_flag("son_teklif_id", pc.get_player_id())
game.set_event_flag("son_teklif_isim_flag", pc.get_name())

if kalan_sure < 60 then
game.set_event_flag("muzayede_bitis", game.get_event_flag("muzayede_bitis") + 30)
notice_all("SeumonDizayn: Son saniye teklifi! Süre 30 saniye uzatıldı.")
end

notice_all("Müzayede: " .. pc.get_name() .. " yeni lider! Fiyat: " .. min_teklif)
end
end

function muzayede_bitir()
local kazanan_id = game.get_event_flag("son_teklif_id")
local urun = game.get_event_flag("muzayede_item")

if kazanan_id == 0 then
notice_all("SeumonDizayn: Müzayede bitti. Ürün satılamadı.")
else
notice_all("SeumonDizayn: Müzayede bitti! Kazanan: " .. game.get_event_flag("son_teklif_isim_flag"))
if pc.get_player_id() == kazanan_id then
pc.give_item2(urun, 1)
end
end
game.set_event_flag("muzayede_aktif", 0)
end
end
end[/CODE]
 

En Çok Reaksiyon Alan Mesajlar

Paylaşım için teşekkürler
Paylaşım için teşekkürler
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)