İlan
05 Haz 2026 25 çevrimiçi üye Duyurular
Ana Sayfa Quests
Ana Sayfa Forum Quests Piyasayı Kontrol Edeceğiz Miting...
İlan Yan banner placeholder

Piyasayı Kontrol Edeceğiz Miting

Webdestek 21.03.2026 22:26 1.2K görüntüleme 6 cevap
Son Mesaj
Webdestek
Üye
Üye
Katılım07 Oca 2026
Konular10
Mesajlar40
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
21.03.2026 22:26 #1

Bir zamanlar server için çok eskiden kodladığım bir quest. İşine yarayacaklar olacaktır diye düşünerek paylaşıyorum.

Çalışma Mantığı​

1. GM Paneli (20020 NPC üzerinden)​

  • GM oyuna girip “GMiyasa Kontrol” seçeneğini açarsa:
    • Eğer sistem kapalıysa:
      • GM’den item vnum (örneğin 299), yang fiyatı ve kaç dakika aktif kalacağı bilgisi istenir.
      • Bu bilgiler girildikten sonra game.set_event_flag ile sistem açılır.
      • Tüm oyunculara notice_all ile duyuru yapılır: item adı, fiyatı ve süresi.
    • Eğer sistem zaten açıksa:
      • GM’e “Sistem açık” mesajı gösterilir.
      • İsterse kapatabilir (piyasa_acik = 0).

2. Oyuncu Paneli (20020 NPC üzerinden)​

  • Oyuncu “Piyasa Kontrol” seçeneğini açarsa ve sistem aktifse:
    • Oyuncuya item adı ve alış fiyatı gösterilir.
    • Eğer oyuncu “Evet” derse:
      • Envanterinde o item var mı kontrol edilir.
      • Varsa → item 1 adet silinir (pc.remove_item) ve oyuncuya belirlenen yang eklenir (pc.change_gold).
      • Eğer süre bitmişse (item_time < get_time()), sistem otomatik kapanır ve notice_all ile duyurulur.
    • Eğer item yoksa → “Envanterinde bulunamadı” mesajı çıkar.

3. Login Event​

  • Oyuncu oyuna girdiğinde sistem açıksa:
    • Ona özel notice çıkar: “Piyasa Kontrol Sistemi Aktif!”
    • Item adı ve fiyatı gösterilir.

