mIRC Home    About    Download    Register    News    Help

Print Thread
L
LooseFlapper
LooseFlapper
L
I know there's quite a few of these around but they were either not working for me or not what I was looking for.

I would like to create a script that allows OPs to use the following commands.

Quote:
!commandadd <!commandname> <text>
!commandremove <!commandname>

So for example if an OP types
Quote:
!commandadd !apples I love apples.

Whenever any other OP types !apples, it should reply 'I love apples'.


Thank you. smile


EDIT:
I would also like to be able to put the commands on a timer. smile Something like !repeat <!command> 120 and it should repeat every 120 seconds and then !repeat <!command> off. smile

Last edited by LooseFlapper; 01/03/14 12:14 AM.
Joined: Jan 2004
Posts: 1,330
L
Hoopy frood
Offline
Hoopy frood
L
Joined: Jan 2004
Posts: 1,330
Looks like in my original response there was a problem with the text event to match the added commands, the regex needed to be surrounded in //: https://forums.mirc.com/ubbthreads.php/topics/244404/Re:_Need_help_withmaking_a_add#Post244404

This is tested and working:

Code:
on $*:text:/^!commandadd !?(\S+)/iS:#test:{
  if ($nick !isop #) return
  writeini commands.ini commands $regml(1) $$3-
}

on $*:text:/^!commandremove !?(\S+)/iS:#test:{
  if ($nick !isop #) return
  remini commands.ini commands $regml(1)
}

on $*:text:/^!repeat !?(\S+) (off|\d+)/iS:#test:{
  if ($nick !isop #) return
  
  var %command = $regml(1), %interval = $regml(2)
  
  if ($timer(command. $+ %command)) {
    if (%interval == off) .timercommand. $+ %command off
    else msg # ! $+ %command is already repeating
  }
  elseif ($readini(commands.ini,n,commands,%command)) {
    var %response = $v1
    .timercommand. $+ %command 0 $iif(%interval < 5,5,%interval) msg # $safe(%response)
    msg # %response
  }
}

on $*:text:/^!(\S+)/:#test:{
  if ($nick !isop #) return
  if ($readini(commands.ini,n,commands,$regml(1))) msg # $v1
}

alias safe return $!decode( $encode($1,m) ,m)

L
LooseFlapper
LooseFlapper
L
Thank you Loki. smile <3

L
LooseFlapper
LooseFlapper
L
Is there a way to make the repeats stop repeating when no messages have been sent since the last repeat? smile

L
LooseFlapper
LooseFlapper
L
Or maybe make it an option for OPs. Something like
!repeat !apples 120 20
Where it will repeat the command !apples every 120 seconds if there has been 20 messages since last repeat.

A
AllDayGrinding
AllDayGrinding
A
What would I have to type in chat to add a command or remove a command? like !commandadd !hello Welcome to the stream?

A
AllDayGrinding
AllDayGrinding
A
What would I type to add a command? Like !commandadd !Hello Hello! Welcome to the stream laugh


Link Copied to Clipboard