Page 1 of 2 12 LastLast
Results 1 to 15 of 16

Thread: Pattern Help

  1. #1
    Registered User
    Join Date
    Apr 2002
    Posts
    70

    Pattern Help

    Ok, In my filtering I'm making a huge list of Pet names to cut false positives. I'm trying to find the "patterns" for these mobs such as:

    g[ae][rs][eo] or whatever. I'm pasting a small section. If anyone can take a look and post I'd appreciate it.

    Gabab
    Gabanab
    Gabaner
    Gabann
    Gabantik
    Gabarab
    Gabarer
    Gabarn
    Gabartik
    Gabekab
    Gabeker
    Gabekn
    Gaber
    Gabn
    Gabobab
    Gabober
    Gabobn
    Gabobtik
    Gabtik
    Gadallion
    Gafala
    Gamali
    Ganab
    Ganer
    Gangel
    Gann
    Gantik
    Garab
    Garakbar
    Garaner
    Garann
    Garantik
    Gararab
    Gararer
    Gararn
    Garartik
    Garekab
    Gareker
    Garekn
    Garer
    Garn
    Garober
    Garobn
    Garobtik
    Gartik
    Gasab
    Gasanab
    Gasaner
    Gasann
    Gasantik
    Gasarab
    Gasarer
    Gasarn
    Gasartik
    Gasekab
    Gaseker
    Gasekn
    Gaser
    Gasobab
    Gasober
    Gasobn
    Gasobtik
    Gastik
    Gebab
    Gebanab
    Gebaner
    Gebann
    Gebantik
    Gebarab
    Gebarer
    Gebarn
    Gebartik
    Gebekab
    Gebeker
    Gebekn
    Geber
    Gebn
    Gebober
    Gebobn
    Gebobtik
    Gebtik
    Gekab
    Geker
    Gekn
    Genanab
    Genaner
    Genann
    Genantik
    Genarab
    Genarer
    Genarn
    Genartik
    Genekab
    Geneker
    Genekn
    Gener
    Genn
    Genobab
    Genober
    Genobn
    Genobtik
    Gentik
    Gibab
    Gibanab
    Gibaner
    Gibann
    Gibantik
    Gibarab
    Gibarer
    Gibarn
    Gibartik
    Gibeker
    Gibekn
    Giber
    Gibn
    Gibobab
    Gibober
    Gibobn
    Gibtik
    Glati
    Glubbsink



    Thers alot more, my list is up to 990 names... If can get this down to a list of about 5 reg ex's I'd be much happier and ti'd be alot easier to go through the really long spawnlists if I get them.

  2. #2
    Registered User
    Join Date
    Feb 2002
    Posts
    74
    I've been attempting to work with spawnlogs for the last week. I sent one to Blue a long time ago, but just recently became interested myself in obtaining a full list of mobs in zones.

    I'm seeking to filter out all players, pets, corpses, mounts, familiars, and non-fightable mobs that ShowEQ sees like timers, invisibles, traps, spires, boats, shuttles, skiffs, rocks, etc...... in order to get a list of fightable mobs and their levels and their zones.

    I left a message over on Blue's site asking him if there is any kind of a list made up yet from the logs we sent in. Even if there is, I'd like to help in any projects related to this. I can't program, but I'm sure there are some other tasks that I should be able to perform.

    So, a few questions that I could not find an answer for by searching and viewing the ShowEQ files...

    Do we (any of us) have a complete list of spawns?
    Do we have a complete list of pet names to filter out?

    As for the spawnlog, how can I change it to record all mobs upon zone in (tried again last night, was only logging new spawns)?

    Is there any way to filter out (via ShowEQ *before it logs*) which kinds of spawns are recorded? For instance, you can filter the types of spawns shown IN ShowEQ, is there any way to carry that over into the Spawnlog functionality itself? It would be nice to tell it not to log players or pets or invisible men or whatnot in the beginning rather than having to filter them out later. Of course, I'll take whatever I can get.

    I'd be happy to alter the ShowEQ code myself to add options or configure it to log spawns the way I want it to, but I know nothing about programming. I am however willing to apply any changes as a beta tester, or make changes as suggested to me.

    Anyway, I've rambled on enough. I think I have explained what I am trying to acheive in a somewhat passible manner. Any help or suggestions on how to do this are welcome, as are links to any semi-completed material so that I don't have to reinvent the wheel so to speak.

  3. #3
    Registered User
    Join Date
    Aug 2002
    Posts
    189
    I ended up with a pretty compact regex for pet names, it was essentially the first letter, 0 or more of the middle 2-3 letter groupings, and 0 or 1 of the endings (-tik and there was another 1 or 2 endings). Unfortunately I can't find the regex anymore.

    Edit: 0 or more of the middle parts... not 1 or more
    Last edited by ksmith; 10-15-2002 at 09:15 AM.

  4. #4
    Registered User Mr. Suspicious's Avatar
    Join Date
    May 2002
    Posts
    667
    Is there any way to filter out (via ShowEQ *before it logs*) which kinds of spawns are recorded?
    Can it? Yes. Would anyone want to? No.

    Why don't you simply filter out all you don't want from the spawnlog.txt and dump that in a new file, it's simple as that. And you can use the standard Linux commands to do it, no need to know anything about programming.

    Thers alot more, my list is up to 990 names... If can get this down to a list of about 5 reg ex's I'd be much happier and ti'd be alot easier to go through the really long spawnlists if I get them.
    Why not use the complete spawn data send to the client to its fullest potential and create a simple solution to a "difficult" problem?

    In the mob data there's also a "belongs to" field. That field contains the current mob_id of another mob in the zone, that the mob with that field set is the pet off.

    Simple example:

    ID, name, field
    0002,A_Zombie,0000
    0004,#A_Lazy_Orc,0000
    0006,Player_X,0000
    .
    .
    .
    0024,Gobakn,0006
    0040,A_commander,0000
    0042,A_commander pet,0040

    To filter any player pets: Simply filter:

    (pseudocode)
    if field <> 0000 and right(name,3) <> "pet" then IS PLAYER PET

    Last time I checked this "field" wasn't usable in the filterline yet tho.

    it was essentially the first letter, 0 or more of the middle 2-3 letter groupings, and 0 or 1 of the endings (-tik and there was another 1 or 2 endings).
    So theoretically any mobs with only one letter names "K", "Q" etc. are always pets?
    Last edited by Mr. Suspicious; 10-15-2002 at 09:37 AM.
    Before asking anything read the pre-face section of http://www.smoothwall.org/download/p....9/doc.faq.pdf

    after you've read it, you know what to do next...




    "Stay alert! Trust noone! Keep your Lazers Handy! Have a nice day." -- Provided courtesy of the Computer. The Computer never lies.

  5. #5
    Registered User
    Join Date
    Aug 2002
    Posts
    189
    I'll see if I can find it when I get home from work. I don't remember if I required and ending if there was no middle. However, it worked quite well at cleaning up my spawnlog.

  6. #6
    Registered User
    Join Date
    Jan 2002
    Posts
    1,508
    Could always use perl to parse through the spawnlog.txt file to deal with the pet's without having to know their names (as was suggested by Mr. Suspicious). Just read in the spawnlog.txt file and turn it into an array, then simply delete from the array any record who's third column matches the first column and that the first column match is also a PC (keeps you from deleting mob pets).

    I don't really know perl, but could do something like this with php.

    Easiest way I can think of to delete the record from the array is to use a count variable that holds the length of the array, then just swap the record with the last record in the array and reduce the count by 1.

  7. #7
    Registered User Mr. Suspicious's Avatar
    Join Date
    May 2002
    Posts
    667
    then simply delete from the array any record who's third column matches the first column and that the first column match is also a PC (keeps you from deleting mob pets).
    Wait a sec, wait a sec! *g*

    Before you start doing that make sure those two fields _are_ logged in spawnlog.txt. I have no idea if it does log the ID number of the mob, because those change all the time, each new spawn gets allocated a new ID number, so today "An Orc" might be 03FF and tomorrow it could be 002E.

    All I know is that the actual Mob data send to the client does contain those two fields. It was just an example source: so the filed numbers (the order in wich they are stored) could be field 20 and field 6 for all I know without having access to my stuff at home *g*
    Last edited by Mr. Suspicious; 10-15-2002 at 10:45 AM.
    Before asking anything read the pre-face section of http://www.smoothwall.org/download/p....9/doc.faq.pdf

    after you've read it, you know what to do next...




    "Stay alert! Trust noone! Keep your Lazers Handy! Have a nice day." -- Provided courtesy of the Computer. The Computer never lies.

  8. #8
    Did you SEQ today? BlueAdept's Avatar
    Join Date
    Dec 2001
    Posts
    2,008
    This is the format of the spawnlogs:

    :name(spawnID):Level:Xpos:Ypos:Zpos:H.m.s:Ver:Zone :eqHour.eqMinute.eqMonth.eqDay.eqYear:killedBy(spa wnID)

    Not much help for finding pets except by name.
    Filters for ShowEQ can now be found here. filters-5xx-06-20-05.tar.gz

    ShowEQ file section is here. https://sourceforge.net/project/show...roup_id=10131#

    Famous Quotes:

    Ratt: WTF you talkin' about BA? (Ok.. that sounds like a bad combo of Diffrent Strokes and A-Team)

    Razzle: I showeq my wife

  9. #9
    Registered User
    Join Date
    Aug 2002
    Posts
    189
    I knew filtering pets had come up before. Here's the link:

    http://seq.sourceforge.net/showthrea...&threadid=1284

  10. #10
    Registered User Mr. Suspicious's Avatar
    Join Date
    May 2002
    Posts
    667
    This is the format of the spawnlogs:

    :name(spawnID):Level:Xpos:Ypos:Zpos:H.m.s:Ver:Zone :eqHour.eqMinute.eqMonth.eqDay.eqYear:killedBy(spa wnID)

    Not much help for finding pets except by name.
    So someone has to add

    Code:
    :summonedBy(spawnID)
    and "all your problems belong to us"

    (Just trying to offer an easy solution to a difficult to filter thing)
    Before asking anything read the pre-face section of http://www.smoothwall.org/download/p....9/doc.faq.pdf

    after you've read it, you know what to do next...




    "Stay alert! Trust noone! Keep your Lazers Handy! Have a nice day." -- Provided courtesy of the Computer. The Computer never lies.

  11. #11
    Registered User
    Join Date
    Jan 2002
    Posts
    1,508
    and what about pets that were already summoned before you entered the zone? Last time I paid any attention to this, SEQ couldn't link the pet to it's owner if it was summoned before I showed up in the zone.

  12. #12
    Registered User
    Join Date
    Dec 2001
    Posts
    1,262
    The ownerId is sent to client along with the spawn information, but only for player's pets (not for NPC pets)/

    --Jeeves
    "Only two things are infinite, the universe and human stupidity, and I'm not sure about the former." --Albert Einstein

  13. #13
    Registered User
    Join Date
    Aug 2002
    Posts
    189
    Ok, here's the list of perl regexes I use for cleaning up my spawnlog.txt

    Horse, warder, familiar, corpse filter:
    /s_(Mount|warder|familiar|corpse)$/

    Eye of zomm filter:
    /^Eye_of_/

    Summoned pet filter:
    /^[GJKLVXZ]([aeio][bnrsk])+(n|tik)?$/
    /^[GJKLVXZ]tik$/

  14. #14
    Registered User
    Join Date
    Feb 2002
    Posts
    74
    The whole thing would be much easier to work with if we could add three additional columns.

    Class
    Race
    and the Belong To or Summoned By column

    Then, it would be easy to filter out pets, invisible men, whatever... without complicated name matches. Filtering out Mounts and corpses and such are easy and brainless, it would be simple to add filters for any summed/belonging and invisible men, heck even shopkeepers if you wanted.

    I hope to not only work on improving filters here and there, but to also dump this info into a db for some fun.

    My ideal wish? To log to the spawn log all the columns shown in the spawn list. Then I could even have BodyType to play with. Is this hard to change?

  15. #15
    Registered User Mr. Suspicious's Avatar
    Join Date
    May 2002
    Posts
    667
    Originally posted by high_jeeves
    The ownerId is sent to client along with the spawn information, but only for player's pets (not for NPC pets)/

    --Jeeves
    It's there for NPC pets aswell HJ.

    This is data as I retrieve it from memorry when zoning into a zone using EQCollector. I collected it by zoning into the zone and emmediatelly zoning out again. I am assuming this data should also be "sniffable" by ShowEQ.

    Code:
    Player:
    
        Spawn: 071D (31) #X`s_familiar00  L: 20, G: 2, HP: 100%, Owned: 071C, Size: (3.00, 0.67-1.25)
        Race: Imp, RaceType: NPC, Class: Warrior, Deity: NONE, Position: 100
        Movement: Pos: (  -67  -430   178). Accel: 0, Dir:  -57, Rotation:  0, Speed: (  0   0   0)
        Invis: 0, Sneak: 0, PVP: 0, Light: 0, Anon: 0, AFK: 0, LD: 1, GM: 0, Breath: 3, Armor: 0, Helm: 255, Guild: FFFF(0000)
        Equipment: 0(0), 0(0), 0(0), 0(0), 0(0), 0(0), 0(0), 0(0), 0(0)
        U_00: 00568E04, P_41: 38 P_49: D1, U_58: 01, U_5D: 420740
        U_D6: 00 Code_X: FF FF FF FF FF FF U_DD: FF U_DE: 0000
    
        Spawn: 071C (1) X XX L: 29, G: 0, HP: 100%, Owned: 0000, Size: (6.00, 0.46-0.70)
        Race: Erudite, RaceType: Player, Class: Wizard, Deity: THE TRANQUIL, Position: 100
        Movement: Pos: (  -72  -433   197). Accel: 66, Dir:   59, Rotation: 66, Speed: ( 72 -392 -374)
        Invis: 0, Sneak: 0, PVP: 0, Light: 0, Anon: 0, AFK: 0, LD: 0, GM: 0, Breath: 0, Armor: 255, Helm: 255, Guild: 003E(0000)
        Equipment: 2(0), 12(599BFF), 12(599BFF), 12(599BFF), 0(0), 0(0), 0(0), 50(0), 56(0)
        U_00: FFFDFFFF, P_41: 00 P_49: 00, U_58: 00, U_5D: 420740
        U_D6: 00 Code_X: FF FF FF FF FF FF U_DD: FF U_DE: 0000
    
        Spawn: 10E6 (8) Vobekn00  L: 47, G: 2, HP: 1%, Owned: 10DD, Size: (7.00, 0.67-1.25)
        Race: Spectre, RaceType: NPC, Class: Warrior, Deity: NONE, Position: 100
        Movement: Pos: (  232   210  -158). Accel: 0, Dir:  -61, Rotation:  0, Speed: (  0   0   0)
        Invis: 0, Sneak: 0, PVP: 0, Light: 0, Anon: 0, AFK: 0, LD: 1, GM: 0, Breath: 3, Armor: 1, Helm: 255, Guild: FFFF(0000)
        Equipment: 0(0), 0(0), 0(0), 0(0), 0(0), 0(0), 0(0), 0(0), 0(0)
        U_00: 00000000, P_41: 00 P_49: 00, U_58: 01, U_5D: 420740
        U_D6: 00 Code_X: FF FF FF FF FF FF U_DD: FF U_DE: 798D
    
        Spawn: 10DD (1) X XX L: 60, G: 2, HP: 77%, Owned: 0000, Size: (5.00, 0.46-0.70)
        Race: Spectre, RaceType: Player, Class: Necromancer, Deity: THE PRINCE OF HATE, Position: 100
        Movement: Pos: (   17   217  -147). Accel: 0, Dir:  -70, Rotation: 12, Speed: (  0   0   0)
        Invis: 0, Sneak: 0, PVP: 0, Light: 15, Anon: 0, AFK: 0, LD: 0, GM: 0, Breath: 2, Armor: 1, Helm: 255, Guild: 004D(0000)
        Equipment: 0(0), 14(193219), 14(193219), 14(193219), 1(3C3C50), 17(0), 20(0), 68(0), 210(0)
        U_00: 04013703, P_41: 0A P_49: 03, U_58: 00, U_5D: 420740
        U_D6: 00 Code_X: FF 00 07 07 00 00 U_DD: 01 U_DE: 0000
    
    NPC:
    
        Spawn: 08B6 (8) a_dismal_rage_initiate03_pet00  L: 5, G: 2, HP: 100%, Owned: 08B2, Size: (5.00, 0.67-1.25)
        Race: Skeleton, RaceType: NPC, Class: Warrior, Deity: NONE, Position: 100
        Movement: Pos: (   67 -1136    27). Accel: 0, Dir:  -59, Rotation:  0, Speed: (  0   0   0)
        Invis: 0, Sneak: 0, PVP: 0, Light: 0, Anon: 0, AFK: 0, LD: 1, GM: 0, Breath: 0, Armor: 0, Helm: 255, Guild: FFFF(0000)
        Equipment: 0(0), 0(0), 0(0), 0(0), 0(0), 0(0), 0(0), 0(0), 0(0)
        U_00: 0E682C99, P_41: 6F P_49: B2, U_58: 00, U_5D: 420740
        U_D6: 00 Code_X: FF FF FF FF FF FF U_DD: FF U_DE: B56B
    
        Spawn: 08B2 (1) a_dismal_rage_initiate03  L: 5, G: 1, HP: 100%, Owned: 0000, Size: (-1.00, 0.67-1.25)
        Race: Human, RaceType: NPC, Class: Necromancer, Deity: NONE, Position: 100
        Movement: Pos: (   62 -1141    28). Accel: 0, Dir:  -85, Rotation:  0, Speed: (  0   0   0)
        Invis: 0, Sneak: 0, PVP: 0, Light: 0, Anon: 0, AFK: 0, LD: 1, GM: 0, Breath: 0, Armor: 12, Helm: 255, Guild: FFFF(0000)
        Equipment: 0(0), 0(0), 0(0), 0(0), 0(0), 0(0), 0(0), 0(0), 0(0)
        U_00: B47B584F, P_41: 49 P_49: 87, U_58: 00, U_5D: 420740
        U_D6: 00 Code_X: FF FF FF FF FF FF U_DD: FF U_DE: F91C
    
    This field is a different one then the "KilledBy" field as indicated by:
    
        Spawn: 0E7E (1) aqua_goblin_marauder's_corpse9  L: 6, G: 2, HP: -27%, Owned: 0000, Size: (-1.00, 0.67-1.25)
        Race: Goblin, RaceType: Player Corpse, Class: Warrior, Deity: NONE, Position: 120
        Movement: Pos: ( -146  2852   150). Accel: 0, Dir:  -27, Rotation:  0, Speed: (  3  -2   0)
        Invis: 0, Sneak: 0, PVP: 0, Light: 0, Anon: 0, AFK: 0, LD: 1, GM: 0, Breath: 0, Armor: 3, Helm: 255, Guild: FFFF(0000)
        Equipment: 0(0), 0(0), 0(0), 0(0), 0(0), 0(0), 0(0), 0(0), 0(0)
        U_00: 00000000, P_41: 00 P_49: 00, U_58: 00, U_5D: 420740
        U_D6: 00 Code_X: FF FF FF FF FF FF U_DD: FF U_DE: 3020
    This is data from NPC's and Players and their pets that were already UP when I zoned in AND they were on the other side of the zone when I zoned in.
    Last edited by Mr. Suspicious; 10-17-2002 at 06:06 AM.
    Before asking anything read the pre-face section of http://www.smoothwall.org/download/p....9/doc.faq.pdf

    after you've read it, you know what to do next...




    "Stay alert! Trust noone! Keep your Lazers Handy! Have a nice day." -- Provided courtesy of the Computer. The Computer never lies.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

You may post new threads
You may post replies
You may post attachments
You may edit your posts
HTML code is On
vB code is On
Smilies are On
[IMG] code is On