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

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   TCL Scriptler (https://www.ircforumlari.net/tcl-scriptler/)
-   -   Bu TCL'ye Nasıl Muaf Nick Ekleriz ? (https://www.ircforumlari.net/tcl-scriptler/629413-bu-tclye-nasil-muaf-nick-ekleriz.html)

No_FeaR 17 Ekim 2014 19:41

Bu TCL'ye Nasıl Muaf Nick Ekleriz ?
 
Yani Ben Komut Vermeden Beni Oyuna Dahil Edemesinler. Ancak Ben Kendim !Bomba Dediğim de Oyuna Dahil Olmak İstiyorum, Yoksa Away'ken Kullanıcı Geliyor !Bomba No_FeaR Diyo Atılıyoruz Izdırap : )
Oyuna Kendim Verdiğim Komut Doğrultusunda Devam Edebileyim Yani...
Extra Olacak Bişey Yok Sadece Kendi Adımı Yada Bir Kaç Muaf Tutmak İstediğim Nickleri Eklemek İstersem.. : )



Kod:

#
# Kullanılabilecek komutlar: !bomba nick - !kes renk
# Belirttiğiniz kanalda istediğiniz bir kullanıcının eline bombayı verebilirsiniz.
#

bind  pub  -  !bomba  doTimebomb
bind  pub  -  !kes  doCutWire

#
# Bombayı kesme süresi saniye cinsinden
# Maksimum 60 sn - Minimum 20 sn içerisinde kesmelidir.
#
set gTimebombMinimumDuration 20
set gTimebombMaximumDuration 60

#
# Kablo renkleri ve maksimum kablo sayısı
# Ekleme yapmak isterseniz lütfen boşluk bırakınız.
#
set gWireChoices "Kırmızı Turuncu Sarı Yeşil Mavi Siyah Beyaz Gri Kahverengi Pembe Bej Fuşya Krem Lila Bordo Lacivert Gümüş Turkuaz"
set gMaxWireCount 3

#
# Botun bomba özelliğinin aktif olması opsiyonu
# Bu bölümü değiştirmeyiniz.
#
set gTimebombActive 0
set gTimerId 0
set gTimebombTarget ""

#
# Botun çalışacağı kanalı belirtiyoruz.
# Eggdrop botunuzun yalnızca bir kanalda bomba özelliğini kullanabilirsiniz.
#
set gTimebombChannel "#Sohbet"
set gCorrectWire ""
set gNumberNames "sıfır bir iki üç dört beş altı yedi sekiz dokuz on onbir oniki"

#
# Buradan sonrasında dikkatli olmanız gerekli kick sebeplerini değiştirebilirsiniz.
# Kaydırma yaptığınızda botunuz düzgün çalışmayacaktır.
#

proc note {msg} {
  putlog "% $msg"
}

proc IRCKick {theNick theChannel theReason} {
  note "Kicking $theNick in $theChannel (Reason: $theReason)"
  putserv "KICK $theChannel $theNick :$theReason"
}

proc IRCPrivMSG {theTarget messageString} {
  putserv "PRIVMSG $theTarget :$messageString"
}

proc IRCAction {theTarget messageString} {
  putserv "PRIVMSG $theTarget :\001ACTION $messageString\001"
}

proc MakeEnglishList {theList} {
  set theListLength [llength $theList]
  set returnString [lindex $theList 0]
  for {set x 1} {$x < $theListLength} {incr x} {
    if { $x == [expr $theListLength - 1] } {
      set returnString "$returnString ve [lindex $theList $x]"
      } else {
      set returnString "$returnString, [lindex $theList $x]"
    }
  }
  return $returnString
}

proc SelectWires {wireCount} {
  global gWireChoices
  set totalWireCount [llength $gWireChoices]
  set selectedWires ""
  for {set x 0} {$x < $wireCount} {incr x} {
    set currentWire [lindex $gWireChoices [expr int( rand() * $totalWireCount )]]
    if { [lsearch $selectedWires $currentWire] == -1 } {
      lappend selectedWires $currentWire
      } else {
      set x [expr $x - 1]
    }
  }
  return $selectedWires
}

proc DetonateTimebomb {destroyTimer kickMessage} {
  global gTimebombTarget gTimerId gTimebombChannel gTimebombActive
  if { $destroyTimer } {
    killutimer $gTimerId
  }
  set gTimerId 0
  set gTimebombActive 0
  IRCKick $gTimebombTarget $gTimebombChannel $kickMessage
}

