[Free Source] BDO Market Bot/Animation Speedhack

01/28/2019 04:02 ruikangzhu1990#166
Quote:
Originally Posted by MadMan3 View Post
Thanks for your help.
I'm glad you came by to give us this relevant reply.

The world need more people like you.
I could give you the direct answer but then you are not learning
01/28/2019 04:12 MadMan3#167
Quote:
Originally Posted by ruikangzhu1990 View Post
I could give you the direct answer but then you are not learning
I want to learn, I don't want direct answer!
But I don't even know what I'm doing wrong.
Can you tell me at least what I'm doing wrong?
01/28/2019 04:42 ruikangzhu1990#168
Quote:
Originally Posted by MadMan3 View Post
I want to learn, I don't want direct answer!
But I don't even know what I'm doing wrong.
Can you tell me at least what I'm doing wrong?
its hooking gettop not local player, localplayer is for animation speed which is outdated anyway.
01/28/2019 19:24 calipso888#169
Don't pay too much attention to this account ruikangzhu1990, is just another clown harambe all over the topics here. PM the thread creator and might have some valid info at least
01/28/2019 21:02 ruikangzhu1990#170
Quote:
Originally Posted by calipso888 View Post
Don't pay too much attention to this account ruikangzhu1990, is just another clown harambe all over the topics here. PM the thread creator and might have some valid info at least
not sure if you are brain dead or just can't read in general but I gave him the answer already lmao
01/28/2019 21:36 calipso888#171
Quote:
Originally Posted by ruikangzhu1990 View Post
I could give you the direct answer but then you are not learning
Quote:
Originally Posted by ruikangzhu1990 View Post
if you actually read the code you would know whats wrong with it
Quote:
Originally Posted by ruikangzhu1990 View Post
its hooking gettop not local player, localplayer is for animation speed which is outdated anyway.

Quote:
Originally Posted by ruikangzhu1990 View Post
not sure if you are brain dead or just can't read in general but I gave him the answer already lmao
If that is an answare for you, I believe you are a troll out of finesse. Get some style, would ya :heh:
01/28/2019 21:48 ruikangzhu1990#172
Quote:
Originally Posted by calipso888 View Post
If that is an answare for you, I believe you are a troll out of finesse. Get some style, would ya :heh:
its hooking gettop not local player, localplayer is for animation speed which is outdated anyway.

what are you blind? that line was exactly what he was looking for and why it was crashing, not that I expecting beggers like you to understand
01/29/2019 02:51 MadMan3#173
Ahh, so when I hook with the ATA_LUA_GETTOP

Code:
::MH_CreateHook(((void*) ATA_LUA_GETTOP), &hf_lua_gettop, reinterpret_cast<void**>(&g_fp_lua_gettop))
I define 3 parameters:
pTarget [in] A pointer to the target function, which will be overridden by the detour function. In our case with ATA_LUA_GETTOP, we were overridden every call to a lua function by casting the address into a (void*)
Code:
(void*) ATA_LUA_GETTOP
pDetour[in] A pointer to the detour function, which will override the target function. In our case, we give the address of our function:
Code:
&hf_lua_gettop
Question about that though. How do I know that the call I override takes 1 argument?
Code:
uint64_t __fastcall hf_lua_gettop(void* lua_state)
ppOriginal [out] A pointer to the trampoline function, which will be used to call the original target function. This is stored in
Code:
static ft_lua_gettop g_fp_lua_gettop = nullptr;
and we call it at the end of our function by giving it the argument it was supposed to receive.
Code:
return g_fp_lua_gettop(lua_state);
So I actualy need to do the same thing but for the ADA_LOCAL_PLAYER.
I just need to figure out how many argument the call that I inject is receiving, if that make sense.



Regarding animation speed being outdated.
Quote:
localplayer is for animation speed which is outdated anyway.
I presume you talk about the offsets to find :
character_control_address
character_scene_address
and animation speed address

