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/)
-   mIRC Scripting Sorunları (https://www.ircforumlari.net/mirc-scripting-sorunlari/)
-   -   $read ? (https://www.ircforumlari.net/mirc-scripting-sorunlari/32413-read.html)

MavipikSeL 06 Haziran 2007 20:50

$read ?
 
Kanala giren bir kişi, $nick'i; if $read(oplar.txt) ile okutucam fakat, bulduğu satırdaki $2 ve $3'ü bir şekilde kullanmam gerekiyor. Bulduğu satırlardaki, $2 $3 gibi satırlara hangi yolla ulaşabilirim acaba?

el33t 06 Haziran 2007 22:00

Cevap: $read ?
 
Kod:

on *:join:#:if $read(oplar.txt,s,$nick) { msg # $v1 }

detay 06 Haziran 2007 22:15

Cevap: $read ?
 
Kod:

if $read(oplar.txt)  { tokenize 32 $v1  | echo -a (1.Kelime $1 ) (2.kelime: $2 ) }
tokenize ile kelime kelime ayirabilirsin

MavipikSeL 07 Haziran 2007 22:46

Cevap: $read ?
 
Kod:

on *:join:#:{
  if $read(oplar.txt,s,$nick) { tokenize 32 $v1  { if $chan == $1 { samode $1 +o $nick { if $chan == $2 samode $2 +o $nick } } } } }

Bu şekilde yaptım ama, oplar.txt'de nick şu şekilde ekli > MavipikSeL #ÖR1 #ÖR2. MavipikSeL #ÖR1'e girdiğinde opu alıyor. Yani $1 de hiçbir sorun yok ama ondan sonra txt'deki $2 satırı okunmuyor.

CipriX 08 Haziran 2007 00:41

Cevap: $read ?
 
on *:join:#:{
if $read(oplar.txt,s,$nick) {
.set %chan # $replace($v1,$chr(32),$chr(124))
if $chan == $gettok(%chan,1,124) { samode $gettok(%chan,1,124) +o $nick
}
if $chan == $gettok(%chan,2,124) { samode $gettok(%chan,2,124) +o $nick
}
}
}



İstediğini bu şekilde yapabilirsin.. Eğer yanlış anlamadıysam

MavipikSeL 08 Haziran 2007 07:25

Cevap: $read ?
 
Birinci satırda, tokenize 32 $v1 olarak yapıp, $1'ye veriyorum. İkinci satırda, ciprix'in $2 olarak ayarladığı $gettok'u kullandım oldu ama şimdi de silerken problem var, normal yolla silinmiyorlar. ;huh

detay 08 Haziran 2007 12:26

Cevap: $read ?
 
Kod:

on *:join:#:{
  if $read(oplar.txt,s,$nick) {
    tokenize 32 $v1
    var %t = 0 | var %m = $numtok($1-,32)
    while %t < %m { inc %t | if $gettok($1-,%t,32) == $chan { mode $ifmatch +o $nick } }
  }
}

böyle dene tek tek $1 = $chan $2 == $chan yerine hepsini tek tek denesin kod

MavipikSeL 12 Haziran 2007 14:37

Cevap: $read ?
 
Ekleme sorununu hallettim ama silerken problem yaşamaya başladım. Adam oplar.txt'de ekli ilk sırada $2 yani nicki diğer sıralarda kanalları var. Soplar.txt'de nicki olan birisinin yazılan nicki, bulduğu satırı komple bu şekilde silmesini istedim.

Kod:

on *:text:*:%channel:{
  if !opsil isin $1 {
    if $read(soplar.txt,w,$nick) {
      write $+(-d1,$readn) oplar.txt | msg #  $2  operatör listesinden çıkartıldı.
  }
    else {
      msg #  $nick $+ , siz bu komutu kullanamazsınız.
    }
  }
}

Sonuç olumsuz. ;boggled

detay 12 Haziran 2007 14:46

Cevap: $read ?
 