Özet​

  • Amaç: GM’in belirlediği itemi, belirlenen fiyattan oyuncuların NPC’ye satabilmesini sağlamak.
  • Mantık:
    • GM açıyor → item, fiyat ve süre belirliyor.
    • Oyuncular NPC’ye gidip itemi satıyor → karşılığında yang alıyor.
    • Süre bitince sistem otomatik kapanıyor.

      Kod:
       state start begin
              when 20020.chat."GM:Piyasa Kontrol " with pc.is_gm() begin
                  if game.get_event_flag("piyasa_acik") == 0 then
                      say(" Merhaba  "..pc.get_name().." ")
                      say("Sistem Durumu: |cffff9999Kapalı!")
                      say(" Piyasa Kontrol Açılsın mı ? ")
                      if select(" Evet "," Hayır ") == 2 then
                          return
                      end
                      say(" Piyasa Kontrol İçin İtem Vnum(Örn: 299) ")
                      piyasa_itemi = tonumber(input()) or nil
                      if piyasa_itemi == 0 then
                          syschat(" Geçersiz İtem Kodu Belirttiniz.")
                          return
                      end
                      say(" Piyasa Kontrol İçin Yang Giriniz. ")
                      piyasa_yang = tonumber(input()) or nil
                      if piyasa_yang == 0 then
                          say(" Geçersiz Bir Yang Belirttiniz ")
                          return
                      end
                      say(" Ne kadar Süre Aktif Kalıcak? ( Dakika ) ")
                      piyasa_dakika = tonumber(input()) or nil
                      if piyasa_dakika == 0 then
                          syschat(" Geçersiz Bir Süre Belirttiniz.")
                          return
                      end
                      game.set_event_flag("item_time", get_time()+piyasa_dakika*60)
                      game.set_event_flag("piyasa_acik", 1)
                      notice_all(" Piyasa Kontrol Açıldı! ")
                      notice_all(" Piyasa Kontrol İtemi : |cffff9999"..item_name(piyasa_itemi).." ")
                      notice_all("İtem'in Alış-Satış Fiyatı:|cffff9999 "..piyasa_yang.." Yang")
                      notice_all(" Etkinlik Süresi : "..piyasa_dakika.." Dakika")
                  else
                      say("Sistem Durumu:|cff07eb96Açık!")
                      say(" Piyasa Kontrol Sistemini Kapatmak istiyor musun ? ")
                      if select(" Evet ", " Hayır ")==2 then return end
                      game.set_event_flag("piyasa_acik", 0)
                      piyasa_itemi = nil
                      notice_all(" Piyasa Kontrol Sistemi Kapatıldı! ")
                  end
       end
              when 20020.chat."Piyasa Kontrol" with game.get_event_flag("piyasa_acik") == 1 and not npc.is_pc() begin
                 say(" Merhaba, "..pc.get_name().." ")
                 say("Piyasa Kontrol Altına almak için buradayım.")
                 say("İşleme Devam etmek istiyor musunuz ?")
                 say("Şuan Piyasa Kontrol Listesindeki İtemler;")
                 say("|cff07eb96 İtem Adı:|cffff9999"..item_name(piyasa_itemi).."")
                 say("|cff07eb96 Alış Fiyati:|cffff9999"..piyasa_yang.." Yang")
                 local secimyap = select("Evet","Kapat")
                  if secimyap == 1 then
                      if pc.count_item(piyasa_itemi) < 1 then
                      say(""..pc.get_name()..", Envanterinde")
                      say("|cffff9999"..item_name(piyasa_itemi).."|ccccc1459 Bulunamadı. ")
                      else
                       pc.change_gold(piyasa_yang)
                       pc.remove_item(piyasa_itemi,1)
                  if game.get_event_flag("item_time") < get_time() then
                      notice_all(" Piyasa Kontrol Sistemi Kapatıldı! ")
                      game.set_event_flag("piyasa_acik", 0)
                      return
                  end
                      end
              end
      
              end
              when login with game.get_event_flag("piyasa_acik") == 1 begin
                  notice(" Piyasa Kontrol Sistemi Aktif! ")
                  notice(" Piyasa Kontrol İtemi : |cffff9999 "..item_name(piyasa_itemi).." ")
              end
          end
KszMedya
Üye
Üye
Katılım27 Şub 2026
Konular8
Mesajlar69
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
27.04.2026 11:43 #2
PAYLAŞIM İÇİN TEŞEKKÜRLER,ELİNE SAĞLIK.
Webdestek
Üye
Üye
Katılım07 Oca 2026
Konular10
Mesajlar40
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
03.05.2026 16:30 #3
PAYLAŞIM İÇİN TEŞEKKÜRLER,ELİNE SAĞLIK.
Teşekkür ederim
Tevfik
Üye
Üye
Katılım02 Oca 2026
Konular6
Mesajlar57
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
04.05.2026 14:51 #4
Paylaşım için teşekkürler.
faclapyou
Üye
Üye
Katılım08 Ara 2025
Konular9
Mesajlar59
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
04.05.2026 22:19 #5
Eline sağlık, paylaşım için teşekkürler
vicentee
Üye
Üye
Katılım19 Kas 2025
Konular9
Mesajlar48
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
04.05.2026 22:22 #6
Paylaşım için teşekkürler Eline sağlık
vicentee
Üye
Üye
Katılım19 Kas 2025
Konular9
Mesajlar48
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
04.05.2026 22:22 #7
Paylaşım için teşekkürler Eline sağlık
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