Hmm, at that point maybe I would have to code something to read memory and display their values, and see which one is changing accordingly to what I'm doing in BDO. In the end, all I want is the offset of the animation speed from the local_player_address.
01/29/2019 02:55 ruikangzhu1990#174
Quote:
Originally Posted by MadMan3 View Post
Ahh, so when I hook with the ATA_LUA_GETTOP

Code:
::MH_CreateHook(((void*) ATA_LUA_GETTOP), &hf_lua_gettop, reinterpret_cast<void**>(&g_fp_lua_gettop))
I define 3 parameters:
pTarget [in] A pointer to the target function, which will be overridden by the detour function. In our case with ATA_LUA_GETTOP, we were overridden every call to a lua function by casting the address into a (void*)
Code:
(void*) ATA_LUA_GETTOP
pDetour[in] A pointer to the detour function, which will override the target function. In our case, we give the address of our function:
Code:
&hf_lua_gettop
Question about that though. How do I know that the call I override takes 1 argument?
Code:
uint64_t __fastcall hf_lua_gettop(void* lua_state)
ppOriginal [out] A pointer to the trampoline function, which will be used to call the original target function. This is stored in
Code:
static ft_lua_gettop g_fp_lua_gettop = nullptr;
and we call it at the end of our function by giving it the argument it was supposed to receive.
Code:
return g_fp_lua_gettop(lua_state);
So I actualy need to do the same thing but for the ADA_LOCAL_PLAYER.
I just need to figure out how many argument the call that I inject is receiving, if that make sense.
you dont need to know what the parameters for gettop are since its already given, all you have to do is update the addresses and the offsets.

I dont remember exactly what the original code does since its been a while but you can take out local player if you dont need to change the animation.

if you dont know how to reverse the game then you can simply use the lua version which might be detected that does the same thing as this and is much easier to update compares to this, you only have to change 1 thing and I will leave it to you to figure out what that is
01/29/2019 04:40 toriko0#175
so many smart people playing BDO i guess i wish we have this stuff in FFXIV :)
01/29/2019 04:52 MadMan3#176
Quote:
I dont remember exactly what the original code does since its been a while but you can take out local player if you dont need to change the animation.
I actually removed everything for market, I'm trying to change the animation speed only :/
01/31/2019 07:56 Ustonovic#177
Quote:
Originally Posted by MadMan3 View Post
I actually removed everything for market, I'm trying to change the animation speed only :/
Don't use my code for animation speedhack, it'll prob. get you banned.
02/10/2019 20:32 Black_and_White#178
Good evening, first off: thanks a lot for providing the code! Much appreciated.

So far I managed to create dump -> find gettop adress -> compile and inject dll -> crash game. Sadly the decompiled lua files provided by r3p are no longer available. unpacking the paz files was no issue but as of now I am unable to decompile the luac files. Any help is appreciated.
02/10/2019 23:52 Ustonovic#179
Quote:
Originally Posted by Black_and_White View Post
Good evening, first off: thanks a lot for providing the code! Much appreciated.

So far I managed to create dump -> find gettop adress -> compile and inject dll -> crash game. Sadly the decompiled lua files provided by r3p are no longer available. unpacking the paz files was no issue but as of now I am unable to decompile the luac files. Any help is appreciated.
You don't need any lua files to make this code work.
02/11/2019 01:00 Black_and_White#180
Maybe you can help me find what I do need. Giving one specific example:

[Only registered and activated users can see links. Click Here To Register...]

As you mentioned in a earlier post function names are often provided in text.
I assume the string is the name and the sub_... next to it is the call to the function. "requestItemMarketSellInfo" seems to be not so simple. I am kind of lost to be honest. What should I look for? Fitting arguments maybe? Since idk what the function itself looks like apart from the name and arguments.

Sorry if I appear a bit rude ^^ I spent the weekend digging into this topic.