proc DiffuseTimebomb {wireCut} {
  global gTimerId gTimebombActive gTimebombTarget gTimebombChannel
  killutimer $gTimerId
  set gTimerId 0
  set gTimebombActive 0
  IRCPrivMSG $gTimebombChannel "$gTimebombTarget $wireCut kabloyu kesti, bomba etkisiz hale getirildi."
}

proc StartTimeBomb {theStarter theNick theChannel} {
  global gTimebombActive gTimebombTarget gTimerId gTimebombChannel gNumberNames gCorrectWire
  global gMaxWireCount gTimebombMinimumDuration gTimebombMaximumDuration
  if { $gTimebombActive == 1 } {
    note "Bomba aktif olduğu için, yeni bir bomba kurulamadı!"
    if { $theChannel != $gTimebombChannel } {
      IRCPrivMSG $theChannel "Bomba özelliğini bir kanalda kullanabilirsiniz."
      } else {
    }
    } else {
    set timerDuration [expr $gTimebombMinimumDuration + [expr int(rand() * ($gTimebombMaximumDuration - $gTimebombMinimumDuration))]]
    set gTimebombTarget $theNick
    set gTimebombChannel $theChannel
    set numberOfWires [expr 1 + int(rand() * ( $gMaxWireCount - 0 ))]
    set listOfWires [SelectWires $numberOfWires]
    set gCorrectWire [lindex $listOfWires [expr int( rand() * $numberOfWires )]]
    set wireListAsEnglish [MakeEnglishList $listOfWires]
    set wireCountAsEnglish [lindex $gNumberNames $numberOfWires]
    IRCAction $theChannel "Bomba $gTimebombTarget nickinin elinde. $gTimebombTarget nickinin bombayı etkisiz hale getirebilmek için $timerDuration saniyesi var."
    if { $numberOfWires == 1 } {
      IRCPrivMSG $theChannel "Doğru kabloyu keserek, bombayı etkisiz hale getirin! Sadece $wireCountAsEnglish tane kablonuz var. Kesebileceğiniz kablo renkleri: $wireListAsEnglish."
      } else {
      IRCPrivMSG $theChannel "Doğru kabloyu keserek, bombayı etkisiz hale getirin! Sadece $wireCountAsEnglish tane kablonuz var. Kesebileceğiniz kablo renkleri: $wireListAsEnglish."
    }
    note "Saatli bomba $theStarter tarafından başlatıldı! $theNick nickinin bombayı $timerDuration saniyede etkisiz hale getirmesi gerekiyor."
    set gTimebombActive 1
    set gTimerId [utimer $timerDuration "DetonateTimebomb 0 {Süre bitti malesef bomba elinizde patladı. BOOOM!}"]
  }
}

proc doCutWire {nick uhost hand chan arg} {
  global gTimebombActive gCorrectWire gTimebombTarget
  if { $gTimebombActive == 1 } {
    if { [string tolower $nick] == [string tolower $gTimebombTarget] } {
      if { [llength $arg] == 1 } {
        if { [string tolower $arg] == [string tolower $gCorrectWire] } {
          DiffuseTimebomb $gCorrectWire
          } else {
          DetonateTimebomb 1 "Malesef yanlış kabloyu kestiniz. BOOOOM!"
        }
      }
    }
  }
}

proc doTimebomb {nick uhost hand chan arg} {
  global botnick
  set theNick $nick
  if { [llength $arg] == 1 } {
    set theNick [lindex [split $arg] 0]
  }
  if { [string tolower $theNick] == [string tolower $botnick] } {
    set theNick $nick
    IRCKick $theNick $chan "Beni bombalayamazsınız!"
    return
  }
  if { [validuser $theNick] == 1 } {
    if { [matchattr $theNick "+b"] == 1 } {
      set theNick $nick
      IRCKick $theNick $chan "Beni banlayamazsınız!"
      return
    }
  }
  StartTimeBomb $nick $theNick $chan
}


saywhat 17 Ekim 2014 22:10

Cevap: Bu TCL'ye Nasıl Muaf Nick Ekleriz ?
 
Kod:

#
# Kullanılabilecek komutlar: !bomba nick - !kes renk
# Belirttiğiniz kanalda istediğiniz bir kullanıcının eline bombayı verebilirsiniz.
#

