mIRC Home    About    Download    Register    News    Help

Print Thread
Joined: Jan 2007
Posts: 280
Fjord artisan
OP Offline
Fjord artisan
Joined: Jan 2007
Posts: 280
Hi, I've just made a small loading script for my bot. Bot with some reason, the "delete" (unload) function wont do well. The "add" (load) does.

DEL part of the script:
Code:

ON admin:TEXT:*:?:{
  if $1 == del && $2 == $null {
    msg #services 07 $+ $upper($1-) $+  requested by  $+ $nick $+ 
    msg #services 07NO TARGET/FILE/MODULE selected by  $+ $nick $+ 
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: $upper($1-) requested by  $+ $nick $+ 
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: Failed command (no target/file/module selected)
    notice $nick Please select something to add. Choose: module
  }


--ERROR PART--

  if $1 == del && $2 == botmodule && $3 == $null {
    msg #services 07 $+ $upper($1-) $+  requested by  $+ $nick $+ 
    msg #services 07NO $upper($2) $+  selected by  $+ $nick $+ 
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: $upper($1-) requested by  $+ $nick $+ 
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: Failed command (no module selected)
    notice $nick Please select a module to unload.
  }
  if $1 == del && $2 == servicemodule && $3 == $null {
    msg #services 07 $+ $upper($1-) $+  requested by  $+ $nick $+ 
    msg #services 07NO $upper($2) $+  selected by  $+ $nick $+ 
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: $upper($1-) requested by  $+ $nick $+ 
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: Failed command (no module selected)
    notice $nick Please select a module to unload.
  }


--END ERROR PART--


  if $1 == del && $2 == botmodule && $exists(C:\Users\CvdEeden\Desktop\DJ-Serv2\BotModules\ $+ $3 $+ ) == $true {
    msg #services 07 $+ $upper($1) $upper($2) $3 $+  requested by  $+ $nick $+ 
    msg #services 07MODULE $3 $+  loading..
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: $upper($1-) requested by  $+ $nick $+ 
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: Module $2 loaded.
    load -rs C:\Users\CvdEeden\Desktop\DJ-Serv2\BotModules\ $+ $3 $+ 
    notice $nick Module  $+ $3 $+  loaded.
    msg #services 07MODULE $3 $+  loaded!
  }
  if $1 == del && $2 == botmodule && $exists(C:\Users\CvdEeden\Desktop\DJ-Serv2\BotModules\ $+ $3 $+ ) == $false {
    msg #services 07 $+ $upper($1) $upper($2) $3 $+  requested by  $+ $nick $+ 
    msg #services 07MODULE $3 $+  doesn't exist.
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: $upper($1-) requested by  $+ $nick $+ 
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: Module $2 doesn't exist.
    notice $nick Module  $+ $3 $+  does not exist.
  }
  if $1 == del && $2 == servicemodule && $exists(C:\Users\CvdEeden\Desktop\DJ-Serv2\ServModules\ $+ $3 $+ ) == $true {
    msg #services 07 $+ $upper($1) $upper($2) $3 $+  requested by  $+ $nick $+ 
    msg #services 07MODULE $3 $+  loading..
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: $upper($1-) requested by  $+ $nick $+ 
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: Module $2 unloaded.
    unload -rs C:\Users\CvdEeden\Desktop\DJ-Serv2\ServModules\ $+ $3 $+ 
    notice $nick Module  $+ $3 $+  unloaded.
    msg #services 07MODULE $3 $+  unloaded!
  }
  if $1 == del && $2 == servicemodule && $exists(C:\Users\CvdEeden\Desktop\DJ-Serv2\ServModules\ $+ $3 $+ ) == $false {
    msg #services 07 $+ $upper($1) $upper($2) $3 $+  requested by  $+ $nick $+ 
    msg #services 07MODULE $3 $+  doesn't exist or is not loaded.
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: $upper($1-) requested by  $+ $nick $+ 
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: Module $2 doesn't exist or isn't loaded.
    notice $nick Module  $+ $3 $+  does not exist or is not loaded.
  }
}



