MpPassiveFishingBot v1.4 : Auto-updating pointers
Hey guys !
This is a fishing bot for Trove ! It works well and is really useful if you want to fish a lot ! It supports multiple accounts ! It's purpose is to be a light and fast bot ! No hotkeys ! No setup needed !
Requierments : AutoHotKey (last version I guess)
How it works :
Start it and press F on some water/lava/chocolate !
You can start it on as many accounts as you need !
If you want it to stop fishing just early reel the fishing rod ! (before a fish comes)
To close the bot simply close the tray icon !
Updating pointers
This version should self-update pointers, however I will have to find them before so it could take some time (less than 2-3h after a patch usually)
You can still find them by yourself or heck the forums : I guess Nippy's Fishbot pointers should work. Edit the config file in the same directory as the .ahk file. Then restart the script.
Well providing screenshots would be useless, let me know if you think about something to improve.
How you get this ?
Just grab the source code and paste it in a .ahk file and start it!
You can also download it directly. (wait for @Psychotic approval)
/!\ This won't work if you renamed Trove's window (Some account launchers are doing that, care)
Special thanks :
@reppin Who let me make a bot and use part of it's memory-reading code ! Check out his awesome fishing bot !
Disclaimer :
I will not add any bootdrop/destroy and loot-collect thing any soon ! This is a bot made for 5-min botting session when you go eating or to the toilets mid-game.
I will not be responsible of any ban you get by using this !
There are the virus scans :
https://virusscan.jotti.org/fr-FR/fi...job/qi679prj29
https://www.virustotal.com/en/file/f...is/1466298579/