write $+(-d1,$readn)
1 degil l kullanmalisin lüleburgazin l'si (: kullanım dogru öyle yaparsan calismasi gerekir

MavipikSeL 12 Haziran 2007 14:55

Cevap: $read ?
 
ı ıhh gene silmiyor, color index karakterleri mevcut .txt'de onla alakalımı acaba? ;huh

Burda anlayamadığım nokta, ben kanala !opsil necat diye yazdığımı farzedelim, silerken write $+(-dl,$readn) kullanıyorum ama burda $2 yani ikinci satırı, necat'ı sil diye bir ifade göremiyorum. Kafam ona takıldı. :P

MavipikSeL 12 Haziran 2007 15:47

Cevap: $read ?
 
Bunuda hallettim yeni bir konu açmadan burdan birşey sorayım. :) Kanala biri girdiğinde, raw 307 ile nickin identify edilip edilmediğine bakmak istiyorum. Eğer identify edilmişse op vericem. Edilmemişse rumuzunuz identify edilmedi, diye mesaj yolluyucam. Şöyle bir giriş yaptım ama raw ile eventi oturtamadım.
Kod:

on *:join:#:{ whois $nick | raw 307:*:{ if *Kayıtlı*bir*nick* iswm $3- { mode # +o $nick } else { msg $nick rumuzunuzun şifresi girilmediği için, operatör olamıyorsunuz. } } }

CipriX 12 Haziran 2007 16:32

Cevap: $read ?
 
on *:join:#:{ .set %nik $nick | .set %chan $chan | .whois %nik }
raw 307:*:{
if *Kayıtlı*bir*nick* iswm $3- {
.mode %chan +o %nik
}
}

MavipikSeL 12 Haziran 2007 17:00

Cevap: $read ?
 
Hayır mantığı anlayamadım ama sonuç;

Alıntı:

307:*:{ Bilinmeyen Komut.

CipriX 12 Haziran 2007 17:37

Cevap: $read ?
 
*** Ayrıldı: ass ([Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]) (Ayrildi.)
*** Giriş: ass ([Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...])
*** CipriX mod değiştirdi:+o ass

ass is a registered nick

Kod:

on *:join:#:{ .set %nik $nick | .set %chan $chan | .whois %nik }
raw 307:*:{
if *register* iswm $3- {
.mode %chan +o %nik
}
}


Çalışıyor..

MavipikSeL 12 Haziran 2007 18:58

Cevap: $read ?
 
Önceki kullandığım kodun içine raw'i koyunca, bu sefer bunda sorun çıktı. :(

Kod:

on *:join:#:{
  if $read(oplar.txt,s,$nick) { whois $nick } }
raw 307:*:{
if *kayıtlı*bir*nick iswm $3- {
    .set %chan # $replace($v1,$chr(32),$chr(124)) | tokenize 32 $v1
    if $chan == $1 { samode $1 +o $nick
    }
    if $chan == $gettok(%chan,2,124) { samode $gettok(%chan,2,124) +o $nick
    }
  }
}

Raw'den sonraki setlemeri yukarı taşıyınca da, kanalları bulamıyor. Yokmu bir çözümü yahu?

diEfoRyoU 12 Haziran 2007 22:14

Cevap: $read ?
 
Kod:


