|
Malosar
|
 |
« on: May 10, 2006, 08:02:00 PM » |
|
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.
|
|
|
|
« Last Edit: February 07, 2007, 10:58:41 AM by Malosar »
|
Logged
|
Eternalist General of The Syndicate
|
|
|
|
Alreadythere
|
 |
« Reply #1 on: May 11, 2006, 08:57:11 AM » |
|
Nice, thanks 
|
|
|
|
|
Logged
|
|
|
|
tabsl
Freshman
Offline
Posts: 6
|
 |
« Reply #2 on: May 12, 2006, 03:52:38 AM » |
|
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 
|
|
|
|
« Last Edit: May 12, 2006, 07:07:14 AM by tabsl »
|
Logged
|
|
|
|
|
Malosar
|
 |
« Reply #3 on: May 12, 2006, 01:36:59 PM » |
|
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?
|
|
|
|
|
Logged
|
Eternalist General of The Syndicate
|
|
|
|
Malosar
|
 |
« Reply #4 on: May 13, 2006, 04:41:45 PM » |
|
Also see this post regarding the error in php5.
|
|
|
|
|
Logged
|
Eternalist General of The Syndicate
|
|
|
tabsl
Freshman
Offline
Posts: 6
|
 |
« Reply #5 on: May 15, 2006, 03:33:38 AM » |
|
Thanks for the info, hope it will be fixed  Otherwise it's a very funny module 
|
|
|
|
|
Logged
|
|
|
|
|
Malosar
|
 |
« Reply #6 on: May 15, 2006, 09:54:53 AM » |
|
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 
|
|
|
|
|
Logged
|
Eternalist General of The Syndicate
|
|
|
|
buff
|
 |
« Reply #7 on: November 28, 2006, 12:47:59 PM » |
|
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 
|
|
|
|
|
Logged
|
|
|
|
|
Malosar
|
 |
« Reply #8 on: November 30, 2006, 09:39:18 AM » |
|
It doesn't work with php5. I haven't recoded around it.
|
|
|
|
|
Logged
|
Eternalist General of The Syndicate
|
|
|
|
jjones666
|
 |
« Reply #9 on: November 30, 2006, 10:06:33 AM » |
|
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-
|
|
|
|
|
Logged
|
|
|
|
|
Malosar
|
 |
« Reply #10 on: November 30, 2006, 10:28:17 AM » |
|
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.
|
|
|
|
« Last Edit: December 05, 2006, 03:27:01 PM by Malosar »
|
Logged
|
Eternalist General of The Syndicate
|
|
|
|
pusikas
|
 |
« Reply #11 on: January 10, 2007, 11:46:40 AM » |
|
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.
|
|
|
|
|
Logged
|
Luuv Bot-Keeper of Vengeance ^^*
|
|
|
|
Malosar
|
 |
« Reply #12 on: January 10, 2007, 12:09:18 PM » |
|
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.
|
|
|
|
« Last Edit: January 10, 2007, 12:12:12 PM by Malosar »
|
Logged
|
Eternalist General of The Syndicate
|
|
|
shilli
Freshman
Offline
Posts: 5
|
 |
« Reply #13 on: January 10, 2007, 01:33:30 PM » |
|
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
|
|
|
|
|
Logged
|
|
|
|
|
Malosar
|
 |
« Reply #14 on: January 10, 2007, 08:20:51 PM » |
|
You just need to delete that entry from the itemdb if you want.
delete from items where lowid = 260685;
|
|
|
|
|
Logged
|
Eternalist General of The Syndicate
|
|
|
|