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/)
-   Eggdrop, NeoStats, BNC (https://www.ircforumlari.net/eggdrop-neostats-bnc/)
-   -   Eggdrop Random sistemi (https://www.ircforumlari.net/eggdrop-neostats-bnc/526479-eggdrop-random-sistemi.html)

Rhall 14 Mart 2013 23:09

Eggdrop Random sistemi
 
arkadaşlar kanalda mesela !rnd yazdığım zaman bot random 2 sayı üretebilir mi ? ornek 1-10 arası 2 sayı yazıcak bunlarıda atıyorum 3-9 diye yazıcak. yardımcı olurmusunuz

Şöyle birşey yaptım ama hata alıyorum

Kod:

bind pub - !zar sczar

proc sczar {nick user host chan arg} {

        global zar_chan

        if {$chan==$zar_chan} {
            zar1 = random.randrange(1,7)
    zar2 = random.randrange(1,7)
                                }
                                putquick "PRIVMSG 4$nick 2Zarlarınız > 4 $zar1 - $zar2

        return 0

}


saywhat 16 Mart 2013 03:50

Cevap: Eggdrop Random sistemi
 
scripti hangi kanal üstünde işletmek istiyorsanız , telnet/dcc üzerinden (partyline'da) .chanset #kanalınız +rastgele komutu #kanalınız üzerinde aktif edecektir.tüm kanallarda kullanmak istiyorsanız : .chanset * +rastgele yapabilirsiniz.

Kod:

setudef flag rastgele
 
 bind pub -|- !rnd hep:gele
 
proc hep:gele {nick uhost hand chan text} {
  if {![channel get $chan rastgele]} {
  return 0
  }
  set zar1 [expr int(rand() * 10) + 1 ]
  set zar2 [expr int(rand() * 10) + 1 ]
  puthelp "privmsg $chan :\00314$nick \00305-> \00303$zar1 \00305- \00303$zar2"
}


saywhat 16 Mart 2013 16:09

Cevap: Eggdrop Random sistemi
 
gece bu kodu yazıp buraya postalayıp yattım.yattığım yerde korku filmi izlerken (uyumak için) aklıma salakça bi fikir geldi....
"madem bu kodla gelişigüzel sayılar üretip kanala postalıyoruz..eh bugünde Cumartesi sayısal loto günü,niye bu kodu loto numaraları çekecek şekle getirmiyorum kü? " dedim...."bize yıllardır bişey denk geldiği yok hem belki botun şansı olur.." felan... gibisinden ,şu alttaki aptal görünüşlü ne amaca hizmet ettiği bilinmeyen hale getirdim...

isteyen kullansın..istemeyende kullanmasın....

Kod:

# hangi kanalda kullanacaksanız
# telnet/dcc üzerinden bota
# .chanset #kanalınız +loto
# komutuyla ayarlarsınız.
 
 setudef flag loto
 
 
bind pub -|- !sayisal say:lot
bind pub -|- !onnumara on:nu
bind pub -|- !super sup:lot
bind pub -|- !sans sans:top
 
 
proc say:lot {nick uhost hand chan text} {
  if {![channel get $chan loto]} {
  return 0
  }
  set zar1 [expr int(rand() * 49) + 1 ]
  set zar2 [expr int(rand() * 49) + 1 ]
  set zar3 [expr int(rand() * 49) + 1 ]
  set zar4 [expr int(rand() * 49) + 1 ]
  set zar5 [expr int(rand() * 49) + 1 ]
  set zar6 [expr int(rand() * 49) + 1 ]
  puthelp "privmsg $chan :\00314$nick \002\00304SayısaL Loto'daki NumaraLarınız\002\00305-> \00303$zar1 \00305- \00303$zar2 \00305- \00303$zar3 \00305- \00303$zar4 \00305- \00303$zar5 \00305- \00303$zar6"
}
 
proc on:nu {nick uhost hand chan text} {
  if {![channel get $chan loto]} {
  return 0
  }
  set zar1 [expr int(rand() * 80) + 1 ]
  set zar2 [expr int(rand() * 80) + 1 ]
  set zar3 [expr int(rand() * 80) + 1 ]
  set zar4 [expr int(rand() * 80) + 1 ]
  set zar5 [expr int(rand() * 80) + 1 ]
  set zar6 [expr int(rand() * 80) + 1 ]
  set zar7 [expr int(rand() * 80) + 1 ]
  set zar8 [expr int(rand() * 80) + 1 ]
  set zar9 [expr int(rand() * 80) + 1 ]
  set zar10 [expr int(rand() * 80) + 1 ]
  puthelp "privmsg $chan :\00314$nick \002\003040n Numara'daki NumaraLarınız\002\00305-> \00303$zar1 \00305- \00303$zar2 \00305- \00303$zar3 \00305- \00303$zar4 \00305- \00303$zar5 \00305- \00303$zar6 \00305- \00303$zar7 \00305- \00303$zar8 \00305- \00303$zar9 \00305- \00303$zar10"
}
 
proc sup:lot {nick uhost hand chan text} {
  if {![channel get $chan loto]} {
  return 0
  }
  set zar1 [expr int(rand() * 54) + 1 ]
  set zar2 [expr int(rand() * 54) + 1 ]
  set zar3 [expr int(rand() * 54) + 1 ]
  set zar4 [expr int(rand() * 54) + 1 ]
  set zar5 [expr int(rand() * 54) + 1 ]
  set zar6 [expr int(rand() * 54) + 1 ]
  puthelp "privmsg $chan :\00314$nick \002\00304Süper Loto'daki NumaraLarınız\002\00305-> \00303$zar1 \00305- \00303$zar2 \00305- \00303$zar3 \00305- \00303$zar4 \00305- \00303$zar5 \00305- \00303$zar6"
}
 
proc sans:top {nick uhost hand chan text} {
  if {![channel get $chan loto]} {
  return 0
  }
  set zar1 [expr int(rand() * 34) + 1 ]
  set zar2 [expr int(rand() * 34) + 1 ]
  set zar3 [expr int(rand() * 34) + 1 ]
  set zar4 [expr int(rand() * 34) + 1 ]
  set zar5 [expr int(rand() * 34) + 1 ]
  set zar6 [expr int(rand() * 14) + 1 ]
  puthelp "privmsg $chan :\00314$nick \002\00304Şans Topu'ndaki NumaraLarınız\002\00305-> \00303$zar1 \00305- \00303$zar2 \00305- \00303$zar3 \00305- \00303$zar4 \00305- \00303$zar5 \002\00305+\002 \00303$zar6"
}
 
putlog "belki botumun şansı yerindedir heh ?"


saywhat 17 Mart 2013 05:35

Cevap: Eggdrop Random sistemi
 
sağol GhostLy ama erken davramışsın :P

o sadece bi düşüncenin taslağı gibi bişeydi...uyanır uyanmaz unutmayım bunu diye hemen yapmıştım .. ve görüldüğü üzere çok yavan ve çok çirkindi...ayrıca sorunları vardı.aynı sayıdan satır içinde çikma ihtimali doğuyordu.özellikle onnumara için 10 rakkam seçtiğinde eşleşme olasılığı yüksek oluyordu...

bunu böyle bırakıcağımı düşünmüyordunuz ya :Ğ

neyse artık her rakkamdan sadece bir tane seçecek ve daha yakışıklı görünüyor.. yükleme şekli aynı kullanmak istediğiniz kanal için .chanset #kanalınız +loto komutu telnet/dcc üzerinden uygulayın botun olduğu tüm kanallar için #kanalınız yerine * kullanabilirsiniz.

Kod:

namespace eval loto {
 foreach a [array names loto *] { catch {unset loto($a) } }
}
  setudef flag loto
    variable loto
  array set loto {
  semb "."
  sayi "sayisal"
  onnu "onnumara"
  sup "super"
  sans "sans"
  renk1 "\002"
  renk2 "\00303"
  renk3 "\00304"
  renk4 "\00305"
  renk5 "\00314"
  }
 
 bind pub -|- "$loto(semb)$loto(sayi)" say:lot
 bind pub -|- "$loto(semb)$loto(onnu)" on:nu
 bind pub -|- "$loto(semb)$loto(sup)" sup:lot
 bind pub -|- "$loto(semb)$loto(sans)" sans:top
 
 
proc say:lot {nick uhost hand chan text} {
  if {![channel get $chan loto]} {
  return 0
  }
  variable loto
  set a [dict create]
  while {[dict size $a] < 6} { dict set a [expr {int(49*rand())+1}] . }
  dict keys $a
  puthelp "privmsg $chan :$loto(renk1)$loto(renk5)$nick $loto(renk1)$loto(renk3)SayısaL Loto'daki NumaraLarınız$loto(renk4)-> $loto(renk1)$loto(renk2)$a"
}
 
 
proc on:nu {nick uhost hand chan text} {
  if {![channel get $chan loto]} {
  return 0
  }
  variable loto
  set b [dict create]
  while {[dict size $b] < 10} { dict set b [expr {int(80*rand())+1}] . }
  dict keys $b
  puthelp "privmsg $chan :$loto(renk1)$loto(renk5)$nick $loto(renk1)$loto(renk3)0n Numara'daki NumaraLarınız$loto(renk4)-> $loto(renk1)$loto(renk2)$b"
}
 
 
proc sup:lot {nick uhost hand chan text} {
  if {![channel get $chan loto]} {
  return 0
  }
  variable loto
  set c [dict create]
  while {[dict size $c] < 6} { dict set c [expr {int(54*rand())+1}] . }
  dict keys $c
  puthelp "privmsg $chan :$loto(renk1)$loto(renk5)$nick $loto(renk1)$loto(renk3)Süper Loto'daki NumaraLarınız$loto(renk4)-> $loto(renk1)$loto(renk2)$c"
}
 
 
proc sans:top {nick uhost hand chan text} {
  if {![channel get $chan loto]} {
  return 0
  }
    variable loto
  set d [expr int(rand() * 14) + 1 ]
  set e [dict create]
  while {[dict size $e] < 5} { dict set e [expr {int(34*rand())+1}] . }
  dict keys $e
  puthelp "privmsg $chan :$loto(renk1)$loto(renk5)$nick $loto(renk1)$loto(renk3)Şans Topu'ndaki NumaraLarınız$loto(renk4)-> $loto(renk1)$loto(renk2)$e $loto(renk4)+ $loto(renk1)$loto(renk2)$d$loto(renk1)"
}
 
putlog "$loto(renk4)loto kullanıma hazır"

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

saywhat 17 Mart 2013 07:49

Cevap: Eggdrop Random sistemi
 
Not : bu arada eklemeyi unuttum.. tcl8.5.x sürümlerinde ve tcl8.6.0 ile çalışır.daha eski tcl sürümlerinde işlemeyecektir....

fLayer 17 Mart 2013 13:27

Cevap: Eggdrop Random sistemi
 
.chanset #kanalınız +loto komutu nasıl yapılacagını anlatsaydın güzel olacaktı

saywhat 17 Mart 2013 15:52

Cevap: Eggdrop Random sistemi
 
eggdrop.conf üzerinde " listen xxxx all " yazan satırda xxxx yerine olan sayı botunuzun telnet/dcc/botnet iletişiminde kullandığı açık portudur.
"set my-ip xxx.xx.xx.xxx" yada "set my-hostname blabla.net " satırlarında botunuzun bağlantı kurduğu IP adresi yada hostu yazılıdır.

telnet penceresini açıp ,bunu putty'niz varsa ,putty ile yada Windows/başlat/çalıştır telnet "enter" ile yada başlat/tüm programlar/donatılar içinden açılabilir.

Win7 yada Win8 kullanıyorsanız.ki XP yada vista kullanan pek kalmamıştır sanırım..telnet kullanabilmek için başlat/denetim masası/programlar ve özellikler penceresinin sol yanından "Windows özelliklerini aç yada kapat" tıklayınca açılan pencereden telnet seçip tamam deyince aktif hale gelecektir.(bu Win* sürümlerinde telnet programı öntanımlı olarak yüklü/aktif değil)

telnet üzerinden bağlanmak için komut örnek:

o blabla.net 12345

yani

o bot-IP/Hostu bot-portu

yazıp enter layınca bota bağlanmayı deneyecektir.burda bot için seçilen host yerine IP de aynı işi görecektir.bağlantı sağlanınca eggdrop login name soracaktır bu.sizi sahip olarak tanıdığı ad/rumuz ..set my-admin set my-owner satırlarında girdiğiniz,botun user.file dosyası üzerinde sahip olarak işlediği ad/rumuzdur.

sonra şifre sorar.buda botu ilk bağladığınızda /msg botunuz hello -daha sonra /msg botunuz pass şifreniz komutlarıyla botun user. dosyasında şifreli olarak işlediği şifrenizle botun arayüzüne "partyline" diye tabir edilen iletişimi kurmuş olursunuz.

burda artık bota tam erişiminiz olur tüm komut/ayar/özelliklerine.
komutlar için .help daha fazlası için .help all komutları.botun şuanki durumu için .status daha fazlası için .status all komutları...botun bağlı olduğu kanal üzerindeki ayarlarını görmek için .chaninfo #kanalınız komutunu...

kanal ayarlarını yada kanal üstündeki kullanıcı tercihli ayarları değişmek için .chanset #kanalınız +/-özellik komutları kullanılabilir.burda tüm komutlar " . " nokta" ile başlar...bir komut hakkında yardım almak nasıl kullanıldığını örnekle görmek için/eggdrop'un help/yardım içeriğinden faydalanmak için .help komut-adı komutları kullanılabilir.

yukardaki scripti kanal/kanallar üzerinde aktif etmek içinde burda .chanset #kanalınız + yada - loto şeklinde aktif/pasif edebilirsiniz.


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

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk