Update trove fishing bot?

Posts 1–14 of 14 · Page 1 of 1
Update trove fishing bot?
I cant seem to work on the bot.
The bot can throw out lines automatically but could not reel it up once a fish was caught
#WinActivateForce
Numpad6::
WinGet, pidn, PID, A
pid := pidn
WinGet, hwnds, ID, A
Handle := hwnds
InputBox, Lure, Lure's, How many Lure's do you have in inventory
Base := getProcessBaseAddress()
WaterAddress := GetAddressWater(Base,0x00955f7c)
Loop %Lure%
{
ControlSend, , {f down}, ahk_pid %pid%
Sleep, 86
ControlSend, , {f up}, ahk_pid %pid%
Sleep, 2000
CaughtWater := ReadMemory(WaterAddress)
Timer := 0
While Timer = 0
{
Loop
{
If (CaughtWater = 1)
{
Break
}
if Timer = 40
{
ControlSend, , {f down}, ahk_pid %pid%
Sleep, 86
ControlSend, , {f up}, ahk_pid %pid%
Break
}
Sleep, 1000
CaughtWater := ReadMemory(WaterAddress)
Timer := Timer + 1
}
}
Timer := 0
ControlSend, , {f down}, ahk_pid %pid%
Sleep, 86
ControlSend, , {f up}, ahk_pid %pid%
Sleep, 2000
}
ExitApp

CheckFishingState(base)
{
global FishingState
pointerBase := base + 0x00955f7c
y1 := ReadMemory(pointerBase)
y2 := ReadMemory(y1 + 0x24c)
y3 := ReadMemory(y2 + 0x144)
Return FishingState := ReadMemory(y3)
}



Numpad7::
ExitApp

getProcessBaseAddress()
{
Global Handle
return DllCall( A_PtrSize = 4
? "GetWindowLong"
: "GetWindowLongPtr"
, "Ptr", Handle
, "Int", -6
, "Int64") ; Use Int64 to prevent negative overflow when AHK is 32 bit and target process is 64bit
; If DLL call fails, returned value will = 0
}

GetAddressWater(Base, Address)
{
pointerBase := base + Address
y1 := ReadMemory(pointerBase)
y2 := ReadMemory(y1 + 0x144)
y3 := ReadMemory(y2 + 0xe4)
Return WaterAddress := (y3 + 0x70)
}

ReadMemory(MADDRESS)
{
Global pid
VarSetCapacity(MVALUE,4,0)
ProcessHandle := DllCall("OpenProcess", "Int", 24, "Char", 0, "UInt", pid, "UInt")
;DllCall("ReadProcessMemory","UInt",ProcessHandle, "UInt",MADDRESS,"Str",MVALUE,"UInt",4,"UInt *",0)
DllCall("ReadProcessMemory", "UInt", ProcessHandle, "Ptr", MADDRESS, "Ptr", &MVALUE, "Uint",4)
Loop 4
result += *(&MVALUE + A_Index-1) << 8*(A_Index-1)
return, result
}
Quote Originally Posted by vashliongod View Post
#WinActivateForce
Numpad6::
WinGet, pidn, PID, A
pid := pidn
WinGet, hwnds, ID, A
Handle := hwnds
InputBox, Lure, Lure's, How many Lure's do you have in inventory
Base := getProcessBaseAddress()
WaterAddress := GetAddressWater(Base,0x00955f7c)
Loop %Lure%
{
ControlSend, , {f down}, ahk_pid %pid%
Sleep, 86
ControlSend, , {f up}, ahk_pid %pid%
Sleep, 2000
CaughtWater := ReadMemory(WaterAddress)
Timer := 0
While Timer = 0
{
Loop
{
If (CaughtWater = 1)
{
Break
}
if Timer = 40
{
ControlSend, , {f down}, ahk_pid %pid%
Sleep, 86
ControlSend, , {f up}, ahk_pid %pid%
Break
}
Sleep, 1000
CaughtWater := ReadMemory(WaterAddress)
Timer := Timer + 1
}
}
Timer := 0
ControlSend, , {f down}, ahk_pid %pid%
Sleep, 86
ControlSend, , {f up}, ahk_pid %pid%
Sleep, 2000
}
ExitApp

CheckFishingState(base)
{
global FishingState
pointerBase := base + 0x00955f7c
y1 := ReadMemory(pointerBase)
y2 := ReadMemory(y1 + 0x24c)
y3 := ReadMemory(y2 + 0x144)
Return FishingState := ReadMemory(y3)
}



Numpad7::
ExitApp

getProcessBaseAddress()
{
Global Handle
return DllCall( A_PtrSize = 4
? "GetWindowLong"
: "GetWindowLongPtr"
, "Ptr", Handle
, "Int", -6
, "Int64") ; Use Int64 to prevent negative overflow when AHK is 32 bit and target process is 64bit
; If DLL call fails, returned value will = 0
}

GetAddressWater(Base, Address)
{
pointerBase := base + Address
y1 := ReadMemory(pointerBase)
y2 := ReadMemory(y1 + 0x144)
y3 := ReadMemory(y2 + 0xe4)
Return WaterAddress := (y3 + 0x70)
}