Errors:
16.28.45 <DJ-SjOlOw> del botmodule
16.28.46 <DJ-Serv> DEL BOTMODULE requested by DJ-SjOlOw
16.28.46 <DJ-Serv> NO BOTMODULE selected by DJ-SjOlOw
16.28.46 NOTICE -DJ-Serv- Please select a module to unload.
16.28.46 <DJ-Serv> DEL BOTMODULE requested by DJ-SjOlOw
16.28.46 <DJ-Serv> MODULE unloading..

*****

16.29.55 <DJ-SjOlOw> del servicemodule
16.29.55 <DJ-Serv> DEL SERVICEMODULE requested by DJ-SjOlOw
16.29.56 <DJ-Serv> NO SERVICEMODULE selected by DJ-SjOlOw
16.29.56 -DJ-Serv- Please select a module to unload.
16.29.56 <DJ-Serv> DEL SERVICEMODULE requested by DJ-SjOlOw
16.29.56 <DJ-Serv> MODULE unloading..

Problem:
When $3 == null, it still trys to unload something (at the "del/service(or bot)module/$exists part".

Question:
I am using the exists identifers right now, because I don't know any identifer or script which allows me to 'see what I've loaded and then unload it when command has been requested'. Anyone got an idea?

Last edited by DuXxXieJ; 24/11/09 03:34 PM.

Squee whenever a squee squee's. Squee whenever a squee does not squee.
Joined: Nov 2009
Posts: 117
Vogon poet
Offline
Vogon poet
Joined: Nov 2009
Posts: 117
The last four if rungs use $$3
OR better to use elseif statements

also not your issue but
$2 == $null same as !$2 etc etc
you could shorten $true and $false
conditions in a simular manner
$time(HH.nn.ss) could be just $time

As far as exists identifer question:
you could use $readini to access the
mirc.ini file and see what is loaded
OR maybe better use $script(filename.ext)

Joined: Jan 2007
Posts: 280
Fjord artisan
OP Offline
Fjord artisan
Joined: Jan 2007
Posts: 280
How should the line of if be then?
Or the elseif. Im not that well with elseif's and I've never heard of $$3.

Yes I know about the $time. I've done that one purpose because I wanted HH.nn.ss in stead of HH:nn:sse etc.

EDIT: Got it! I did not read well.
But I've got one question now.

How could I make the bot read his loaded files, and when the requested file IS loaded, then unload it? (Or, when it isn't loaded, then msg that it isn't loaded)

Last edited by DuXxXieJ; 24/11/09 04:00 PM.

Squee whenever a squee squee's. Squee whenever a squee does not squee.
Joined: Nov 2009
Posts: 117
Vogon poet
Offline
Vogon poet
Joined: Nov 2009
Posts: 117
lol sorry was adding/editing my
prevoius post as you replied

As far as exists identifer question:
you could use $readini to access the
mirc.ini file and see what is loaded
OR maybe better use $script(filename.ext)

the elseif statements are always good
to use when you're only looking for one
condition to evaluate true as then the
rest of the statements do not need to be
evaluated and speed things along their way
in this situation if you use elseif you
wont need $$3 which with the double $
requires that $3 be present or script halts

Joined: Jan 2007
Posts: 280
Fjord artisan
OP Offline
Fjord artisan
Joined: Jan 2007
Posts: 280
For example this??

if $script( $+ $3 $+ ) != $null {
unload blablabla.
msg blablabla.
}

I've got that now, it does work bot it also says it doesn't exists. Probably something wrong with my line.


EDIT: Last four rungs:

Code:
if $1 == del && $2 == botmodule && $script( $+ $3 $+ ) != $null {
    msg #services 07 $+ $upper($1) $upper($2) $3 $+  requested by  $+ $nick $+ 
    msg #services 07MODULE $3 $+  unloading..
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: $upper($1-) requested by  $+ $nick $+ 
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: Module $2 loaded.
    unload -rs C:\Users\CvdEeden\Desktop\DJ-Serv2\BotModules\ $+ $3 $+ 
    notice $nick Module  $+ $3 $+  unloaded.
    msg #services 07MODULE $3 $+  unloaded!
  }
  if $1 == del && $2 == botmodule && $script( $+ $3 $+ ) == $null {
    msg #services 07 $+ $upper($1) $upper($2) $3 $+  requested by  $+ $nick $+ 
    msg #services 07MODULE $3 $+  doesn't exist.
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: $upper($1-) requested by  $+ $nick $+ 
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: Module $2 doesn't exist.
    notice $nick Module  $+ $3 $+  does not exist.
  }
  if $1 == del && $2 == servicemodule && $script( $+ $3 $+ ) != $null {
    msg #services 07 $+ $upper($1) $upper($2) $3 $+  requested by  $+ $nick $+ 
    msg #services 07MODULE $3 $+  unloading..
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: $upper($1-) requested by  $+ $nick $+ 
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: Module $2 unloaded.
    unload -rs C:\Users\CvdEeden\Desktop\DJ-Serv2\ServModules\ $+ $3 $+ 
    notice $nick Module  $+ $3 $+  unloaded.
    msg #services 07MODULE $3 $+  unloaded!
  }
  if $1 == del && $2 == servicemodule && $script( $+ $3 $+ ) == $null {
    msg #services 07 $+ $upper($1) $upper($2) $3 $+  requested by  $+ $nick $+ 
    msg #services 07MODULE $3 $+  doesn't exist or is not loaded.
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: $upper($1-) requested by  $+ $nick $+ 
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: Module $2 doesn't exist or isn't loaded.
    notice $nick Module  $+ $3 $+  does not exist or is not loaded.
  }
}


