Hem bu alias uyumsuzluğunu ortadan kaldırmak, hemde kod uzunluğunu ortadan kaldırma için tüm aliaslarını tek 1 aliasta topladım ve "on TEXT" eventini daha uygun kısalttım. Dialogda bi kaç düzensizlik vardı onları hallettim. Kodu denedim gayet iyi ve sorunsuz çalışıyor..
Kod: Kodu kopyalamak için üzerine çift tıklayın!
alias egitim {
if (!$istok(egitim.chanserv.nickserv.memoserv.akick.Bkanalkipi.ChanServLevels.ChanServSet.fkanalkipi.nickmodeleri.ignore.KanalModeleri.list.version.who.wildcard.client.ilkemiz.karsılama,$1,46)) { echo -a " $1 " Böyle Bir Eğitim Dosyası Bulunamadı.. | halt }
set %egitimtxt $1 $+ .txt
set %satir 1
.timeroku 0 2 egitimdvm
}
alias egitimdvm {
if (%satir > $lines(egitim\ $+ %egitimtxt)) { .timeroku off | unset %satir }
else { msg %egitim $read(egitim\ $+ %egitimtxt,%satir) | inc %satir }
}
on *:text:*:%egitim: {
if ($left($1,1) == $chr(33)) && ($istok(egitim.chanserv.nickserv.memoserv.akick.Bkanalkipi.ChanServLevels.ChanServSet.fkanalkipi.nickmodeleri.ignore.KanalModeleri.list.version.who.wildcard.client.ilkemiz.karsılama,$right($1,$calc($len($1) -1)),46)) {
.egitim $right($1,$calc($len($1) -1))
}
}
dialog egitim {
title "IRCd/Services Eğitim Botu"
size -1 -1 140 144
option dbu
text "Nick", 1, 10 33 35 8
text "Şifre [ Varsa ]", 2, 10 57 35 8
text "Fullname", 3, 10 45 35 8
text "Eğitim Kanalı", 4, 10 72 35 8
text "Sunucu Adı", 5, 10 89 35 8
edit "", 6, 65 32 50 10, autohs
edit "", 7, 65 45 50 10, autohs
edit "", 8, 65 59 50 10, autohs, pass
edit "", 9, 65 73 50 10, autohs
edit "", 10, 65 88 50 10, autohs
button "Tamam", 11, 49 108 37 12, default, flat, ok
}
on *:dialog:egitim:*:*:{
if $devent == edit {
set %nick $did(6)
set %fullname $did(7)
set %pass $did(8)
set %egitim $did(9)
set %serv $did(10)
}
if $devent == init {
if (%nick != $null) { did -a $dname 6 %nick }
if (%fullname != $null) { did -a $dname 7 %fullname }
if (%pass != $null) { did -a $dname 8 %pass }
if (%egitim != $null) { did -a $dname 9 %egitim }
if (%serv != $null) { did -a $dname 10 %serv }
}
if ($devent == sclick) {
if ($did == 11) {
.nick %nick
.fullname %fullname
.timer 1 3 /server %serv
}
}
}
on *:start:{ .timer 1 2 /dialog -m egitim egitim }
on *:connect:{ .identify %pass | join %egitim }
on *:join:%egitim:{
if ($nick == $me) {
.topic %egitim 12,0 Arkadaşlar hoş geldiniz eğitimlerimize
}
}
menu channel {
<- Egitim->
.Nickserv
..Baslat:/egitim nickserv
.Chanserv
..Baslat:/egitim chanserv
.memoserv
..Baslat:/egitim memoserv
.akick
..Baslat:/egitim akick
.Bkanalkipi
..Baslat:/egitim Bkanalkipi
.ChanservLevels
..Baslat:/egitim ChanservLevels
.ChanservSET
..Baslat:/egitim ChanservSET
.fkanalkipi
..Baslat:/egitim fkanalkipi
.ignore
..Baslat:/egitim ignore
.Nickmodeleri
..Baslat:/egitim Nickmodeleri
.Kanalmodeleri
..Baslat:/egitim Kanalmodeleri
.List
..Baslat:/egitim List
.Version
..Baslat:/egitim Version
.Who
..Baslat:/egitim Who
.wildcard
..Baslat:/egitim wildcard
.Client
..Baslat:/egitim Client
.ilkemiz
..Baslat:/egitim ilkemiz
.karsılama
..Baslat:/egitim karsılama
.Aktif Eğitimi Duraklat:/timeroku -p
.Eğitime Devam:/timeroku -r
}
Not: Kendi editlediğin kodda herhangi bir sorun yok sadece alias isimlerini değişmekte yeterli olucaktı fakat bence bu kod biraz daha uygun.
Çalıştırma şekli değişti sadece eğitimi kendin başlatırken /egitim Eğitimadı yazıcaksın
/Egitim egitim v.s. v.s.
Anlamadığın yer olursa sorman yeterli..