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/)
-   -   txt okutma (https://www.ircforumlari.net/mirc-scripting-sorunlari/384721-txt-okutma.html)

sahr 26 Şubat 2011 18:00

txt okutma
 
Toplam 1 Eklenti bulunuyor.
merhaba arkadaslar anlamadığım bir husus var

txt içersinde sözler var lakin hepsi yanyana sıralanmış anlamlı sözler bunlar

sıradan bir $read(scripts\sozler.txt) kodu bu satırları nasıl ayırt edipte satır satır mış gibi okuyor bu nasıl oluyor


satır halınde olkuması gerekmiyormu


Belkide sahip oldukları tek şey odur..!
Yarın bambaşka bir insan olacağım diyorsun... Neden bugünden başlamıyorsun?
Başlamak bitirmenin yarısıdır..!



bu gormus oldugunuz tek satırda kodda basıt bir $read(scripts\sozler.txt)

kodu nasıl ayrı ayrı satır larmıs gibi okuyor

dosyayıda ekledım altta

Difuzyon 26 Şubat 2011 18:46

Cevap: txt okutma
 
Örnek: //write -n sözler.txt deneme $cr 123

WRITE komutunda -n parametresi yanyana yazdırmak için kullanılır.
$cr identifieri bu noktada satırbaşı (Enter) tuşuna denk gelir.ASCII karakter numarası 13'dür.

Eklentideki belgenizde de $cr identifieri kullanılmış.
Metin Belgesi (.txt) dosyasında bu karakter görünmemektedir.

sahr 26 Şubat 2011 20:54

Cevap: txt okutma
 
difizyun metin belgesindeki yazım farklı sanırım yazım işlemi tamam anladım ama okutma kısmı normal kodla okuyor verdiğim metin belgesi ile verdiğim kod çalışıyor onu nasıl yazdırım normal okuta biliyoruz hocam //echo -a $read(sozler.txt)


Buna ek olarak bi sıkıntım daha var !söz denildiğinde kodum çalışıyor

sorun şu
[22:50:55] <akın> !soz derya ya gelsin
[22:50:55] <sahr> akın dn derya Nickine Güzel Söz isteği



[22:48:41] <akın> !soz gene derya ya gelsin
[22:48:41] <sahr> akın dn gene Nickine Güzel Söz isteği



[22:30:37] <akın> !soz kanala gelsin
[22:30:37] <sahr> akın dn kanala Nickine Güzel Söz isteği


Bu şekilde yapa bildim biraz saçma oldu nasıl düzelte bilirim bu sorunu

kodun tamamı burda

Kod:

on *:text:*:#: {
  if  (*!s* iswm $strip($1-)) { msg  # 0,4 $nick 0,1dn 0,4 $2 0,1Nickine Güzel Söz isteği 4 ***   $+ $rand(0,14)  $+ ,  $+ 15  $+ %sozler 4 *** | sahr }
}
on *:text:*:?: {
  if  (*!s* iswm $strip($1-)) { .timerkl 1 1 msg $nick 4 ***   $+ $rand(0,14)  $+ ,  $+ 15  $+ %sozler 4 *** | sahr }
}
alias sahr {
  set %sozler $read(scripts\sozler.txt)
}


Difuzyon 27 Şubat 2011 13:47

Cevap: txt okutma
 
{ msg # 0,4 $nick 0,1dn 0,4 $2 0,1Nickine Güzel Söz isteği 4 ***  $+ $rand(0,14) $+ , $+ 15 $+ %sozler 4 *** | sahr }

yazdığın şablona göre; önce %sozler değişkenine atanan değer okunacak ardından sahr aliası ile %sozler değişkenine atama yapılacak.Sıralama mantığa uygun değil,yer değişmesi gerekir.

Anlayacağın Şimşek çakmadan gök gürlemez ;)

sahr 27 Şubat 2011 20:09

Cevap: txt okutma
 
o kısım da sorun yok en azından çalışıyor :)
sorun veli nicki !soz ali dediğinde veli dn ali Nickine Güzel Söz isteği bura normal

veli nicki !söz tekrar ali yazarsa :D veli dn tekrar Nickine Güzel Söz isteği diyor :):)
veya
veli nicki !söz kanala yazarsa :D veli dn kanala Nickine Güzel Söz isteği diyor :):)

Sorunum bu :) buna bi care bulamadım

Difuzyon 27 Şubat 2011 20:25

Cevap: txt okutma
 
