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/)
-   -   Yardim Lutfen (https://www.ircforumlari.net/tcl-scriptler/39350-yardim-lutfen.html)

valkarin 10 Ekim 2007 08:27

Yardim Lutfen
 
Degerli bu isin ustadlari benim size ufak bir sorum olcak
Diyelim elimde bir degisken var
$degisken "bir-iki-uc-dort-bes"
simdi benim merak ettigim nokta ben bu degiskenin icinde ne kadar yazi varsa onu ekrana yazdirmak.Yanliz aradaki ayraci ekranimda gormek istemiyorum sadece bilgiyi istiyorum.Yani ekranda ;
bir
iki
uc
dort
bes
tarzinda yaziyi almak istiyorum.Simdiden yardimlariniz icin tesekkurler...

BuCaLI 10 Ekim 2007 20:01

Cevap: Yardim Lutfen
 
PHP- Kodu:

set sayi "bir-iki-uc-dort-bes"
bind pub - !goster goster
proc goster 
n u h c a } { 
global 
sayi
 
if {[regexp {(.+)-(.+)-(.+)-(.+)-(.+)} $sayi tmp a1 a2 a3 a4 a5]} {
 
putquick "privmsg $c $a1"
 
putquick "privmsg $c $a2"
 
putquick "privmsg $c $a3"
 
putquick "privmsg $c $a4"
 
putquick "privmsg $c $a5"
 
}


anladığım kadarıyla istediğin bu.


Alıntı:

[19:55] <BuCaLI> !goster
[19:55] <stest> bir
[19:55] <stest> iki
[19:55] <stest> uc
[19:55] <stest> dort
[19:55] <stest> bes

Brain 10 Ekim 2007 23:10

Cevap: Yardim Lutfen
 
[split $var n]

kullanimi ile aradan kaldirmak istediginiz karakterleri bolmeye yarayan 1 protokoldur, isleyisine ornek verecek olursak

Kod:

set var "bir-iki-uc-dort"
putlog [split $var -]

Bunu oldugu gibi TCL olarak ekledigimizde bizim karsimiza cikacak sonuc bir iki uc dort olacaktir, lakin anlatmak istediginiz eger bu aradaki karakterleri kaldirmaktan ziyade birde bunlari ayri ayri yazdirmaksa bunun icin de foreach kullanman yeterli olur. Buna ornek verecek olursak

[code]
set degisken "a-b-c-d"

test ;<<< programimizi calistiriyoruz

proc test {} {
global degisken
foreach kisim [split $degisken -] {
putlog "$kisim" ;
}
}

Bu islem sonucu alt altta arada - karakteri olmadan degisken'e atanmis tum harfler dizilecektir.

valkarin 14 Ekim 2007 00:58

Cevap: Yardim Lutfen
 
Tesekkur ederim arkadaslar yardimlariniz icin bunlari bir kullanmayi denim..

valkarin 15 Ekim 2007 09:27

Cevap: Yardim Lutfen
 
baska baslik acip forumu kirletmek istemedim o yuzden diger sorumuda buraya yaziyorum
Kod:


set helpchannel "#help"
set helpopchannel "#helperop"
bind join - * pub_join
 
proc pub_join {nick uhost hand chan } {
global helpchannel helpopchannel botnick
 if {$chan != $helpchannel} { return 0 }
if {(![matchattr $hand b]) && ($nick != $botnick)} {
if {[isop $nick $chan] == 0} { return 0 } else {
 putquick "NOTICE $nick :Help kanalinda op oldugunuz anlasilmistir. Ozel op gorusmeleri icin $helpopchannel a aliniyorsunuz."
 putquick "SAJOIN $nick $helpopchannel"
 }
 }
}

Benim amacim helpchannel degiskeni icindeki kanalin icine giren oplari helpopchannel degiskenindeki kanala cekmek. Bu kodu yazdim bunun ama bunda ne gibi bir sorun varsa nedense cozemedim cekme isini bir turlu yaptiramadim.
Saygilar..

Brain 19 Ekim 2007 11:52

Cevap: Yardim Lutfen
 
Kod:

#help kanalimizi buraya yazalim
set help(kanal) "#help"
#helpop kanalimiz buraya
set help(opkanal) "#helpop"

#Bundan sonrasina karismasakta olur :)

channel add $::help(kanal)
channel add $::help(opkanal)

bind mode - "*+o*" op:yonlendir

#kanalda op oldugunda islem yap
proc op:yonlendir {nick uhost hand chan mc kimdir} {
  if {$chan != $::help(kanal) { return }
  putquick "sajoin $kimdir $::help(opkanal)"
  putquick "PRIVMSG $kimdir :$chan Kanalında Op Sop ve Founder ( @ & ~ ) Yetkisinde Olan Kullanıcıların $::help(opkanal) Kanalina Girmesi Zorunludur."
}

#op kanalinda olmadigini denetle
bind time - "* * * * *" time:optara

proc time:optara {min hour day month year} {
        global botnick
        if {$kanallar == $::help(opkanal)} { continue }
        foreach opcuk [chanlist $::help(kanal)] {
                if {[onchan $opcuk $::help(opkanal)]} { continue }
                if {[isop $opcuk $::help(kanal)] && $opcuk != $botnick} {
                        putquick "sajoin $opcuk $::help(opkanal)"
                        putquick "PRIVMSG $opcuk $::help(opkanal) kanalinda $::help(kanal) kanalinda op oldugunuz surece bulunmak zorundasiniz!"
                }
        }
}

conf duzenleyin icine kanal yazmaniza gerek yoktur, bot seceneklerde belirttiginiz kanallara girecek ve help kanalinda op olan herkezi surekli olarak helpop kanalinda olup olmadigini denetleyecektir, olmayanlari cekecek ve 1 uyari mesaji ile uyaracaktir. calismiyorsa eggdrop'um neden calismiyor basligini okuyun ona gore hata mesajlarini bildirin cozumu hizli olsun.


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

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