on *:join:#:.enable #who | .who -n # $nick
#who off
raw *:*:{ if $istok(352 315,$numeric,32) {
if $numeric == 352 { $iif(!$regex($mid($7,2,1),/r/i),msg $6 Nickinizi kayıt altına almadığınız için operator olamıyorsunuz,mode $2 +o $6) | halt }
elseif ($numeric == 315) { .disable #who } | halt } }
#who end

Umarım kod çalışır ve işine yarar.

MavipikSeL 12 Haziran 2007 22:36

Cevap: $read ?
 
Hocam sanırım yanlış anladın. Ben üstte verdiğim kodun normal haliyle, kanala giren birisi; oplar.txt'de ekliyse, nickin yanındaki iki satırda +o modu ile op vermek istedim. Onu başardım ama rumuz identify edilmişse op vermesi, edilmemişse message iletmesi kısmını halledemedim.

diEfoRyoU 12 Haziran 2007 23:22

Cevap: $read ?
 
İyide senin bunu yapman çok basit;)
*:join:#: if ($read(op.txt,s,$nick) .who # $nick
Olarak düzenleyebilirsin;)

Bu şekilde çalışması lazım

MavipikSeL 13 Haziran 2007 00:31

Cevap: $read ?
 
Nasıl yani ya? /who # $nick = #Kanal Nick H*% [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] :1 Full-name olarak dönüyor bana. Hiç birşey anlamadım.. ;scare

diEfoRyoU 13 Haziran 2007 00:42

Cevap: $read ?
 
H*%

Bu kısımda "r" (registered) harfi geçiyorsa nick kayıtlıdır anlamına geliyor.
yani;
Alıntı:

#Kanal Nick H*% [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] :1
değilde,
Alıntı:

#Kanal Nick Hr*% [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] :1 Full-name
Şeklinde gelirse nick kayıtlı demektir.
Eee senin istediğinde bir nickin kayıtlı olup olmadığını öğrenmek değilmi?

MavipikSeL 13 Haziran 2007 00:47

Cevap: $read ?
 
Hayır ben kayıtlı bir rumuza who çektim, H şeklinde verdi. Unreal'den mi bahsediyorsunuz anlamadım ama CR'dayım ben :)

diEfoRyoU 13 Haziran 2007 00:55

Cevap: $read ?
 
O halde hem kayıtlı nicke hemde kayıtsız nicke who çekip buraya pastele ona göre yazalım bişiler;). yanlız raw numaralarınıda pastelersen sevinirim.
raw *:*: echo -a $numeric $1-
Kodu işini görür

MavipikSeL 13 Haziran 2007 20:28

Cevap: $read ?
 
Bu sorunuda bu şekilde çözdüm ama şimdi de değişik bir sorun ortaya çıktı. Adamı oplar.txt'de buluyor, ama girdiği her kanalda opu varmış gibi mesaj atıyor. Sadece oplar.txt'de nickin yanındaki iki satır için messageyi nasıl ayarlamam gerekir?

Kod:

on *:join:#:{
  if $read(oplar.txt,s,$nick) {
    if $nick !ison #op { msg $nick #op kanalında değilsin. oraya girip cycle yap. | halt } {
      if $nick ison #op {
        if $read(oplar.txt,s,$nick) {
          .set %chan # $replace($v1,$chr(32),$chr(124)) | tokenize 32 $v1
          if $chan == $1 { samode $1 +o $nick
          }
          if $chan == $gettok(%chan,2,124) { samode $gettok(%chan,2,124) +o $nick
          }
        }
      }
    }
  }
}

Birşey daha denedim. Setlemeleri yukarı taşıyarak, if $chan == $1 { gibi köprüler kurdum. Fakat burada da mesajlar atılıyor, adam op kanalında varsa, girdiği kanal ekli olduğu kanalsa modeleri devreye sokamıyoru.

Kod:

on *:join:#:{
  if $read(oplar.txt,s,$nick) {
    .set %chan # $replace($v1,$chr(32),$chr(124)) | tokenize 32 $v1
    if $nick !ison #op {
      if $chan == $1 { msg $nick kanalında opsun ama #op kanalına girmediğin için vermiyorum. | halt } {
        if $chan == $gettok(%chan,2,124) { $gettok(%chan,2,124) kanalında opsun ama #op kanalına girmediğin için vermiyorum. } {
          if $nick ison #op {
            if $chan == $1 { samode $1 +o $nick
            }
            if $chan == $gettok(%chan,2,124) { samode $gettok(%chan,2,124) +o $nick
            }
          }
        }
      }
    }
  }
}



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

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