# muaf tutulacak nickler araya boşluk bırakarak ekleyin.
# (büyük-küçük harf uyumu aranmaz.wildcard kullanılabilir)
#
set muaflar "bla blah blabla"

bind  pub  -  !bomba  doTimebomb
bind  pub  -  !kes  doCutWire

#
# Bombayı kesme süresi saniye cinsinden
# Maksimum 60 sn - Minimum 20 sn içerisinde kesmelidir.
#
set gTimebombMinimumDuration 20
set gTimebombMaximumDuration 60

#
# Kablo renkleri ve maksimum kablo sayısı
# Ekleme yapmak isterseniz lütfen boşluk bırakınız.
#
set gWireChoices "Kırmızı Turuncu Sarı Yeşil Mavi Siyah Beyaz Gri Kahverengi Pembe Bej Fuşya Krem Lila Bordo Lacivert Gümüş Turkuaz"
set gMaxWireCount 3

#
# Botun bomba özelliğinin aktif olması opsiyonu
# Bu bölümü değiştirmeyiniz.
#
set gTimebombActive 0
set gTimerId 0
set gTimebombTarget ""

#
# Botun çalışacağı kanalı belirtiyoruz.
# Eggdrop botunuzun yalnızca bir kanalda bomba özelliğini kullanabilirsiniz.
#
set gTimebombChannel "#Sohbet"
set gCorrectWire ""
set gNumberNames "sıfır bir iki üç dört beş altı yedi sekiz dokuz on onbir oniki"

#
# Buradan sonrasında dikkatli olmanız gerekli kick sebeplerini değiştirebilirsiniz.
# Kaydırma yaptığınızda botunuz düzgün çalışmayacaktır.
#

proc note {msg} {
  putlog "% $msg"
}

proc IRCKick {theNick theChannel theReason} {
  note "Kicking $theNick in $theChannel (Reason: $theReason)"
  putserv "KICK $theChannel $theNick :$theReason"
}

proc IRCPrivMSG {theTarget messageString} {
  putserv "PRIVMSG $theTarget :$messageString"
}

proc IRCAction {theTarget messageString} {
  putserv "PRIVMSG $theTarget :\001ACTION $messageString\001"
}

proc MakeEnglishList {theList} {
  set theListLength [llength $theList]
  set returnString [lindex $theList 0]
  for {set x 1} {$x < $theListLength} {incr x} {
    if { $x == [expr $theListLength - 1] } {
      set returnString "$returnString ve [lindex $theList $x]"
      } else {
      set returnString "$returnString, [lindex $theList $x]"
    }
  }
  return $returnString
}

proc SelectWires {wireCount} {
  global gWireChoices
  set totalWireCount [llength $gWireChoices]
  set selectedWires ""
  for {set x 0} {$x < $wireCount} {incr x} {
    set currentWire [lindex $gWireChoices [expr int( rand() * $totalWireCount )]]
    if { [lsearch $selectedWires $currentWire] == -1 } {
      lappend selectedWires $currentWire
      } else {
      set x [expr $x - 1]
    }
  }
  return $selectedWires
}

proc DetonateTimebomb {destroyTimer kickMessage} {
  global gTimebombTarget gTimerId gTimebombChannel gTimebombActive
  if { $destroyTimer } {
    killutimer $gTimerId
  }
  set gTimerId 0
  set gTimebombActive 0
  IRCKick $gTimebombTarget $gTimebombChannel $kickMessage
}

proc DiffuseTimebomb {wireCut} {
  global gTimerId gTimebombActive gTimebombTarget gTimebombChannel
  killutimer $gTimerId
  set gTimerId 0
  set gTimebombActive 0
  IRCPrivMSG $gTimebombChannel "$gTimebombTarget $wireCut kabloyu kesti, bomba etkisiz hale getirildi."
}

