ArrowMpFollowingBots v1.2 : Multi-account Bots (multiboxing-like)

Posts 115 of 62 · Page 1 of 5
MpFollowingBots v1.2 : Multi-account Bots (multiboxing-like)
Hey guys !

This is a small script that will make several account follow you !
Requierments : AutoHotKey (last version I guess)

How it works :
Download the attachment. If not yet approved, just grab the source code and paste it in a .ahk file and start it or wait for @Psychotic @Bryan approval.
Start it (Tutorial here : http://www.mpgh.net/forum/showthread.php?t=1150041)
First press the config button !
You can also set your own hotkeys here !
-Main hotkey : The hotkey to start/pause the boths
-Fight hotkey : Toogle fight mode ON/Offsets
-Loot hotkey : Toogle loot-picking on ot off
You can also change the radius you want them to stay in (in block) in fight mode or in travelling mode
You'd better let the refresh rate between 50 and 500 ms (Smaller period means bots will be more accurate but this will make you lag more)
Then press "Game keys" button and configue your in-game keys here !
Bot should now be configured !
Now start all your accounts and make them all face SOUTH (use the compass at the top of your screen)
Go on your main account (the one that the other accounts will follow) and press your MAIN hotkey : Every other account will follow this one !
They will automatically collect loot if you active collect mode with the LOOT hotkey.
If you want them to throw spells, press the FIGHT hotkey to trigger FIGHT MODE. Once you're done with fighting, press again the FIGHT hotkey, and the boths will mount and follow again.
You can start it on as many accounts as you need !
Press the MAIN hotkey again to change main account or Pause the bots.

Pro tips :
If you stand next to a portal, at 1 block at the North of it (so the bots are facing the portals) the boths will take it !
Bots are more likely to get stuck if they fall, be carefull while roaming around.
This is really efficient on flat areas or to mine in caves. However it might be harder to farm dungeons.

 
Screenshot


Updating pointers :
This version should self-update pointers, however I will have to find them before so it could take some time
You can still find them by yourself. No tutorials for now


Not working ?
-After an update :
Check the last comments to see if there's any new pointer.
If not, post here and wait for someone to post it or me to update it
-Script not starting :
Describe your issue here in comment
-Other :
Press the 'info' button on the GUI, then press "Copy Debug Data" and paste it here. It should look like this :
 
Debug
Code:
Version = 1.2
Pointer = 0x00CC5338
X Offsets = 0x0+0x28+0x9C+0x5C+0x94
Y Offsets = 0x0+0x28+0x9C+0x5C+0x98
Z Offsets = 0x0+0x28+0x9C+0x5C+0x9C
Keys :
Forward = z
Backward = s
Left = q
Right = d
Spell 1 = &
Spell 2 = é
Mount = w
Boat = g
Loot = e
Jump = Space
Client1:
PID = 9764
Handle = 0x130430
Base = 18481152
X Address = 551281796
Y Address = 551281800
Z Address = 551281804
Mount Address = 551453852

Then wait for an answer


/!\ Going in water and activating boat will activate boat for bots, however they might not handle it well :/

 
Source code
Code:
#SingleInstance force
#IfWinActive,Trove
#NoEnv
#Persistent
SendMode Input
SetWorkingDir %A_ScriptDir%
SetBatchLines -1

if NOT A_IsAdmin{
	Run *RunAs "%A_ScriptFullPath%"
	ExitApp
}

Process,Exist,TeamViewer.exe
  If (ErrorLevel)
    Msgbox,% "Teamviewer is currenly running. This is a known program to cause issues with the fishbot. Please close it or disable quick connect feature. If issues still happen try to uninstall it."

SplashTextOn,500,25,mpFollowingBots,Initializing and updating pointer and offsets, please wait...

global ver:=1.2
global dataVer:=0
global ptr:="0x0"
global xOfts:="0x0"
global yOfts:="0x0"
global zOfts:="0x0"
global mtOfts:="0x0"
global mainHK:="Numpad0"
global fghtHK:="Numpad1"
global lootHK:="Numpad2"
global fKey:="w"
global bKey:="s"
global lKey:="a"
global rKey:="d"
global spl1Key:=""
global spl2Key:=""
global mtKey:="z"
global btKey:="g"
global lootKey:="e"
global jumpKey:="Space"
global newFKey:=fKey
global newBKey:=bKey
global newRKey:=rKey
global newLKey:=lKey
global newSpl1Key:=spl1Key
global newSpl2Key:=spl2Key
global newMtKey:=mtKey
global newBtKey:=btKey
global newLootKey:=lootKey
global newJumpKey:=jumpKey

global isFght:=false
global isLoot:=false
global trvRng:=1
global fghtRng:=5
global updRate:=199

global mainX:=0
global mainY:=0
global mainZ:=0
global mainMt:=0
global mainPid:=-1

global iniFile:=A_ScriptDir "/config"ver ".ini"

If (FileExist(iniFile)){
	IniRead,dataVer,%iniFile%,Global,dataVer
	IniRead,ptr,%iniFile%,Global,ptr
	IniRead,xOfts,%iniFile%,Global,xOfts
	IniRead,yOfts,%iniFile%,Global,yOfts
	IniRead,zOfts,%iniFile%,Global,zOfts
	IniRead,zOfts,%iniFile%,Global,zOfts
	IniRead,mtOfts,%iniFile%,Global,mtOfts
	IniRead,trvRng,%iniFile%,Global,trvRng
	IniRead,fghtRng,%iniFile%,Global,fghtRng
	IniRead,updRate,%iniFile%,Global,updRate
	IniRead,mainHK,%iniFile%,Hotkeys,mainHK,%A_Space%
	IniRead,fghtHK,%iniFile%,Hotkeys,fghtHK,%A_Space%
	IniRead,lootHK,%iniFile%,Hotkeys,lootHK,%A_Space%
	IniRead,fKey,%iniFile%,GameKeys,fKey,%A_Space%
	IniRead,bKey,%iniFile%,GameKeys,bKey,%A_Space%
	IniRead,rKey,%iniFile%,GameKeys,rKey,%A_Space%
	IniRead,lKey,%iniFile%,GameKeys,lKey,%A_Space%
	IniRead,spl1Key,%iniFile%,GameKeys,spl1Key,%A_Space%
	IniRead,spl2Key,%iniFile%,GameKeys,spl2Key,%A_Space%
	IniRead,mtKey,%iniFile%,GameKeys,mtKey,%A_Space%
	IniRead,btKey,%iniFile%,GameKeys,btKey,%A_Space%
	IniRead,lootKey,%iniFile%,GameKeys,lootKey,%A_Space%
	IniRead,jumpKey,%iniFile%,GameKeys,jumpKey,%A_Space%
}ELSE
	SaveCgf()

WebRequest:=ComObjCreate("WinHttp.WinHttpRequest.5.1")
WebRequest.Open("GET","https://dl.dropb"+"oxusercontent.com/u/52517919/MpFollowingPointer.txt")
WebRequest.Send()

global res:=StrSplit(WebRequest.ResponseText,"$")

if (res[1]>dataVer){
	global dataVer:=res[1]
	global ptr:=res[2]
	global xOfts:=res[3]
	global yOfts:=res[4]
	global zOfts:=res[5]
	global mtOfts:=res[6]
	IniWrite,%dataVer%,%iniFile%,Global,dataVer
	IniWrite,%ptr%,%iniFile%,Global,ptr
	IniWrite,%xOfts%,%iniFile%,Global,xOfts
	IniWrite,%yOfts%,%iniFile%,Global,yOfts
	IniWrite,%zOfts%,%iniFile%,Global,zOfts
	IniWrite,%mtOfts%,%iniFile%,Global,mtOfts
	TrayTip,mpFollowingBots,% "Values updated to :`nPointer : "ptr "`nX offsets : "xOfts "`nY offsets : "yOfts "`nZ offsets : "zOfts "`nMount offsets"mtOfts
}

Gui 1:-Resize -MinimizeBox
Gui,1:Add,ListView,-Hdr Checked grid -ReadOnly -LV0x10 x0 y0 h100 w400,| | | | | |
Gui,1:Add,Button,x0 y100 h20 w200 gConfig,&Config
Gui,1:Add,Button,x200 y100 h20 w200 gInfo,&Info

Gui 2:-Resize -MinimizeBox
Gui,2:Add,Text,x0 y0,Hotkeys :
Gui,2:Add,Text,x0 y25,Main hotkey :
Gui,2:Add,Hotkey,x100 y25 gAssignMain vnewMainHK,%mainHK%
Gui,2:Add,Text,x0 y50,Fight hotkey :
Gui,2:Add,Hotkey,x100 y50 gAssignFight vnewFghtHK,%fghtHK%
Gui,2:Add,Text,x0 y75,Auto loot hotkey :
Gui,2:Add,Hotkey,x100 y75 gAssignLoot vnewLootHK,%lootHK%
Gui,2:Add,Button,x0 y100 h20 w225 gKeys,&Game keys
Gui,2:Add,Text,x0 y150,Others :
Gui,2:Add,Text,x0 y175,Travelling range :
Gui,2:Add,Text,x90 y175,0
Gui,2:Add,Slider,x100 y175 w100 Range0-10 ToolTip vnewTraRng gTraRange,%trvRng%
Gui,2:Add,Text,x200 y175,10
Gui,2:Add,Text,x0 y200,Fighting range :
Gui,2:Add,Text,x90 y200,0
Gui,2:Add,Slider,x100 y200 w100 Range0-10 ToolTip vnewFghtRng gFghtRange,%fghtRng%
Gui,2:Add,Text,x200 y200,10
Gui,2:Add,Text,x0 y225,Update rate (ms) :
Gui,2:Add,Edit,x100 y225 vctrlUpdRate gctrlUpdRateAssign,%updRate%

Gui 3:-Resize -MinimizeBox +ToolWindow
Gui,3:Add,Text,,% "Current version : "ver "`nPointer : "ptr "`nX offsets : "xOfts "`nY offsets : "yOfts "`nZ offsets : "zOfts "`nMount offsets : "mtOfts
Gui,3:Add,Button,gDebug ,&Copy Debug Data

Gui 4:-Resize -MinimizeBox
Gui,4:Add,Text,x0 y0,Game keys :
Gui,4:Add,Text,x0 y25,Forward :
Gui,4:Add,Hotkey,x100 y25 gSaveKeys vnewFKey,%fKey%
Gui,4:Add,Text,x0 y50,Backward :
Gui,4:Add,Hotkey,x100 y50 gSaveKeys vnewBKey,%bKey%
Gui,4:Add,Text,x0 y75,Left :
Gui,4:Add,Hotkey,x100 y75 gSaveKeys vnewLKey,%lKey%
Gui,4:Add,Text,x0 y100,Right :
Gui,4:Add,Hotkey,x100 y100 gSaveKeys vnewRKey,%rKey%
Gui,4:Add,Text,x0 y125,Spell 1 :
Gui,4:Add,Hotkey,x100 y125 gSaveKeys vnewSpl1Key,%spl1Key%
Gui,4:Add,Text,x0 y150,Spell 2 :
Gui,4:Add,Hotkey,x100 y150 gSaveKeys vnewSpl2Key,%spl2Key%
Gui,4:Add,Text,x0 y175,Mount :
Gui,4:Add,Hotkey,x100 y175 gSaveKeys vnewMtKey,%mtKey%
Gui,4:Add,Text,x0 y200,Boat :
Gui,4:Add,Hotkey,x100 y200 gSaveKeys vnewBtKey,%btKey%
Gui,4:Add,Text,x0 y225,Loot :
Gui,4:Add,Hotkey,x100 y225 gSaveKeys vnewLootKey,%lootKey%
Gui,4:Add,Text,x0 y250,Jump :
Gui,4:Add,Hotkey,x100 y250 gSaveKeys vnewJumpKey,%jumpKey%

Hotkey,%mainHK%,Main,On
Hotkey,%fghtHK%,Fight,On
Hotkey,%lootHK%,Loot,On

SplashTextOff

if (res[7]>ver){
	MsgBox,4,,New version available,go to MPGH topic ? (press Yes or No)
	IfMsgBox Yes
		Run % "http://www.mpgh.net/forum/showthread.php?t="res[8]
}

Gui,1:Show,h120 w400,mpFollowingBots

SetTimer,UpdateGui,999

TrayTip,mpFollowingBots, % "Bot started !`nPress "mainHK " to select your main account !`nEnsure others are facing SOUTH !"
return

Main:
	WinGet,pid,pid,A
	IF (mainPid<>pid){
		global mainPid:=pid
		TrayTip,mpFollowingBots,% "New main account set : "mainPid
		SetTimer,Move,%updRate%
	}ELSE{
		global mainPid:=-1
		TrayTip,mpFollowingBots,Bot Paused
		SetTimer,Move,Off
		SetTimer,Looting,Off
		SetTimer,Fighting,Off
		global isFght:=false
		global isLoot:=false
		Sleep,999
		WinGet,l,list,ahk_exe Trove.exe
		Loop %l%
			ControlSend,,% "{"fKey " up}{"bKey " up}{"rKey " up}{"lKey " up}{",% "ahk_id "l%a_index%
	}
	return

Fight:
	global isFght:=!isFght
	IF (isFght){
		SetTimer,Fighting,999
		TrayTip,mpFollowingBots,Fight Mode
	}
	ELSE{
		SetTimer,Fighting,Off
		TrayTip,mpFollowingBots,Travelling Mode
	}
	return

Loot:
	global isLoot:=!isLoot
	IF (isLoot){
		SetTimer,Looting,999
		TrayTip,mpFollowingBots,Auto loot On
	}
	ELSE{
		SetTimer,Looting,Off
		TrayTip,mpFollowingBots,Auto loot Off
		WinGet,l,list,ahk_exe Trove.exe
		Loop %l%{
			WinGet,pid,pid,% "ahk_id "l%a_index%
			IF (pid!=mainPid)
				ControlSend,,% "{"lootKey " up}",ahk_pid %pid%
		}
	}
	return
	
Move:
	WinGet,l,list,ahk_exe Trove.exe
	Loop %l%{
		WinGet,pid,pid,% "ahk_id "l%a_index%
		base:=getProcessBaseAddress(l%a_index%)
		X:=ReadMemory(GetAddress(pid,BaseAddress,ptr,xOfts),pid)
		Y:=ReadMemory(GetAddress(pid,BaseAddress,ptr,yOfts),pid)
		Z:=ReadMemory(GetAddress(pid,BaseAddress,ptr,zOfts),pid)
		Mt:=ReadMemory(GetAddress(pid,BaseAddress,ptr,mtOfts),pid)
		IF (4294967295-X<X)
			X:=X-4294967295
		IF (4294967295-Y<Y)
			Y:=Y-4294967295
		IF (4294967295-Z<Z)
			Z:=Z-4294967295
		IF (pid == mainPid){
			global mainX:=X
			global mainY:=Y
			global mainZ:=Z
			global mainMt:=Mt
		}ELSE{
			dX:=mainX-X
			dY:=mainY-Y
			dZ:=mainZ-Z
			IF (Mt!=mainMt&&!isFght){
				IF (mainMt = 1&&Mt!=1)
					ControlSend,,%mtKey%,ahk_pid %pid%
				ELSE IF (mainMt = 3&&Mt!=3)
					ControlSend,,%btKey%,ahk_pid %pid%
			}
			IF ((dX>trvRng&&!isFght)||(dX>fghtRng&&isFght))
				ControlSend,,% "{"rKey " up}{"lKey " down}",ahk_pid %pid%
			ELSE IF ((dX<-trvRng&&!isFght)||(dX<-fghtRng&&isFght))
				ControlSend,,% "{"lKey " up}{"rKey " down}",ahk_pid %pid%
			ELSE
				ControlSend,,% "{"rKey " up}{"lKey "up}",ahk_pid %pid%
			IF ((dZ>trvRng&&!isFght)||(dZ>fghtRng&&isFght))
				ControlSend,,% "{"bKey " up}{"fKey " down}",ahk_pid %pid%
			ELSE IF ((dZ<-trvRng&&!isFght)||(dZ<-fghtRng&&isFght))
				ControlSend,,% "{"fKey " up}{"bKey " down}",ahk_pid %pid%
			ELSE
				ControlSend,,% "{"fKey " up}{"bKey "up}",ahk_pid %pid%
			IF (dY>1)
				ControlSend,,{Space},ahk_pid %pid%
			IF (((dX>trvRng&&!isFght)||(dX>fghtRng&&isFght)||(dX<-trvRng&&!isFght)||(dX<-fghtRng&&isFght)||(dZ<-trvRng&&!isFght)||(dZ<-fghtRng&&isFght)||(dZ>trvRng&&!isFght)||(dZ>fghtRng&&isFght))){
				Random,r,1,10
				IF (r = 5)	
					ControlSend,,% "{"fKey " up}{"bKey " up}{"rKey " up}{"lKey " up}{"Jump "}",ahk_pid %pid%
			}
		}
	}
	return

Looting:
	WinGet,l,list,ahk_exe Trove.exe
	Loop %l%
	{
		WinGet,pid,pid,% "ahk_id "l%a_index%
		IF (pid!=mainPid){
			ControlSend,,% "{"lootKey " down}",ahk_pid %pid%
			Random,r,999,1999
			Sleep,%r%
			ControlSend,,% "{"lootKey " up}",ahk_pid %pid%
		}
	}
	return

Fighting:
	WinGet,l,list,ahk_exe Trove.exe
	Loop %l%{
		WinGet,pid,pid,% "ahk_id "l%a_index%
		IF (pid!=mainPid)
			ControlSend,,% "{"spl1Key "}{"spl2Key "}",ahk_pid %pid%
	}
	return

UpdateGui:
	Gui,1:Default
	LV_DELETE()
	LV_Add("","PID","X","Y","Z","Mount","Message")
	WinGet,l,list,ahk_exe Trove.exe
	Loop %l%{
		WinGet,pid,pid,% "ahk_id "l%a_index%
		BaseAddress:=getProcessBaseAddress(l%a_index%)
		xAdr:=GetAddress(pid,BaseAddress,ptr,xOfts)
		yAdr:=GetAddress(pid,BaseAddress,ptr,yOfts)
		zAdr:=GetAddress(pid,BaseAddress,ptr,zOfts)
		mtAdr:=GetAddress(pid,BaseAddress,ptr,mtOfts)
		X:=ReadMemory(xAdr,pid)
		Y:=ReadMemory(yAdr,pid)
		Z:=ReadMemory(zAdr,pid)
		Mt:=ReadMemory(mtAdr,pid)
		IF (4294967295-X<X)
			X:=X-4294967295
		IF (4294967295-Y<Y)
			Y:=Y-4294967295
		IF (4294967295-Z<Z)
			Z:=Z-4294967295
		IF (mainPid!=-1&&(dX+dY+dZ)>30){
			msg:="I'm lost"
			TrayTip,%pid% is lost !
		}ELSE IF(isFght)
			msg:="Fighting"
		ELSE
			msg:="Travelling"
		IF (p = mainPid)
			LV_Add("Check",pid,X,Y,Z,Mt,"Main Account")
		ELSE
			LV_Add("",pid,X,Y,Z,Mt,msg)
	}
	GuiControlGet,isQWERTY,,Keyboard
	LV_ModifyCol()
	return

Info:
	Gui,3:Show,,Info
	return

Keys:
	Gui,4:Show,,GameKeys
	return

Debug:
	msg:="[SP" "OILER=Debug][CO" "DE]Version = "ver "`nPointer = "ptr "`nX Offsets = "xOfts "`nY Offsets = "yOfts "`nZ Offsets = "zOfts "`nKeys :`nForward = "fKey "`nBackward = "bKey "`nLeft = "lKey "`nRight = "rKey "`nSpell 1 = "spl1Key "`nSpell 2 = "spl2Key "`nMount = "mtKey "`nBoat = "btKey "`nLoot = "lootKey "`nJump = "jumpKey
	WinGet,l,list,ahk_exe Trove.exe
	Loop %l%{
		Handle:=l%a_index%
		WinGet,pid,PID,ahk_id %Handle%
		Base:=getProcessBaseAddress(Handle)
		msg:=msg "`nClient"a_index ":`nPID = "pid "`nHandle = "Handle "`nBase = "Base "`nX Address = "GetAddress(pid,BaseAddress,ptr,xOfts) "`nY Address = "GetAddress(pid,BaseAddress,ptr,yOfts) "`nZ Address = "GetAddress(pid,BaseAddress,ptr,zOfts) "`nMount Address = "GetAddress(pid,BaseAddress,ptr,mtOfts)
	}
	msg:=msg "[/CO" "DE][/SPO" "ILER]"
	clipboard = %msg%
	MsgBox,Debug data copied to clipboard
	return

TraRange:
	global trvRng:=newTraRng
	SaveCgf()
	return

FghtRange:
	global fghtRng:=newFghtRng
	SaveCgf()
	return

AssignMain:
	Hotkey,%mainHK%,Main,Off
	Hotkey,%newMainHK%,Main,On
	global mainHK:=newMainHK
	MsgBox,Main hotkey set to %mainHK%
	SaveCgf()
	return

AssignFight:
	Hotkey,%fghtHK%,Fight,Off
	Hotkey,%newFghtHK%,Fight,On
	global fghtHK:=newFghtHK
	MsgBox,Fight hotkey set to %fghtHK%
	SaveCgf()
	return

AssignLoot:
	Hotkey,%lootHK%,Loot,Off
	Hotkey,%newLootHK%,Loot,On
	global lootHK:=newLootHK
	MsgBox,Auto loot hotkey set to %lootHK%
	SaveCgf()
	return

SaveKeys:
	global rKey:=newRKey
	global lKey:=newLKey
	global fKey:=newFKey
	global bKey:=newBKey
	global spl1Key:=newSpl1Key
	global spl2Key:=newSpl2Key
	global mtKey:=newMtKey
	global btKey:=newBtKey
	global lootKey:=newLootKey
	global jumpKey:=newJumpKey
	MsgBox,Key updated
	SaveCgf()
	return

ctrlUpdRateAssign:
	global updRate:=ctrlUpdRate
	IF (mainPid!=-1)
		SetTimer,Move,%updRate%
	SaveCgf()
	return

Config:
	Gui,2:Show,,Config
	return

GuiClose:
	ExitApp

SaveCgf(){
	IniWrite,%trvRng%,%iniFile%,Global,trvRng
	IniWrite,%fghtRng%,%iniFile%,Global,fghtRng
	IniWrite,%updRate%,%iniFile%,Global,updRate
	IniWrite,%mainHK%,%iniFile%,Hotkeys,mainHK
	IniWrite,%fghtHK%,%iniFile%,Hotkeys,fghtHK
	IniWrite,%lootHK%,%iniFile%,Hotkeys,lootHK
	IniWrite,%fKey%,%iniFile%,GameKeys,fKey
	IniWrite,%bKey%,%iniFile%,GameKeys,bKey
	IniWrite,%rKey%,%iniFile%,GameKeys,rKey
	IniWrite,%lKey%,%iniFile%,GameKeys,lKey
	IniWrite,%spl1Key%,%iniFile%,GameKeys,spl1Key
	IniWrite,%spl2Key%,%iniFile%,GameKeys,spl2Key
	IniWrite,%mtKey%,%iniFile%,GameKeys,mtKey
	IniWrite,%btKey%,%iniFile%,GameKeys,btKey
	IniWrite,%lootKey%,%iniFile%,GameKeys,lootKey
	IniWrite,%jumpKey%,%iniFile%,GameKeys,jumpKey
}

getProcessBaseAddress(hnd){
	Return DllCall( A_PtrSize = 4 ? "GetWindowLong": "GetWindowLongPtr","Ptr",hnd,"Int",-6,"Int64")
}

GetAddress(PID,Base,Adr,Ofts){
	p:=ReadMemory(base + Adr,PID)	
	OftsSpl:=StrSplit(Ofts,"+")
	loop,% (OftsSpl.MaxIndex() - 1)
			p:=ReadMemory(p + OftsSpl[a_index],PID)
	if (Ofts != "")
		p:=p + OftsSpl[OftsSpl.MaxIndex()]
	return p
}

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 (7510b):
Initial release

v1.1 (11868b):
Fixed few glitches
Added Customusable hotkeys
Can now toogle Collect MODE
Added a button to copy account and vars list, BBCODE formatted

v1.2 (14064b):
Forced admin start
Added configurable Game keys
Added a debug gui
Added a config gui for game hotkeys
Reliable mount setup
Fixed config conflicts
Minor fixes


Disclaimer :
This is an early release and may crash often ! Please report bugs here.
I will not be responsible of any ban you get by using this !

There are the virus scans :
https://www.virustotal.com/en/file/c...is/1479926721/
https://virusscan.jotti.org/en-US/fi...job/lmzdijqb52

Todo :
-Suggestions
-More combat skills
-/joinme
-HUD
-Video tutorial/example
-make boat stable

mpFollowingBotsv1.2_mpgh.net.zip4 KB · 854 downloads Clean
File is clean. //approved
Quote Originally Posted by Wyo View Post
File is clean. //approved
Love your nick !
Thanks
I just tried using it. There seem to be a few issues:

I cannot alt tab, use my shift when typing, hold H (or any key for that matter which is why I am assuming those other issues are occurring) to teleport to home.

The characters seem to find it difficult to walk in the same general area. Some were next to the main one but some were running in circles around me when there was just an easy way to walk to me.

Like you have in your todo list, a joinme would be nice instead of needed to invite every time or so.

I wouldn't say it's at a stage where reliably usable yet, but definitely well done for what you have at the moment. It has some great potential!

Edit: After a bit more usage the H key works now but I still can't alt-tab for some reason.
Quote Originally Posted by Platinum View Post
I just tried using it. There seem to be a few issues:

I cannot alt tab, use my shift when typing, hold H (or any key for that matter which is why I am assuming those other issues are occurring) to teleport to home.

The characters seem to find it difficult to walk in the same general area. Some were next to the main one but some were running in circles around me when there was just an easy way to walk to me.

Like you have in your todo list, a joinme would be nice instead of needed to invite every time or so.

I wouldn't say it's at a stage where reliably usable yet, but definitely well done for what you have at the moment. It has some great potential!

Edit: After a bit more usage the H key works now but I still can't alt-tab for some reason.
You must not change world when using the bot ^^

- - - Updated - - -

For the issue of char running in circle just decrease the update ratio

- - - Updated - - -

Alt tab thing is weird. Try pressing escape to free your mouse!
Thank you a lot for your feedback

- - - Updated - - -

To prevent them running in circle you can also increase the travelling range
Quote Originally Posted by mpmoi View Post
You must not change world when using the bot ^^

- - - Updated - - -

For the issue of char running in circle just decrease the update ratio

- - - Updated - - -

Alt tab thing is weird. Try pressing escape to free your mouse!
Thank you a lot for your feedback

- - - Updated - - -

To prevent them running in circle you can also increase the travelling range
Alright I'll give it a try tomorrow. Also the bots using portals is very inconsistent. Most of the time none of them use it, sometimes only 1 uses it. That's the most I have had. Very weird. Can't wait for the /joinme update. :P
Quote Originally Posted by Platinum View Post


Alright I'll give it a try tomorrow. Also the bots using portals is very inconsistent. Most of the time none of them use it, sometimes only 1 uses it. That's the most I have had. Very weird. Can't wait for the /joinme update. :P
If you want them to take portals reduce travelling range. Reduce update time and place yourself 1 block at North of the portal. I can't make it work better.
Quote Originally Posted by mpmoi View Post
If you want them to take portals reduce travelling range. Reduce update time and place yourself 1 block at North of the portal. I can't make it work better.
They were all facing the portal. I will try reduce the update time.
Quote Originally Posted by Platinum View Post


They were all facing the portal. I will try reduce the update time.
Reduce the travelling range too and don't forget to zctive the loot collecting thing so they press e
Quote Originally Posted by mpmoi View Post
Reduce the travelling range too and don't forget to zctive the loot collecting thing so they press e
Yeah I tried holding down E, I tried clicking E, but nothing worked.
Quote Originally Posted by Platinum View Post


Yeah I tried holding down E, I tried clicking E, but nothing worked.
Actually you have to activate loot mode so THEY press e (which is the loot picking key but also the key to take portals !

- - - Updated - - -

I may think about a portal-taking script
Quote Originally Posted by mpmoi View Post
Actually you have to activate loot mode so THEY press e (which is the loot picking key but also the key to take portals !

- - - Updated - - -

I may think about a portal-taking script
Yeah I have that on. Sometimes they also struggle picking up loot which I have noticed.

I am going to use it later and let you know if it works better then but I had loot mode on.
Quote Originally Posted by Platinum View Post


Yeah I have that on. Sometimes they also struggle picking up loot which I have noticed.

I am going to use it later and let you know if it works better then but I had loot mode on.
I've tried to make loot picking as efficient as I could
Quote Originally Posted by mpmoi View Post
I've tried to make loot picking as efficient as I could
Yeah I understand don't worry it's probably just my PC. :P Like I said I will try again later.
Quote Originally Posted by Platinum View Post


Yeah I understand don't worry it's probably just my PC. :P Like I said I will try again later.
Pretty sure there's a timer problem tho. I'll take a look

- - - Updated - - -

Yeah the loot timer is 1s and the holding key timer is 1-2s so it kinda overlaps and doesn't work. Gotta do sth here
Posts 115 of 62 · Page 1 of 5

Post a Reply

Similar Threads

Tags for this Thread

None

Need help?