$ÞåmThrëäÐ

  • Hey - turns out IRC is out and something a little more modern has taken it's place... A little thing called Discord!

    Join our community @ https://discord.gg/JuaSzXBZrk for a pick-up game, or just to rekindle with fellow community members.

snow20019cr.jpg
 
I've sorted out the problem how to join a server automatically on utxmp. Everything seems to work now. The downside is, I had to change a few things in the other scripts too. So here is the whole gang of scripts again. Hopefully this will be the last update for quite some time now.

As a reminder: For each game you need a variable in the mIRC variables section.
Example:
%LogFileXMP d:\spiele\u2xmp\system\u2xmp.log
%LogFile2k4 d:\spiele\ut2004\system\ut2004.log
%LogFileUTXMP d:\spiele\ut2004\utxmp\system\utxmp.log

No blanks/white spaces are permited in the pathnames.

XMP
Code:
on 1:text:!xmp:*:{
  var %ScriptVersion = v1.09 (17th Dec 2004)
  window -n @xmp
  filter -cfw %LogFileXMP @xmp *Log: LoadMap:*.*.*.*
  savebuf 1 @xmp xmp-info.txt
  window -c @xmp
  var %Text = $read(xmp-info.txt)
  var %NumberOfCharacters = $calc($pos(%Text,?Class,1)-14)
  %Text = $mid(%Text,14,%NumberOfCharacters)
  var %NumberOfColours = $count(%Text,^#)
  var %StartPos = 1
  var %NumberOfCharacters = 1
  var %i = 1
  write -c xmp-info.txt xmp://
  while ( %i <= %NumberOfColours ) {
    %NumberOfCharacters = $calc($pos(%Text,^#,%i) - %StartPos)
    write -al1 xmp-info.txt $mid(%Text,%StartPos,%NumberOfCharacters)
    %StartPos = $calc(%StartPos + %NumberOfCharacters + 3)
    inc %i
  }
  write -al1 xmp-info.txt $mid(%Text,%StartPos)
  write -al1 xmp-info.txt 2 $gmt($file(%LogFileXMP).mtime, ddd ddmmmyyyy HH:nn) UTC
  %Text = $replace($read(xmp-info.txt),?First=True?Name=,$chr(32))
  msg # $replace(%Text,?Name=,$chr(32))
}

on ^1:HOTLINK:xmp*:*:{
  if ($left($1,6) == xmp://) return
  halt
}

on 1:HOTLINK:xmp*:*: {
  var %Position = $pos($1,/,3)
  var %Server = $left($1,%Position)
  describe # is joining %Server ...
  run $replace(%LogFileXMP,.log,.exe) $remove(%Server,xmp://,/)
}

2K4
Code:
on 1:text:!2k4:*:{
  var %ScriptVersion = v1.01 (17th Dec 2004)
  window -n @2k4
  filter -cfw %LogFile2k4 @2k4 *Log: Browse:*/*
  savebuf 1 @2k4 2k4-info.txt
  window -c @2k4
  var %Text = $read(2k4-info.txt)
  var %NumberOfCharacters = $calc($pos(%Text,?Class,1)-13)
  %Text = $mid(%Text,13,%NumberOfCharacters)
  write -c 2k4-info.txt ut2004://
  write -al1 2k4-info.txt %Text
  write -al1 2k4-info.txt 2 $gmt($file(%LogFile2k4).mtime, ddd ddmmmyyyy HH:nn) UTC
  %Text = $replace($read(2k4-info.txt),?Name=,$chr(32))
  msg # %Text
}

on ^1:HOTLINK:ut2004*:*:{
  if ($left($1,9) == ut2004://) return
  halt
}

on 1:HOTLINK:ut2004*:*: {
  var %Position = $pos($1,/,3)
  var %Server = $left($1,%Position)
  describe # is joining %Server ...
  run $replace(%LogFile2k4,.log,.exe) $remove(%Server,ut2004://,/)
}

UTXMP
Code:
on 1:text:!utxmp:*:{
  var %ScriptVersion = v1.01 (17th Dec 2004)
  window -n @utxmp
  filter -cfw %LogFileUTXMP @utxmp *Log: Browse:*/*
  savebuf 1 @utxmp utxmp-info.txt
  window -c @utxmp
  var %Text = $read(utxmp-info.txt)
  var %NumberOfCharacters = $calc($pos(%Text,?Class,1)-13)
  %Text = $mid(%Text,13,%NumberOfCharacters)
  write -c utxmp-info.txt utxmp://
  write -al1 utxmp-info.txt %Text
  write -al1 utxmp-info.txt 2 $gmt($file(%LogFileUTXMP).mtime, ddd ddmmmyyyy HH:nn) UTC
  %Text = $replace($read(utxmp-info.txt),?Name=,$chr(32))
  msg # %Text
}

on ^1:HOTLINK:utxmp*:*:{
  if ($left($1,8) == utxmp://) return
  halt
}

on 1:HOTLINK:utxmp*:*: {
  var %Position = $pos($1,/,3)
  var %Server = $left($1,%Position)
  describe # is joining %Server ...
  run $replace(%LogFileUTXMP, utxmp\system\utxmp.log, system\ut2004.exe) $remove(%Server,utxmp://,/) -mod=UTXMP
}