Tekil Mesaj gösterimi
Alt 17 Kasım 2025, 00:05   #1
Çevrimdışı
No_FeaR
5
Nick kopyalandı!
Standart Plaka Tahmin Oyun TCL

Kod:
# Plaka Tahmin Oyunu - Eggdrop TCL
# IRCd | Telegram Bot DevelOper No_FeaR | CevatKahraman
# Yine Kendim İçin Telegram Botum İçin Geliştirmiş Olduğum PlakaTahminOyun Script'i

# Puanlama değişkenleri
set POINT_CORRECT 5
set POINT_WRONG  -1

set game_running 0
set current_plate ""
array set scores {}

# Türkiye plaka listesi
set plates {
    "01 Adana"
    "06 Ankara"
    "07 Antalya"
    "16 Bursa"
    "20 Denizli"
    "34 İstanbul"
    "35 İzmir"
    "42 Konya"
    "44 Malatya"
    "61 Trabzon"
    "65 Van"
}

# Oyun başlat
bind pub - "!basla" start_game
proc start_game {nick uhost hand chan text} {
    global game_running plates current_plate
    if {$game_running} {
        putserv "PRIVMSG $chan :Oyun zaten devam ediyor $nick!"
        return
    }
    set game_running 1
    new_question $chan
}

# Yeni soru üret
proc new_question {chan} {
    global plates current_plate
    set current_plate [lindex $plates [expr {int(rand()*[llength $plates])}]]
    set plate_num [lindex $current_plate 0]
    putserv "PRIVMSG $chan :🚗 Yeni plaka → $plate_num | Şehri tahmin edin!"
}

# Oyunu durdur (sadece yetkililer)
bind pub - "!dur" stop_game
proc stop_game {nick uhost hand chan text} {
    global game_running
    if {!$game_running} {
        putserv "PRIVMSG $chan :Şu anda oyun yok $nick."
        return
    }
    if {[matchattr $hand o|o $chan]} {
        set game_running 0
        putserv "PRIVMSG $chan :$nick oyunu durdurdu!"
    } else {
        putserv "PRIVMSG $chan :$nick bu komutu kullanamaz (sadece yetkililer)."
    }
}

# Tahmin kontrolü
bind pubm - "*" check_guess
proc check_guess {nick uhost hand chan text} {
    global game_running current_plate scores POINT_CORRECT POINT_WRONG
    if {!$game_running} { return }
    set plate_city [lindex $current_plate 1]

    if {[string tolower $text] eq [string tolower $plate_city]} {
        # Doğru cevap
        putserv "PRIVMSG $chan :🎉 Doğru bildin $nick! Plaka: $current_plate (+$POINT_CORRECT puan)"
        if {![info exists scores($nick)]} { set scores($nick) 0 }
        incr scores($nick) $POINT_CORRECT
        new_question $chan
    } else {
        # Yanlış cevap
        if {![info exists scores($nick)]} { set scores($nick) 0 }
        incr scores($nick) $POINT_WRONG
        putserv "PRIVMSG $chan :❌ Yanlış cevap $nick! ($POINT_WRONG puan)"
    }
}

# Kullanıcı kendi puanı
bind pub - "!puan" show_score
proc show_score {nick uhost hand chan text} {
    global scores
    if {![info exists scores($nick)]} {
        putserv "PRIVMSG $chan :$nick henüz puanın yok."
    } else {
        putserv "PRIVMSG $chan :$nick senin puanın: $scores($nick)"
    }
}

# Tüm puanlar
bind pub - "!puanlar" show_scores
proc show_scores {nick uhost hand chan text} {
    global scores
    if {[array size scores] == 0} {
        putserv "PRIVMSG $chan :Henüz kimse puan kazanmadı."
        return
    }
    set result "🏆 Puan Tablosu: "
    foreach player [array names scores] {
        append result "$player=$scores($player) "
    }
    putserv "PRIVMSG $chan :$result"
}
Test Sunucum yok.
Kendim için Telegram'da yapmıştım.
TCL'ye çevirdim.
Çalışır diye düşünüyorum.





Sabrettiğimi Sanarken, Vazgeçtiğimi Öğrendim..
 
Alıntı Yap