- ###Custom made Russian Roulette Script
 - #this is the first script I written myself so ther's probably couple of things I could have done different
 - #and I'm open for suggestions. If you got any ideas for me please contact me at dopeydwerg@hotmail.com
 - #list lucky comments
 - set pull {
 - "hizlica tetigi ceker..."
 - "titreyerek elini tetige goturur ve silayi yavasca sakagina dayar...."
 - "tetigi cekerken, yuzunde soguk ve sakin gulumseme belirir...."
 - "tabancayi agzina sokar...."
 - "tabancayi kaslarinin arasina yerlestirir ve sessizce dua eder..."
 - "yavasca silahi kaldirir ve cenesinin altina sabitler...."
 - }
 - set lucky_msg {
 - "...klik......Oops..bu silahi doldurmayi mi unuttum ?"
 - ".....klik....Bu sansin daha fazla surmeyecek hahaha"
 - ".klik........Gelecek sefere kursun ile bir randevun olacak hahaha"
 - ".klik....... Seni sansli budala"
 - "......klik....Sanslisin o kursun calismadi...Ping silaha yeni kursun doldurur"
 - "....klik.....Bahse varim sen lotoda da bu kadar sansliydin"
 - "....klik......Cevir ya da ates et umursamiyorum, eger kazanirsan seni kendi ellerimle oldururum"
 - ".....klik.....iyi oldugunu saniyorsun.....birdahaki sefere karsina cikmaya curet ediyorum"
 - "....klik......Eger senin gibi bi kafam olsaydi kaybedene kadar devam ederdim"
 - ".....klik......Boyle cirkin biri nasil bu kadar sansli olabilir"
 - }
 - #set vars
 - set player1 ""
 - set player2 ""
 - set curplayer ""
 - set notcurplayer ""
 - set timeout_timer 0
 - set started 0
 - set turns 0
 - set bullit [rand 5]
 - #file you want scores to be written
 - set scorefile "roulette.txt"
 - set kill_count 0
 - set last_warn ""
 - #binds
 - bind pub - !cevir spin:gun
 - bind pub - !vur shoot:gun
 - bind pub - !rulet challenge:player
 - bind pub - !tekrar reply:player
 - bind pub - !kabul accept
 - bind pub - !tavuk chicken
 - bind pub - !skor show_player_score
 - bind pub - !skorlar showall
 - proc accept {nick host handle chan arg} {
 - global rrstarttimer
 - if {[utimerexists started]!=""} {killutimer $rrstarttimer}
 - reply:player $nick $host $handle $chan "accept"
 - }
 - proc chicken {nick host handle chan arg} {
 - reply:player $nick $host $handle $chan "chicken"
 - }
 - #proc to get somebody ro play with you
 - proc challenge:player {nick host handle chan arg} {
 - global botnick player1 player2 started timeout_timer kill_count last_warn notcurplayer
 - global rrstarttimer rrchannel
 - if {$player1 != ""} {
 - puthelp "PRIVMSG $chan :Kusura bakma $player1 zaten $player2 'a meydan okundu"
 - return 0
 - }
 - if {![onchan $arg $chan]} {
 - if {$nick == $last_warn} {
 - puthelp "PRIVMSG $chan :Simdi beni rahatsiz etmeye basladin, seni vurmam gerek."
 - kill $nick $chan
 - return 0
 - }
 - puthelp "PRIVMSG $chan :Kusura bakma ama bu kanalda $arg diye birini bulamiyorum. ismini dogru aldigina emin misin?"
 - puthelp "PRIVMSG $chan :Eger bunu tekrar yaparsan seni vururum."
 - set last_warn $nick
 - return 0
 - }
 - if {$arg == ""} {
 - puthelp "PRIVMSG $chan :Oyunu baslatmak icin !rulet <nick> komutunu yap"
 - return 0
 - }
 - if {$started == 1} {
 - puthelp "PRIVMSG $chan :Oyun zaten devam ediyor"
 - return 0
 - }
 - if {$arg == $botnick} {
 - puthelp "PRIVMSG $chan :Meydan okuma kabul edildi"
 - puthelp "PRIVMSG $chan :RRRRRRRRRrrrrrrrr....."
 - kill $nick $chan
 - return 0
 - }
 - set player1 $nick
 - set player2 $arg
 - set rrchannel $chan
 - set timeout_timer 1
 - utimer 20 [list timeout $chan ]
 - set rrstarttimer [utimer 50 started]
 - putquick "NOTICE $player2 :$nick Rus Ruleti oynamaniz icin size meydan okuyor."
 - putquick "NOTICE $player1 :Meydan okuma $player2 a gonderildi"
 - putquick "NOTICE $player2 :kabul etmek icin !kabul, korkup kacmak icin !tavuk"
 - return 0
 - }
 - proc reply:player {nick host handle chan arg} {
 - global botnick player1 player2 turns started curplayer timeout_timer notcurplayer
 - global rrstarttimer rrchan
 - if {$player1 == ""} {
 - puthelp "NOTICE $nick :Henuz size meydan okuyan cikmadi"
 - puthelp "NOTICE $nick :Birine meydan okumak icin !rulet <nick> yap"
 - return 0
 - }
 - if {$nick != $player2} {
 - puthelp "NOTICE $nick :Bu senin cagrin degil. $player1 $player2 ye meydan okudu"
 - return 0
 - }
 - if {$arg == ""} {
 - puthelp "NOTICE $nick :kabul etmek icin !kabul, redetmek icin !tavuk"
 - return 0
 - }
 - if {$started == 1} {
 - puthelp "PRIVMSG $chan :Oyun zaten devam ediyor"
 - return 0
 - }
 - if {$arg == "chicken"} {
 - puthelp "PRIVMSG $chan :$nick korktu. $player2 sen odlegin birisin."
 - set player1 ""
 - set player2 ""
 - return 0
 - }
 - if {$arg == "accept"} {
 - set curplayer $player1
 - set notcurplayer $player2
 - set rrchan $chan
 - putserv "notice $player1 :$nick meydan okumani kabul etti."
 - putserv "notice $player1 :$curplayer once basliyor. !vur tetigi ceker, !cevir tetigi cekmeden once tabancayi cevirir"
 - putserv "notice $player2 :$curplayer once basliyor. !vur tetigi ceker, !cevir tetigi cekmeden once tabancayi cevirir"
 - incr_stats $curplayer "" "" "" "" ""
 - incr_stats $notcurplayer "" "" "" "" ""
 - set started 1
 - set timeout_timer 0
 - return 0
 - }
 - }
 - proc spin:gun {nick host handle chan arg} {
 - global botnick player1 player2 turns started bullit curplayer
 - if {$nick != $curplayer} {
 - puthelp "PRIVMSG $chan :Hey sahtekarlik yok, senin siran degil."
 - return 0
 - }
 - if {$started == 0} {
 - puthelp "PRIVMSG $chan :Oyun devam etmiyor. Oynamak icin !rulet <nick>"
 - return 0
 - }
 - set bullit [rand 5]
 - puthelp "PRIVMSG $chan :$curplayer tabancayi cevirir.....RRRRRRRRRrrrrrrrrre..."
 - incr_stats $curplayer "" "" "" "+ 1" ""
 - shoot:gun $nick $host $handle $chan $started
 - return 0
 - }
 - proc shoot:gun {nick host handle chan arg} {
 - global botnick player1 player2 turns curplayer started bullit lucky_msg pull notcurplayer playerstat
 - if {$started == 0} {
 - puthelp "PRIVMSG $chan :Oyun devam etmiyor. Oynamak icin !rulet <nick>"
 - return 0
 - }
 - if {$nick != $curplayer} {
 - puthelp "PRIVMSG $chan :Hey sahtekarlik yok, senin siran degil."
 - return 0
 - }
 - set checknr1 [rand [llength $pull]]
 - set temp_pull $pull
 - set temp_pull [lindex $temp_pull $checknr1]
 - puthelp "PRIVMSG $chan :$nick $temp_pull"
 - incr_stats $curplayer "" "" "+ 1" "" ""
 - #check if bullit is on position 0 if it is then your dead
 - if {$bullit != 0} {
 - #if not then set bullit - 1 like in a real fun
 - set bullit [expr $bullit - 1]
 - #increase turns taken for stats
 - set turns [expr $turns + 1]
 - #insert random msg
 - set checknr [rand [llength $lucky_msg]]
 - set temp_lol $lucky_msg
 - set temp_lol [lindex $temp_lol $checknr]
 - puthelp "PRIVMSG $chan :$temp_lol"
 - #switch playsers so nobody can before there turn
 - if {$curplayer == $player1} {
 - set curplayer $player2
 - set notcurplayer $player1
 - } else {
 - set curplayer $player1
 - set notcurplayer $player2
 - }
 - puthelp "notice $curplayer :Senin siran !vur ya da !cevir"
 - puthelp "notice $notcurplayer :$curplayer'nin sirasi"
 - return 0
 - #if bullit was on position 0 kick loser from chan and reset all used variables
 - } else {
 - incr_stats $curplayer "" "+ 1" "" "" "+ 1"
 - incr_stats $notcurplayer "+ 1" "" "" "" "+ 1"
 - show_score $notcurplayer
 - putlog "$playerstat"
 - puthelp "KICK $chan $curplayer :\002 \00304 *BANG*!! Sen bir Olusun!! Kazanan $playerstat"
 - puthelp "PRIVMSG $chan :\002 \00312Oynamak icin -> !rulet <nick> , skorlar icin -> !skorlar nick , skor sorgulamak icin ->!skor <nick>"
 - set player1 ""
 - set player2 ""
 - set curplayer ""
 - set bullit [rand 5]
 - set started 0
 - return 0
 - }
 - }
 - proc kill {nick chan} {
 - global botnick
 - set bullit [rand 5]
 - for {set x 1} {$x < $bullit} {incr x} {
 - puthelp "PRIVMSG $chan :klik..."
 - }
 - puthelp "PRIVMSG $chan :...BANG!!! Kaybettin! "
 - puthelp "KICK $chan $nick : Evet kral hala benim =p"
 - return 0
 - }
 - proc timeout { chan } {
 - global botnick player1 player2 turns curplayer started bullit lucky_msg pull timeout_timer
 - if {$timeout_timer == 1} {
 - puthelp "PRIVMSG $chan : $player2 muhtemelen tavuk gibi korktu"
 - set player1 ""
 - set player2 ""
 - set curplayer ""
 - set bullit [rand 5]
 - set timeout_timer 0
 - set started 0
 - return 0
 - }
 - }
 - proc get_scores {} {
 - global botnick scorefile rrscoresbyname rrscorestotal rrscores rrranksbyname rrranksbynum
 - if {[file exists $scorefile]&&[file size $scorefile]>2} {
 - set _sfile [open $scorefile r]
 - set rrscores [lsort -dict -decreasing [split [gets $_sfile] " "]]
 - close $_sfile
 - set rrscorestotal [llength $rrscores]
 - } else {
 - set rrscores ""
 - set rrscorestotal 0
 - }
 - if {[info exists rrscoresbyname]} {unset rrscoresbyname}
 - if {[info exists rrranksbyname]} {unset rrranksbyname}
 - if {[info exists rrranksbynum]} {unset rrranksbynum}
 - set i 0
 - while {$i<[llength $rrscores]} {
 - set _item [lindex $rrscores $i]
 - set _nick [lindex [split $_item ,] 5]
 - set _win [lindex [split $_item ,] 0]
 - set _lost [lindex [split $_item ,] 1]
 - set _shots [lindex [split $_item ,] 2]
 - set _spins [lindex [split $_item ,] 3]
 - set _played [lindex [split $_item ,] 4]
 - set rrscoresbyname($_nick) $_win
 - set rrranksbyname($_nick) [expr $i+1],$_win
 - set rrranksbynum([expr $i+1]) $_nick,$_win
 - incr i
 - }
 - return
 - }
 - proc incr_stats {who win loss shots spins played} {
 - global botnick scorefile rrscoresbyname rrscorestotal rrscores rrranksbyname rrranksbynum
 - set who [lindex [split $who "|"] 0]
 - set who [lindex [split $who "_"] 0]
 - get_scores
 - if {$rrscorestotal>0} {
 - set i 0
 - if {[lsearch $rrscores "*,*,*,*,*,$who"]==-1} {
 - append _newscores "0,0,0,0,0,$who "
 - }
 - while {$i<[expr [llength $rrscores] - 1]} {
 - set _item [lindex $rrscores $i]
 - set _nick [lindex [split $_item ,] 5]
 - set _win [lindex [split $_item ,] 0]
 - set _lost [lindex [split $_item ,] 1]
 - set _shots [lindex [split $_item ,] 2]
 - set _spins [lindex [split $_item ,] 3]
 - set _played [lindex [split $_item ,] 4]
 - if {[strlwr $who]==[strlwr $_nick]} {
 - append _newscores "[expr $_win $win],[expr $_lost $loss],[expr $_shots $shots],[expr $_spins $spins],[expr $_played $played],$_nick "
 - } else {
 - append _newscores "$_win,$_lost,$_shots,$_spins,$_played,$_nick "
 - }
 - incr i
 - }
 - } else {
 - append _newscores "0,0,0,0,0,$who "
 - }
 - set _sfile [open $scorefile w]
 - puts $_sfile "$_newscores"
 - close $_sfile
 - return 0
 - }
 - proc show_score {text} {
 - global rrscoresbyname rrscores playerstat
 - get_scores
 - set idx [lsearch -glob $rrscores "*,*,*,*,*,$text"]
 - putlog "[lindex $rrscores $idx]"
 - set _item [lindex $rrscores $idx]
 - set _nick [lindex [split $_item ,] 5]
 - set _win [lindex [split $_item ,] 0]
 - set _lost [lindex [split $_item ,] 1]
 - set _shots [lindex [split $_item ,] 2]
 - set _played [lindex [split $_item ,] 4]
 - set playerstat "$_nick \00307oynanan $_played oyun, \00309kazanilan $_win, \00304kaybedilen $_lost, \00313hedefe $_shots atis"
 - return
 - }
 - proc showall {nick uhost handle chan arg} {
 - global botnick scorefile rrscoresbyname rrscorestotal rrscores rrranksbyname rrranksbynum
 - get_scores
 - set totallength 16
 - if {$rrscorestotal>0} {
 - putquick "PRIVMSG $nick :\00304*****************Roulette Scores**********************"
 - putquick "PRIVMSG $nick :\00304**| NickName | Total | Won | Lost | Shots \00304|**"
 - putquick "PRIVMSG $nick :\00304**|-----------------|-------|-------|------|-------|**"
 - set i 0
 - while {$i<[expr [llength $rrscores] - 1]} {
 - set checked 0
 - set _item [lindex $rrscores $i]
 - set _nick [lindex [split $_item ,] 5]
 - set _win [lindex [split $_item ,] 0]
 - if {$_win < 10} {
 - set _win " $_win "
 - } elseif {$_win < 100} {
 - set _win " $_win "
 - }
 - set _lost [lindex [split $_item ,] 1]
 - if {$_lost < 10} {
 - set _lost " $_lost "
 - } elseif {$_lost < 100} {
 - set _lost " $_lost "
 - }
 - set _shots [lindex [split $_item ,] 2]
 - if {$_shots < 10} {
 - set _shots " $_shots "
 - } elseif {$_shots < 100} {
 - set _shots " $_shots "
 - }
 - set _played [lindex [split $_item ,] 4]
 - if {$_played < 10} {
 - set _played " $_played "
 - } elseif {$_played < 100} {
 - set _played " $_played "
 - }
 - set checknick [split $_nick ""]
 - set who [lindex [split $nick "|"] 0]
 - set who [lindex [split $who "_"] 0]
 - if {[string tolower $who] == [string tolower $_nick]} {set checked 1}
 - set long [llength $checknick]
 - set spaces ""
 - for {set i2 $long} {$i2 < $totallength} {incr i2} {
 - append spaces " "
 - }
 - if {$checked == 1} {
 - putquick "PRIVMSG $nick :\00304**| \00312$_nick$spaces\00304|\00312$_played\00304|\00312$_win\00304|\00312$_lost\00304|\00312$_shots\00304|**"
 - } else {
 - putquick "PRIVMSG $nick :\00304**| \00310$_nick$spaces\00304|\00310$_played\00304|\00310$_win\00304|\00310$_lost\00304|\00310$_shots\00304|**"
 - }
 - incr i
 - }
 - putquick "PRIVMSG $nick :\00304********************End off list**********************"
 - }
 - return 0
 - }
 - proc show_player_score {nick host handle chan arg} {
 - global rrscoresbyname rrscores playerstat
 - if {$arg == ""} { set arg $nick } else { set arg [lindex [split $arg " "] 0] }
 - show_score $arg
 - puthelp "PRIVMSG $chan : $playerstat"
 - return 1
 - }
 - proc started {} {
 - putlog "starttimer ended"
 - }
 - proc tggamemsg {what} {global rrchannel;putquick "PRIVMSG $rrchannel :[tgbold]$what"}
 - putlog "\Rus Ruleti Yuklendi."
 
Stikked
