Сценарий MIRC с удаленной командой - использовать только один раз в минуту - PullRequest
1 голос
/ 27 января 2012

Я написал небольшой скрипт mirc, в котором, если обычная болтовня делает .xcommand, он будет выполнять псевдоним /ycommand.

Теперь, из-за чрезмерного использования, я хотел бы ограничить его, чтобы пользователь могиспользуйте только один раз в минуту.И я не уверен, как это сделать, я полагаю, что это будет что-то вроде:

on *:TEXT:.xcommand:#: {
if $user timer==0 /ycommand else goto *nothinghere*
}

Я был бы признателен, если бы кто-нибудь мог мне помочь с этим, я совершенно новичок в скриптах mirc!ура

1 Ответ

4 голосов
/ 27 января 2012

Вы можете устанавливать переменную каждый раз, когда используете /ycommand, которая автоматически сбрасывается через 60 секунд. Затем вы можете использовать оператор if около /ycommand, чтобы проверить, установлена ​​ли переменная, и если это так, ничего не делать, потому что команда использовалась в течение последних 60 секунд.

Трудная часть использует разные переменные для каждого пользователя. При установке переменной используйте %xcommandused. $+ $nick, и ник пользователя будет частью имени переменной. Например, мой ник Kylar, поэтому когда я набираю .xcommand, он установит %xcommandused.Kylar в $true.

Это не так просто, когда вы хотите прочитать значение переменной. Вы можете использовать оценочные скобки, например %xcommandused. [ $+ [ $nick ] ] или $eval, например $eval(% $+ xcommandused. $+ $nick, 2).

Если у вас есть дополнительные вопросы, в сети SwiftIRC есть хорошее сообщество сценаристов. Просто подключитесь к irc.swiftirc.net, присоединитесь к #mSL, объясните свою проблему и надеемся, что кто-то ответит.

on *:TEXT:.xcommand:#: {
  if (!%xcommandused. [ $+ [ $nick ] ]) {
    set -u60 %xcommandused. $+ $nick $true
    ycommand
  }
}
...