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/)
-   -   45 Dk sonra [Away] olma (https://www.ircforumlari.net/mirc-scripting-sorunlari/392372-45-dk-sonra-away-olma.html)

RegSubex 08 Mayıs 2011 23:48

Cevap: 45 Dk sonra [Away] olma
 
Kod:


on *:input:*:{
  if (a isin $strip($1-)) .timeryy 0 1 dcv
  if (e isin $strip($1-)) .timeryy 0 1 dcv
}
alias dcv {
  if ($nick(#,$me).idle == 10) { echo -a nick $me $+ [Away] }
}

elbette mümkün böyle bişeyden bahsediyorsun sanırım difizyun usta

Difuzyon 09 Mayıs 2011 00:16

Cevap: 45 Dk sonra [Away] olma
 
Hayır böyle birşeyden bahsetmiyorum.

Bir kere INPUT eventına gerek duymadığımı belirtmiştim.Ama hazır sen kullanmışken 1-2 durumu bahsedeyim,sende yazdığının nelere sebebiyet vereceğini bilmiş olursun:

if (a isin $strip($1-)) .timeryy 0 1 dcv

"yazdığımın içinde a harfi varsa zamanlayıcıyı çalıştır" demişsin.Yazdığımız bir satırın içinde a harfinin olasılığını sorgulamanı tavsiye ederim?Bir diğer satırda da e harfini baz almışsın."a harfi olmazsa e harfinde kesin tuttururum" demişsin?
Bunun yerine "ben herhangi birşey yazdığımda devreye zamanlayıcı girsin" demek istersen:
on *:input:*:{
timeryy 0 1 dcv
}

şeklinde uygulaman daha doğru/mantıklı olur.Olasılıkları tercihinde daha dikkatli davranmanı tavsiye ederim.
Bir diğer husus: $nick(#,$me).idle
Bu identifier benim #kanal'da ne kadar süreyle yazmadığımı ifade eder.
Bu değer benim özelde yazmadığım süreye eşdeğer değildir ki soruna yanıt arayan üye hem kanal hemde özel durumunu bahsetmiş.
______________________________________

Bahsetmiş olduğum $idle identfieri ile şöylesi bir durumdan bahsetmiştim:

Kod:

on *:connect:.timerismi 0 1 sorgula
alias sorgula {
if $idle > 2700 && !$away { nick $me $+ [Away] | away Meşgulum }
elseif $idle < 2700 && $away { nick $remove($me,[Away]) | away | echo -a Online oldum }
}


brite 09 Mayıs 2011 08:34

Cevap: 45 Dk sonra [Away] olma
 
idleye güvenemezssiniz, scriptin o kanalda yapacağı bir işlem oranın idlesini etkiler ki her kanalın idlesini taratmak gereksiz olur, basit bir koda $window(#kanal).type uygulatmak var iken kanal ve özeli niye bu kadar dert ettiniz anlamadım, ayrıca servere komut uygulatmadan yapılabiliyorsa en iyi yöntem odur fazla komut demek fazla veri demek oda laga sebebiyet verir.


daha önce de verdiğim gibi kod kanalda ve özelde yazıları dikkate alır komutları kaale(doğru yazdım inş) almaz, tek eksiği bir arkadaşımızın verdiği gibi variable yerine tekrar timer aktif etirerek yazdırırsam daha kısa olurmuş.
Alıntı:

brite Nickli Üyeden Alıntı (Mesaj 1040739598)
Kod:

on *:input:*: {
  if $left($1,1) != / {
    if $server && $regex($window($active).type,channel|query)  {
      if *[away] iswm $me  {
        ;eğer yazı yazarsan awayden çıkma modu bunu iptal edebilirsin
        nick $regsubex($me,\[away\]$,$null)     
      }
      else { .set %chkatimer $ctime }
    }
  }
}
alias chkatime {
  if *[away] !iswm $me && $server {
    if !%chkatimer { .set %chkatimer $ctime }
    if $calc($ctime - %chkatimer) >= 2700 { nick $+($me,[away]) }
  }
}
on *:connect: { .set %chkatimer $ctime | .timerchkatime 0 60 chkatime }




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

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