Results 1 to 4 of 4
  1. #1
    mpmoi's Avatar
    Join Date
    Aug 2015
    Gender
    male
    Location
    Here there
    Posts
    788
    Reputation
    26
    Thanks
    4,401
    My Mood
    Drunk

    Arrow MpFollowingBots v1.1 : 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 :
    Just grab the source code and paste it in a .ahk file and start it! You can also download it directly. (wait for @Psychotic @Wyo @Buddie approval)
    Start it (Tutorial here : https://www.mpgh.net/forum/showthread.php?t=1150041)
    First press the config button !
    Check the box if you are using QUERTY keyboard setup ! You can also set your own hotkeys (I'll refer them as Numpad0, Numpad1 and Numpad2)!
    You can also change the radius you want them to stay in (in block)
    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 Numpad0 : Every other account will follow this one !
    They will automatically collect loot if you active collect mode (Numpad 2).
    If you want them to throw spells, press Numpad1 to trigger FIGHT MODE. Once you're done with fighting, press again numpad1, and the boths will mount and follow again.
    You can start it on as many accounts as you need !
    Press Numpad0 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.

    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 :
     
    Code:
    Version = 1.1
    Pointer = 0x00CB84B8
    X Offsets = 0x0+0x28+0x9C+0x5C+0x94
    Y Offsets = 0x0+0x28+0x9C+0x5C+0x98
    Z Offsets = 0x0+0x28+0x9C+0x5C+0x9C
    Client:
    PID = 4336
    Handle = 0x200570
    Base = 17104896
    X Address = 503454948
    Y Address = 503454952
    Z Address = 503454956
    Client:
    PID = 8840
    Handle = 0x560580
    Base = 17104896
    X Address = 503454948
    Y Address = 503454952
    Z Address = 503454956

    Then wait for an answer


    /!\ You need the default move keys to use this; I'll try to add customisable keys.

     

    Code:
    #SingleInstance force
    #Persistent
    #IfWinActive, Trove
    
    SetBatchLines -1
    
    SplashTextOn, 500,25, mpFollowingBots, Initializing and updating pointers, please wait...
    
    SetWorkingDir %A_ScriptDir%
    
    global Ver:=1.1
    global _Version:=0
    global _Pointer:="0x0"
    global _xOffset:="0x0"
    global _yOffset:="0x0"
    global _zOffset:="0x0"
    global iniFile := A_ScriptDir . "/config.ini"
    global fight := False
    global KB := true
    global sHKMain := "Numpad0"
    global sHKFight := "Numpad1"
    global sHKCollect := "Numpad2"
    global sTR := 1
    global sFR := 5
    global sUPDRate := 199
    
    If (FileExist(iniFile)){
    	IniRead, _Version, %iniFile%, Global, _Version
    	IniRead, _Pointer, %iniFile%, Global, _Pointer
    	IniRead, _xOffset, %iniFile%, Global, _xOffset
    	IniRead, _yOffset, %iniFile%, Global, _yOffset
    	IniRead, _zOffset, %iniFile%, Global, _zOffset
    	IniRead, _zOffset, %iniFile%, Global, _zOffset
    	IniRead, sHKMain, %iniFile%, Hotkeys, sHKMain, %A_Space%
    	IniRead, sHKFight, %iniFile%, Hotkeys, sHKFight, %A_Space%
    	IniRead, sHKCollect, %iniFile%, Hotkeys, sHKCollect, %A_Space%
    	IniRead, KB, %iniFile%, Global, QWERTY
    	IniRead, sTR, %iniFile%, Global, sTR
    	IniRead, sFR, %iniFile%, Global, sFR
    	IniRead, sUPDRate, %iniFile%, Global, sUPDRate
    }ELSE{
    	IniWrite, %sHKMain%, %iniFile%, Hotkeys, sHKMain
    	IniWrite, %sHKFight%, %iniFile%, Hotkeys, sHKFight
    	IniWrite, %sHKCollect%, %iniFile%, Hotkeys, sHKCollect
    	IniWrite, %KB%, %iniFile%, Global, QWERTY
    	IniWrite, %sTR%, %iniFile%, Global, sTR
    	IniWrite, %sFR%, %iniFile%, Global, sFR
    	IniWrite, %sUPDRate%, %iniFile%, Global, sUPDRate
    }
    
    url := "https://dl.dropb" + "oxuserconten*****m/u/52517919/MpFollowingBotsPointer.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 _xOffset:=Contents[3]
    	global _yOffset:=Contents[4]
    	global _zOffset:=Contents[5]
    	IniWrite, %_Version%, %iniFile%, Global, _Version
    	IniWrite, %_Pointer%, %iniFile%, Global, _Pointer
    	IniWrite, %_xOffset%, %iniFile%, Global, _xOffset
    	IniWrite, %_yOffset%, %iniFile%, Global, _yOffset
    	IniWrite, %_zOffset%, %iniFile%, Global, _zOffset
    	TrayTip ,mpFollowingBots, % "Values updated to :`nPointer : " _Pointer "`nX offset : " _xOffset "`nY offset : "_yOffset "`nZ offset : " _zOffset
    	}
    
    global X := 0
    global Y := 0
    global Z := 0
    
    global Mp := -1
    
    Gui 1:-Resize -MinimizeBox
    Gui, 1:Add, ListView, xm ym Checked grid -ReadOnly -LV0x10 w700, Window pid|Handle|Base Address|X Adress|X Value|Y Adress|Y Value|Z Adress|Z Value|Message
    Gui, 1:Add, Button, w700 gConfig , &Config
    
    Gui 2:-Resize -MinimizeBox
    Gui, 2:Add, Text, xm, Hotkeys :
    Gui, 2:Add, Text, xm, Main hotkey :
    Gui, 2:Add, Text, xm, Fight hotkey :
    Gui, 2:Add, Text, xm, Auto collect hotkey :
    Gui, 2:Add, Hotkey, ym x+5 gAssignCollect vHKCollect, %sHKCollect%
    Gui, 2:Add, Hotkey, gAssignFight vHKFight, %sHKFight%
    Gui, 2:Add, Hotkey, gAssignMain vHKMain, %sHKMain%
    Gui, 2:Add, Text, xm, Others :
    Gui, 2:Add, Checkbox, xm Checked%KB% vKeyboard, Checked : QWERTY/ Unchecked : AZERTY
    Gui, 2:Add, Text, xm, Travelling range : 0
    Gui, 2:Add, Slider, Range0-10 ToolTip x+5 vTR gTraRange, %sTR%
    Gui, 2:Add, Text, x+5,10
    Gui, 2:Add, Text, xm, Fighting range :    0
    Gui, 2:Add, Slider, Range0-10 ToolTip x+5 vFR gFigRange, %sFR%
    Gui, 2:Add, Text, x+5,10
    Gui, 2:Add, Text, xm, Update rate (ms) :
    Gui, 2:Add, Edit, x+5 vUPDRate gUPDRateAssign, %sUPDRate%
    Gui, 2:Add, Button, xm gDebug , &Copy Debug Data
    
    Hotkey, %sHKMain%, Main, On
    Hotkey, %sHKFight%, Fight, On
    Hotkey, %sHKCollect%, Collect, On
    
    SplashTextOff
    
    if (Contents[6] > Ver){
    	num := Contents[7]
    	url = https://www.mpgh.net/forum/showthread.php?t=%num%
    	MsgBox, 4,, New version available, go to MPGH topic ? (press Yes or No)
    	IfMsgBox Yes
    		Run %url%
    	}
    
    Gui, 1:Show,,mpFollowingBots
    
    SetTimer, UpdateGui, 999
    
    TrayTip ,mpFollowingBots, Bot started !`nPress numPad0 to select your main account !`nEnsure others are facing SOUTH !
    return
    
    Main:
    	WinGet, p, pid, A
    	WinGet, process, ProcessName, ahk_pid %p%
    	IF (process = "Trove.exe"){
    		IF (Mp <> p){
    			Mp := p
    			TrayTip ,mpFollowingBots, % "New main account set : " Mp
    			SetTimer, Move, %sUPDRate%
    		}ELSE{
    			Mp := -1
    			TrayTip ,mpFollowingBots, Bot Paused
    			SetTimer, Move, Off
    			SetTimer, Collecting, Off
    			SetTimer, Fighting, Off
    			Sleep, 999
    			WinGet, l, list, ahk_exe Trove.exe
    			Loop %l%
    				ControlSend, , {w up}{a up}{z up}{q up}{s up}{d up}, % "ahk_id " l%a_index%
    		}
    	}
    	return
    
    Fight:
    	fight := !fight
    	IF (fight){
    		SetTimer, Fighting, 999
    		TrayTip ,mpFollowingBots, Fighting Mode
    	}
    	ELSE{
    		SetTimer, Fighting, Off
    		TrayTip ,mpFollowingBots, Travelling Mode
    		Sleep, 1000
    		WinGet, l, list, ahk_exe Trove.exe
    		Loop %l%{
    			WinGet, p, pid,% "ahk_id " l%a_index%
    			IF (p != Mp)
    				IF (KB)
    					ControlSend, , z, ahk_pid %p%
    				ELSE
    					ControlSend, , w, ahk_pid %p%
    		}
    	}
    	return
    
    Collect:
    	collect := !collect
    	IF (collect){
    		SetTimer, Collecting, 999
    		TrayTip ,mpFollowingBots, Collect On
    	}
    	ELSE{
    		SetTimer, Collecting, Off
    		TrayTip ,mpFollowingBots, Collect Off
    		WinGet, l, list, ahk_exe Trove.exe
    		Loop %l%{
    			WinGet, p, pid,% "ahk_id " l%a_index%
    			IF (p != Mp)
    				ControlSend, , {e up}, ahk_pid %p%
    		}
    	}
    	return
    	
    Move:
    	WinGet, l, list, ahk_exe Trove.exe
    	Loop %l%{
    		WinGet, p, pid,% "ahk_id " l%a_index%
    		BaseAddress := getProcessBaseAddress(l%a_index%)
    		xAddress := GetAddress(p, BaseAddress, _Pointer, _xOffset)
    		yAddress := GetAddress(p, BaseAddress, _Pointer, _yOffset)
    		zAddress := GetAddress(p, BaseAddress, _Pointer, _zOffset)
    		xValue := ReadMemory(xAddress, p)
    		yValue := ReadMemory(yAddress, p)
    		zValue := ReadMemory(zAddress, p)
    		IF (4294967295 - xValue < xValue)
    			xValue := xValue - 4294967295
    		IF (4294967295 - yValue < yValue)
    			yValue := yValue - 4294967295
    		IF (4294967295 - zValue < zValue)
    			zValue := zValue - 4294967295
    		IF (p == Mp){
    			X := xValue
    			Y := yValue
    			Z := zValue
    		}ELSE{
    			dX := X - xValue
    			dY := Y - yValue
    			dZ := Z - zValue
    			IF ((dX > sTR && !fight) || (dX > sFR && fight))
    				IF (KB)
    					ControlSend, , {d up}{a down}, ahk_pid %p%
    				ELSE
    					ControlSend, , {d up}{q down}, ahk_pid %p%
    			ELSE IF ((dX < -sTR && !fight) || (dX < -sFR && fight))
    				IF (KB)
    					ControlSend, , {a up}{d down}, ahk_pid %p%
    				ELSE
    					ControlSend, , {q up}{d down}, ahk_pid %p%
    			ELSE
    				ControlSend, , {q up}{d up}{a up}, ahk_pid %p%
    			IF ((dZ > sTR && !fight) || (dZ > sFR && fight))
    				IF (KB)
    					ControlSend, , {s up}{w down}, ahk_pid %p%
    				ELSE
    					ControlSend, , {s up}{z down}, ahk_pid %p%
    			ELSE IF ((dZ < -sTR && !fight) || (dZ < -sFR && fight))
    				IF (KB)
    					ControlSend, , {w up}{s down}, ahk_pid %p%
    				ELSE
    					ControlSend, , {z up}{s down}, ahk_pid %p%
    			ELSE
    				ControlSend, , {w up}{s up}{z up}, ahk_pid %p%
    			IF (dY > 1)
    				ControlSend, , {Space}, ahk_pid %p%
    			IF ((dX > sTR && !fight) || (dX > sFR && fight) || (dX < -sTR && !fight) || (dX < -sFR && fight) || (dZ < -sTR && !fight) || (dZ < -sFR && fight) || (dZ > sTR && !fight) || (dZ > sFR && fight)){
    				Random,r ,1,10
    				IF (r = 5)	
    					ControlSend, , {w up}{a up}{z up}{q up}{s up}{d up}{Space}, ahk_pid %p%
    			}
    		}
    	}
    	return
    
    Collecting:
    	WinGet, l, list, ahk_exe Trove.exe
    	Loop %l%
    	{
    		WinGet, p, pid,% "ahk_id " l%a_index%
    		IF (p != Mp){
    			ControlSend, , {e down}, ahk_pid %p%
    			Random, r, 999, 1999
    			Sleep, %r%
    			ControlSend, , {e up},ahk_pid %p%
    		}
    	}
    	return
    
    Fighting:
    	WinGet, l, list, ahk_exe Trove.exe
    	Loop %l%{
    		WinGet, p, pid,% "ahk_id " l%a_index%
    		IF (p != Mp)
    			ControlSend, , {vk31}{vk32}, ahk_pid %p%
    	}
    	return
    
    UpdateGui:
    	Gui, 1:Default
    	LV_DELETE()
    	WinGet, l, list, ahk_exe Trove.exe
    	Loop %l%{
    		WinGet, p, pid,% "ahk_id " l%a_index%
    		BaseAddress := getProcessBaseAddress(l%a_index%)
    		xAddress := GetAddress(p, BaseAddress, _Pointer, _xOffset)
    		yAddress := GetAddress(p, BaseAddress, _Pointer, _yOffset)
    		zAddress := GetAddress(p, BaseAddress, _Pointer, _zOffset)
    		xValue := ReadMemory(xAddress, p)
    		yValue := ReadMemory(yAddress, p)
    		zValue := ReadMemory(zAddress, p)
    		IF (4294967295 - xValue < xValue)
    			xValue := xValue - 4294967295
    		IF (4294967295 - yValue < yValue)
    			yValue := yValue - 4294967295
    		IF (4294967295 - zValue < zValue)
    			zValue := zValue - 4294967295
    		IF (Mp != -1 && (dX+dY+dZ)>30){
    			Message := "I'm lost"
    			TrayTip, %p% is lost !
    		}ELSE IF(fight)
    			Message := "Fight mode"
    		ELSE
    			Message := "Travelling mode"
    		IF (p = Mp)
    			LV_Add("Check", l%a_index%, p, BaseAddress, xAddress, xValue, yAddress, yValue, zAddress, zValue, "Main Account")
    		ELSE
    			LV_Add("", l%a_index%, p, BaseAddress, xAddress, xValue, yAddress, yValue, zAddress, zValue, Message)
    	}
    	GuiControlGet, KB,, Keyboard
    	LV_ModifyCol()
    	return
    
    Debug:
    	message := "[SP" . "OILER=Debug][CO" . "DE]Version = " . Ver . "`nPointer = " . _Pointer . "`nX Offsets = " . _xOffset . "`nY Offsets = " . _yOffset . "`nZ Offsets = " . _zOffset
    	WinGet, l, list, ahk_exe Trove.exe
    	Loop %l%
    	{
    		Handle := l%a_index%
    		WinGet, pid, PID, ahk_id %Handle%
    		Base := getProcessBaseAddress(Handle)
    		xAddress := GetAddress(p, BaseAddress, _Pointer, _xOffset)
    		yAddress := GetAddress(p, BaseAddress, _Pointer, _yOffset)
    		zAddress := GetAddress(p, BaseAddress, _Pointer, _zOffset)
    		message := message . "`nClient" . i . ":`nPID = " . pid . "`nHandle = " . Handle . "`nBase = " . Base . "`nX Address = " . xAddress . "`nY Address = " . yAddress . "`nZ Address = " . zAddress
    		}
    	message := message . "[/CO" . "DE][/SPO" . "ILER]"
    	clipboard = %message%
    	MsgBox, Debug data copied to clipboard
    	return
    
    TraRange:
    	sTR := TR
    	return
    
    FigRange:
    	sFR := FR
    	return
    
    AssignMain:
    	Hotkey, %sHKMain%, Main, Off
    	Hotkey, %HKMain%, Main, On
    	sHKMain := HKMain
    	MsgBox, Main hotkey set to %sHKMain%
    	return
    
    AssignFight:
    	Hotkey, %sHKFight%, Fight, Off
    	Hotkey, %HKFight%, Fight, On
    	sHKFight := HKFight
    	MsgBox, Fight hotkey set to %sHKFight%
    	return
    
    AssignCollect:
    	Hotkey, %sHKCollect%, Collect, Off
    	Hotkey, %HKCollect%, Collect, On
    	sHKCollect := HKCollect
    	MsgBox, Collect hotkey set to %sHKCollect%
    	return
    
    UPDRateAssign:
    	sUPDRate := UPDRate
    	IF (Mp != -1)
    		SetTimer, Move, %sUPDRate%
    	return
    
    Config:
    	Gui, 2:Show,,Config
    	return
    
    GuiClose:
    	ExitApp
    
    2GuiClose:
    	IniWrite, %sHKMain%, %iniFile%, Hotkeys, sHKMain
    	IniWrite, %sHKFight%, %iniFile%, Hotkeys, sHKFight
    	IniWrite, %sHKCollect%, %iniFile%, Hotkeys, sHKCollect
    	IniWrite, %KB%, %iniFile%, Global, QWERTY
    	IniWrite, %sTR%, %iniFile%, Global, sTR
    	IniWrite, %sFR%, %iniFile%, Global, sFR
    	IniWrite, %sUPDRate%, %iniFile%, Global, sUPDRate
    	Gui, 2:Hide
    	return
    
    getProcessBaseAddress(Handle){
    	Return DllCall( A_PtrSize = 4 ? "GetWindowLong": "GetWindowLongPtr", "Ptr", Handle, "Int", -6, "Int64")
    	}
    
    GetAddress(PID, Base, Address, Offset){
    	p := ReadMemory(base + Address,PID)
    	OffsetSplit := StrSplit(Offset, "+")
    	OffsetCount := OffsetSplit.MaxIndex()
    	Loop, %OffsetCount%{
    		IF (a_index = OffsetCount)
    			p := p + OffsetSplit[a_index]
    	  	ELSE
    			p := ReadMemory(p + OffsetSplit[a_index],PID)
    		}
    	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
    	}


     
    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


    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://virusscan.jotti.org/en-US/fi...job/qmhgv6tywp
    https://www.virustotal.com/en/file/d...is/1479315419/

    Todo :
    -Suggestions
    -More combat skills
    -Add gliding/boat support
    -/joinme
    -Video tutorial/example
    -Customisable keys for game
    <b>Downloadable Files</b> Downloadable Files
    ~~~~~~~~~~
    Vouch thread
    ~~~~~~~~~~
    Trove scripts :
    Anti afk kick ~ Fishing bot ~ Bombing bot ~ Items picking
    ~~~~~~~~~~
    Trove cheats & tools:
    Fishing pointer ~ Speedhack
    ~~~~~~~~~~
    Trove tutorials :
    Find fishing pointer
    ~~~~~~~~~~

  2. The Following 11 Users Say Thank You to mpmoi For This Useful Post:

    Aochuan (05-04-2020),Cry77 (11-16-2016),ITA_Teo (11-22-2016),johnny0523 (11-22-2016),leoleobiu852 (11-24-2016),McCoyWkd (12-22-2016),nagenick (11-20-2016),Platinum (11-23-2016),Teleporterofdeath (11-17-2016),ValxxDaymos (11-18-2016),xx1987 (11-20-2016)

  3. #2
    Bryan's Avatar
    Join Date
    May 2012
    Gender
    male
    Location
    Other MMORPG Area
    Posts
    2,618
    Reputation
    1461
    Thanks
    1,163
    My Mood
    Dead
    Looks good to me. /Approved

    Member since May 2010
    Donator/Premium since August 2015
    First Postban September 2016 :'(
    Premium Seller September 2016
    News Force November 2016
    Other Mmorpg Minion November 2016

  4. The Following User Says Thank You to Bryan For This Useful Post:

    mpmoi (11-16-2016)

  5. #3
    mpmoi's Avatar
    Join Date
    Aug 2015
    Gender
    male
    Location
    Here there
    Posts
    788
    Reputation
    26
    Thanks
    4,401
    My Mood
    Drunk
    Thanks ! I am working on something about mounts ! I can't get it fly as you do( I can detect it but the bot will always fly south) but I can make the bot use boat and mounts at the same time as the main account !
    ~~~~~~~~~~
    Vouch thread
    ~~~~~~~~~~
    Trove scripts :
    Anti afk kick ~ Fishing bot ~ Bombing bot ~ Items picking
    ~~~~~~~~~~
    Trove cheats & tools:
    Fishing pointer ~ Speedhack
    ~~~~~~~~~~
    Trove tutorials :
    Find fishing pointer
    ~~~~~~~~~~

  6. #4
    mpmoi's Avatar
    Join Date
    Aug 2015
    Gender
    male
    Location
    Here there
    Posts
    788
    Reputation
    26
    Thanks
    4,401
    My Mood
    Drunk
    Bot not working since the update !
    Pointer updated later today !

    - - - Updated - - -

    Pointer updated !
    ~~~~~~~~~~
    Vouch thread
    ~~~~~~~~~~
    Trove scripts :
    Anti afk kick ~ Fishing bot ~ Bombing bot ~ Items picking
    ~~~~~~~~~~
    Trove cheats & tools:
    Fishing pointer ~ Speedhack
    ~~~~~~~~~~
    Trove tutorials :
    Find fishing pointer
    ~~~~~~~~~~

Similar Threads

  1. [Release] MpFollowingBots v1.2 : Multi-account Bots (multiboxing-like)
    By mpmoi in forum Trove Hacks & Cheats
    Replies: 61
    Last Post: 05-17-2017, 10:03 AM
  2. [Outdated] MpFollowingBots v1.0 : Multi-account Bots (multiboxing-like)
    By mpmoi in forum Trove Hacks & Cheats
    Replies: 14
    Last Post: 11-16-2016, 10:53 AM
  3. [Outdated] TaeJim Bot (Multi Account Launcher, Fishing, Boot Throw, Auto Decons) v1.2
    By taejim in forum Trove Hacks & Cheats
    Replies: 112
    Last Post: 09-05-2015, 10:27 AM
  4. [Outdated] TaeJim Bot (Multi Account Launcher, Fishing, Boot Throw, Auto Decons) v1.0
    By taejim in forum Trove Hacks & Cheats
    Replies: 74
    Last Post: 09-02-2015, 03:11 AM
  5. [Release] CA MULTI Account Generator EU with GGFM
    By Zoom in forum Combat Arms Europe Hacks
    Replies: 6
    Last Post: 02-26-2010, 07:12 AM