Agents

 

mIRC supports Microsoft Agent either through scripting or through the Agents section in the options dialog. An agent is an animated character that can speak text and perform actions.

 

You can find links to related websites and resources, as well as download information, on the mIRC website.

 

Agent commands

 

The following commands allow you to manipulate agents, to make them speak, play animations, and more.

 

/gload <-h> <name> <filename | N | default>

You must use /gload to load an agent before you can use it.

 

The name you give an agent is the name you will use to refer to it in all of the other commands and identifiers.

 

You can load an agent either by specifying its filename, if you know it, or by loading the Nth installed agent on your system, or by specifying default, which will load the default agent for your system.

 

If you specify the -h switch, mIRC will hide the agent whenever mIRC is minimized. You can also use the -h switch with the other agent commands to prevent them from popping the agent when mIRC is minimized and has the -h setting.

 

Note: You cannot load more than one of the same agent. You can however load as many different agents as you want.

 

/gunload <name>

This unloads the specified agent. The name is the name you gave your agent when you loaded it with /gload, not the filename of the agent.

 

/gshow <name> [x y]

This shows an agent in its most recent or default position, or at the specified x y position.

 

/ghide <name>

This hides an agent.

 

/gmove <name> <x> <y> [speed]

This moves an agent to the <x> and <y> position on your screen. If a speed is not specified, it uses a default speed. If you specify a speed of 0, it moves instantly to the new position.

 

/gsize <name> <w> <h>

This resizes an agent to the specified width and height.

 

/gtalk -kwlu <name> <text | <wavefile | text>>

This makes an agent speak the specified text.

 

If you want the agent to think the text in a balloon without speaking it, you can use the -k switch.

 

If you want the agent to play a wave sound file, you can use the -w switch, and specify a wave filename. You should also specify text after the filename, the agent will show it in a balloon while playing the wave sound.

 

The -l switch applies the lexicon settings in the lexicon dialog to the text.

 

The -u switch applies the speech settings in the speech options dialog.

 

/gplay <name> <anim | N> [timeout]

This makes an agent play one of its animations.

 

You can either specify the name anim of an animation, if you know it, or ask it to play the Nth animation.

 

Some animations are looping animations, which repeat continuously, and prevent an agent from doing anything else until you /gstop the agent. The [timeout] value allows you to specify a timeout for an animation after which it is automatically stopped, and the agent will then perform any remaining queued requests. If you do not specify a timeout value, the default is 5 seconds. If no play or talk requests are pending, the looping animation continues beyond the timeout until there are.

 

/gpoint <name> <x y>

This makes an agent point towards the specified <x> <y> screen position.

 

/gstop -c <name> [talk play]

This stops an agent from doing what it is currently doing, and removes all queued requests for the agent.

 

If you wish to only stop the current action, you can use the -c switch.

 

If you wish to stop only talk or only play requests, you can specify talk or play.

 

/gopts -bieqnh <name> <on off size pace hide nosize nopace nohide langid>

This sets various options relating to how the agent behaves.

 

The -b switch turns balloons on or off. You can also specify size to make the balloons fit the text being spoken, pace to display text word by word as it is being spoken, and hide to hide the balloons when no text is being spoken.

 

The -i switch turns idle effects on or off.

 

The -e switch turns sound effects on or off.

 

The -n switch allows you to set a language id, where langid is the hex id value.

 

The -h switch turns the auto-hide feature on or off (see /gload for more info).

 

/gqreq <on | off>

By default mIRC queues all requests and plays them one after the other to ensure that even if you use multiple agents at the same time, all messages will be heard, and all agents will act in the order that you requested. You can turn queuing on/off on the fly.

 

Agent Identifiers

 

The following identifiers allow you to access information about an agent that is currently loaded.

 

$agentver

Returns the version of the Agent installed on your system, 0 if not installed.

 

$agentstat

Returns 1 if Agent is ready, or 0 if busy or speaking.

 

$agentname

Returns the name of the agent in an on AGENT event.

 

$agent(N).char

Returns the filename of the Nth available agent installed on your system.

 

If you specify 0, returns total number of installed agents.

 

$agent(name)

Returns information about a currently loaded agent.

 

Properties: name, fname, visible, x, y, w, h, ow, oh, speed, pitch, idle, effects, active, langid, balloon, hide

 

name                the name you gave to this agent

fname                the filename of the agent or default

visible                returns $true or $false

x,y,w,h                left/top position, width/height.

ow, oh                original width/height

speed                speaking speed

pitch                speaking pitch

idle                if idle behaviour is on or off

effects                if sound effects are on or off

active                if this agent is active/topmost

langid                language id of system

balloon                current setting: on off size pace hide

hide                returns auto-hide setting

 

$agent(name,N)

Returns information on animations and queued lines for an agent.

 

Properties: anim, line

 

anim                returns the names of the animations available for this agent.

               If you specify N, returns the name of the Nth animation.

               If you specify 0, returns the total number of animations.

 

line                returns the list of lines currently queued for talking for this character.

               If you specify N, returns the Nth line.

               If you specify 0, returns total number queued lines.

 

Tags in spoken text

You can use tags in <text> in /gtalk which may be recognized by the text-to-speech engine, these are a few:

 

\spd=n\                set speed of spoken text

\pit=n\                set pitch of spoken text

\vol=n\                set volume of spoken text

\chr="text"\        where text is normal, monotone, or whisper

\ctx="text"\        where text is address, email, unknown

\emp\                emphasize next word

\pau=n\                pause speech nnn milliseconds

\rst\                reset settings to default

 

$notags(text)

Removes the above tags from text. Only tags that are valid and correctly written as above are removed.