ArrowOutdatedMpPassiveFishingBot v1.4 : Auto-updating pointers

Posts 115 of 19 · Page 1 of 2
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)

 
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
mpPassiveFishingBotv1.4_mpgh.net.zip2 KB · 305 downloads Clean

@ @mpmoi
Approved!

As always post back results. I will adjust your previous version accordingly. Thanks again for the awesome post!
Quote Originally Posted by epsylon77650 View Post
you need to update ur bot =)
Its not the bot. The pointer still needs to be found. The current one only works in choc
Rly ? Haven't checked yet
Looks like you are right. I'll work on it later on

Updated for yesterday's patch.
restart bot and it should self update
New pointer value : 0x00AE9F04
Tested on lava and water

Please note that I will not be able to do the pointer research for the next 5 days, if there is an update i could only use pointers found on nippy's thread (or here) but can't test neither find by myself.
Nice release. You and Reppin should get Contributor title .
Quote Originally Posted by DarknzNet View Post
Nice release. You and Reppin should get Contributor title .
How does one get contributer title .
Also nice release Keep it coming.
Quote Originally Posted by N*itr*O View Post
How does one get contributer title .
Also nice release Keep it coming.

Quote Originally Posted by DarknzNet View Post
Just keep releasing stuff and be helpful then someone will add it to your profile
Just read bro
Nice job!
But got few problems with bot, sometimes it's stops on hold f, and don't threw. Got any ideas why?
I've noticed This. I will try to change the way it presses keys and it should work

- - - Updated - - -

Quote Originally Posted by DarknzNet View Post
Nice release. You and Reppin should get Contributor title .
How do we apply/get this title ?
Quote Originally Posted by mpmoi View Post
I've noticed This. I will try to change the way it presses keys and it should work

- - - Updated - - -



How do we apply/get this title ?
Just keep releasing stuff and be helpful then someone will add it to your profile.
Sweet thanks
how does trove even works with multi accounts ?
1.Start glyph
2.log in
3.start trove
4.alt tab
5.log out from glyph
6.goto step 2, repeat
Posts 115 of 19 · Page 1 of 2
This thread is closed for replies.

Similar Threads

Tags for this Thread

None

Need help?