ForumTrader Project Announcement and Introduction Time to reveal what I've been working on lately, and while it's not something even close to ATMA, it should prove useful to many a player out there. Project Codename: ForumTrader Goal: To be able to quickly create "post ready" trade lists. Status: While my signature may show 80%, the program as such is nearly finished to the point that it can be used. Left are some minor functions and the creation of item databases. OS tested: Windows XP So how does it work? The program can be split into tree parts. Firstly we have tab1, that lets users select an item from a database and edit its variable stats. Once you've finished an "add cycle", the item you've specified the stats of is sent to tab2, an excel-like item list. When you've added the items you wish to trade away to tab2, it's time to print something forum friendly. Tab3 lets you do just this. More detailed? [Tab1] When this tab is up you can toggle a global keyboard hook on and of* with the F12 button. This means that even if you should be playing diablo 2 in a window right next to ForumTrader, you can press F12 and have all following keystrokes sent into ForumTrader instead of D2. This allows you to move the mouse from item to item within Diablo and using your keyboard to input item data into ForumTrader. F1-F7 = Toggles between the option buttons in the category frame. F12 = Toggle the Enabled checkbox in the program frame*. A-Z = Entering this will make the program search its database, in the category you've specified, for items starting with the letters you type. 0-9 = Once you've entered a letter for the program it will list 36 items for your to pick, 0-9 is used to select one of the items. F9-F11 = Toggles the special item tags. Then once an item has been selected the program fetches all variable mods it can have and lets you specify them one by one by typing: number[enter]number[enter]number[enter] Once all stats are specified your item will be sent to tab2. *: The hook is actually in place during the entire time the program is running, otherwise it couldn't detect you pressing F12 when you're focused on another application. When unactive it will just see if you press F12 and block F12 keystrokes from being sent to other applications, and if you do press F12 so it will activate the program to listen to all the keyboard keys and block them from being sent to other applications, until you press F12 again. [Tab2] Tab2 will contain a alphabetically desending list of the items you've entered. Save Button: Saves your current list into a txt file in the program directory. Load Button: Loads a saved list into your excel-like list. In the File Name textbox you can obviously edit the filename of the file you'll load/save from/to. You can select a cell in the list and press backspace and a-z and 0-9 to edit its content starting from the back of the cell. Pressing delete while having a cell selected will delete that row. [Tab3] Tab3 lets you print your tab2-list into something readable for forums, two pretty similar options: Alphabetical simply prints a list of your items in that order, the Category optionbutton will sort the items into [Category] sections. Example of Alpabetical output, only using basic items (only database that is complete atm): Code: -------------------------------------------------- ForumTrader Printout // Alphabetical // 2008-06-19 -------------------------------------------------- Balrog Skin [Eth] (Defense: 510,Sockets: 3) Ballista (Sockets: 4) Hydra Bow [Eth] (Sockets: 6) Long Bow (Sockets: 3) Lance [Eth] (Sockets: 5) Monarch (Defense: 133,Sockets: 4) Naga (Sockets: 2) Ornate Plate [Eth] (Defense: 417,Sockets: 4) Pavise (Defense: 78,Sockets: 2) Wand (Sockets: 1) Yari [Unid] (Sockets: 2) Example of Categorized output: Code: ------------------------------------------------ ForumTrader Printout // Categorized // 2008-06-19 ------------------------------------------------ [BaseDB] Balrog Skin [Eth] (Defense: 510,Sockets: 3) Ballista (Sockets: 4) Hydra Bow [Eth] (Sockets: 6) Long Bow (Sockets: 3) Lance [Eth] (Sockets: 5) Monarch (Defense: 133,Sockets: 4) Naga (Sockets: 2) Ornate Plate [Eth] (Defense: 417,Sockets: 4) Pavise (Defense: 78,Sockets: 2) Wand (Sockets: 1) Yari [Unid] (Sockets: 2) [MagicDB] [RareDB] [SetDB] [UniqueDB] (bit booring with only items from BaseDB added ...) What's the catch? The program needs some database work, the databases should be in the following format: ItemName,mod1name,mod1intervall,mod2name,mod2intervall such as: Monarch ,Defense,133-148,Sockets,0-4 Into txt files that look like: Aegis ,Defense,145-161,Sockets,0-4 Aerin Shield ,Defense,26-36,Sockets,0-4 Akaran Rondache ,Defense,113-137,Sockets,0-4 Akaran Targe ,Defense,101-125,Sockets,0-4 Alpha Helm ,Defense,52-62,Sockets,0-3 Ancient Armor ,Defense,218-233,Sockets,0-4 Ancient Axe ,Sockets,0-6 Ancient Shield ,Defense,80-93,Sockets,0-3 Ancient Sword ,Sockets,0-3 Antlers ,Defense,18-24,Sockets,0-3 Arbalest ,Sockets,0-3 Archon Plate ,Defense,410-524,Sockets,0-4 Archon Staff ,Sockets,0-6 Armet ,Defense,105-149,Sockets,0-2 And so on The program supports a maximum of 17 different variable mods per item entered this way. The base item database is complete as it is, but a unique database and a set database would be needed, additional to that I figured a misc database of gems and runes etc would be good. Rare/magic/crafted items could be entered in the same maner to a sertain extent, but most likely picture info would be better. If you studied Tab1 in detail you'll have noticed the screeny option thingy. I've yet to implement it but was thinking of letting the program copy the clipboard and saving only a area close to the mouse in a .jpg to lessen the need for users to edit game screenshots for item stat pictures ... well more on that once I get to it ... if I'm able to ... If anyone wishes to help me make these databases please to tell :wink: Some more screenys (must unable keyhook during prt scr, since it blocks that key to, but think of that checkbox as marked ^^): Start of add, pressed: F12 m o Selected item, pressed: 0 0 entering stats, pressed: 148 enter 4 Finishing add phase: enter That's all for adding a monarch with fully defined defense and sockets, 11 keystrokes total. This is how it looks in tab2: Tab2 view If I print just that item (press tab3 and print button) I get this list: List printed Hope you've enjoyed the read, I've left out some details of course, but hope to get a demo video of it in action before any Beta release is made. This application does not have any contact with or alter the d2 game code in any way, the only non "program local" function is the global keyhook, and that's a windows thing, it'll hook the keyboard from whatever application you have in focus, be it firefox or explorer. Discussion, comments and criticism welcome.