BeBot - An Anarchy Online and Age Of Conan chat automaton
Archive => Anarchy Online Archive => 0.2.x Custom/Unofficial Modules => Topic started by: Malosar on May 11, 2006, 03:02:00 am
-
I created this for my guild and figured others may find it useful for their guild/raidbots as well. Basically allows you to lookup a loot table either by the name of a boss (returns loot for that name) or the name of an item (returns bosses it drops from).
I've added loottables for pretty much all SL dynas that have specific loot, RK uniques, and most of the wanted loot from most dungeons. Feel free to correct/modify/add to the existing data. If you make large additions to it, try to post them here for others to add. Also advise if I have made any mistakes with loot drops or missing loots/bosses. Most of the data has come from various sites, some of which are quite dated and concrete data is not available.
I've included the ability to add items to the db ingame however it only currently works with an itemref. eg. you must post the item into the command. Would probably be good to add in adding via lowid as well, which is how is matches bossid's to items in the boss_loot table.
This module requires the items db which is standard with bebot. I have not tested it with the upgraded itemsdb posted recently however as long as the column names are identical and the lowids match then it should be fine.
Update: Using JJs slightly modified version for command change, loot layout with icons. Incorporated php5 fix. Also added !whereis lookup links. This requires the whereis module which I ahve included below with the SQL data as well.
Commands:
!bossloot name name of boss - searches the db for that name, can be partial and will return loottables for each match.
!bossloot loot name of item - searches the db for each boss that drops that item. Will return results for each item if multiple found.
!bossloot add <itemref>/name of boss/location - Adds an item to the db. It will check whether the item already exists under the boss name so the name of the boss MUST be exact. The location will not overwrite if the boss already exists, so you can put anything for location if adding to an existing droptable. However you must include something for location.
!bossloot check - Can only be done in a tell. Correlates data between the boss db and the items db for missing information. (thanks JJ)
Personally it's a lot easier updating loot tables in the db itself, using a frontend like phpmyadmin, sqlyog or similar.
-
Nice, thanks :)
-
Very nice, except one bug.
[2006-05-12 08:36:03] [GROUP] [MSG] [<<< Shadowmoon Association >>>] Tabsl: !boss name beast
Fatal error: Cannot use string offset as an array in /home/teibl/aobots/smooni2/modules/boss.php on line 72
The error occurs also if i type in "!boss name the" or "!boss name the beast".
Some ideas? :)
*edit*
I removed The Beast from sql db.. now it's not crashing again but only shows Beasthandler and so on..
*edit2*
[2006-05-12 12:00:38] [GROUP] [MSG] [<<< Shadowmoon Association >>>] Tabsl: !boss loot gaily
Fatal error: Cannot use string offset as an array in /home/teibl/aobots/smooni2/modules/boss.php on line 105
seems the same bug, maybe someone will find out whats wrong :)
-
That error actually occurs if one of the items it's looking up is not found or bugged. Did you add to the beast loot table or something? I tried both of those and not getting the same error.
Also try changing on line 72 and 105, from $boss[0][0] to $boss[0] as suggested by someone to me previously however it didn't work for me in that specific instance. It might be a php version difference?
-
Also see this (http://bebot.link/index.php/topic,389.0.html) post regarding the error in php5.
-
Thanks for the info, hope it will be fixed 8)
Otherwise it's a very funny module ;D
-
I'll see if I can recode around the problem sometime. However it works fine for me so it wont exactly be high on my todo list ;D
-
Fatal error: Cannot use string offset as an array in D:\RK2\Wyraid\modules\boss.
php on line 72
D:\RK2\Wyraid>pause
Press any key to continue . . .
got this message when i tried to do !boss name a or !boss name hezak
not sure if there's anything wrong w/ code :(
-
It doesn't work with php5. I haven't recoded around it.
-
It'll crash with PHP 5 if there is an empty entry in the database. Like boss 78 with no loot allocated to it or so. Just make sure there are no empty entries and it will work fine.
-jj-
-
It'll crash with PHP 5 if there is an empty entry in the database. Like boss 78 with no loot allocated to it or so. Just make sure there are no empty entries and it will work fine.
-jj-
Actually I don't think it works at all as there is a bug when using [0][0]
offsets in a foreach loop in php5 afaicr. I've never run php5 so I can't really test it and no idea how many bebot users actually use this module with php5.
-
It does not produce error for me, but it is not really working, either. Watch this:
!boss loot asteroid
Items not found in boss loot:
Shoulderpads of Asteroid Calling
!boss name Tuqusk
Boss: Tuqusk
Loot:
Armplates of Meteorite Assembly
Boots of Stolen Comet Speed
Copy of The Excalibur
Exact Copy of The Excalibur
Gauntlets of Star Confabulation
Moon Watcher Helmet
Overcoat of the Firmament
Shoulderpads of Asteroid Calling
Vest of Torpid Sunrays
Location: Inferno, South of Frontier
------------------------------------
If I search for armplates or meteor, I get the merlin dragons... I can't see why atm. Any ideas? My bot does not give any error messages, btw.
-
It's because of the stupid extra set of pads in the itemdb introduced in 16.3, the nodrop version of the pads. The module gets the highest value for the lowid and thats not in the boss loot db.
You could delete the entry from the items db. Item lowid 260685.
-
hey the boos loot in bebot dosent show loot only boss name and loc and i get a error msg that lowid do i need to make a table with items in the database i9 have items.php and thats works fine
-
You just need to delete that entry from the itemdb if you want.
delete from items where lowid = 260685;
-
You just need to delete that entry from the item db if you want.
delete from items where lowid = 260685;
tnx but i did find the error i need the itemsdb to get this to workcan sow plz can someone link it for me
Table 'bebot.items' doesn't exist
MySQL error (# 7) on query: SELECT lowid, highid, highql, name FROM items
WHERE lowid = '245659'
Table 'bebot.items' doesn't exist
MySQL error (# 8) on query: SELECT lowid, highid, highql, name FROM items
WHERE lowid = '245677'
Table 'bebot.items' doesn't exist
MySQL error (# 9) on query: SELECT lowid, highid, highql, name FROM items
WHERE lowid = '245676'
Table 'bebot.items' doesn't exist
MySQL error (# 10) on query: SELECT lowid, highid, highql, name FROM items
WHERE lowid = '246277'
Table 'bebot.items' doesn't exist
Threshold of 10 errors in 30 seconds reached. Supressing error output for 30 sec
onds
-
This of course only works if you have a local items database. :)
-
tnx but i did find the error i need the itemsdb to get this to workcan sow plz can someone link it for me
You need sql from here (http://www.jjones.co.uk/files/items17.00.00.zip) and if you want, you can use your local db with a different items.php here (http://bebot.link/index.php/topic,385.msg4227.html#msg4227)
-
I can do a "!boss loot item" and it will work fine, but when i try to do a name, i get the following error.
Fatal error: Cannot use string offset as an array in C:\php\modules\boss.php on line 72
*****Edit*****
This error only occurs when i use !boss name beast i can use heart or other names, just not beast.
-
I've updated the php file in my original post. Grab it and see if it fixes your problem, which only occurs in php5. You don't need to download the sql again.
-
- Triggers are changed to !bossloot (you can change this back easily enough if u don't like it)
- Icons are added to loot output (by Axl)
- Loot output changed slightly
- !bossloot check in tell will check your !items database against the bossloot database and highlight missing/incorrect items.
- Includes PHP5 fix.
http://www.jjones.co.uk/files/boss.php
-
Thanks :) seeing as how i was already using Malosar's version, i just re-downloaded his to make sure there were no additional unforseen problems. It worked like a charm :)
-
- Triggers are changed to !bossloot (you can change this back easily enough if u don't like it)
- Icons are added to loot output (by Axl)
- Loot output changed slightly
- !bossloot check in tell will check your !items database against the bossloot database and highlight missing/incorrect items.
- Includes PHP5 fix.
http://www.jjones.co.uk/files/boss.php
Nice JJ, that boss check is handy, and tbh I think I like !bossloot better :) . Since it's fixed for all now, maybe add it in the modules posts for 2.x
I really don't know why I didn't fix it before, the answer was right in front of me and mentioned a couple of times lol.
-
Actually, the PHP5 issue in the plugin was on my todo list for ages also, so I'm really glad you fixed it :-) I didn't wanna post any of the changes I'd made until it was fully working.
Next step really should be to sync the SQL with the !whereis webpage that was posted on the aodevs forum I guess (grrrr, so many things to do and so little time!).
I'll add the plugin to the A-Z later.
Thanks for your feedback and obviously the code in the first place :-)
Btw, using my 17.0.0.5 !items database, there were the 2 shade items dropping from LOTV that needed changing to the non nodrop version and a Phatmos items that just needed deleting in my database - same for yours? If you could post the updated SQL I'd be grateful, I had some other additions in mine which are kinda silly (for a certain engineer in our org).
Cheers,
-jj-
-
Great idea on incorporating with whereis which I use on my bot. I modified the module to show links instead of a location, and added links when showing a list of bosses for a specific loot. Whereis module from aodevs required of course :)
I also fixed those shade items entries for Lord of the Void you mentioned, and removed the phatmos loot.
I've updated my original post to reflect these changes. I also left in the "location" column for boss_name as people can use it to update their whereis databases if they wish. If it's notquite what you were thinking or would like it another way I'll give it a go as im not very busy at work lately :)
-
Here's an updated whereis sql which also contains all the location data for all the boss entries in my db.
-
Dunno if this in the latest version of the boss_name table, I think I found some typos. Not 100% sure, I did not set out and check every single mob:
Anasis Favorite (should be Anansis Favorite)
Anitaaps Shadow (I think it should be Aniitaps Shadow), and missing the low-QL of the 220 version of the piercing evil
Apprentice Beasthandler drops Lava Capsule as well, at least my guide says that
I was told the Conflagrant spirit does not drop the ql260 version of the gun
Crete drops the conflagrant gun, and also the head symbiant of the love child
Distracted Snake Tamer drops snake tamer shield and guard
Ishimk'Imk drops the mark of the fisher king
Punctilious Hiathin is written Punctilious Hiathlin or Punctlious Hiathlin - not entirely sure. ;D
Scrupulous Hiathin is written Scrupulous Hiathlin
-
Yeah it was never really a complete db, didn't know about the spelling errors either. It's also missing the hollow island bosses and loot as well. If I get a chance I'll correct and update the db, otherwise if you do so beforehand, please post here for others.
edit: got some time so updating it now.
-
Am updating it as well, mebbe we can merge results somehow. It currently misses a lot of Ado bosses, and I'd like to add HI as well. Problem is getting a decent list of the bossloot that includes the locations as well. "NW ado" isn't exactly verbose. Would be grateful for any nice links. Otherwise I'll shoulder my knapsack and go visit the bosses myself. :)
-
Yeah it was never really a complete db, didn't know about the spelling errors either. It's also missing the hollow island bosses and loot as well. If I get a chance I'll correct and update the db, otherwise if you do so beforehand, please post here for others.
edit: got some time so updating it now.
I've done HI bosses already the other day, just didn't post yet. Will do later if you didn't complete yet.
-jj-
-
ok made the corrections, added in the extra loot and the HI data. Not sure if HI is complete as not many good sources for that. Updated my original post with the new SQL data. Between the 3 of us we can hopefully come up with a more comprehensive and accurate db.
Maybe you can post any corrects/additions in sql format?
-
I am kinda done with the Adonis mobs. Prolly some missing still, but reliable info is scarce. Now, my MySQL is not very good. What would be a convenient way to give you the data? Select it into another table and dump the table? What would the commands for that be? Our bossid columns most likely differ, since I fiddled with the table a while ago, and I did not apply your changes before starting on Adonis. I could generate two tables from the output of
SELECT * FROM boss_name WHERE location like '%Adonis%';
SELECT bossname, itemid FROM boss_loot l JOIN boss_name n ON (n.bossid = l.bossid) WHERE location LIKE '%Adonis%';
for example, or whatever works well. :)
-
Well I'll need the itemids so the 2nd select giving me the bossname and the itemid is perfect. I'll enter all the data into my db, and any JJ might have for me about HI then post a new version of the sql.
-
OK, I know how to dump the result of a SELECT into a table, but how do I dump a table as a series of INSERT statements?
-
Nvm, I think I found out. Check if you can use this. ;D Should make two tables, dump1 and dump2. I hope... :) I put in all the ado mobs that I know to have non-pattern loot at all, plus their location where I could get it. Was too lazy to walk to the snatching souldredge to heck his coordinates...
-
ok entered in the extra bosses and drops from Adonis. I left out some of yours as I don't consider quest items and armor to be boss loot. Also I left my JAME data pretty much intact as there is little data around to accurately tell me which ones it does/doesn't drop.
Also updated my whereis db with your location data and included the whereis db and module with my original post along with the loot updates.
Thanks for your extras, I'd left out quite a bit in Adonis lol
-
I left out some of yours as I don't consider quest items and armor to be boss loot.
I can agree to the quest items, but for several reasons I think that the undercover and sanguisugent armor should stay. Some people actually use that stuff (some buff useful skills like CL or T&S), and it only drops off bosses. People use the bossloot module to find out what items of interest a boss drops, or to find out what boss drops a certain item. In both cases, the armor information might be considered interesting. It's not like too much info hurts anyone, or the database is getting too big - quite the opposite. The info is there - why not use it?
And I often hear questions like "Does anyone know if there are mobs in adonis that drop Pernicious armor?". Those questions could be answered with the armor included. I might agree that stuff like outsider and killer's armor is quite uninteresting, tho. But at least sanguisugent, pernicious, bootlegger and saboteur armor should stay in the DB, as these have real uses and only drop from bosses.
And please tell me the difference between pernicious armor and, say, FRN. Both drop only from certain kinds of bosses, but across all the playfields. FRN is in the DB, so should the armor. ;D
Working on added info about ely atm... half the eremites are missing...
-
Well if you happened to have a comprehensive drop list for all the armor types then it would be a good thing to include, but there was only a few in your list which had it. If you get to the point where you have details across multiple zones then please share!
I'm also starting to think along the way somewhere I lost some of my entries in my db, maybe I had reverted to an earlier version somewhere as I know some of the adonis ones you put in I definitely had beforehand. And i'm seeing more missing as well.
I guess eventually we'll end up with a complete db. Thanks for helping out with updating this.
-
As I said, I am atm collecting locations for ely, and I have half a list for scheol ready. If it pleases you more, mebbe I prepare an update with the armor some day. You are right that it makes more sense to include it completely or not at all.
BTW, I copied most of the info for ado form aowiki.de, crosschecked it with comments from auno.org and a thread on the german official forum. Still, I did not get most of the adonis info firsthand, so there might be errors.
-
Annyone got a helpfile for the !whois part?
-
Helpfile? !whois?
-
I assume you mean the !whereis support I added into the bossloot module. Information on it can be found at aodevs.com (http://aodevs.com/index.php/topic,30.0.html).
-
how install this module?
-
you normaly put the module in custom/modules
then simple start or restart your bot
-
Altho this is posted in 0.2.x which is very old and will not work with latest version and there is no support module for it