Quote:
Originally Posted by ZeroCool1987
So my question is:
How hard is to make a program for pickpet only?
Like that search function and all that "database" with all items, and the option to select at what items we want "pick with pet" exactly like in bot is.
|
The search function and "database" is not the hard part.
1. You need to build the reference object database (characterdata.txt, itemdata.txt, teleportbuilding.txt).
Why characters and teleportbuildings I only want items!!!11elven....We'll come back to that later.
2. You need a method of hijacking the game traffic. Either with an existing proxy (for example phConnector) that your application connects to or you integrate your own proxy into your application. See

.
3. You need to redirect starting clients to the proxy. This can be done by simply patching the DIVISIONINFO.TXT or using edxLoaders redirect function. But it's a better idea to write your own loader with your application that dynamically redirects to the integrated proxy of your application to support multiclients without manually entering addresses.
4. You'll need to accuratly track your surrounding objects using these packets:
- 0x3015 - single spawn
- 0x3016 - single despawn
- 0x3017 - group/range (de-)spawn begin
- 0x3018 - group/range (de-)spawn end
- 0x3019 - group/range (de-)spawn data
This is without a doubt the hardest part for beginners. The group or grange spawns contain multiple objects and they can be of all sorts (characters, Monsters, NPCs, Teleporters, Pets, Items and more). If you have a structure reading mistake in one of the objects you won't be able to read the following objects in that packet. as you're no longer reading valid data.
So you would be missing information about possible items on the floor. If you don't know an
objects (think items) "UniqueID" you won't be able to send a valid pickup request.
I have released parts of my

before but it's old, outdated and incorrect and i don't bother updating it. But it serves as a reference for what information could be in there. There are also a lot of comments in the thread pointing out mistakes and fixes, but I'm sure it's not all. It's better if you start learning how to parse packets yourself.
5. You need to parse information about your active COS from 0x30C8 - COS_DATA_INFO
6. You need to issue pickup requests with your pet using 0x70C5 - COS_ACTION_REQ with items that your application thinks are applicable for picking up.