Help Tera Online Triggerbot

Swift Games Accounts
  • This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.
  • ► You must register to download attachments!


Jul 3, 2013
Hello, I'm trying to make a tera triggerbot, with this method, where the hack should mouseclick when the distance is less than 20.

Now, I have found the pointer of where it says 13m, I know how it should work, but I do not know how to do it in C++.
Somehow to read this value with ReadProcessMemory, then if its less than 20, to make a mouse click, or a hold.

P.S. When I remove the mouse from any target, the value is always 4294967295. Any help greatly appreciated.

EDIT: Ok, this kinda works, prints out the distance, but I can't seem to fix the CurrentDistance check, so I can insert a mouse click. Also, it prints out -1 instead of the value that Cheat Engine shows - 4294967295

#include <tchar.h>
#include "stdafx.h"
#include <Windows.h>
#include <iostream>
#pragma comment(lib, "user32.lib")

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
	cout << "Welcome to Tera Trigger Bot" << endl;

	HWND hWnd = FindWindow(0, "TERA");
	if (hWnd == 0){
		cout << "Error, could not find Tera Window" << endl;
	else {
		cout << "Found Tera Client, Running Trigger Bot" << endl;

	DWORD proc_id;
	GetWindowThreadProcessId(hWnd, &proc_id);

	HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, proc_id);
		if(!hProc) {
			cout << "Error, could open the process" << endl;
		else {
			cout << "Process opened" << endl;

			DWORD Pointer = 0xF9717A9C;
			DWORD Pointed;
			WORD Offset = 0x0024;
			int CurrentDistance;

			ReadProcessMemory(hProc,(LPCVOID)(Pointer), &Pointed, 4, NULL);
			ReadProcessMemory(hProc,(LPCVOID)(Pointed+Offset), &CurrentDistance, 4, NULL);
			cout <<	CurrentDistance << " \rDistance: ";
		if (CurrentDistance > 1){
			if (CurrentDistance < 19)
				  INPUT    Input={0};
  // left down 
  Input.type      = INPUT_MOUSE;
  Input.mi.dwFlags  = MOUSEEVENTF_LEFTDOWN;
  // left up
  Input.type      = INPUT_MOUSE;
  Input.mi.dwFlags  = MOUSEEVENTF_LEFTUP;


	return 0;

EDIT 2: Ok guys, I got it working, thanks to all of you, I updated the code in this post to the working one, and made a video with it.

You do not have permission to view link Log in or register now.

Once again, Thanks to all of you!
Last edited:


Legacy Donator
Mar 6, 2013
First of all you need to put your if statement inside the while loop, that's why it never gets called


Respected Hacker
Legacy Donator
Dank Tier VIP
Oct 14, 2012
Also, it prints out -1 instead of the value that Cheat Engine shows - 4294967295
If you right click the address and click "Show signed" in cheat engine, it should also show -1...

You should put the rest (also the distance checking) into the while loop. So if you've got the handle of the process, make while(1) define your variables, then call readprocessmemory, and before sleeping, make the <20 check.. The check I guess is never even running because of your endless loop. (as squeenie mentioned)