mIRC Scripting  


Geri dön   mIRC Scripting > mIRC Scripting > Help - Yardım

Help - Yardım mIRC Scripting hakkında her konuda yardım alabileceğiniz bölümdür.

Cevapla
 
LinkBack Seçenekler
  #1  
Alt 28 Ağustos 2009, 01:49
Avatar Yok

mS Puan: 1
mS Derece: Oliver Meraklı
 
Üyelik tarihi: 28 Ağustos 2009
Mesajlar: 11
Konular: 3
Eklentiler: 0
Alınan Teşekkür: 0
Yapılan Teşekkür: 0
Standart socket bot listeden satırı okutup islem yapma

burda ;
Kod:
    if (:.onay == $4) { 
      var %oprnick $remove($gettok($1-,1,33),:)
      ock %oprnick
      if ($chr(35) !isin $5) { sw $sockname privmsg %::chan kanal onaylarken " $chr(35) " işaretini gir :) | halt }
      _islemyap $5
bu kod icin bi alias deniyorum ;

Kod:
alias _islemyap {
  var %n = $left($calc($ctime * $rand(1000,9999)),7)
  if ($hfind(onaybekleyen,$1-,0,W).data) { .sw $sockname PRIVMSG %::chan Belirttiginiz kanal listede yok. | halt }
  .sw $sockname PRIVMSG %::chan kanal acilip sahibine memo atıldı
  hadd -m chan %n $1-
  hsave -o chan chan.chc
  hdel onaybekleyen $hfind(bd,$1-,1,W).data
  hsave -o onaybekleyen onaybekleyen.chc
  .hfree -sw onaybekleyen
  hmake onaybekleyen
  hload onaybekleyen onaybekleyen.chc
}

.onay #kanal komutu verildiğinde onaybekleyen dosyasına bakıp listede yoksa yok deyip, varsa sahibine memo atıp kanalı kaydetmesi,
sonra bu kanalı chan.chc dosyasına kaydedip onaybekleyenden silmesi.

bu konuda yardımcı olabilirseniz sevinirim, herkese kolay gelsin

Onay bekleyen dosyası aşağıdaki gibidir.

6641356
#istanbul Cemil
3499016
#Sohbet Murat
6463885
#izmir Gizem
1158586
#chat Ali
3824388
#Sevgi Taner
Alıntı ile Cevapla
Sponsored Links
  #2  
Alt 28 Ağustos 2009, 05:17
Avatar Yok
 DirtyCoder 

mS Puan: 1031
mS Derece: L4roXyL Kod delisiL4roXyL Kod delisiL4roXyL Kod delisiL4roXyL Kod delisiL4roXyL Kod delisiL4roXyL Kod delisiL4roXyL Kod delisiL4roXyL Kod delisi
 
Üyelik tarihi: 10 Temmuz 2009
Yaş: 33
Mesajlar: 339
Konular: 100
Eklentiler: 3
Alınan Teşekkür: 40
Yapılan Teşekkür: 0
Standart

İlk öncelikle /hsave komutunda "-o" anahtarı işlev görmez çünki böyle bir anahtar yok.
Ek olarak ben kodun tabanına inerek sana yardımcı olacağım.
Onaybekleyen tablosuna verileri #kanal(ITEM) nick(DATA) şeklinde kaydetmelisin.(/hadd -m onaybekleyen #kanal nick)

-

;_islemyap <#kanal(onaylanacak kanal)> <sockname> <aktif kanal(.onay #kanal komutu uygulanan kanal)>

Kod:
alias _islemyap {
  var %_n = $hget(onaybekleyen,$1),%s = sockwrite -n $2,%_t = $ticks
  if (!%_n) { %s PRIVMSG $3 belirttiğin $1 kanalı listede yok. | return }
  else {
    %s JOIN $1 | %s cs register $1 %_t $1 is open. | %s cs set $1 founder %_n | %s ms send %_n $1 kanalı adınıza kaydedildi. Kanal şifresi: %_t
    %s PRIVMSG $3 $1 kanalı açılıp sahibine( $+ %_n $+ ) memo atıldı.
    hdel onaybekleyen $1 | hsave -i onaybekleyen onay.hash
    hadd -m chan $1 ok | hsave -i chan chan.chc
  }
}
Şeklinde bir alias işini görür.
-
Bu alias-ın yaptığı işlevler;
Onaybekleyen tablosunda, kanal ismini search eder. Eğer search başarısız olursa, kanala uyarı mesajı gönderir. Eğer başarılı olursa;
1- Bot belirtilen kanala giriş yapar.
2- Kanalı kayıt eder(şifresi $ticks-den gelen veridir)
3- Kanalı kayıt etmek isteyen nick-in üzerine geçirir.
4- Kanalı kayıt etmek isteyen kullanıcıya memo gönderir(kanal şifresi içerisinde)
5- Onaybekleyen tablosundan işlem yapılan kanalı siler ve tekrar "ini" şeklinde save eder.(onay.hash dosyasına)
6- İşlem gören kanalı(kayıt tamamlanan kanalı) chan.chc dosyasına "ini" şeklinde kayıt eder.

Ek olarak şu kısmıda aşağıda verdiğim gibi değiştir.

Kod:
if (:.onay == $4) { 
      var %oprnick $remove($gettok($1-,1,33),:)
      ock %oprnick
      if ($chr(35) !isin $5) { sw $sockname privmsg %::chan kanal onaylarken " $chr(35) " işaretini gir :) | halt }
      _islemyap $5 $sockname %::chan
}
__________________
C/co/cod/code^man.

Konu CoCoRiCo tarafından (26 Eylül 2009 Saat 13:12 ) değiştirilmiştir.
Alıntı ile Cevapla
  #3  
Alt 04 Eylül 2009, 20:23
Avatar Yok

mS Puan: 1
mS Derece: Oliver Meraklı
 
Üyelik tarihi: 28 Ağustos 2009
Mesajlar: 11
Konular: 3
Eklentiler: 0
Alınan Teşekkür: 0
Yapılan Teşekkür: 0
Standart

Eyv L4roXyL , istediğimden fazlasınıda vermişsin teşekkür ederim bitanesin
Alıntı ile Cevapla
  #4  
Alt 26 Eylül 2009, 11:46
Avatar Yok

mS Puan: 1
mS Derece: Oliver Meraklı
 
Üyelik tarihi: 28 Ağustos 2009
Mesajlar: 11
Konular: 3
Eklentiler: 0
Alınan Teşekkür: 0
Yapılan Teşekkür: 0
Standart

merhaba , L4roXyL nin burda vermiş oldu kod çok güzel çalışıyor fakat benim başvuruları kayıt ederkenki şeklimdenmidir nedir kanal listeye #SohbetMehmet şeklinde yazılıyor yani kanal adı ve başvuran kişiyi yan yana bitişik veriyor ( ortada boşluk yok)

" hadd -m onaybekleyen $+($chr(35),$1) %::nick "

şeklinde eklememe rağmen..
Başvuru onaylarken herangi bir sorun yaşamıyorum fakat yinede sorayım istedim bunu ortada boşlukla nasıl kayıt ederim. Birde istediğim bu onaybekleyen tablosundaki verileri kanala okutmak istediğimde yani başvuruları listelemek istediğimde # işareti olanları (kanal isimlerini vermiyor) sadece başvuran kişileri veriyor. Bunun için ne yapabilirim, basit bi kodla yardımcı olabilirseniz çok sevinirim.

(.basvurular komutu için kullanmaya çalıştığım alias aşağıdaki gibidir )
Kod:
alias _basvurulist {
  var %i = 1, %t = $hget(onaybekleyen,0).data
  if (!%t) && (!$hget(onaybekleyen)) {
    hmake onaybekleyen 100
    hload  onaybekleyen onaybekleyen.txt
  }
  sw $sockname PRIVMSG%::chan basvuru listesi
  while (%i <= %t) {
    %d =  $hget(onaybekleyen,%i).data
    if (%d != $null) {
      sw $sockname PRIVMSG %::chan  %i - %d
    }
    inc %i
  }
  sw $sockname PRIVMSG $1- basvuru listesi sonu.
}
Herkese iyi çalışmalar.