NOTE : Old thread can be closed
This is a fishing bot for Trove ! It works well and is really useful if you want to fish a lot ! It supports multiple accounts ! It's purpose is to be a light and fast bot ! No hotkeys ! No setup needed !
Requierments : AutoHotKey (last version I guess)
How it works :
Start it and press F on some water/lava/chocolate !
You can start it on as many accounts as you need !
If you want it to stop fishing just early reel the fishing rod ! (before a fish comes)
To close the bot simply close the tray icon !
Updating pointers
This version should self-update pointers, however I will have to find them before so it could take some time (less than 2-3h after a patch usually)
You can still find them by yourself or heck the forums : I guess Nippy's Fishbot pointers should work. Edit the config file in the same directory as the .ahk file. Then restart the script.
Well providing screenshots would be useless, let me know if you think about something to improve.
How you get this ?
Just grab the source code and paste it in a .ahk file and start it!
You can also download it directly. (wait for @Psychotic approval)
/!\ This won't work if you renamed Trove's window (Some account launchers are doing that, care)
Source code
Code:
#SingleInstance force
#Persistent
SplashTextOn, 500,25, mpPassiveFishingBot, Initializing and updating pointers, please wait...
SetWorkingDir %A_ScriptDir%
Reeled := Object()
WaitRelauch := Object()
global _Version:=1
global _Pointer:="0x00BAB82C"
global _wOffset:="0x8+0xb4+0x28+0x22c"
global _lOffset:="0x8+0xb4+0x28+0x6e8"
global _cOffset:="0x8+0xb4+0x28+0x488"
global iniFile := A_ScriptDir . "/config.ini"
if (FileExist(iniFile)){
IniRead, _Version, %iniFile%, Global, _Version
IniRead, _Pointer, %iniFile%, Global, _Pointer
IniRead, _wOffset, %iniFile%, Global, _wOffset
IniRead, _lOffset, %iniFile%, Global, _lOffset
IniRead, _cOffset, %iniFile%, Global, _cOffset
}
url := "https://dl.*******usercontent.com/u/52517919/MpFishingBotPointer.txt"
WebRequest := ComObjCreate("WinHttp.WinHttpRequest.5.1")
WebRequest.Open("GET", url)
WebRequest.Send()
Contents := StrSplit(WebRequest.ResponseText, "$")
if (Contents[1] > _Version){
global _Version=Contents[1]
global _Pointer:=Contents[2]
global _wOffset:=Contents[3]
global _lOffset:=Contents[4]
global _cOffset:=Contents[5]
TrayTip ,mpPassiveFishingBot, % "Values updated to :`nPointer : " _Pointer "`nWater offset : " _wOffset "`nLava offset : "_lOffset "`nChocolate offset : " _cOffset
Sleep, 10
}
IniWrite, %_Version%, %iniFile%, Global, _Version
IniWrite, %_Pointer%, %iniFile%, Global, _Pointer
IniWrite, %_wOffset%, %iniFile%, Global, _wOffset
IniWrite, %_lOffset%, %iniFile%, Global, _lOffset
IniWrite, %_cOffset%, %iniFile%, Global, _cOffset
SetTimer, Scan, 999
SetTimer, Relaunch, 1999
SplashTextOff
TrayTip ,mpPassiveFishingBot, Bot started ! Press "f" on water/lava/chocolate !
return
Scan:
WinGet, l, list, Trove
Loop %l%
{
d := l%a_index%
WinGet, pid, PID, ahk_id %d%
WinGet, Handle, ID, ahk_pid %pid%
Base := getProcessBaseAddress(Handle)
wAddress := GetAddress(pid, Base, _Pointer, _wOffset)
wValue := ReadMemory(wAddress, pid)
lAddress := GetAddress(pid, Base, _Pointer, _lOffset)
lValue := ReadMemory(lAddress, pid)
cAddress := GetAddress(pid, Base, _Pointer, _cOffset)
cValue := ReadMemory(cAddress, pid)
if (cValue=1||lValue=1||wValue=1){
found := 0
for i, p in Reeled{
if (p=pid)
found := 1
}
for i, p in WaitRelauch{
if (p=pid)
found := 1
}
if (found = 0){
Sleep, 100
ControlSend, , {f down}, ahk_pid %pid%
Sleep, 90
ControlSend, , {f up}, ahk_pid %pid%
Reeled.Insert(pid)
}
}
}
return
Relaunch:
WaitRelauch := Reeled
Reeled := Object()
Sleep, 2000
for i, p in WaitRelauch{
Sleep, 100
ControlSend, , {f down}, ahk_pid %p%
Sleep, 90
ControlSend, , {f up}, ahk_pid %p%
Sleep, 90
}
return
RemoveToolTip:
SetTimer, RemoveToolTip, Off
ToolTip
return
getProcessBaseAddress(Handle){
Return DllCall( A_PtrSize = 4
? "GetWindowLong"
: "GetWindowLongPtr"
, "Ptr", Handle
, "Int", -6
, "Int64")
}
GetAddress(PID, Base, Address, Offset){
pointerBase := base + Address
y := ReadMemory(pointerBase,PID)
OffsetSplit := StrSplit(Offset, "+")
OffsetCount := OffsetSplit.MaxIndex()
Loop, %OffsetCount%{
if (a_index = OffsetCount) {
Address := (y + OffsetSplit[a_index])
}Else
if(a_index = 1) {
y := ReadMemory(y + OffsetSplit[a_index],PID)
}Else{
y := ReadMemory(y + OffsetSplit[a_index],PID)
}
}
Return Address
}
ReadMemory(MADDRESS, pid){
VarSetCapacity(MVALUE,4,0)
ProcessHandle := DllCall("OpenProcess", "Int", 24, "Char", 0, "UInt", pid, "UInt")
DllCall("ReadProcessMemory", "UInt", ProcessHandle, "Ptr", MADDRESS, "Ptr", &MVALUE, "Uint",4)
Loop 4
result += *(&MVALUE + A_Index-1) << 8*(A_Index-1)
Return, result
}
Version history
Code:
V1.0 (2670b): Initial release v1.1 (2781b): Timer correction Hard optimisation v1.2 (3659b): Now automatically updating pointers ! Few issues corrected v1.3 (3649b): Splash text Tray messages added (no longer messages box) Few optimisations v1.4 (3830b): Edited timer setup Less hurdles with bot stuck (reeling while fishing)
Special thanks :
@reppin Who let me make a bot and use part of it's memory-reading code ! Check out his awesome fishing bot !
Disclaimer :
I will not add any bootdrop/destroy and loot-collect thing any soon ! This is a bot made for 5-min botting session when you go eating or to the toilets mid-game.
I will not be responsible of any ban you get by using this !
There are the virus scans :
https://virusscan.jotti.org/fr-FR/fi...job/qi679prj29
https://www.virustotal.com/en/file/f...is/1466298579/
NOTE : Old thread can be closed


.