ReadMemory(MADDRESS)
{
Global pid
VarSetCapacity(MVALUE,4,0)
ProcessHandle := DllCall("OpenProcess", "Int", 24, "Char", 0, "UInt", pid, "UInt")
;DllCall("ReadProcessMemory","UInt",ProcessHandle, "UInt",MADDRESS,"Str",MVALUE,"UInt",4,"UInt *",0)
DllCall("ReadProcessMemory", "UInt", ProcessHandle, "Ptr", MADDRESS, "Ptr", &MVALUE, "Uint",4)
Loop 4
result += *(&MVALUE + A_Index-1) << 8*(A_Index-1)
return, result
}

Every one of these AHK scripts I try, everything works BUT the script doesnt reel in when a fish is detected. Am I doing something wrong?
Quote Originally Posted by vashliongod View Post
#WinActivateForce
Numpad6::
WinGet, pidn, PID, A
pid := pidn
WinGet, hwnds, ID, A
Handle := hwnds
InputBox, Lure, Lure's, How many Lure's do you have in inventory
Base := getProcessBaseAddress()
WaterAddress := GetAddressWater(Base,0x00955f7c)
Loop %Lure%
{
ControlSend, , {f down}, ahk_pid %pid%
Sleep, 86
ControlSend, , {f up}, ahk_pid %pid%
Sleep, 2000
CaughtWater := ReadMemory(WaterAddress)
Timer := 0
While Timer = 0
{
Loop
{
If (CaughtWater = 1)
{
Break
}
if Timer = 40
{
ControlSend, , {f down}, ahk_pid %pid%
Sleep, 86
ControlSend, , {f up}, ahk_pid %pid%
Break
}
Sleep, 1000
CaughtWater := ReadMemory(WaterAddress)
Timer := Timer + 1
}
}
Timer := 0
ControlSend, , {f down}, ahk_pid %pid%
Sleep, 86
ControlSend, , {f up}, ahk_pid %pid%
Sleep, 2000
}
ExitApp

CheckFishingState(base)
{
global FishingState
pointerBase := base + 0x00955f7c
y1 := ReadMemory(pointerBase)
y2 := ReadMemory(y1 + 0x24c)
y3 := ReadMemory(y2 + 0x144)
Return FishingState := ReadMemory(y3)
}



Numpad7::
ExitApp

getProcessBaseAddress()
{
Global Handle
return DllCall( A_PtrSize = 4
? "GetWindowLong"
: "GetWindowLongPtr"
, "Ptr", Handle
, "Int", -6
, "Int64") ; Use Int64 to prevent negative overflow when AHK is 32 bit and target process is 64bit
; If DLL call fails, returned value will = 0
}

GetAddressWater(Base, Address)
{
pointerBase := base + Address
y1 := ReadMemory(pointerBase)
y2 := ReadMemory(y1 + 0x144)
y3 := ReadMemory(y2 + 0xe4)
Return WaterAddress := (y3 + 0x70)
}

ReadMemory(MADDRESS)
{
Global pid
VarSetCapacity(MVALUE,4,0)
ProcessHandle := DllCall("OpenProcess", "Int", 24, "Char", 0, "UInt", pid, "UInt")
;DllCall("ReadProcessMemory","UInt",ProcessHandle, "UInt",MADDRESS,"Str",MVALUE,"UInt",4,"UInt *",0)
DllCall("ReadProcessMemory", "UInt", ProcessHandle, "Ptr", MADDRESS, "Ptr", &MVALUE, "Uint",4)
Loop 4
result += *(&MVALUE + A_Index-1) << 8*(A_Index-1)
return, result
}
Why doesn't this work?
The bot doesn't pickup the fish when it's getting detected?
Am i doing something wrong?
Quote Originally Posted by Feardex View Post
How to start the bot?
To start the bot, go into Trove while looking at water. Hit 6 on your numpad and it should minimize your game and bring up a window asking how many lures you have, put the number of lures you have and click ok and it starts.
Quote Originally Posted by thecrazygameguy View Post
To start the bot, go into Trove while looking at water. Hit 6 on your numpad and it should minimize your game and bring up a window asking how many lures you have, put the number of lures you have and click ok and it starts.
It doesn't work, it throws the lure, but doesn't pickup when the fish is getting detected



*UPDATE*
It works, when you don't move your mouse

THANKS!!
Quote Originally Posted by vashliongod View Post
make sure your ahk is updated
You do know there was an update today right?
i also know that the ahk code im running at this current moment is working perfectly...
wow just noticed I havent updated my ahk for like 3 years, everything works 100% now. TYVM!
Quote Originally Posted by vashliongod View Post
your welcome.
Thank you for this also. Been looking everywhere for a working one. Much appreciated. is it just the water memory address that changes every patch? If so how can i get those addresses that change every patch? cheat engine im sure but not sure how?
The script works perfect, however, only in water.

Anyone got one that works in lava? Or could anyone edit this one to make it work in lava?
Would be appreciated.
Is there any update for today? it patched again and it wont work D:
Posts 1–14 of 14 · Page 1 of 1

Post a Reply

Similar Threads

Tags for this Thread

None

Need help?