В mIRC клиенте есть масса полезных и многофункциональных идентификаторов, которые обозначаются в начале названия первым символом "$".
Но что, если нам недостаточно стандартного набора и во время создания свое скрипта появилась острая необходимость в выполнении каких-либо особенных или одинаковых процессов для решения нестандартных задач?
К счастью у нас есть такая возможность - это создать свой собственный идентификатор, который будет выполнять то, что нам будет нужно.

Как это сделать? Очень просто, это делается при помощи алиаса, который делает возврат полученного результата.
Допустим, мы хотим назвать наш идентификатор $mc, тогда следует создать алиас с таким названием.

Давайте рассмотрим простую конструкцию:

Код:
alias mc {
  return
}

Самое главное в этом алиасе это в самом конце дописать команду "return" для возврата обработанного результата в этом алиасе, который дописывается через пробел к этой команде. Теперь мы можем в эту конструкцию вставлять любой код для обработки данных.
Теперь при написании основного скрипта для обращения к нашему идентификатору вы будете использовать такой формат: $mc() - заключая в круглые скоби любые данные, которые будут нуждаться в обработке. Данные в скобках можно разделять запятыми, чтобы сделать несколько параметров.
Например: $mc(param1,param2,param3), что в алиасе будет являться "param1" = $1, "param2" = $2, "param3" = $3.

Теперь давайте рассмотрим простой пример идентификатора калькулятора.
Допустим, у нас будет такая команда с дополнительными параметрами: /myid число знак число

Для этого создадим два алиаса, один из которых будет показывать ответ, а второй будет нашим идентификатором:

Код:
alias myid {
  /echo -a Ответ: $mc($1,$2,$3)
  /echo -a Всего: $mc($1,$2,$3).all значения.
}
alias mc {
  var %x = $calc($1 $2 $3)
  if ($prop == all) return $0
  return %x
}

Разберём этот скрипт по частям:

  • По команде "/myid число знак число" будет подсчитываться наше выражение из двух чисел. Для этого мы используем 3 значения в команде.

  • В "/echo" выводится результат подсчёта нашим идентификатором под названием $mc - (MyCalc) - мой калькулятор.

  • "$mc($1,$2,$3)" - в скобках заключены 3 значения через запятую, которые были введены вместе с командой через пробел и обрабатываются нашим идентификатором.

  • Сам идентификатор это второй алиас "mc" который производит подсчёт чисел при помощи $calc указанных в команде, сохраняет всё в переменную %x и возвращает ответ командой "return".

  • В дополнение к этому мы можем создавать свои свойства нашего идентификатора при помощи $prop, где указанное значение "all" будет нашим свойством, которое ставится после скобок через точку. В данном случае это свойство возвращает нам число заданных значений в команде и возвращает второй строкой через "/echo".

  • Синтаксис нашего идентификатора: $mc(value1,value2,value3).prop

Пример команды и получаемого ответа:

/myid 10 + 5

Ответ: 15
Всего: 3 значения.

/myid 10 / 2

Ответ: 2
Всего: 3 значения.

/myid 8 * 3

Ответ: 24
Всего: 3 значения.

Итак теперь понятно, что таким образом мы можем создавать любые идентификаторы со своими названиями, которые потом можно будет использовать в любых скриптах под свои задачи, чтобы тем самым сократить объём кода до минимума, ведь это очень удобно и практично.

Подпись автора

[html]<style>img {vertical-align:middle;}.hnet{color:#FFFFFF;}.hstar{color:#DE0000;}.htext{font-family:Verdana;font-size:13px;color:#6E1E00;}.heading{font-family:Verdana;font-size:13px;font-weight:bold;background-color:#4898CD;}.stitle{font-family:Verdana;font-size:12px;}.dot{color:#808000;}.desc{color:#B5B5B5;}a .curl{font-family:Verdana;font-size:12px;color:#3A92CD;}</style><table><tr><td width="20px" height="20px"><img src="https://forumstatic.ru/files/000d/c9/8c/34681.jpg"></td><td><a href="http://forum.epicnet.ru/viewtopic.php?id=234"><span class="heading"> <span class="hstar">★</span> <span class="hnet">EpicNet.Ru</span> <span class="hstar">★</span> </span><span class="htext"> - Российский IRC Чат © 2009-2020</span></a></td></tr><tr><td></td><td><div class="stitle"><span class="dot">•</span> <span class="desc">Онлайн:</span> <a href="http://chat.epicnet.ru"><span class="curl">http://chat.epicnet.ru</span></a><br><span class="dot">•</span> <span class="desc">Сервер:</span> irc.epicnet.ru <span class="desc">Порты:</span> 6667, 6668 (ssl) <span class="desc">Кодировка:</span> UTF-8<br><span class="dot">•</span> <span class="desc">Сайт:</span> <a href="http://epicnet.ru"><span class="curl">http://epicnet.ru</span></a> <span class="dot">•</span> <span class="desc">ВКонтакте:</span> <a href="https://vk.com/irc_epicnet"><span class="curl">https://vk.com/irc_epicnet</span></a><br><div></td></tr></table>[/html]