Bir kişinin away olduğunu ona /who çekip 7. kelimede G harfi varsa anlayabiliriz. Aşağıdaki kodu alıp /awaymi <nick> komutunu uyguladığınızda nickin away olup olmadığını anlayabilirsiniz. İşte kod ve anlatımı:
Kod: Kodu kopyalamak için üzerine çift tıklayın!
alias awaymi {
;%_ lokal değişkenine aktif pencereye kırmızıyla /awaymi: yazacak komut atanıyor
var %_ = echo 4 -at *** /awaymi:
;eğer /awaymi komutundan sonra bir şey yazılmamışsa bunun hatalı kullanım olduğu gösteriliyor.
if !$1 { %_ Hatalı kullanım, /awaymi <nick> | return }
;eğer /awaymi komutunu kendi nickiniz üzerinden deniyorsanız sizin durumunuzu who çekmeden gösteriyor.
if $1 == $me { %_ Siz $+([,$me,]) $iif($away,awaysiniz,away değilsiniz.) }
;eğer bunların hiç biri değilse
else {
;%nick değişkenine d değeri atanıyor
set $+(%,$1) d
;nicke who çekiliyor
who $1
;nickin durumuna bakıldığını aktif pencereye yansıtıyor
%_ $1 nickinin away olup olmadığına bakılıyor.
}
}
;serverdan gelen 352. rawa göre
raw 352:*:{
;eğer bu rawdaki nick %nick değişkeni d ye eşitse
if $($+(%,$6),2) = d {
;eğer 7. kelimede yani modların bulunduğu kelimede G varsa nickin away olduğu, yoksa away olmadığı gösteriliyor
if G isincs $7 { echo 4 -at *** $6 away } | else { echo 4 -at *** $6 away değil. }
;who cevabının ekrana çıkmasını engelliyor
halt
}
}
;serverdan gelen 315. rawa göre yani end of /who list rawı
raw 315:*:{
;eğer bu rawdaki nick %nick değişkeni d ye eşitse o değişkeni kaldırıyo ve pencereye bu rawı göstermiyor
if $($+(%,$2),2) = d { unset $($+(%,$2),1) | halt }
}
Umarım anlamışsındır...
edit:
Sen away olduğunda kodun devam etmesi için ise Ajan'ın da dediği gibi $away identiferını kullanabilirsin, $away identifierı eğer awayse $true olacaktır, değilsen $false yani alakasız bir örnekle $away'i nasıl kullanabileceğini göstermek gerekirse;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
on @*:text:*http://*:#:{
if $away {
kick # $nick Ben awayken reklam yapma.
}
}