Read all other topics here,
Learn how to program C++ preferably
Quote:

C++ Compiler
I highly recommend Visual C++ Professional.

Basic C++ videos:

Basic C++ tutorials

C++ Video Lessons (Stanford University):

basics c++ (detailed)
|
I suggest visual studio 2008 Professional if you can get it. Microsoft also provides a free version of it ive had too many issues with 2010.
Learn how to use Cheat Engine 6.1 is out its very good

Identify the Item on ground structure
Search for 0 when theres no items drop item search for 1 pick it up search for 0 repeat till you find one that when you set it to 0 makes the item you just picked up appear on ground again. Don't pick up the item tho it will disconnect you for trying to dupe

That is the item structure location.
Drop 1 item view it in memory view Drop a second item and look for the 01 that changes and the rest of the data
Pick up 2nd item observe 01 changing to 00 drop item and see the 00 change to 01 thats the Next item data.
Work out the size between start of first one from the unsigned int Exists; its the 01 00 00 00

to the second one just before its 01 00 00 00 part. That is the size of the structure.
The structure contains ID ID2 ItemID Amount Contribution Enchant X Z Y Owner Name etc.
Next importantly you need to find the Item Information struct location, you will need to work out the pointer since its different each time the game loads. if you know ollydbg you can even find the loading function quite easily by renaming the items img in the G2DImage directory \ 005 \ US \ 003 i think it was. the game would produce an error message and you can observe location that called it scroll up and theres a CALL and a JNZ go into call and you can see file name, look down more and theres a call to load the file

Right before the first call above the JNZ of messagebox showing there is MOV ecx, Some Address This address is a Static location which the file info will get stored at. This games resource loader will load if the files been loaded how big it was and where its data has been allocated. If you view that location in hex you can find a pointer to the data. if you search for the first item you can like Healing Pill then scroll up you will see Silver thats the first item -4 from its name to get ID thats start of structure look at address it matchs one in the File Info struct at the ECX address. You can read that using code from C++ DLL to get the ItemInfo location. Next work out item info struct I belive I posted some of it a while ago the most important things you want are Type of item, name, id and rarness maybe sell price. You can figure those out all easy with cheat engine by modifying the ones for the small hp pill and moving mouse over item.
Next find the item pickup game function and work out its paramaters.
Make a thread in your dll to loop through items on ground and call this function when it detects an item you want to pick up. A better way to do this is to sniff the packets for items being dropped meaning you have to work out the packets for item drops. Then you can just wait a little bit and if you can pick up the item. you will need to be near enough to pick it up.
Autopill is kinda a thing of the past theres Instant Recovery found out by Seth I belive? correct me if im wrong :P i also saw it ages back whilst playing with npc menus but never actually clicked it lol... :P
Just use standard auto pill with instant recovery or work out item dragging game function and make it open inventory and drag pills for you where they need to go. Or just use mouse simulation many ways to code.
You can see my TSX Client topic for an example on how to make a dll you will also need a detouring libary I would suggest CDetours 2.0 or maybe DetoursSX or make your own

.
Oh and you will need a DLL Injector make your own or download one or use cheat engines inject dll capabilitys in memory viewer under tools its Ctrl+I or use process hackers dll injection stuff. :P
Good luck have fun