Enemy Highlighter

From Mudlet
Revision as of 22:02, 27 July 2011 by Phoenix (talk | contribs) (→‎API)
Jump to navigation Jump to search

Package Info

By: ThePhoenix

For(MUD): Achaea

Size: 4kb

Website: http://dl.dropbox.com/u/22569276/EnemyHighlighter.zip

Version: 2.6

Contents: EnemyHighlighter.xml

Summary/Description: This package is an extremely quick enemy-highlighter. It is precise, only ever highlighting the full name, and highlighting all of the full name on that line. Using obscene amounts of names on a line, you can introduce minor lag... Obscene being something such as doing 'city enemies' in Mhaldor (2000 enemies to highlight, anyone?). However, even so, it is fast to do them. Check out the benchmarks at the bottom. This package uses substring triggers for fastest results.

Feedback is desired. If you have any questions, send me an email.

Related Packages: None.

Other Packages made by this Package Author:

API

Aliases

enhi <command>

This is currently the only alias in the system. It's a very simply alias - simply use 'enhi' before the normal command, to highlight them. After enhi you use the normal Achaean syntax for checking the enemies. For instance:

enhi city enemies - this would highlight city enemies.
enhi clan example enemies - this would highlight all the enemies of that clan.


Functions

colorAll()

colorAll(word[, fg[, bg[, italic[, underline[, bold[, noCase]]]]]])

This function will color all of 'word' in the line. It will not find it inside another word, only highlighting full words. All arguments aside from word are optional

Parameters
  • fg, bg
These arguments take either a color name from showColors(), or r,g,b format (in string).
  • italic
Boolean value. If it is true, the word will be made italic.
  • underline
Boolean value. If it is true, the word will be underlined.
  • bold
Boolean value. If it is true, the word will be made bold.
  • noCase
Boolean value. If it is true, all of <word> will be matched on the line, regardless of case.
Example

<lua> colorAll(word,"blue","134,234,12", true, false, false, true) --In this example, all of 'word' will be colored blue on a yellowy-greenish background. --They will be made italic, and the case will not matter. </lua>


isEnemy()

isEnemy(person[, place])

This function will check to see if 'person' is an enemy to 'place', or if 'person' is a known enemy period. This function is made to be extremely quick.

Parameters
  • person
String value. This is the name of the person to check.
  • place
string value. This is an optional argument for place to check.

Changing Enemy Colors

Benchmarks

These benchmarks are done while running this highlighter in conjunction svo. In other words... alone, it'd probably be faster still.

814 enemies to search for, 1628 enemies on the line, 814 enemies (Doubled the names up, so it did two highlights per name) - 0.6 seconds
814 enemies to search for, 106 words on the line, 53 enemies, each name twice per line - (106 total highlights)- 0.008 seconds
814 enemies to search for, 5000 words on the line, 20 enemies on the line - 0.1 second
814 enemies to search for, 5000 words on the line, 1 enemies name, - 0.010 seconds
814 enemies to search for, 84 words on the line, 1 enemies name, - 0.003 seconds.