Last edited by DuXxXieJ; 24/11/09 05:05 PM.

Squee whenever a squee squee's. Squee whenever a squee does not squee.
Joined: Nov 2009
Posts: 117
Vogon poet
Offline
Vogon poet
Joined: Nov 2009
Posts: 117
if $script($3) {
unload blablabla.
msg blablabla.
}

should be sufficient

for trying to load a script you will still
need to use the $exists identifier since
$script would of course return $null for
not loaded but will not tell you if the file
exist to make sure you are loading a valid file
of course you may want to do both.. first check
to see if loaded using $script and then load if
$exists

Joined: Jan 2007
Posts: 280
Fjord artisan
OP Offline
Fjord artisan
Joined: Jan 2007
Posts: 280
Yes I know, about the load function. The add function works well. But the dell is still trying to unload twice.

DEL part now:

Code:
  if $1 == del && $2 == $null {
    msg #services 07 $+ $upper($1-) $+  requested by  $+ $nick $+ 
    msg #services 07NO TARGET/FILE/MODULE selected by  $+ $nick $+ 
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: $upper($1-) requested by  $+ $nick $+ 
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: Failed command (no target/file/module selected)
    notice $nick Please select something to add. Choose: module
  }
  if $1 == del && $2 == botmodule && $3 == $null {
    msg #services 07 $+ $upper($1-) $+  requested by  $+ $nick $+ 
    msg #services 07NO $upper($2) $+  selected by  $+ $nick $+ 
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: $upper($1-) requested by  $+ $nick $+ 
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: Failed command (no module selected)
    notice $nick Please select a module to unload.
  }
  if $1 == del && $2 == servicemodule && $3 == $null {
    msg #services 07 $+ $upper($1-) $+  requested by  $+ $nick $+ 
    msg #services 07NO $upper($2) $+  selected by  $+ $nick $+ 
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: $upper($1-) requested by  $+ $nick $+ 
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: Failed command (no module selected)
    notice $nick Please select a module to unload.
  }
  if $1 == del && $2 == botmodule && $script($3) {
    msg #services 07 $+ $upper($1) $upper($2) $3 $+  requested by  $+ $nick $+ 
    msg #services 07MODULE $3 $+  unloading..
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: $upper($1-) requested by  $+ $nick $+ 
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: Module $2 loaded.
    unload -rs C:\Users\CvdEeden\Desktop\DJ-Serv2\BotModules\ $+ $3 $+ 
    notice $nick Module  $+ $3 $+  unloaded.
    msg #services 07MODULE $3 $+  unloaded!
  }
  if $1 == del && $2 == botmodule && $script($3) == $null {
    msg #services 07 $+ $upper($1) $upper($2) $3 $+  requested by  $+ $nick $+ 
    msg #services 07MODULE $3 $+  is not loaded.
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: $upper($1-) requested by  $+ $nick $+ 
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: Module $2 is not loaded.
    notice $nick Module  $+ $3 $+  is not loaded.
  }
  if $1 == del && $2 == servicemodule && $script($3) {
    msg #services 07 $+ $upper($1) $upper($2) $3 $+  requested by  $+ $nick $+ 
    msg #services 07MODULE $3 $+  unloading..
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: $upper($1-) requested by  $+ $nick $+ 
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: Module $2 unloaded.
    unload -rs C:\Users\CvdEeden\Desktop\DJ-Serv2\ServModules\ $+ $3 $+ 
    notice $nick Module  $+ $3 $+  unloaded.
    msg #services 07MODULE $3 $+  unloaded!
  }
  if $1 == del && $2 == servicemodule && $script($3) == $null {
    msg #services 07 $+ $upper($1) $upper($2) $3 $+  requested by  $+ $nick $+ 
    msg #services 07MODULE $3 $+  doesn't exist or is not loaded.
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: $upper($1-) requested by  $+ $nick $+ 
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: Module $2 doesn't exist or isn't loaded.
    notice $nick Module  $+ $3 $+  is not loaded.
  }
}



