PDA

View Full Version : filters file



ettaj
12-22-2001, 10:51 AM
I'd like to RTFM but can't seem to find any documentation that describes how the filters file works.

The things I found were:
doc/configfile.doc : references me to SpawnFilterFile

/usr/local/share/showeq/showeq.conf:
Has 2 files: SpawnFilterFile, and FilterFile. I don't know what the difference is, as only one is documented in the configfile.doc and there isn't an example of both

filters.conf (file referenced by FilterFile): This seems to list a bunch of mobs and is divided into sections, general spawns and alerts for some of the spawns people may look for in each zone.

A few questions:
1) How do I get the filters to show everything BUT specified mobs? For example, if I want to see what and who's in EC, but don't want to be bothered with moss snakes and orcs, how would I specify "show me all but <list>"?

2) How do I get the filters to show ONLY the specified mobs? Let's say I'm looking for basilisks in Lavastorm so that I can get eggs for clumps of dough, so ONLY want to see basilisks. How would I do this?

3) Modani in OT is not in the filters.conf file at all. Does this mean that showeq won't display him when he spawns? (or, based on the cryptic note at the top of the file about the file automatically being updated, will he be added by showeq when he does)

I found
+ Made the same basic filtering scheme be used throughout with support
for full posix regex on a spawns filter string.
(see SpawnShellItem::filterString() and SpawnShellSpawn::filterString()).
Can now have a filter of the form "Race:Will[^:]*:.*:Light:GLS:.*"
which will match all spawns whose races have names beginning with "Will"
and who using a GLS as a Light (typically GLS wielding Will o' wisps).
Or say you make a sport out of hunting the local guards that are in the
level 32-34 range, you might use "Race:[^:]*Guard[^:]*:;32-34".
+ Added ability for Categories to match on any filter flags.

But I couldn't figure out from this what the basic format of the spawn message is to create the regex against, where to put these expressions in the configuration files, or how to do exclusions (item 1 above)...

I'd like you to tell me to RTFM, if only I could find it...

Thanks

Mr Guy
12-22-2001, 01:02 PM
filters.conf is fairly self explanatory when you look at the file. Assuming you have the newest working SEQ, you'll have a file: filters.conf.dist

It's divided into:

[Hunt]
[Caution]
[Danger]
[Locate]
[Alert]
[Filtered]

These work as follows:

[Hunt]
What you just want to be aware of. Putting something here causes a circle to appear around it on the map.

[Caution]
[Danger]
Both work about the same, the difference is how close to you it can get before it draws a line to it.

[Locate]
This is where you put rares you really want to find. Putting something here draws a line to it when it spawns and puts a flashing circle around it.

[Alert]
This works the way alerts worked in older version, it just bolds it and beeps if you set the flags to make noise on alerts

[Filtered]
This is where you put moss snakes, orc pawns, and other kinds of things you don't want to see at all.
Example:
#Get rid of anything with moss in the name, and any pawns
Name:[^:]moss
Name:[^:]*pawn

Brief RegEx Lesson

\w Any alphanumeric
\s Any form of space
. Anything
+One or more of the previous
* Zero or more of the previous
[ x ] Defines a character class, [xy] would match either x or y it is negated with a carot (^) ie: not x or y [^xy] Note that this defines ONE character so a [frog] would match an 'f', an 'r', an 'o', or a 'g' but would NOT limit to the entire word "frog".

Examples:
You want to find anything between two colons:

:[^:]+:
Read as: Colon one or more not colon Colon

You want to match anything with an X in the name field
Name:[^:]*X.*

You want to be notified of any drops:
[Alert]
Drop:[^:]*

JackDaRipper
12-23-2001, 11:51 AM
I understand basic regexp, but what exactly is being evaluated?

Name:[^:]*will[^:]*:.*:Light:GLS:.*

Looks for a willowisp with a greater lightstone as a lightsource...

Name:[^:]giant[^:]:;26-28

Looks for a giant thats level 26 27 or 28 i assume...

Perhaps, what i want to know is the data format the regexp is parsing. Do we get:

Name:Orc Pawn;:Held:rusty dagger;:Light:fire beatle eye:;Level:23;

or what exactly? If a field isnt currently populated how is it passed along? etc.