Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

10 971 Posts in 6 346 Topics- by 1 216 Members - Latest Member: santini862

24 November 2020, 10:01
  Show Posts
Pages: [1]
1  Russian talks / Скриптинг / Re: Обработка команд Микро-боту on: 31 March 2009, 02:45
Вот, собственно, мой еще сырователький, но работающий код. Пытаюсь оптимизировать

Code:
%mes=$3
%mes =~ s/\\s+/\ /g
%mes =~ s/(^\\s+|\\s+\$)//g
%input = $str.split(" ",%mes)


%a[1] = 1
%a[2] = 2
%a[3] = 3
%a[4] = 4
%a[5] = 5
%a[6] = 6
 if($chan.name == "#arena"){
break
}
else
{   
   
      if(%mes=="!colt %input[1]")
          {
         

say $0 приставил(а) кольт 45го калибра к виску $b %input[1] $b и раскрутил(а) барабан

%b = %a[$rand($($length(%a) - 1))]
timer -s (wtf,3000)
%dd=%input[1]
{
    if (%b==4)
       {
      say $0 нажал(а) на курок, как только барабан остановился, и... мозги жертвы разлетелись по каналу
       }
    else
      {
      say $0 нажал(а) на курок... и после тихого щелчка с разочарованно вздохнул(а)
       }
  }
         }
         else
         if(%mes=="!colt") {
         say $0, use !colt <nick>
         }
       
}
2  Russian talks / Скриптинг / Re: Отслеживание. Очередной вопрос новичка. on: 28 March 2009, 01:16
Спасибо. Smiley
3  Russian talks / Скриптинг / Отслеживание режима. Очередной вопрос новичка. on: 27 March 2009, 23:51
Есть ли возможность отследить системное сообщение от сервера в стиле:

ChanServ [services@arena.ru] включил режим -a

Если да - то какой командой? В мануалах так ничего и не отыскал.

Необходимо написать анти депротект. А эта зараза событиями не отслеживается.
4  Russian talks / Скриптинг / Re: Обработка команд Микро-боту on: 27 March 2009, 23:47
Пока что проходят опыты Smiley
5  Russian talks / Скриптинг / Re: Обработка команд Микро-боту on: 27 March 2009, 01:13
Спасибо за задание направления Smiley буду думать.

А %a[1]-%a[6]... я массивы иначе не умею заполнять Smiley
троекратный $rand хоть немного более непредсказуемый результат дает) проверено методом проб и ошибок Smiley
6  Russian talks / Скриптинг / Обработка команд Микро-боту on: 27 March 2009, 00:12
Есть вот такой код
Code:
%a[1] = 1
%a[2] = 2
%a[3] = 3
%a[4] = 4
%a[5] = 5
%a[6] = 6
%mes="!colt"
      if($str.find($3, %mes) > -1)
     {


say $0 приставил(а) кольт 45го калибра к своему виску и раскрутил(а) барабан
%b = %a[$rand($($length(%a) - 1))]
%b = %a[$rand($($length(%a) - 1))]
%b = %a[$rand($($length(%a) - 1))]
if (%b==4) {
say $0 нажал(а) на курок, как только барабан остановился, и... мозги разлетелись по каналу
msg chanserv deprotect $chan.name $0
msg chanserv kick $chan.name $0
}
else
{
say $0 нажал(а) на курок... и после тихого щелчка с облегчением вздохнул(а)
}
     }

По команде !colt код выводит следующее:
<@***> Zzz приставил(а) кольт 45го калибра к своему виску и раскрутил(а) барабан
<@***> Zzz нажал(а) на курок... и после тихого щелчка с облегчением вздохнул(а)



Каким образом можно сделать так, чтобы при команде !colt <ник> обрабатывался именно введеный ник, а не ник того, кто ввел команду?

При моих скудных познаниях, у меня выходит только вот так:
Пример:
Zzz: !colt тапок
***: Zzz навел кольт на Zzz и выстрелил

Т.е. ник, указанный после команды игнорируется

Нужно:
Zzz: !colt тапок
***: Zzz навел кольт на тапок и выстрелил

Ник, введеный после команды должен обрабатываться
7  Russian talks / Вопросы по работе отдельных функций и команд / Re: Рандомный вывод заданных сообщений on: 25 March 2009, 23:56
Спасибо!
8  Russian talks / Вопросы по работе отдельных функций и команд / Рандомный вывод заданных сообщений on: 25 March 2009, 21:34
На форуме побродил, не нашел похожего.
Собственно, вопрос:

Даны, к примеру, 10 сообщения а ля me слапнул $0 чем-то там.
Как реализовать рандомный выбор и вывод одного из 10 подобных сообщений?

Скриптингу только учусь, поэтому был бы очень рад подробному описанию или полному коду алиаса)
9  Russian talks / Вопросы по работе отдельных функций и команд / Re: Перехват сообщений, содержащих мой ник on: 25 March 2009, 21:29
Вот мой вариант, активируемый алиасом. Сделан на основе скрипта из этой темы Smiley

Code:
if(%MyFlag == 1)  %MyFlag = 0
   else %MyFlag = 1
#=================================== 
if (%MyFlag == 1)
 {
  echo Автоответ включен
 }
  else
  {
   echo Автоответ выключен
  }
#===================================

event(OnChannelMessage,antislap)
 {
 if (%MyFlag == 1)
    {
       if($str.find($3, $me) > -1)
      {
         //# реагируем на ник в сообщении
         say $0", ты посмел(а) меня потревожить? А вот фиг тебе. Меня за компом нет."
      }
    }
 }
Pages: [1]
Theme orange-lt created by panic