Konu CoCoRiCo tarafından (26 Eylül 2009 Saat 13:12 ) değiştirilmiştir. Sebep: lütfen kodları bbCode tagları içine alalım.
Alıntı ile Cevapla
  #5  
Alt 28 Eylül 2009, 15:20
Avatar Yok
 DirtyCoder 

mS Puan: 1031
mS Derece: L4roXyL Kod delisiL4roXyL Kod delisiL4roXyL Kod delisiL4roXyL Kod delisiL4roXyL Kod delisiL4roXyL Kod delisiL4roXyL Kod delisiL4roXyL Kod delisi
 
Üyelik tarihi: 10 Temmuz 2009
Yaş: 33
Mesajlar: 339
Konular: 100
Eklentiler: 3
Alınan Teşekkür: 40
Yapılan Teşekkür: 0
Standart

Oliver, tekrar hoşgeldin.
-
İlk öncelikle eklemeleri şu şekilde yapsan daha iyi olur.
//hadd -m onaybekleyen $iif($left($1,1) != $chr(35),$+($chr(35),$1),$1) %::nick

Hash table-ındaki mantık şudur: Ne tablo ismine, ne ITEM(parça) kısmına, nede DATA(değer) kısmına arada boşluk/white-space karakteri olan bir <veri> atayamazsın.
-
Senin veri eklemende problem yok. Sen sadece okutma olayını yanlış yapıyorsun. Vereceğim kod işini görecektir.

-

Kod:
alias _basvuru {
  var %1 = 1,%2 = $hget(onaybekleyen),%_o = onaybekleyen
  if (!%2) { hmake %_o 50 | hload -i %_o $+(%_o,.txt) }
  if ($hget(%_o,0).item >= 1) {
    sockwrite -n $1 privmsg $2 toplam $v1 kayıt listeleniyor.
    while ($hget(%_o,%1).item) {
      sockwrite -n $1 privmsg $2 $v1 $hget(%_o,$v1)
      inc %1
    }
    sockwrite -n $1 privmsg $2 liste sonu.
  }
}
Kullanım: /_basvuru socket-ismi #kanal-ismi(okutulacak kanal)
Ek açıklama: Hash table-deki verileri kayıt ederken(/hsave) -i anahtarını kullanmalısın.(/hsave -i table-name filename)
__________________
C/co/cod/code^man.
Alıntı ile Cevapla
  #6  
Alt 28 Eylül 2009, 16:03
Avatar Yok

mS Puan: 1
mS Derece: Oliver Meraklı
 
Üyelik tarihi: 28 Ağustos 2009
Mesajlar: 11
Konular: 3
Eklentiler: 0
Alınan Teşekkür: 0
Yapılan Teşekkür: 0
Standart

hoşbulduk L4roXyL ,
Süper oldu bu, yaptığım yanlışlarıda görmüş oldum. Teşekkür ederim iyi çalışmalar.
Alıntı ile Cevapla
Cevapla

Etiketler
bot, islem, listeden, okutup, satırı, socket, yapma

Seçenekler

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık



Yasal Uyarı

    5651 sayılı yasada belirtilen "Yer Sağlayıcı" olarak hizmet sunmaktadır. İlgili yasaya göre site yönetiminin tüm içerikleri kontrol etme yükümlülüğü yoktur. Bu sebep ile sitemiz, uyarıları dikkate alarak yasa dışı paylaşımlar hakkında gerekli işlemleri yapmaktadır. Oluşabilecek yasal sorumluluklar üyelerimize aittir. Gerekli şikayet bildirimleri yapabilmek için "burayı" tıklayarak gerekli alanları doldurup yapabilirsiniz.
mIRCScripting©
Powered by vBulletin®
Copyright © 2000-2015, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1

1 2 13 14 16 17 18 19 21 22 23 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 49 50 51 52 54 55 56 57 58 59 60 61 62 63 67 68 69 70 71 72 73 74 75 76