IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

 Kayıt ol  Topluluk
Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 20 Nisan 2010, 12:34   #1
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
blackjack.tcl




Çalıştırabilen haber versin
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.

blackjack oyunu

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
# ********************************************************************
# BLACKJACK TcL Script version 2.20 For Eggdrop 1.0
# Copyright by tnz@IRC#bawel (
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
.id)
# ********************************************************************
bind msg "!help" help_info
bind msg 
"!who" who_info
bind msg 
"!save" save_game
bind msg 
"!load" load_game
bind msg 
"!score" show_hs
bind msg 
"!ver" show_version
bind msg 
"!card" see_card
bind pub 
"!who" who_pub
bind pub 
"!new" new_player
bind pub 
"!bet" place_bet
bind pub 
"!done" done_game
bind pub 
"!hit" hit_card
bind pub 
"!stay" stay_card
bind msg m 
"!warn" show_warning
# YOU HAVE TO CHANGE THIS IF YOU CHANGE THE COMMAND CHARACTER
# DO NOT USE "*" !!!!
set cmdchar "!"
set cmd0 "!new"
set cmd1 "!help"
set cmd2 "!bet"
set cmd3 "!stay"
set cmd4 "!hit"
set cmd5 "!done"
set cmd6 "!who"
set cmd7 "!save"
set cmd8 "!load"
set cmd9 "!score"
set cmd10 "!ver"
set cmd11 "!card"
# GLOBAL SETTING ****************************************************
# where the BOT sit ?
set chanset #blackjack
# save game and high scores path
set save_path "/home/bahanenet/eggdrop/scripts/blackjack/tcl/"
# check idle player every <n> * 2 minutes. should werk now :)
set timer_idle 7
# check player is on channel or split .. then reject him/her
set timer_chan 2
# new players coins
set start_money 50
# should BOT kick player when his coin <= 0 (just for fun) (1=yes/0=no)
set use_kick 0
# maximum coins per bet
set max_bet 50
# topic set, high score show every <n> minutes
# DONT CHANGE THIS VALUE TOO SMALL, YOUR BOT BECOME ANNOYING !!!!
# 20 minutes is the minimum value ...
set timer_show 20
# should BOT show high score on channel (1=yes/0=no)
# Do not set this variable in NON-SPECIAL-PURPOSE channel, It's very annoying
set show_on_chan 1
# DONT CHANGE THIS VALUE ********************************************
set max_player 20
# version
set script_version "2.20"
set card1 {A 2 3 4 5 6 7 8 9 10 J Q K A 2 3 4 5 6 7 8 9 10 J Q K
A 2 3 4 5 6 7 8 9 10 J Q K A 2 3 4 5 6 7 8 9 10 J Q K
}
set card2 {A 2 3 4 5 6 7 8 9 10 J Q K A 2 3 4 5 6 7 8 9 10 J Q K
A 2 3 4 5 6 7 8 9 10 J Q K A 2 3 4 5 6 7 8 9 10 J Q K
}
set card3 {A 2 3 4 5 6 7 8 9 10 J Q K A 2 3 4 5 6 7 8 9 10 J Q K
A 2 3 4 5 6 7 8 9 10 J Q K A 2 3 4 5 6 7 8 9 10 J Q K
}
set card4 {A 2 3 4 5 6 7 8 9 10 J Q K A 2 3 4 5 6 7 8 9 10 J Q K
A 2 3 4 5 6 7 8 9 10 J Q K A 2 3 4 5 6 7 8 9 10 J Q K
}
set number_set {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
}
set table {A J Q K}
set value {1 10 10 10}
set hslist ""
set player {# # # #}
set money {0 0 0 0}
set bet_list ""
set amt_list ""
set pidle ""
set numplayer 0
set a1 
""
set b1 ""
set e1 ""
set c1 ""
set d1 ""
set f1 ""
set a2 ""
set b2 ""
set e2 ""
set c2 ""
set d2 ""
set f2 ""
set a3 ""
set b3 ""
set e3 ""
set c3 ""
set d3 ""
set f3 ""
set a4 ""
set b4 ""
set e4 ""
set c4 ""
set d4 ""
set f4 ""
set p1 10
set p2 10
set p3 10
set p4 10
bind sign 
"% *" sign_proc
set tmrID1 
[timer $timer_idle check_idle]
set tmrID2 [timer $timer_show show_time]
set tmrID3 [timer $timer_chan check_chan]
# SPECIAL cmd.
bind pub "info" global_info
proc global_info 
{nick uhost handle chan rest} {
global 
botnick cmdchar cmd1 script_version
putserv 
"NOTICE $nick :\002KOMUTLAR $cmdchar"
putserv "NOTICE $nick :\002Yardim için yazin /MSG $botnick $cmd1"
putserv "NOTICE $nick :\002BLACK-JACK $script_version, (c)MainShellNET <
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
>"
}
proc new_player {nick uhost handle chan rest} {
global 
player money botnick numplayer max_bet start_money max_player \
cmd1 cmd5 cmd2
if {$numplayer == $max_player} {
putserv "NOTICE $nick :\002Oyuncu tablom dolu, daha sonra tekrar deneyiniz."
return 0
}
set np [check_player $nick]
if {
$np != -1} {
putserv "NOTICE $nick :\002Zaten oyuncu tablomdasiniz. $cmd5 yazarak cikabilrisiniz"
return 0
}
set np [lsearch -exact ${player"#"]
set player [lreplace ${player$np $np]
set player [linsert ${player$np ${nick}]
set money [lreplace ${money$np $np]
set money [linsert ${money$np $start_money]
incr numplayer 1
putserv 
"NOTICE $nick :\002Baslangic bahis miktariniz $start_money. Yardim icin /MSG $botnick $cmd1 yazin"
putserv "NOTICE $nick :\002BET komutu ile bahis miktarinizi belirtin, $cmd2 <miktar>, bahis 1 .. $max_bet arasi olabilir."
reset_idle $nick
}
proc done_game {nick uhost handle chan rest} {
global 
money
set idx 
[check_player $nick]
if {
$idx != -1} {
set thecoins [lindex ${money$idx]
sethighscore $nick $uhost $thecoins
delplayer $nick
putserv 
"NOTICE $nick :\002Bye-bye, tesekkurler oyun icin.. !new yazarak yeniden baslayabilirsiniz."
}
}
proc place_bet {nick uhost handle chan rest} {
global 
bet_list amt_list numplayer player card1 card2 card3 card4 \
a1 b1 e1 c1 d1 f1 a2 b2 e2 c2 d2 f2 a3 b3 e3 c3 d3 f3 \
p1 p2 p3 p4 a4 b4 e4 c4 d4 f4 max_bet money \
cmd3 cmd4 number_set
set np 
[check_player $nick]
if {
$np == -1} {
return 
0
}
set idx [lsearch -exact ${bet_list} ${nick}]
if {
$idx != -1} {
putserv "NOTICE $nick :\002Bahis oynamissiniz. Devam $cmd3 Yeni $cmd4"
return 0
}
set amount [lindex $rest 0]
if {
$amount == ""} {
putserv "NOTICE $nick :\002Lutfen 1 - $max_bet araliginda bir miktar.."
return 0
}
set is_number [lsearch -exact ${number_set} ${amount}]
if {
$is_number == -1} {
putserv "NOTICE $nick :\002Hatali bahis. Miktar 1 .. $max_bet arasi olabilir"
return 0
}
set mny [lindex ${money$np]
if {
$mny $amount} {
putserv "NOTICE $nick :\002Yeterli miktara sahip degilsiniz, Elinizdeki miktar $mny"
return 0
}
lappend bet_list ${nick}
lappend amt_list $amount
if {$np == 0} {
incr p1 -6
if {$p1 <= 10} {
shuffle_card $np
set p1 51
}
set a1 [lindex ${card1$p1]
set b1 [lindex ${card1} [expr $p1-1]]
set e1 0
set xx $a1
set yy $b1
set c1 
[lindex ${card1} [expr $p1-2]]
set d1 [lindex ${card1} [expr $p1-3]]
set f1 0
}
if {
$np == 1} {
incr p2 -6
if {$p2 <= 10} {
shuffle_card $np
set p2 51
}
set a2 [lindex ${card2$p2]
set b2 [lindex ${card2} [expr $p2-1]]
set e2 0
set xx $a2
set yy $b2
set c2 
[lindex ${card2} [expr $p2-2]]
set d2 [lindex ${card2} [expr $p2-3]]
set f2 0
}
if {
$np == 2} {
incr p3 -6
if {$p3 <= 10} {
shuffle_card $np
set p3 51
}
set a3 [lindex ${card3$p3]
set b3 [lindex ${card3} [expr $p3-1]]
set e3 0
set xx $a3
set yy $b3
set c3 
[lindex ${card3} [expr $p3-2]]
set d3 [lindex ${card3} [expr $p3-3]]
set f3 0
}
if {
$np == 3} {
incr p4 -6
if {$p4 <= 10} {
shuffle_card $np
set p4 51
}
set a4 [lindex ${card4$p4]
set b4 [lindex ${card4} [expr $p4-1]]
set e4 0
set xx $a4
set yy $b4
set c4 
[lindex ${card4} [expr $p4-2]]
set d4 [lindex ${card4} [expr $p4-3]]
set f4 0
}
putserv "NOTICE $nick :\002Bahis miktariniz $amount COIN(s)"
putserv "NOTICE $nick :\002Elinizdeki kartlar $xx ve $yy , Kullanin: $cmd3 yada $cmd4"
reset_idle $nick
}
proc see_card {nick uhost handle rest} {
global 
a1 b1 a2 b2 a3 b3 a4 b4
set np 
[check_player $nick]
if {
$np == -1} {
return 
0
}
switch 
$np {
{
set cc1 $a1
set cc2 $b1
}
{
set cc1 $a2
set cc2 $b2
}
{
set cc1 $a3
set cc2 $b3
}
{
set cc1 $a4
set cc2 $b4
}
}
putserv "NOTICE $nick :\002Son kartlariniz.. $cc1 $cc2"
}
proc stay_card {nick uhost handle chan rest} {
global 
bet_list
set np 
[check_player $nick]
if {
$np == -1} {
return 
0
}
set idx [lsearch -exact ${bet_list} ${nick}]
if {
$idx == -1} {
putserv "NOTICE $nick :\002Bahis koymadiniz. Bahis girin !bet ile."
return 0
}
check_win $np $nick
}
proc hit_card {nick uhost handle chan rest} {
global 
e1 e2 e3 e4 card1 card2 card3 card4 p1 p2 p3 p4 bet_list
set np 
[check_player $nick]
if {
$np == -1} {
return 
0
}
set idx [lsearch -exact ${bet_list} ${nick}]
if {
$idx == -1} {
putserv "NOTICE $nick :\002Bahis koymadiniz. Bahis girin !bet ile."
return 0
}
switch 
$np {
set e1 [lindex ${card1} [expr $p1-4]]
set t $e1
}
set e2 [lindex ${card2} [expr $p2-4]]
set t $e2
}
set e3 [lindex ${card3} [expr $p3-4]]
set t $e3
}
set e4 [lindex ${card4} [expr $p4-4]]
set t $e4
}
}
putserv "NOTICE $nick :\002 Ucuncu kartiniz $t"
check_win $np $nick
}
proc check_win {np nick} {
global 
bet_list amt_list money \
a1 b1 e1 c1 d1 f1 a2 b2 e2 c2 d2 f2 a3 b3 e3 c3 d3 f3 \
table value card1 card2 card3 card4 player p1 p2 p3 p4 \
a4 b4 e4 c4 d4 f4 chanset use_kick
switch $np {
set k1 $a1
set k2 $b1
set k3 $e1
set k4 $c1
set k5 $d1
set k6 $f1
}
set k1 $a2
set k2 $b2
set k3 $e2
set k4 $c2
set k5 $d2
set k6 $f2
}
set k1 $a3
set k2 $b3
set k3 $e3
set k4 $c3
set k5 $d3
set k6 $f3
}
set k1 $a4
set k2 $b4
set k3 $e4
set k4 $c4
set k5 $d4
set k6 $f4
}
}
set x1 [lsearch -exact ${table} ${k1}]
if {
$x1 != -1} {
set x1 [lindex ${value$x1]
} {
set x1 $k1
}
set x2 [lsearch -exact ${table} ${k2}]
if {
$x2 != -1} {
set x2 [lindex ${value$x2]
} {
set x2 $k2
}
set x3 [lsearch -exact ${table} ${k3}]
if {
$x3 != -1} {
set x3 [lindex ${value$x3]
} {
set x3 $k3
}
set pbj 0
if {$k3 == 0} {
if {
$x1 == 1} {
set x1 11
} {
if {
$x2 == 1} {set x2 11}
}
set k3 ""
if {[expr $x1 $x2] == 21} {set pbj 1}
} {
if {
$x1 == 1} {
if {[
expr 11 $x2 $x3] <= 21} {set x1 11}
} {
if {
$x2 == 1} {
if {[
expr $x1 11 $x3] <= 21} {set x2 11}
} {
if {
$x3 == 1} {
if {[
expr $x1 $x2 11] <= 21} {set x3 11}
}
}
}
}
if {
$x3 == ""} {set x3 0}
set pc [expr $x1+$x2+$x3]
set x4 [lsearch -exact ${table} ${k4}]
if {
$x4 != -1} {
set x4 [lindex ${value$x4]
} {
set x4 $k4
}
set x5 [lsearch -exact ${table} ${k5}]
if {
$x5 != -1} {
set x5 [lindex ${value$x5]
} {
set x5 $k5
}
set bj 0
if {$x4 == 1} {
if {
$x5 == 10} {
set bj 1
set cc 21
}
} {
if {
$x5 == 1} {
if {
$x4 == 10} {
set bj 1
set cc 21
}
}
}
set k6 0
set x6 0
if {$bj == 0} {
if {
$x4 == 1} {
set x4 11
} {
if {
$x5 == 1} {
set x5 11
}
}
set tc [expr $x4 $x5]
if {
$tc 17} {
if {
$np == 0} {
set k6 [lindex ${card1} [expr $p1-5]]
} {
if {
$np == 1} {
set k6 [lindex ${card2} [expr $p2-5]]
} {
if {
$np == 2} {
set k6 [lindex ${card3} [expr $p3-5]]
} {
if {
$np == 3} {set k6 [lindex ${card4} [expr $p4-5]]}
}
}
}
set x6 [lsearch -exact ${table} ${k6}]
if {
$x6 != -1} {
set x6 [lindex ${value$x6]
} {
set x6 $k6
}
}
}
if {
$k6 == 0} {set k6 ""}
if {
$x6 == ""} {set x6 0}
set cc [expr $x4 $x5 $x6]
set idx [lsearch -exact ${bet_list} ${nick}]
set amount [lindex ${amt_list$idx]
set mny [lindex ${money$np]
if {
$bj == 1} {
putserv "NOTICE $nick :\002Hehe BLACKJACK iste bu.., Kartlarim $k4 $k5 !"
set win "-LOSE-"
} {
if {
$pc 21} {
putserv "NOTICE $nick :\002Kartlariniz $k1 $k2 $k3 = $pc"
set win "-LOSE-"
} {
if {
$pc $cc} {
putserv "NOTICE $nick :\002Kartlariniz $k1 $k2 $k3 = $pc, Kartlarim $k4 $k5 $k6 = $cc"
set win "-WIN-"
} {
if {
$cc 21} {
putserv "NOTICE $nick :\002Kartlariniz $k1 $k2 $k3 = $pc, Kartlarim $k4 $k5 $k6 = $cc"
set win "-WIN-"
} {
putserv "NOTICE $nick :\002Kartlariniz $k1 $k2 $k3 = $pc, Kartlarim $k4 $k5 $k6 = $cc"
set win "-LOSE-"
}
}
}
}
if {
$win == "-WIN-"} {
if {(
$x1 == 7) && ($x2 == 7) && ($x3 == 7)} {
putserv "NOTICE $nick :\002SUPER BLACKJACK Yaptiniz! I pay you 5 times"
putserv "PRIVMSG $chanset :\002$nick got SUPER BLACKJACK ! 7 7 7"
set amount [expr $amount 5]
} {
if {
$pbj == 1} {
if {(
$k1 == "J") || ($k2 == "J")} {
set rbonus [rand 11]
set rbonus [expr $rbonus 5]
putserv "NOTICE $nick :\002You got ROYAL BLACKJACK ! I pay you 2 times + BONUS $rbonus coins"
putserv "PRIVMSG $chanset :\002$nick got ROYAL BLACKJACK !"
set amount [expr $amount $rbonus]
} {
putserv "NOTICE $nick :\002You got BLACKJACK ! I pay you 2 times"
set amount [expr $amount 2]
}
} {
if {(
$k1 == $k2) && ($k2 == $k3)} {
putserv "NOTICE $nick :\002You got THREE OF KIND ! I pay you 3 times"
putserv "PRIVMSG $chanset :\002$nick got THREE OF KIND !"
set amount [expr $amount 3]
} {
if {
$k1 == $k2} {
set rbonus [rand 11]
set rbonus [expr $rbonus 5]
putserv "NOTICE $nick :\002Pair BONUS ! $rbonus coins"
set amount [expr $amount $rbonus]
}
}
}
}
set coins [expr $mny $amount]
} {
set coins [expr $mny $amount]
}
if {
$coins <= 0} {
if {
$use_kick == 1} {
if {[
botisop $chanset]} {
set nkick [rand 5]
if {
$nkick == 0} {set rsn "Sahip oldugun herseyi kaybettin..Ruhsuz seni..! Huahahahahahaha :P"}
if {
$nkick == 1} {set rsn "Hehe kumda oyna sen..Blackjack boyle oynanir iste. ? Huahahahahahahah :P"}
if {
$nkick == 2} {set rsn "Ustundeki herseyi alacagim bebek. Donunu bile..! Huahaha :P"}
if {
$nkick == 3} {set rsn "Blackjack'i cocuk oyunumu sandin. Yuru...! Huahahahahaha :P"}
if {
$nkick == 4} {set rsn "Yine beklerim ufaklik Blackjack oynamaya..? Huahahahahahahaha :P"}
putserv "KICK $chanset $nick :\002$rsn\002"
}
}
putserv "NOTICE $nick :\002Herseyini kaybettin. Bye-bye, oyun icin tesekkurler"
delplayer $nick
} {
putserv "NOTICE $nick :\002Sen $win $amount, Sahip oldugun risk miktari $coins simdi. Devam icin !bet <miktar>. Cikmak icin !done yazin."
set player [lreplace ${player$np $np]
set player [linsert ${player$np ${nick}]
set money [lreplace ${money$np $np]
set money [linsert ${money$np $coins]
set bet_list [lreplace ${bet_list$idx $idx]
set amt_list [lreplace ${amt_list$idx $idx]
reset_idle $nick
}
}
proc shuffle_card {np} {
global 
card1 card2 card3 card4
switch $np {
set cards $card1 }
set cards $card2 }
set cards $card3 }
set cards $card4 }
}
set i 0
while {$i 50} {
set n [rand 52]
set old [lindex ${cards$n]
set cards [lreplace ${cards$n $n]
lappend cards $old
incr i 1
}
switch 
$np {
set card1 $cards }
set card2 $cards }
set card3 $cards }
set card4 $cards }
}
}
proc check_player {nick} {
global 
numplayer player
if {$numplayer == 0} {
return -
1
}
set np [lsearch -exact ${player} ${nick}]
return 
$np
}
proc help_info {nick uhost handle rest} {
global 
botnick timer_idle max_bet max_player \
cmd0 cmd1 cmd2 cmd3 cmd4 cmd5 cmd6 cmd7 cmd8 cmd9 cmd10 cmd11
set rest 
[string tolower $rest]
if {
$rest == ""} {
putserv "NOTICE $nick :\002Yardim komutlari menusune hosgeldiniz."
putserv "NOTICE $nick :\002 'PLAY' ve 'CMDS' hakkinda yardimlar alabilirsiniz."
putserv "NOTICE $nick :\002 Ornek: /MSG $botnick $cmd1 play"
return 0
}
if {
$rest == "cmds"} {
putserv "NOTICE $nick :\002<*> Bot Ozel yardim komutu.(/MSG $botnick <cmd>)"
putserv "NOTICE $nick :\002$cmd11 -> Son karti goster."
putserv "NOTICE $nick :\002$cmd6 -> Tablodaki oyuncu listesi. (players)"
putserv "NOTICE $nick :\002$cmd7 <password> -> Oyunu saklama. <password>"
putserv "NOTICE $nick :\002$cmd8 <password> -> Oyunu yukeleme. <password>"
putserv "NOTICE $nick :\002$cmd9 -> Rekor Tablosu."
putserv "NOTICE $nick :\002$cmd10 -> TCL script versiyonu."
return 0
}
if {
$rest == "play"} {
putserv "NOTICE $nick :\002<*> Kanal Genel yardim komutlari(/SAY)"
putserv "NOTICE $nick :\002$cmd0 -> Oyuncu tablosu bos ise yeni oyuna giris. (max $max_player players)"
putserv "NOTICE $nick :\002$cmd2 <miktar> -> Riske girme. , <miktar> araliklari 1 - $max_bet"
putserv "NOTICE $nick :\002$cmd4 -> Ucuncu kart isteme."
putserv "NOTICE $nick :\002$cmd3 -> Ucuncu karti istememek icin."
putserv "NOTICE $nick :\002$cmd5 -> Oyundan cikis."
putserv "NOTICE $nick :\002$cmd6 -> Oyuncu tablosu gosterme (palyers)."
putserv "NOTICE $nick :\002<*> Sayet IDL'niz $timer_idle dakikadan fazla ise, KANALDA DURAMAZSiNiZ, yada OYUNDA KALAMAZSINiZ"
putserv "NOTICE $nick :\002<*> Sizi otomatik olarak DiSKALiFiYE edecegiz."
putserv "NOTICE $nick :\002<*> Tum sorumlar icin -> mail adresimiz 
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
"
putserv "NOTICE $nick :\002<*> Evet! Bu bot standart bir blackjak oyunu degildir.! DRAW ! DOUBLE ! SPLIT ! YOKTUR"
return 0
}
}
proc who_info {nick uhost handle rest} {
global 
player money numplayer cmd0
if {$numplayer == 0} {
putserv "NOTICE $nick :\002Oyuncu yok. Komut: $cmd0 yeni oyuna baslamak icin kullanin."
return 0
}
putserv "NOTICE $nick :\002Gecerli oyuncular : <$numplayer>"
set n 0
foreach i $player {
if {
$i != "#"} {
set np [lsearch -exact ${player} ${i}]
set amt [lindex ${money$np]
set ss [format "%d. %-9s --- coins : %7d" [expr $n+1$i $amt]
putserv "NOTICE $nick :\002$ss"
incr n 1 
}
}
}
proc who_pub {nick uhost handle channel rest} {
global 
player money numplayer cmd0
if {$numplayer == 0} {
putserv "NOTICE $nick :\002Oyuncu yok. Komut: $cmd0 yeni oyuna baslamak icin kullanin."
return 0
}
putserv "NOTICE $nick :\002Gecerli oyuncular : <$numplayer>"
set n 0
foreach i $player {
if {
$i != "#"} {
set np [lsearch -exact ${player} ${i}]
set amt [lindex ${money$np]
set ss [format "%d. %-9s --- coins : %7d" [expr $n+1$i $amt]
putserv "NOTICE $nick :\002$ss"
incr n 1 
}
}
}
proc show_time {} {
global 
botnick timer_show show_on_chan chanset script_version numplayer \
cmd1 cmd0
set tp 
"Oyun komutlarini ogrenmek icin yapilmasi gereken : /MSG BlackJack !help play"
putserv "TOPIC $chanset :\002$tp"
if {$show_on_chan == 1} {
show_it $botnick 1
}
set nseat [expr 4 $numplayer]
if {
$nseat != 0} {
if {
$nseat == 1} {
putserv "PRIVMSG $chanset :\002There is 1 seat available, type $cmd0 to start"
} {
putserv "PRIVMSG $chanset :\002There are $nseat seats available, type $cmd0 to start"
}
}
set tmrID2 [timer $timer_show show_time]
}
proc check_idle {} {
global 
numplayer player pidle chanset timer_idle
if {$numplayer == 0} {
set tmrID1 [timer $timer_idle check_idle]
return 
0
}
set tmp $player
foreach i $tmp {
if {[
lsearch -exact ${pidle} ${i}] != -1} {
putserv "NOTICE $i :\002IDLE $timer_idle dakikadan fazla oldugundan DiSKALiFiYE edildiniz.!"
delplayer $i
}
}
set_idle
set tmrID1 
[timer $timer_idle check_idle]
}
proc check_chan {} {
global 
numplayer player chanset timer_chan timer_idle
if {$numplayer == 0} {
set tmrID3 [timer $timer_chan check_chan]
return 
0
}
set tmp $player
set nidle 
[expr $timer_idle 2]
foreach 
i $tmp {
if {
$i != "#"} {
if {![
onchan $i $chanset]} {
putserv "NOTICE $i :\002Kanalda bulunamazsiniz. DiSKALiFiYE edildiniz. !"
delplayer $i
} {
if {[
onchansplit $i $chanset]} {
delplayer $i
} {
if {[
getchanidle $i $chanset] > $nidle} {
putserv "NOTICE $i :\002You have been IDLE more than $nidle minutes. REJECTED !"
delplayer $i
}
}
}
}
}
set tmrID3 [timer $timer_chan check_chan]
}
proc delplayer {nick} {
global 
player money bet_list amt_list numplayer
set np 
[lsearch -exact ${player} ${nick}]
set player [lreplace ${player$np $np]
set player [linsert ${player$np "#"]
set money [lreplace ${money$np $np]
set money [linsert ${money$np 0]
set np [lsearch -exact ${bet_list} ${nick}]
if {
$np != -1} {
set bet_list [lreplace ${bet_list$np $np]
set amt_list [lreplace ${amt_list$np $np]
}
incr numplayer -1
reset_idle $nick
}
proc reset_idle {nick} {
global 
pidle
set np 
[lsearch -exact ${pidle} ${nick}]
if {
$np != -1} {
set pidle [lreplace ${pidle$np $np]
}
}
proc set_idle {} {
global 
pidle player numplayer
if {$numplayer == 0} {return 0}
set pidle ""
foreach iii $player {
if {
$iii != "#"} {
lappend pidle ${iii}
}
}
}
proc save_game {nick uhost handle rest} {
global 
money save_path player cmd7
set np 
[lsearch -exact ${player} ${nick}]
if {
$np == -1} {
return 
0
}
if {
$rest == ""} {
putserv "NOTICE $nick :\002You have to specify password, $cmd7 <password>"
return 0
}
set filename $save_path
append filename $nick
if {[file exist $filename]} {
set fd [open $filename r]
set last_play [gets $fd]
set last_mny [gets $fd]
set passwd [gets $fd]
close $fd
if {![string match ${passwd} ${rest}]} {
putserv "NOTICE $nick :\002Sorry, wrong password"
return 0
}
}
set thecoins [lindex ${money$np]
set fd [open $filename w]
puts $fd "[ctime [unixtime]]"
puts $fd "$thecoins"
puts $fd "$rest"
close $fd
putserv 
"NOTICE $nick :\002Saved ! Password == $rest"
sethighscore $nick $uhost $thecoins
}
proc load_game {nick uhost handle rest} {
global 
save_path player money max_bet numplayer botnick max_player cmd8 \
cmd1 cmd2
set np 
[lsearch -exact ${player} ${nick}]
if {
$np == -1} {
if {
$numplayer == $max_player} {
putserv "NOTICE $nick :\002Sorry, PLAYER table is FULL. Try again later"
return 0
}
set newplay 1
} {
set newplay 0
}
if {
$rest == ""} {
putserv "NOTICE $nick :\002You have to specify password, $cmd8 <password>"
return 0
}
set filename $save_path
append filename $nick
if {[file exist $filename]} {
set fd [open $filename r]
set last_play [gets $fd]
set last_mny [gets $fd]
set passwd [gets $fd]
close $fd
if {![string match ${passwd} ${rest}]} {
putserv "NOTICE $nick :\002Sorry, wrong password"
return 0
}
} {
putserv "NOTICE $nick :\002Save file NOT FOUND. My be wrong NICK ? wrong BOT ?"
return 0
}
if {
$newplay == 0} {
delplayer $nick
}
set np [lsearch -exact ${player"#"]
set player [lreplace ${player$np $np]
set player [linsert ${player$np ${nick}]
set money [lreplace ${money$np $np]
set money [linsert ${money$np $last_mny]
incr numplayer 1
putserv 
"NOTICE $nick :\002Last Game : $last_play"
putserv "NOTICE $nick :\002Your COINS are $last_mny. To get HELP /MSG $botnick $cmd1"
putserv "NOTICE $nick :\002To set BET, Type: $cmd2 <amount>, number 1 .. $max_bet"
}
# delete player if signoff
proc sign_proc {nick uhost handle chan reason} {
set np [check_player $nick]
if {
$np == -1} {
return 
0
}
delplayer $nick
}
proc sorting {a b} {
set v1 [lindex ${a0]
set v2 [lindex ${b0]
if {
$v1 $v2} { return }
if {
$v2 $v1} { return -}
return 
0

# loading HIGH SCORE files
proc loadhs {} {
global 
hslist save_path
set fname $save_path
append fname 
"HIGHSCORE.TXT"
if {![file exist $fname]} {
set fd [open $fname w]
puts $fd "50 JohBot lamer@some.server"
puts $fd "40 HofBot loser@bot.server"
puts $fd "30 HuGBot stupid@bot.heaven"
puts $fd "20 TnT-II foolio@bot.store"
close $fd
}
set fd [open $fname r]
while {![
eof $fd]} {
set s [gets $fd]
if {[
eof $fd]} {break}
lappend hslist $s
}
close $fd
set hslist 
[lsort -decreasing -command sorting ${hslist}]
}
proc show_hs {nick uhost handle rest} {
show_it $nick 0
}
proc show_it {nick n} {
global 
hslist chanset
if {$n == 0} {
putserv "NOTICE $nick :\002Rekor tablosu :"
} {
putserv "PRIVMSG $chanset :\002Rekor tablosu :"
}
foreach 
i $hslist {
set aa [lindex ${i0]
set bb [lindex ${i1]
set cc [lindex ${i2]

set ss [format "%-9s - %7d -- %s" $bb $aa $cc
if {
$n == 0} {
putserv "NOTICE $nick :\002$ss"
} {
putserv "PRIVMSG $chanset :\002$ss"
}
}
}
proc sethighscore {nick uhost score} {
global 
hslist save_path
set newhs 0
foreach i $hslist {
set lastscore [lindex ${i0]
if {
$score >= $lastscore} {
set newhs 1
break
}
}
if {
$newhs == 1} {
set nn 0
set sh 0
foreach i $hslist {
set sc [lindex ${i0]
set ni [lindex ${i1]
set uh [lindex ${i2]
if {(
$ni == $nick) && ($uh == $uhost)} {
if {
$sc $score} {
return 
0
}
set s $score
append s 
" " $nick " " $uhost
set hslist 
[lreplace ${hslist$nn $nn]
lappend hslist $s
set sh 1
set hslist 
[lsort -decreasing -command sorting ${hslist}]
break
}
incr nn 1
}
if {
$sh == 0} {
set s $score
append s 
" " $nick " " $uhost
lappend hslist $s
set hslist 
[lsort -decreasing -command sorting ${hslist}]
set hslist [lreplace ${hslist4 4]
}
set fname $save_path
append fname 
"HIGHSCORE.TXT"
set fd [open $fname w]
foreach 
i $hslist {
puts $fd "$i"
}
close $fd
putserv 
"NOTICE $nick :\002Yeni Rekor size ait. !"
}
}
# load high score file
loadhs
proc show_version 
{nick uhost handle rest} {
global 
script_version
putserv 
"NOTICE $nick :\002BlackJack Script Turkish Edit by MainShell 1.0 version $script_version"
}
proc show_warning {nick uhost handle rest} {
global 
player botnick cmd7
foreach i $player {
if {
$i != "#"} {
putserv "NOTICE $i :\002Lutfen Oyunu Save etmek icin -> /MSG $botnick $cmd7 <password>"
putserv "NOTICE $i :\002$nick will REFRESH all my MEMORY, reloading. Sorry ..."
}
}



__________________
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Web Developer
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Web Developer
 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet
Alt 21 Nisan 2010, 06:53   #2
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: blackjack.tcl




Merhaba CooLAspavA ;
bot sanırım sizde ve denediniz çalıştıramadınız. Bu gibi durumda bana göre ; tcl deki sorunları yazsaydınız daha verimli bir yardım sağlanırdı. Tartışmak haddim değildir. Sadece bir fikirdi.
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.

 
Alıntı ile Cevapla

Alt 21 Nisan 2010, 15:51   #3
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: blackjack.tcl




ben daha öncesinde denemiştim ama tcl versiyon du sanırım sorunu ya versiyon desteklemiyor yada anlamadım çok eski bi tcl sistemi bu ben çalıştıramamıştım buraya sundum çalıştıran arkadaş olursa paylaşır bizle diye.

__________________
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Web Developer
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Web Developer
 
Alıntı ile Cevapla

Cevapla

Etiketler
blackjacktcl


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Game - Blackjack xwerswoodx mIRC Scripting Hazır Kodlar 4 26 Şubat 2017 20:08