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/)
-   -   Bot Hakkında (Duyuru Ekleme Olayı...) (https://www.ircforumlari.net/mirc-scripting-sorunlari/5055-bot-hakkinda-duyuru-ekleme-olayi.html)

erdem55 06 Temmuz 2005 22:19

Bot Hakkında (Duyuru Ekleme Olayı...)
 
on Master:TEXT:*:?:{
if ($me iswm $strip($1-)) { msg # Evet $nick }
if ($me Duyuru Ekle* iswm $strip($1-)) { Msg # Ok, Master. | set %channels # | write Duyurular.txt $4- | .TimerQuote $+ %channels 1 10 //msg %channels $Read Duyurular.txt }
if ($me Duyuru Ac* iswm $strip($1-)) { Msg # Ok, Master. | .TimerQuote $+ %channels $4- //msg %channels $Read Duyurular.txt }
if ($me Duyuru kapat* iswm $strip($1-)) { Msg # Ok, Master. | .TimerQuote $+ %channels off | /write $+(-dw,*) Duyurular.txt | timer 1 05 unset %channels }
}

Arkadaşlar buraya kadar olan kısmı bir şekilde ayarladım ama bundan sonrasında takılıp kaldım. Şimdi kısaca özetleyeyim bu ayrı bir mirc ve ben her nerede olursam olum erdem55 nicki ile bota seslendim mi bana evet erdem diyor. Ben şimdi buna birde duyuru eklemek istedim. Ekledim de ama eksikler ver kafamdaki tam olmadı yani. Şimdi benim yapabildiğimi kısaca özetlim.
Botcuq duyuru ekle Duyuru
dediğimde bunu duyurular.txt dosyasına kaydediyor ve 10 sn sonra 1 kez yayınlıyor.
botcuq duyuru ac 0 10
dediğimde duyuruyu 10 sn de bir kanala yolluyor
botcuk duyuru kapat
dediğimde dosyadaki duyruyu kapatıyor timer i kapatıyor ve eklediğim kanalı %channels ıda siliyor eklediğim yerden. Yani herşey çok normal.
Ama ben bide şunu yapmak istiyorum.
Bot kanala girdikten 15 sn sonra duyular.txt dosyasına bakacak diyelim 3 duyuru var. Depomda duyurulmak üzere 3 duyuru saklı dicek.
ve ben duyuruları ac zaman komutunu verdiğimde diyelim ben 0 60 dedim ilk duyuruyu 1dk bir ikinci duyuruyu ilk duyurudan 30sn sonra 3 duyuruyuda 2. duyurudan 15 sn sonra gibi kanala yazacak.
Bu yapılabilirmi bilmiyorum ama yapanın ellerinden öperim. Çünkü yukardaki kodu yapana kadar bile canım çıktı:) 1 haftada bitti:) biliyorum sizin için uzun bi süre ama daha yeniyim ordan burdan kodları inceleyerek böyle bişi çıkarttım işte. Ama dediğim tarzda ne bişi gördüm nede kodlarını inceledim o nedenle sizlerden yardım istiyorum.
Kısaca istediğim
dosyada 3 duyuru varsa kanala girdiğinden 15 sn sonra duyurulmak üzere 3 duyuru depolanmıştır dicek. Hatta mümkünse kimin depoladığınıda söylesin.
ve duyuru aç zaman dediğimdede sırayla bu duyuruları kanala duyuracak. Kısaca istediğim bu baya uzun yazmışım kusura bakmayın. Ama benim için önemli :)
E nede olsa bir haftada bile olsa ilk kodumu yazmış bulunuyorum. İnşallah geriside gelecek. Artı Daha güzel olsun istiyorum. Kafamdaki fikir eksik kaldı yani. yardım pls

UOnur 07 Temmuz 2005 14:09

on *:join:#:if ($nick == $me) { .timer 1 15 msg # $lines(duyurular.txt) Sayıda Duyuru Depoda Mevcut. }
on *:text:*:#:{
if ($me Duyuralı ac* iswm $1-) .timer123321 0 30 /duyurula #
}
alias duyurula {
inc %duyuruno
if ($read(duyurular.txt,%duyuruno)) msg $1 $read(duyurular.txt,%duyuruno)
else { unset %duyuruno | timer123321 off }
}


Aklıma Bu Geldi.
Senin dediğini Yapacaktım Ama Diyelimki .txt Fazla Duyuru var.O zaman İşler Karışabilir :)
Bunda Her 30 sn'de bir Duyuruları Okuyor.
Kanala Girdiğinden 15 sn Sonrada .txt de Kaç Duyuru Olduğunu Söylüyor.
Denemedim ama Çalışır heralde :)

erdem55 10 Temmuz 2005 13:03

uonur %duyuruno bunu nasıl set %duyuruno (buraya ne yazcam) setlemek istiyorum ama oraya ne yazıp set licemi bilemedim de. Yani anlıcan kodu baya değiştirdim kendi istediklerimi az çok yaptım:)

el33t 10 Temmuz 2005 13:35

Aşağıdaki kodu remote'a koyup bot ve senin olduğun kanalda !duyuruoku <süre> <kanal> yazdığında duyurular.txt'deki duyurular sırayla senin istediğin saniye aralığıyla okunacaktır. Yani !duyuruoku 60 #el33t yazdığında, duyurular.txt'de 3 duyuru olduğunu varsayarsak ilk duyuru 60 saniye, ikinci duyuru 90 saniye, üçüncü duyuru 135 saniye sonra okunacaktır. Duyuru ekleme komutunu da ekledim, !duyuruekle <duyuru> yazan herkes duyurular.txt'ye duyuru ekleyebilecek, ve Duyurular.txt'de Ekleyen: <nick> Duyuru: <duyurusu> şeklinde gözükecek. İşte kod:

alias duyuruoku {
if $1 isnum && $2 ischan {
var %a = 1, %b = $1 | while %a <= $lines(duyurular.txt) { $+(.timerdo,%a) 1 %b /msg $2 $read(duyurular.txt,%a) | var %b = $calc((%b / 2) + %b) | inc %a }
/msg $2 Toplam $lines(duyurular.txt) duyuru timerı devrede..
}
if $1 !isnum || $2 !ischan { msg $2 duyuruoku komutunun kullanımı: duyuruoku <süre> <kanal>, örn: /duyuruoku 60 #el33t }
}
on *:text:!duyuruoku & &:#:{
if $nick = erdem55 {
if $2 isnum && $3 ischan { duyuruoku $2 $3 } | elseif $2 !isnum || $3 !ischan { msg # Hatalı komut, örnek kullanım !duyuruoku <süre> <kanal> } }
}
on *:text:!duyuruekle *:#:{ if $2 { write duyurular.txt Ekleyen: $nick Duyuru: $2- | msg # Duyurunuz başarıyla eklenmiştir.. } | elseif !$2 { msg # Duyuru eklemek için !duyuruekle <duyurunuz> komutunu kullanın. } }

UOnur 10 Temmuz 2005 19:41

unset %duyuruno
Kısmını Kaldırırsan Değişken Kayıtlı Kalır :)
Yada Ben Başka bir değişkene Kaydedecem Diyosan

else { set %değişken %duyuruno | unset %duyuruno | timer123321 off }

Şeklinde Kullanabilirsin :)

erdem55 10 Temmuz 2005 20:19

uonur sorunda orda %duyuruno yu neye göre setledin anlayamadım.
Yani hani set %channel # yazıyozya
set %duyuruno buraya ne yazcam yani tukarda # yazdığım yere burda ne yazıcam?
onu bulamadım.

UOnur 10 Temmuz 2005 21:23

Simdi biz /timer ile her 30 snde bir /duyurula yapcaz ya.
Her /duyurula komutunda %duyuruno değişkeninin Değerini Artırıyorum.
İlk Önce 1 Oluyor ve bu Şekilde $read(duyurular.txt,1) Oluyor 1. Satırı Okuyor.30 SN Sonra bir /duyurula komutu Daha uygulanıyor %duyuruno 1 iken 2 Oluyor Böylece $read(duyurular.txt,%duyuruno) $read(duyurular.txt,2) Oluyor ve 2. Satırı Okuyor.Bu Şekilde Sırayla Okuyor İşte :D


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

Powered by vBulletin® Version 3.8.8 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2024 IRCForumlari.Net