Since I got all the items I needed with this bot (about 10k meme frags, all boss gears and enough value packs) I decided to release the source.
It is a single file (exclusive MinHook dep.) and is fully internal.
I coded it mainly as a marketplace bot but also added some animation speedhack capabilities.
Modify the g_targets variable and add the items you want to be purchased. Go to the Heidel (important, I've hardcoded the territory key cuz lazy) Marketplace and press NUMPAD 6. You should see "Mark Market state is now `1`." in the console. It will now buy all the items possible (uses the warehouse money, also hardcoded). Take care, don't let it buy meme frags overnight as you will go bankrupt (I got about 1k meme frags per hour).
The only big thing that is not implemented is a way to check if a purchase was successful or not. I didn't want to bother with the shitty lua stuff so I decided to leave it out.
The speedhack is pretty simple, use NUMPAD 7 and NUMPAD8 to de/increase your animation speed in 0.25-steps and NUMPAD 9 to toggle the hack.
Don't forget to disable the hack (NUMPAD 9) before switching channels/characters/joining RBF or the client will crash.
I've also attached a binary version, if you don't want to compile it yourself.
Inject it with your favourite DLL injector during the Xigncode Splash.
(Or use Xenos with 750 ms delay to automatically do it for you).
Have fun.
Edit: I've also attached the whole source folder (Mark-Source.rar).
Should have all dependencies included. Open Solution with Visual Studio 2017 and hit compile.
Edit 2: Cause I was asked in Discord: Yes, you can do other stuff on your computer while using the bot. And you shouldn't hit NUMPAD 6 during that time as this will toggle the market bot even when the game is not focused (again, I'm lazy).
Interesting attempt. Calling the functions which are bound to their Lua. But why not just let them load a Lua code chunk which does the same job?
Actually I had a project before, which did exactly that.
But when I added more than 2 items to the target array the code was somehow not able to bid on every sell_info there is and felt like it was "lagging behind" the real data. Hard to explain.
I decided to ditch lua (also I'm not good in lua) and used the bindings directly.
It doesnt matter. I rather use DWORD and compile it in x64 and still working just fine in 64bit BDO, don't forget some people are still playing BDO in 32bit.
It doesnt matter. I rather use DWORD and compile it in x64 and still working just fine in 64bit BDO, don't forget some people are still playing BDO in 32bit.
Yeah true, some are.
But in x64 you def. need to use a 8 byte type, DWORD will only work when the address is 32 bits or fewer.
In that case it's a DWORD* so it's fine as it's not actually a DWORD holding the pointer.
Also stop using DWORD64/uint64_t for storing pointer, uintptr_t is here for a reason
In that case it's a DWORD* so it's fine as it's not actually a DWORD holding the pointer.
Also stop using DWORD64/uint64_t for storing pointer, uintptr_t is here for a reason
In that case it's a DWORD* so it's fine as it's not actually a DWORD holding the pointer.
Also stop using DWORD64/uint64_t for storing pointer, uintptr_t is here for a reason
@ , on the side note, what's the remaining balance you still need to pay DAUM ?
how do you find the addresses? like, how do you know which address is correspond to which function? do you have an sdk dump?
I can find the addresses im looking for with IDA, like I know what im looking for but I dont know how they correspond to the addresses if you can pm me your discord to help me that would be great.
just to prove that I know how to find the addresses,
addresses for 805 are
localplayer: 1421BA7C8
vehicle: 142BE5880
gettop: 141564F60
I know some addresses are super obvious like the dobuffer which is just getting the function address of aLua_tinkerDobu but for other addresses like guildquest (which is 14219E168 for 805) I dont know how to find that without checking the sig
how do you find the addresses? like, how do you know which address is correspond to which function? do you have an sdk dump?
I can find the addresses im looking for with IDA, like I know what im looking for but I dont know how they correspond to the addresses if you can pm me your discord to help me that would be great.
just to prove that I know how to find the addresses,
addresses for 805 are
localplayer: 1421BA7C8
vehicle: 142BE5880
gettop: 141564F60
I know some addresses are super obvious like the dobuffer which is just getting the function address of aLua_tinkerDobu but for other addresses like guildquest (which is 14219E168 for 805) I dont know how to find that without checking the sig
There are many ways to get the address of functions. Personally I just unpacked the content of the game (the PAZ files) and looked through the lua files how the scripts interact with the native code.
There are some lua functions exported by the game like "requestBuyItemForItemMarket" which you can easily find in IDA using the string section (Shift + F12, Ctrl + F to search for a string).
BDO-PSERVER incls. Ninja/Kuno OgreFest BDO 07/16/2016 - Black Desert - 5 Replies BDO Pserver
Stats idk? exp is pretty damn High...
Starter pack incl.
etc ?
im not the owner just found it and wanted to share
by the way post if the server works for u :) if not i may help yah :)