Squee whenever a squee squee's. Squee whenever a squee does not squee.
Joined: Nov 2009
Posts: 117
Vogon poet
Offline
Vogon poet
Joined: Nov 2009
Posts: 117
I haven't tested this but something like this:

Code:
ON admin:TEXT:del *:?:{
  echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: $upper($1-) requested by  $+ $nick $+ 
  if !$2 {
    msg #services 07 $+ $upper($1-) $+  requested by  $+ $nick $+ 
    msg #services 07NO TARGET/FILE/MODULE selected by  $+ $nick $+ 
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: Failed command (no target/file/module selected)
    notice $nick Please select something to add. Choose: module
  }
  elseif !$3 && (($2 = botmodule) || ($2 = servicemodule)) {
    msg #services 07 $+ $upper($1-) $+  requested by  $+ $nick $+ 
    msg #services 07NO $upper($2) $+  selected by  $+ $nick $+ 
    echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: Failed command (no module selected)
    notice $nick Please select a module to unload.
  }
  var %file $qt($+(C:\Users\CvdEeden\Desktop\DJ-Serv2\BotModules\,$3,))
  elseif $2 = botmodule {
    msg #services 07 $+ $upper($1) $upper($2) $3 $+  requested by  $+ $nick $+ 
    if $exists(%file) && !$script($3) {
      msg #services 07MODULE $3 $+  loading..
      echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: Module $2 loaded.
      load -rs %file
      notice $nick Module  $+ $3 $+  loaded.
      msg #services 07MODULE $3 $+  loaded!
    }
    elseif $script($3) { msg #services 07MODULE $3 $+  already loaded. }
    else {
      msg #services 07MODULE $3 $+  doesn't exist.
      echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: Module $2 doesn't exist.
      notice $nick Module  $+ $3 $+  does not exist.
    }
  }
  elseif $2 = servicemodule {
    msg #services 07 $+ $upper($1) $upper($2) $3 $+  requested by  $+ $nick $+ 
    if $script($3) {
      msg #services 07MODULE $3 $+  loading..
      echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: Module $2 unloaded.
      unload -rs %file
      notice $nick Module  $+ $3 $+  unloaded.
      msg #services 07MODULE $3 $+  unloaded!
    }
    else {
      msg #services 07MODULE $3 $+  doesn't exist or is not loaded.
      echo @COMMANDS 07 $+ $time(HH.nn.ss) COMMAND: Module $2 doesn't exist or isn't loaded.
      notice $nick Module  $+ $3 $+  does not exist or is not loaded.
    }
  }
}

Joined: Jul 2006
Posts: 4,149
W
Hoopy frood
Offline
Hoopy frood
W
Joined: Jul 2006
Posts: 4,149
This code has a problem, you're using /elseif, /var and /elseif again.


#mircscripting @ irc.swiftirc.net == the best mIRC help channel
Joined: Jan 2007
Posts: 280
Fjord artisan
OP Offline
Fjord artisan
Joined: Jan 2007
Posts: 280
Yes it doesn't work.
The commands who do work are "del" and "del botmodule/servicemodule".

When adding a filename it doesn't do anything frown


Squee whenever a squee squee's. Squee whenever a squee does not squee.
Joined: Jul 2006
Posts: 4,149
W
Hoopy frood
Offline
Hoopy frood
W
Joined: Jul 2006
Posts: 4,149
Try to put the "/var %file ..." as the first command in the event


#mircscripting @ irc.swiftirc.net == the best mIRC help channel
Joined: Jan 2007
Posts: 280
Fjord artisan
OP Offline
Fjord artisan
Joined: Jan 2007
Posts: 280
Yes now it works, exept for just "del".
It wont msg now when I did not choose a botmodule or servicemodule (and file). The others, dó work.


Squee whenever a squee squee's. Squee whenever a squee does not squee.
Joined: Nov 2009
Posts: 117
Vogon poet
Offline
Vogon poet
Joined: Nov 2009
Posts: 117
yup.. first time I made that mistake in awhile..
that's why I said I hadn't tested it..

Joined: Jan 2007
Posts: 280
Fjord artisan
OP Offline
Fjord artisan
Joined: Jan 2007
Posts: 280
Lol well it works.

But still only the "del" wont work frown


Squee whenever a squee squee's. Squee whenever a squee does not squee.
Joined: Nov 2009
Posts: 117
Vogon poet
Offline
Vogon poet
Joined: Nov 2009
Posts: 117
ON admin:TEXT:del *:?:{

change to

ON admin:TEXT:del*:?:{

Joined: Jan 2007
Posts: 280
Fjord artisan
OP Offline
Fjord artisan
Joined: Jan 2007
Posts: 280
Oh yes indeed.
Thanks.

Works all fine now smile


Squee whenever a squee squee's. Squee whenever a squee does not squee.
Joined: Jul 2006
Posts: 4,149
W
Hoopy frood
Offline
Hoopy frood
W
Joined: Jul 2006
Posts: 4,149
and typing "delete" for exemple will trigger the event, not really a problem but can be annoying, on *:text:*:#:{ and an if statement would probably be better


#mircscripting @ irc.swiftirc.net == the best mIRC help channel
Joined: Jan 2007
Posts: 280
Fjord artisan
OP Offline
Fjord artisan
Joined: Jan 2007
Posts: 280
Ah okay.
Just added it, still works fine smile


Squee whenever a squee squee's. Squee whenever a squee does not squee.
Joined: Nov 2009
Posts: 117
Vogon poet
Offline
Vogon poet
Joined: Nov 2009
Posts: 117
could use a regex then delete etc would not trigger it

ON $admin:TEXT:/^del\b/i:?:{


Link Copied to Clipboard