msg # 0,4 $nick 0,1dn 0,4 $iif($2 ison #,$2,$iif($3 ison #,$3)) 0,1Nickine Güzel Söz isteği 4 ***  $+ $rand(0,14) $+ , $+ 15 $+ %sozler 4 ***

$2 kelime #kanal'da var olan bir nick ise $2 nickine hitaben,değilse $3 kelime #kanal'da var olan bir nick ise $3 nickine hitaben yazar.

Bu kısmı uzadıkça uzatmak mümkün,bunun yerine 2. kelimeyi kanalda var olan bir nick ise koşuluna bağlamak daha mantıklı gibi geliyor.

sahr 28 Şubat 2011 18:17

Cevap: txt okutma
 
eline sağlık cok güzel çalışıyor

öğrenmek istediğim bişey daha var örnek olarak bu kodu kullanmak istedim hem tamamen bilgi edinme amacıyla soruyorum

on *:start: {
debug -i on sahr
}


Kod:

alias sah { tokenize 32 $1-
  if (*!soz* iswm $1-) msg $4 0,4 $remove($gettok($2,1,33),:) 0,1dn  0,4Güzel Söz isteği 4 ***   $+ $rand(0,14)  $+ ,  $+ 15  $+ %sozler 4 *** | soz
}

$iif($2 ison #,$2,$iif($3 ison #,$3))
bu kodda aynı işlemi nasıl yaptıra biliriz

ayrıca debug işlemi olarak badnick koruması nasıl yapılır kısa bir örnek veririmisin bana mümkünse

Difuzyon 28 Şubat 2011 18:31

Cevap: txt okutma
 
/debug -n @pencere

komutunu gir.
Ardından $1 , $2 , $3 , $4 , $5 .... karşılıklarının nerelere denk geldiğini gözetle.
Sonra bu değerleri biribiriyle sorgula , yada eldeki veri tablonla (txt metin belgesi veya hash tablosu yada Users karşılıkları vb..) sorgula.Deneme-yanılma metodunu geliştir.
Bir kaç deneme yaparsın,sonuçları echo -s ile status kısmına görüntületirsin.

$1 , $2 , $3 , $4 , $5 .... karşılıklarının hangisi kısımlara denk geldiğini keşfettikten sonra
bu değerleri bir alias içerisinde sorgula -> işlem mantığına göre yerleştirirsin.Ardından

/debug -i on aliasİsmi

komutunu girersin ve olayları gözlemlersin.
Raw işlemleri gibidir,1-2 denemeyle yabancılık çekmezsin.

sahr 28 Şubat 2011 20:52

Cevap: txt okutma
 
Difuzyon yapamıyorum bu kodu tamamlarmısın zahmet olmazsa inanki cok makbule geçecek


Kod:

alias yasak { tokenize 32 $1-
  var %l = $strip($1-)
  if ($hmatch(kufur,%l)) {
    echo -a ban -u300 $4 $remove($gettok($2,1,33),:)
    echo -a  kick $4 $remove($gettok($2,1,33),:) Yasak!
  }
}

Yasak olan *an* kelimesiydi kelime içersinde kullanılan nickler içersinde an gecerse atsın istedim yapamadım


Bukısımda tamam çalışıyor

ban -u300 #sohbet KaRaBeLa
kick #sohbet KaRaBeLa Yasak!
[20:02:35] <KaRaBeLa> RaHVaN saqoL kardeŞim


Nick değişimlerinde çalışmıyor
ban -u300 :Amca RaHVaN
kick :Amca RaHVaN Yasak!
[20:02:49] * RaHVaN Nick değişerek Amca Old


debug cıktısı
<- :RaHVaN!Buyulum@78.164.59E1EBAC.C95DE3A4 NICK :Amca

girişlerde çalışmıyor
ban -u300 :#sohbet murathan_30
kick :#sohbet murathan_30 Yasak!
[20:02:52] * Giriş: murathan_30 (mIRCTR2011@78.165.430ABE7A.AD21C06D)


debug cıktısı
<- :murathan_30!mIRCTR2011@78.165.430ABE7A.AD21C06D JOIN :#sohbet

ekle kodu

/kufur ekle *an* komutu
Kod:

alias kufur {
  if ($1 == ekle) && ($regex($2,[A-Za-z])) {
    hadd kufur $2
    secho  $2  başarıyla eklendi
  }
}


nick değişince listede varsa atsın
kanala giren nicklerden listede olan varsa atsın
yazılan kelimeler içersinde liste olan varsa atsın

bu kodu tamamlaya bilirmiyiz arkadaşlar bukadar yapabildim :)


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

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