Tango

Bobdaman143

New member
Joined
Jun 4, 2006
Messages
3
Reaction score
0
Points
0
Tango

What is it?
Tango is a file watcher that can monitor your EQ log file for keywords/phrases/patterns. Tango is similar to EQ's audio triggers with several key differences:
* Tango uses speech instead of sound files to notify you when a search expression is matched.
* Tango uses regular expressions to define search expressions allowing for wildcards, backreferences and substitution in what it speaks.
* Keywords/phrases/patterns can be temporarily added on the fly by other people (raid leader) to all users of Tango at once.

To use Tango, you must have at least Windows XP and .NET installed and logging turned on in Everquest.
Tango uses MS SAPI for speech. To control various aspects of the voice use Start->Control Panel->Speech.

Delete any previous version and download from:
http://www.mmobugs.com/forums/attachment.php?attachmentid=1372&d=1165815866

Unzip into it's own directory. Open the Tango.exe.config file to edit. Change the following entry:
Code:
<add key="logFile" value="C:\Program Files\Sony\EverQuest\Logs\eqlog_NAME_SERVER.txt" />
Modify this to point to your own EQ log file.

Run Tango.exe and it should begin running. Tango runs in windows console mode. This keeps it very light weight and unlikely to cause much of a performance burden on your computer's CPU/RAM resources.
It should start talking immediately, initialize regex patterns, and set up a file watch to the log file you configured above.

If all goes well you can begin to enter commands directly in the console or using Everquest.

Pattern File
The pattern file is what Tango uses to define what it should watch for in the log. The file name and location is configurable by modifying the following entry in Tango.exe.config:
Code:
<add key="patternFile" value="patterns.txt" />
You can leave this as-is and simply modify the included patterns.txt file to add/customize the patterns Tango watches for.

Pattern Format
The pattern file follows a fairly easy format to define keywords/phrases/patterns that Tango monitors.
Any line that begins with two slashes (//) is a comment and ignored. Empty lines are also ignored.

The format for a pattern is:
1st character is the separator between the following pattern and the result. I commonly use ~ as my separator.
2nd character to the separator is a regular expression pattern. This is like wildcards on steroids. Don't worry about this being too complicated. You can, for the most part, use regular keywords as you would for any other 'Find' type operation.
After the separator is the result pattern; backreferences and substitution are allowed. Said another way, this is what Tango speaks.

Simple Example:
Code:
~invites you to join a group~grupe invite
The first tilde (~) tells Tango that the next tilde separates the search expression from the result phrase.
"invites you to join a group" is the phrase Tango will watch for.
The second tilde is the separator between the search expression and the result phrase.
"grupe invite" is what Tango will speak. Notice the spelling in the "grupe". Sometimes you have to spell phonetically to get good speech results.

To understand the separator issue, the above example could be redone as:
Code:
#invites you to join a group#grupe invite
This allows you to use a separator that isn't part of your search expression or speech result.

More complicated example:
Code:
// mez break
~has been awakened by (\w+)~mezz break by $1
This example uses substitution to speak the name of the person that broke mez. (\w+) in the search expression is regex nomenclature that matches any word characters to the next non-word character. $1 in the result substitutes the match found in the first set of parenthesis of the search expression, in this case the \w+, which ends up being the name of the person that broke mez.
Complicated? Read up some at http://www.regular-expressions.info
I'm not a regex guru either, I just do enough to get by.

Commands
Tango attempts to speak any line of text you enter in its console unless prefixed by a slash (/). It assumes anything beginning with a slash is a command. The following are actual commands:

/exit : ends the program
/addpat : adds a temporary pattern based on the rules given in the example pattern file
/speak : speaks whatever follows
/reset : rereads the patternFile; this allows you to make changes without restarting Tango and clears temporary patterns

Commands can also be entered using Everquest. As Tango watches for matches, any match that has a result begining with a slash in interpreted as a command and treated as such.
By default, the pattern in the included patterns.txt file is:
Code:
~<(\w+)>\s*(.*)'~/$1 $2
This is a short cut that results in matching any word inside angle brackets (<>) as a command. Tango would match <addpat>, <speak>, and <reset> to the above commands. You can change this to whatever you'd like.
Code:
~!addpat (.*)'~/addpat $1
Now Tango would recognize !addpat as the search expression to watch for and pass off all characters following to Tango's command parser. Note the ' at the of the search expression. Realize in the EQ log file, when you speak anything, it is encased in single quotes. The (.*)' in the search expression would match anything up to the single quote without passing the single quote to the parser.

By itself, Tango is similar in functionality to EQ audio triggers using speech instead of sound files. The real power of Tango is when multiple people are using it.
In a raid, for instance, all Tango users will receive the <addpat> command as configured above. The raidleader can give the command during strats and all users will have the pattern. ex:
raid_leader_01 tells the raid, '<addpat> ~You sense your doom approaching~oh my god dee tee find mournful spirit'
All tango users will now receive a warning when they recieve the Vishimtar DT. No more hoping raid members set up their audio triggers.

The raid leader can also "speak" to get attention:
raid_leader_01 tells the raid, '<speak> eggs spawning in 10 seconds'

Tango is a light weight console based .net app. There is very little error handling going on, it may in fact crash !SHOCK! just check your config values and restart.
Tango does not in any way modify any EQ settings. It does not watch any processes or memory. It does not watch any network traffic. It strictly watches a file (eq log) for changes and performs pattern matching.

Good luck, have fun!
 

Attachments

  • Tango.zip
    60.6 KB · Views: 9
Only reason im really suspicious of this program is that it has been posted on a lot of class and server boards. Something just smells fishy about it.
 
I use it and i know alot of people in my guild that does,it helps for ppl like like to fuck up on raids and now they cant say they cany
 
How about any of the more experienced and season'd MQr's out there?