A videdo tutorial would be very nice!
I tested it on some P-Servers and the bot didnīt work on P-Servers...
I tested it on some P-Servers and the bot didnīt work on P-Servers...
may u accept me on discord/skype please? ТИМОН it's me :)Quote:
you just put d3d9.dll file into your kalonline folder and that should make the hack pop up on the top left corner of your screen where you can use it its auto preset to kill water dragons pretty effectively.
keypresswait & mousemove are not workingQuote:
I attached it..
mirror link:
[Only registered and activated users can see links. Click Here To Register...]
mirror link for 4 in 1 ditto.zip
[Only registered and activated users can see links. Click Here To Register...]
This works for both international kalonline and private servers too!, completely undetected and 100% ban proof cannot get banned with this tool
To run it you basically just put the DLL it into your kalonline folder.
It comes with a advertiser (chat spammer)
and a ditto bot on top
commands are
wait 500
this waits 500 milliseconds.
keypress tab
presses the tab key inside game only.
keypress commands are
a-z,0-9,spacebar,tab,left,right,up,down.
keypresswait commands are
a-z,0-9,spacebar,tab,left,right,up,down.
but with wait time at end, example:
keypresswait left, 2000
this would hold left key for 2 seconds before letting it go.
leftclick x,y
leftclick 300,300
clicks at coordinate x:300 y:300 in game.
rightclick x,y
mousemove x,y
all these keys work flawlessly
if you remove the wait times and run this script
you got yourself a basic water dragon killer :DCode:keypress tab keypress spacebar keypress 1 keypress 2 keypresswait left, 2000
Here is the source code it add this to the d3d9 undetected hook i released.
Code:static HWND KalHandle = NULL; static void SendMapKey(int key) { PostMessageW(KalHandle, WM_KEYDOWN, (unsigned int)key, MapVirtualKeyW((unsigned int)key, 0u) << 16); Sleep(5); PostMessageW(KalHandle, WM_KEYUP, (unsigned int)key, MapVirtualKeyW((unsigned int)key, 0u) << 16); } static void SendMapKeyWait(int key, int wait) { PostMessageW(KalHandle, WM_KEYDOWN, (unsigned int)key, MapVirtualKeyW((unsigned int)key, 0u) << 16); Sleep(wait); PostMessageW(KalHandle, WM_KEYUP, (unsigned int)key, MapVirtualKeyW((unsigned int)key, 0u) << 16); } static void SendLetter(int key) { PostMessageW(KalHandle, WM_CHAR, (unsigned int)key, 0); } static void SendMapKeyNoFlags(int key) { PostMessageW(KalHandle, WM_KEYDOWN, (unsigned int)key, 0); PostMessageW(KalHandle, WM_KEYUP, (unsigned int)key, 0); } static void SendReturn() { PostMessageW(KalHandle, WM_KEYDOWN, (unsigned int)VK_RETURN, 0x001C0001); PostMessageW(KalHandle, WM_CHAR, (unsigned int)VK_RETURN, 0); PostMessageW(KalHandle, WM_KEYUP, (unsigned int)VK_RETURN, 0xC01C0001); } static void MouseMove(unsigned short x, unsigned short y) { SendMessageW(KalHandle, WM_MOUSEMOVE, 0, (((WORD)y) << 0x10) | ((WORD)x)); Sleep(5); } static void SendLeftClick(int x, int y) { int num = (int)((WORD)y) << 16 | (int)((WORD)x); PostMessageW(KalHandle, WM_LBUTTONDOWN, 1u, num); Sleep(5); PostMessageW(KalHandle, WM_LBUTTONUP, 0u, num); } static void SendRightClick(int x, int y) { int num = (int)((WORD)y) << 16 | (int)((WORD)x); PostMessageW(KalHandle, WM_RBUTTONDOWN, 1u, num); Sleep(5); PostMessageW(KalHandle, WM_RBUTTONUP, 0u, num); } int KeyConverter(char *key) { char c; int i = 0; while (key[i]) { key[i] = tolower(key[i]); i++; } if (strcmp(key, "left") == 0) return VK_LEFT; if (strcmp(key, "right") == 0) return VK_RIGHT; if (strcmp(key, "up") == 0) return VK_UP; if (strcmp(key, "down") == 0) return VK_DOWN; if (strcmp(key, "spacebar") == 0) return VK_SPACE; if (strcmp(key, "tab") == 0) return VK_TAB; if (strcmp(key, "0") == 0) return VK_0; if (strcmp(key, "1") == 0) return VK_1; if (strcmp(key, "2") == 0) return VK_2; if (strcmp(key, "3") == 0) return VK_3; if (strcmp(key, "4") == 0) return VK_4; if (strcmp(key, "5") == 0) return VK_5; if (strcmp(key, "6") == 0) return VK_6; if (strcmp(key, "7") == 0) return VK_7; if (strcmp(key, "8") == 0) return VK_8; if (strcmp(key, "9") == 0) return VK_9; if (strcmp(key, "a") == 0) return VK_A; if (strcmp(key, "b") == 0) return VK_B; if (strcmp(key, "c") == 0) return VK_C; if (strcmp(key, "d") == 0) return VK_D; if (strcmp(key, "e") == 0) return VK_E; if (strcmp(key, "f") == 0) return VK_F; if (strcmp(key, "g") == 0) return VK_G; if (strcmp(key, "h") == 0) return VK_H; if (strcmp(key, "i") == 0) return VK_I; if (strcmp(key, "j") == 0) return VK_J; if (strcmp(key, "k") == 0) return VK_K; if (strcmp(key, "l") == 0) return VK_L; if (strcmp(key, "m") == 0) return VK_M; if (strcmp(key, "n") == 0) return VK_N; if (strcmp(key, "o") == 0) return VK_O; if (strcmp(key, "p") == 0) return VK_P; if (strcmp(key, "q") == 0) return VK_Q; if (strcmp(key, "r") == 0) return VK_R; if (strcmp(key, "s") == 0) return VK_S; if (strcmp(key, "t") == 0) return VK_T; if (strcmp(key, "u") == 0) return VK_U; if (strcmp(key, "v") == 0) return VK_V; if (strcmp(key, "w") == 0) return VK_W; if (strcmp(key, "x") == 0) return VK_X; if (strcmp(key, "y") == 0) return VK_Y; if (strcmp(key, "z") == 0) return VK_Z; } HWND FindProcessWindow() { char szBuffer[200]; TCHAR szBuffer2[200]; DWORD dwTemp; for (HWND hWnd = GetTopWindow(NULL); hWnd != NULL; hWnd = GetNextWindow(hWnd, GW_HWNDNEXT)) { GetWindowThreadProcessId(hWnd, &dwTemp); if (dwTemp != GetCurrentProcessId()) continue; if (!GetClassName(hWnd, szBuffer, sizeof(szBuffer) / sizeof(char))) continue; if (strstr(szBuffer, "KalOnline") || strstr(szBuffer, "D3D Window")) return hWnd; if (!GetClassName(hWnd, szBuffer2, _countof(szBuffer2))) continue; if (strstr(szBuffer2, "KalOnline") || strstr(szBuffer2, "D3D Window")) return hWnd; } return NULL; }