proc StartTimeBomb {theStarter theNick theChannel} {
  global gTimebombActive gTimebombTarget gTimerId gTimebombChannel gNumberNames gCorrectWire
  global gMaxWireCount gTimebombMinimumDuration gTimebombMaximumDuration
  if { $gTimebombActive == 1 } {
    note "Bomba aktif olduğu için, yeni bir bomba kurulamadı!"
    if { $theChannel != $gTimebombChannel } {
      IRCPrivMSG $theChannel "Bomba özelliğini bir kanalda kullanabilirsiniz."
      } else {
    }
    } else {
    set timerDuration [expr $gTimebombMinimumDuration + [expr int(rand() * ($gTimebombMaximumDuration - $gTimebombMinimumDuration))]]
    set gTimebombTarget $theNick
    set gTimebombChannel $theChannel
    set numberOfWires [expr 1 + int(rand() * ( $gMaxWireCount - 0 ))]
    set listOfWires [SelectWires $numberOfWires]
    set gCorrectWire [lindex $listOfWires [expr int( rand() * $numberOfWires )]]
    set wireListAsEnglish [MakeEnglishList $listOfWires]
    set wireCountAsEnglish [lindex $gNumberNames $numberOfWires]
    IRCAction $theChannel "Bomba $gTimebombTarget nickinin elinde. $gTimebombTarget nickinin bombayı etkisiz hale getirebilmek için $timerDuration saniyesi var."
    if { $numberOfWires == 1 } {
      IRCPrivMSG $theChannel "Doğru kabloyu keserek, bombayı etkisiz hale getirin! Sadece $wireCountAsEnglish tane kablonuz var. Kesebileceğiniz kablo renkleri: $wireListAsEnglish."
      } else {
      IRCPrivMSG $theChannel "Doğru kabloyu keserek, bombayı etkisiz hale getirin! Sadece $wireCountAsEnglish tane kablonuz var. Kesebileceğiniz kablo renkleri: $wireListAsEnglish."
    }
    note "Saatli bomba $theStarter tarafından başlatıldı! $theNick nickinin bombayı $timerDuration saniyede etkisiz hale getirmesi gerekiyor."
    set gTimebombActive 1
    set gTimerId [utimer $timerDuration "DetonateTimebomb 0 {Süre bitti malesef bomba elinizde patladı. BOOOM!}"]
  }
}

proc doCutWire {nick uhost hand chan arg} {
  global gTimebombActive gCorrectWire gTimebombTarget
  if { $gTimebombActive == 1 } {
    if { [string tolower $nick] == [string tolower $gTimebombTarget] } {
      if { [llength $arg] == 1 } {
        if { [string tolower $arg] == [string tolower $gCorrectWire] } {
          DiffuseTimebomb $gCorrectWire
          } else {
          DetonateTimebomb 1 "Malesef yanlış kabloyu kestiniz. BOOOOM!"
        }
      }
    }
  }
}

proc doTimebomb {nick uhost hand chan arg} {
  global botnick
  set theNick $nick
  if { [llength $arg] == 1 } {
    set theNick [lindex [split $arg] 0]
  }
 
  foreach muaf [split $::muaflar " "] {
    if {[string match -nocase $muaf [lindex [split $arg] 0]] && ![string match -nocase $muaf $nick]} {
        IRCKick $nick $chan "selametle..."
        return
        }
    }
   
  if { [string tolower $theNick] == [string tolower $botnick] } {
    set theNick $nick
    IRCKick $theNick $chan "Beni bombalayamazsınız!"
    return
  }
  if { [validuser $theNick] == 1 } {
    if { [matchattr $theNick "+b"] == 1 } {
      set theNick $nick
      IRCKick $theNick $chan "Beni banlayamazsınız!"
      return
    }
  }
  StartTimeBomb $nick $theNick $chan
}


No_FeaR 17 Ekim 2014 23:11

Cevap: Bu TCL'ye Nasıl Muaf Nick Ekleriz ?
 
@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Nereleri Değişmem Gerek Söylermisin, Çok Teşekkür Ederim Emeğine Sağlık : )

saywhat 17 Ekim 2014 23:23

Cevap: Bu TCL'ye Nasıl Muaf Nick Ekleriz ?
 
Kod:

# muaf tutulacak nickler araya boşluk bırakarak ekleyin. 
# (büyük-küçük harf uyumu aranmaz.wildcard kullanılabilir)
#
set muaflar "bla blah blabla"

->
Kod:

foreach muaf [split $::muaflar " "] {
    if {[string match -nocase $muaf [lindex [split $arg] 0]] && ![string match -nocase $muaf $nick]} {

# set muaflar "..." ayarında ekli olanlardan herhangi biri, !bomba <hedef> komutunda, "hedef" ile eşleşiyorsa, ve komutu kullanan $nick muaflardan biri değilse:

Kod:

        IRCKick $nick $chan "selametle..."
        return
        }
    }

# o "delikanlıyı" tepikle...


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 19:33.

Powered by vBulletin® Version 3.8.8 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2024 IRCForumlari.Net