Şanslı Sayı Turnuvası [ÜCRETSİZ]

ceyiz123

Ağaç Yumruklayıcı
En iyi cevaplar
0
Merhaba Gamer.com.tr ailesi! Bugün sunucunuzun sohbet (chat) aktifliğini artıracak ve oyuncuları eğlendirecek şanslı sayı turnuvası skriptini sizlerle paylaşıyorum.

Sistem, admin oyunu başlattığında arka planda gizli bir sayı tutar. Oyuncular chat'e sayı yazdıkça sistem onları "Daha büyük sayı yaz!" veya "Daha küçük sayı yaz!" şeklinde yönlendirir. Belirlenen raunt sayısı bittiğinde ise en çok doğru tahmin yapan oyuncuyu şampiyon ilan eder ve ödülünü otomatik verir!

Turnuva Nasıl Kullanılır?
Turnuvayı Başlatma: Yönetici (Admin) yetkisine sahip bir kişi chat alanına /sansoyunu baslat yazar. Sistem ilk gizli sayıyı belirler ve 1. Raunt başlar.

Tahmin Aşaması: Oyuncular 1 ile 100 arasında bir sayıyı tahmin edip direkt chate yazarlar. Sayı küçükse kişiye özel "YUKARI!", büyükse "AŞAĞI!" uyarısı gider. Bu tahminler chati kirletmez.

İlerleme ve Ödül: Bir oyuncu sayıyı bildiğinde chate duyurulur ve +1 puan alır. 3 saniye sonra yeni raunt başlar. Ayarlanan raunt sınırı(sınır 3 raunt degiştirebilirsiniz) bittiğinde sistem en yüksek puanlıyı şampiyon ilan eder ve parasını Vault üzerinden yatırır.

Manuel Bitirme: Turnuvayı erken sonlandırmak isterseniz /sansoyunu bitir komutunu kullanabilirsiniz.

️ Kurulum ve Gereksinimler
Skriptin sorunsuz çalışabilmesi için sunucunuzda aşağıdaki eklentilerin kurulu olması gerekir:

Skript (Sistem kodunun çalışması için ana eklenti)

Vault (Ekonomi ödüllerinin dağıtılması için köprü eklenti)

EssentialsX veya herhangi bir ekonomi eklentisi.

Önemli Not: Bu paylaşımdan hemen sonra sunucunuz için yepyeni bir skript daha paylaşacağım, takipte kalmayı ve yorum yapmayı unutmayın. İyi forumlar dilerim!
Kod:
[# ========================================================
#          GELİŞMİŞ ŞANSLI SAYI TURNUVASI v1.0
#
#      Habib Zaman Alagöz Tarafından Yapılmıştır. 
# ========================================================

options:
    p: &e&lŞANSLI SAYI &8>
    buyuk_odul: 50000 # Turnuva şampiyonuna verilecek para ödülü
    raunt_siniri: 3 # Toplam kaç adet gizli sayı tahmin edilecek
    sure_siniri: 45 # Saniye cinsinden raunt süresi (Cevap bulunamazsa geçmesi için)

variables:
    {sans.aktif} = false
    {gizli.sayi} = 0
    {sans.raunt} = 0

# Yeni raunt başlatma fonksiyonu
function sansYeniRaunt():
    if {sans.aktif} is false:
        stop
    add 1 to {sans.raunt}
    
    # Maksimum raunt sınırına ulaşıldıysa oyunu bitir
    if {sans.raunt} > {@raunt_siniri}:
        sansOyunuBitir()
        stop
        
    set {gizli.sayi} to random integer between 1 and 100
    set {sans.raunt.sure} to {@sure_siniri} # Süre sayacını sıfırla
    broadcast "{@p} &e&lRaunt %{sans.raunt}%: &b1 ile 100 arasında gizli bir sayı tuttum!"
    broadcast "{@p} &7Tahminlerinizi chat'e yazın. Doğru tahmin eden raunt puanını kapar."

# Oyunu tamamen bitirme fonksiyonu
function sansOyunuBitir():
    set {sans.aktif} to false
    set {gizli.sayi} to 0
    
    set {_max} to 0
    set {_lider} to ""
    loop {sans.puan::*}:
        if loop-value > {_max}:
            set {_max} to loop-value
            set {_lider} to loop-index
            
    if {_lider} is not "":
        broadcast ""
        broadcast "{@p} &6&l TURNUVA ŞAMPİYONU "
        broadcast "{@p} &e%{_lider}% &7toplamda &a%{_max}% &7doğru tahminle turnuvayı kazandı!"
        broadcast "{@p} &e%{@buyuk_odul}% TL &7ödül hesabına aktarıldı."
        broadcast "{@p} &7Bu harika etkinlik &fHabib Zaman Alagöz &7tarafından kodlanmıştır."
        broadcast ""
        execute console command "eco give %{_lider}% {@buyuk_odul}"
    else:
        broadcast "{@p} &cTurnuvada hiç doğru tahmin yapılmadığı için ödül dağıtılmadı."
    
    delete {sans.puan::*}

command /sansoyunu [<text>]:
    permission: op
    permission message: &cBu yetki sadece yöneticilere aittir.
    trigger:
        if arg-1 is "baslat":
            if {sans.aktif} is true:
                send "{@p} &cZaten aktif bir turnuva devam ediyor!" to player
                stop
                
            delete {sans.puan::*}
            set {sans.aktif} to true
            set {sans.raunt} to 0
            
            broadcast "{@p} &6&lŞanslı Sayı Turnuvası Başladı! &eHerkes chat'e sayı sallayabilir."
            sansYeniRaunt()
            
        if arg-1 is "bitir":
            if {sans.aktif} is false:
                send "{@p} &cAktif bir turnuva yok." to player
                stop
            sansOyunuBitir()

# Her saniye çalışan zaman kontrolörü
every 1 second:
    if {sans.aktif} is true:
        if {gizli.sayi} is not 0:
            subtract 1 from {sans.raunt.sure}
            if {sans.raunt.sure} <= 0:
                broadcast "{@p} &cZaman doldu! Kimse sayıyı bulamadı. Doğru cevap: &e%{gizli.sayi}%"
                set {gizli.sayi} to 0
                sansYeniRaunt()

on chat:
    if {sans.aktif} is true:
        if {gizli.sayi} is not 0:
            set {_tahmin} to message parsed as integer
            if {_tahmin} is set:
                cancel event
                
                if {_tahmin} is {gizli.sayi}:
                    add 1 to {sans.puan::%player%}
                    broadcast "{@p} &a%player% &egizli sayıyı bild! Doğru Cevap: &f%{gizli.sayi}%"
                    set {gizli.sayi} to 0
                    
                    wait 3 seconds
                    sansYeniRaunt()
                    
                else if {_tahmin} < {gizli.sayi}:
                    send "{@p} &c&lYUKARI! &7Daha büyük bir sayı yazmalısın." to player
                else if {_tahmin} > {gizli.sayi}:
                    send "{@p} &e&lAŞAĞI! &7Daha küçük bir sayı yazmalısın." to player
 
Üst