MpPassiveFishingBot v1.2 : Now 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.
/!\ This won't work if you renamed Trove's window (Some account launchers are doing that, care)
To change the amount of time between 2 memory checks, change TIME by the amount you want (in ms)
To change different timers change there (HOLD for time it holds the button) :
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://www.virustotal.com/en/file/b...is/1465579974/
https://virusscan.jotti.org/fr-FR/fi...job/8ufm2kfax5

NOTE : Old thread can be closed
Sry minions but since it's on early release I need to correct a lot of glitches and update every time I change things in the code. Tho I've now added almost all I need so I won't update as much as before
Thanks for all the job
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.
/!\ This won't work if you renamed Trove's window (Some account launchers are doing that, care)
To change the amount of time between 2 memory checks, change TIME by the amount you want (in ms)
Code:
SetTimer, Scan, TIME
Code:
ControlSend, , {f down}, ahk_pid %pid%
Sleep, HOLD
Source code
Code:
#SingleInstance force
#Persistent
Gui, Add, Text,, Initializing and updating pointers, please wait...
Gui -Resize -MinimizeBox
Gui, Show,,mpPassiveFishingBot v1.2
SetWorkingDir %A_ScriptDir%
Pids := Object()
global _Version:=1
global _Pointer:="0x00ACE5C4"
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]
Msgbox, % "Values updated to :`nPointer : " _Pointer "`nWater offset : " _wOffset "`nLava offset : "_lOffset "`nChocolate offset : " _cOffset
}
SaveIni()
SetTimer, Scan, 1
SetTimer, Relaunch, 1
Gui Cancel
Msgbox, 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){
Sleep, 100
ControlSend, , {f down}, ahk_pid %pid%
Sleep, 90
ControlSend, , {f up}, ahk_pid %pid%
Pids.Insert(pid)
}
}
SetTimer, Scan, 2000
return
Relaunch:
sPids := Pids
Pids := Object()
Sleep, 2000
for i, p in sPids{
Sleep, 100
ControlSend, , {f down}, ahk_pid %p%
Sleep, 90
ControlSend, , {f up}, ahk_pid %p%
Sleep, 90
}
SetTimer, Relaunch, 1
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
}
SaveIni(){
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
}
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
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://www.virustotal.com/en/file/b...is/1465579974/
https://virusscan.jotti.org/fr-FR/fi...job/8ufm2kfax5
NOTE : Old thread can be closed
Sry minions but since it's on early release I need to correct a lot of glitches and update every time I change things in the code. Tho I've now added almost all I need so I won't update as much as before
Thanks for all the job