Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

3 877 Posts in 868 Topics- by 723 Members - Latest Member: tablarock

23 May 2012, 16:13
Select Language English | Russian ru | German
Main PageIRC Client KVIrc forumRussian talksСкриптингГотовые скриптыВремя простоя (idle time)
Pages: [1]
Print
Author Topic: Время простоя (idle time)  (Read 1148 times)
0 Members and 1 Guest are viewing this topic.
piratix
Новичок
*

Репутация: 0
Posts: 1


View Profile
« on: 17 October 2010, 20:29 »

Скрипт для определения времени простоя пользователя.
Ничего нового, просто немного переделанный алиас iw (как альтернативный вариант):

Code:
####################################################################
# Discription: Скрипт для отображения времени простоя пользователя #
# Autor:       piratix                                             #
# Date:        12 Oct 2010 06:20:07 AM                             #
# Version:     0.5                                                 #
# KVIrc:       4.0.2 Insomnia                                      #
# Source:      base alias "/iw"                                    #
# Comment:     for nice K1t <3                                     #
####################################################################

if(!$0) // если не указан ник, показываем как использовать
      {
       echo $tr("Usage:","defscript")
       echo "      /iw <nick>"
      }
    else
        {
         awhois -i ($0) // выполняем awhois с -i для $0
                   {
                    echo =========================================;
                    if(!$isEmpty($5)) // если пусто, то нет в сети
                      {
                       %s=$5; // время простоя
                       if(%s>86400)
                         { %d=$(%s/86400); } // дни
                       if(%s<86400)
                         { %d=0; }
                       %s-=$(%d*86400);
                       if(%s>3600)
                         { %h=$(%s/3600); } // часы
                       if(%s<3600)
                         { %h=0; }
                       %s-=$(%h*3600);
                       if(%s>60)
                         { %m=$(%s/60); } // минуты
                       if(%s<60)
                         { %m=0; }
                       %s-=$(%m*60); // секунды
                       echo Время простоя $b()$0$b(): %d:%h:%m:%s (дни:часы:минуты:секунды);
           
                       %s=$5; // время простоя
                       if(%s<86400) // если время простоя меньше суток
                         {
                          // разница между текущим временем и временем простоя
                          %s=$((($date(H)*60*60)+$($date(M)*60)+$date(S))-%s);
                          if(%s<$5) // если "утро" :) (idle: 5ч, time: 3ч утра)
                            { %s=$(86400-(-1*%s)); }
                          if(%s>3600)
                            { %h=$(%s/3600); } // часы
                          if(%s<3600)
                            { %h=0; }
                          %s-=$(%h*3600);
                          if(%s>60)
                            { %m=$(%s/60); } // минуты
                          if(%s<60)
                           { %m=0; }
                          %s-=$(%m*60); // секунды
                          if(%h&gt;24)
                            { %h-=24; }
                          echo Последняя активность $b()$0$b(): %h:%m:%s;
                         }
                       else if(%s>=86400) // если время простоя больше суток или равно им
                              {
                               %d=$($date(d)-$(%s/86400)); //день месяца
                               %s-=$($(%s/86400)*86400); // время простоя (меньше суток)
                               // разница между текущим временем и временем простоя
                               // без учёта кол-ва полныйх суток в idle
                               %s=$((($date(H)*60*60)+$($date(M)*60)+$date(S))-%s);
                               if(%s<$5) // если "утро" :) (idle: 5ч, time: 3ч утра)
                                 { %s=$(86400-(-1*%s)); %d--; }                        
                               if(%s>3600)
                                 { %h=$(%s/3600); } // часы
                               if(%s<3600)
                                 { %h=0; }
                               %s-=$(%h*3600);
                               if(%s>60)
                                 { %m=$(%s/60); } // минуты
                               if(%s<60)
                                 { %m=0; }
                               %s-=$(%m*60); // секунды                        
                               if(%h&gt;24)
                                 { %h-=24; }
                               echo Последняя активность $b()$0$b(): %d $date(B) %h:%m:%s;
                              }
                      }
                    else
                        {
                         echo Невозможно вывести время простоя $b()$0$b() (возможно его/её нет в сети).;
                        }
                    echo =========================================;
                   }
        }

18.10.2010
версия 0.5:
 * - исправлено неправильное отображение времени последней активности (иногда показывает 25 часов) :/
Code:
if(%h&gt;24)
  { %h-=24; }
« Last Edit: 18 October 2010, 16:01 by piratix » Logged
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic