Register for your free account! | Forgot your password?

Go Back   elitepvpers > General Gaming > General Gaming Discussion
You last visited: Today at 11:31

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Ether Saga Online-[Starter Pack]

Discussion on Ether Saga Online-[Starter Pack] within the General Gaming Discussion forum part of the General Gaming category.

Closed Thread
 
Old   #1
 
blinko's Avatar
 
elite*gold: 0
Join Date: Aug 2005
Posts: 499
Received Thanks: 131
Ether Saga Online-[Starter Pack]

**1:32PM 3/6/2010***
New Base Address 0x00A6B294 .. &HA6B294
The Zoom address seems to be the same, but the value has changed.

The address 0x00404360
used to read "1317602165" when at default value, and then "1317602283" when you wanted to allow for zooming further. Now the default value has changed, but changing the value at this address crashes my client when i go to scroll my mouse wheel. Any idea's on the new zoom address? or maybe a new value to be entered?

**9:53PM 3/2/2010**
New Update ! No this isn't the full AutoIT project with full bot/memory reading examples, nor is this the full Visual Basic source. This IS however, a simple..yet jumbled up mess into Reading Memory from Multiple clients. This was testing using 2 clients only, I haven't attempted 3 yet, but I know it will handle it. This source can be cleaned up a bit and added as a base for everyones bots.
Just need to figure in a nice 'game.ini' file to handle the Multiple Window HotKey Locations (this i mean mouse coords). I still haven't written bot functions for multiple windows at one time, but this will be coming soon as well. Till then check out this Multi-Client Memory Reading source @

I might add that Both Visual Basic, and AutoIt can Read 4 Bytes, Floats, and Double memory values.
Well..Visual Basic is having trouble reading doubles at the moment.

**3/1/2010 - 1:23am**
Added tp post attachments 'esoMemoryRead.zip' full source for Visual Basic 6.0 Memory Reading Functions (Bot functions Coming).

Also added to the post attachments is ESO_Bot test file 100% working bot for AutoIt.
I have not added hp/mp monitoring to it as this was a test to get the sending keys to work while the game client was minimized. So grab yourself a copy of that to play with and you'll all have your bots up and running.
Just be sure to add the hotkeys you wish to send the clicks to.
If you have for example..the skill you spam most in the F1 slot. You must hover your mouse over this HotKey and record the mouse coordinates just as mixlife does. Then it uses ControlClick to send mouse clicks to the targeted window @ the given coordinates. How this works minimized I do not know fully, however, enjoy !

**02/28/2010 - 3:05am**
New Ether Saga .CT (Cheat Engine Addresses)
Also a heads up I'm going to leave the files as IS for everyone to download.
I'll be updating the addresses regularly, and am currently building a universal bot much like Mixlife, as I have finally figured out how to sendkeys to the game client, and YES while minimized! works for me 100%

Take a look at the Image Below..you'll notice two hot pink circles.
These are the X and Y coordinates of the Hotkeys to be used in your game client. You know when in Mixlife you press F10 to setup ur HotKeys F1,F3,1,8 etc..This is what it is doing recording screen coordinates..



Now that this has been brought to everyone's attention, sending keys to ESO using autoit just got easier. For example I want my bot to only attack.
I'm going to setup a HotKey to press in order to set the Coordinates.
I start by placing the client at the top left of my screen (but it can be anywhere). So far we now have...

Code:
HOTKEYSET("{F1}","_SetHotKey1")
;Hotkey1 is my attack hotkey for now.

func _SetHotKey1()
	$pos = MouseGetPos()
	global $atk_x = $pos[0]
	global $atk_y = $pos[1] - 32
EndFunc
I hover my mouse over my F1 key on my HotKey Bar on the game client, I then press F1. $atk_x and $atk_y becomes the mouse coordinates I recorded.
Then I simply have it attack using ControlClick. This even work's while its minimized. Here is my bot testing source, and it works 100% ! This can also be used in multiple clients. All you would have to do was run two instances of the bot you create, and have two Ether Saga clients open with different titles. EtherSaga1, EtherSaga2 for example as window titles, it'll controlclick to the specified windows SO, this can done for multiple windows as well. We should see some promising bots in the future. Once I have this completed i'm going to port everything to Visual Basic 6.0 I just need a ControlClick command within the windows API and i'm set ^^.


Video with proof XD -
Sorry for the bad quality, my video compression isn't all it's cracked up to be.

Code:
Don't forget to add #include 'esoMod.au3' and #include 'EtherMemory.au3'

#include 'esoMod.au3'
#include 'EtherMemory.au3'
HOTKEYSET("{DEL}","_Bot") ; starts/stops the bot
HOTKEYSET("{F1}","_SetHotKey1") ;sets my attacking hotkey (only one i got atm)
HOTKEYSET("{ESC}","CLOSE") ;closes the application
global $running ;declare $running variable.

EtherSagaCheck() ;esoMod.au3 function to rename the window if its not "EtherSaga"
_FirstRun() ;splash message with a few instructions

func _Firstrun()
	MsgBox(0,"First Run","This is your first time running this Bot" & @crlf & "Please use F1-F4 to set your hotkeys" & @crlf & "Just hover the mouse over the game window's F1-F4 hotkeys on the hoykey bar" & @crlf & "Then Press the corresponding F key to set the skill,hp,mp hotkeys.")
EndFunc

func _SetHotKey1()
	$pos = MouseGetPos()
	global $atk_x = $pos[0]
	global $atk_y = $pos[1] - 32
EndFunc

func _Bot()

$running = NOT $running

While $running
	if _GetPlayer("target") <> 0 Then
		ControlClick("EtherSaga","","","left",1,$atk_x,$atk_y)
		sleep(200)
	Else
		ControlSend("EtherSaga","","","{TAB}")
	EndIf

WEnd

EndFunc

func CLOSE()
	exit 0
EndFunc

while 1
	sleep(100)
WEnd
New Addresses: (give or take the few I failed to mention)
Code:
Player Current / Max HP
Player Current / Max MP
Player Current / Max Essence
Player Current / Max Vigor
Player Level
Player Experience
Player Gold
Player X
Player Y
Player Z
Zoom Value
Video Value ???
Player Oora Damage
Player Widu Damage
Player Unda Damage
Player Pyra Damage
Player Erda Damage
Player Oora Def
Player Widu Def
Player Unda Def
Player Pyra Def
Player Erda Def
PlayerX,Y,Z - needs fixed to work on GUI
Player Exp,Spirit - needs fixed to wokr on GUI
Player stat points Attack,Defense,Endurance,Power
Player Stat point left
Player Affinity points left
Player min/max STR
Player min/max INT
Player Def
Player Acc
Player Resist
Player Affinity
Player Resil
**NOTE**
You will be required to have installed AutoIt , and Cheat Engine. Of course for model (.ski) importing you'll need python and Blender 3D as well which are both free of charge @ and
********

I have been playing Ether Saga for quite awhile now, and have been able to do several things with it. From Memory reading to Texture editing, (am working on HD Textures for Ether Saga). I would like to share my work that I have been doing with Cheat Engine and AutoIt.

Here is a run down of my files included.

elementclient.zip
Code:
elementclient.CT - actually my element.CT file for cheat engine (with Pointers)
ESO_ZOOM-[Full_Source].zip
Code:
ESO_ZOOM.au3 - AutoIt source for the Zoom hack
ESO_ZOOM.exe - pre-compiled .exe of the source.
esoMod.au3 - Module Used to read the memory of Ether Saga
EtherMemory.au3 - Created by Wiccan and modified a bit by me (handles memory reading for Ether Saga)
Ether Saga Nude Mod v1.0.zip - Nude Patch (female only) for Ether Saga
pw_import.rar - Blender 3D Import plugin for Importing Ether Saga .ski files.(Requires Blender and Python 2.6.4 @ least)
PWPack1.1.zip - Tool used to unpack and re-pack Ether Saga .pck files.
pw_import.rar
Code:
pw_import.py - Python plugin for Blender 3D
Ether Saga Nude Mod v1.0
Code:
ESPatcher.exe - Tool used to patch the Ether Saga pck files.
ESPatcher.xml - File used to set the main pck file.

Inside the DATA folder
ESModel.ski - Edited Model
ESPatchData.xml - Tells which items @ which location to patch
ESTexture.dds - the texture file to be replaced.

This ESPatcher will create a .bak file so you don't lose the original .pck file
PWPack 1.1
Code:
PWPack.exe - Tool used to unpack and re-pack .pck files.
PWPack.xml - Program Information File (I think)
[Code]<?xml version="1.0" encoding="unicode"?>
<Config>
	<PackagePWTailer>Angelica File Package, Beijing E-Pie Entertainment Corporation 2002~2008. All Rights Reserved. </PackagePWTailer>
	<PackageESTailer>Angelica File Package, Perfect World Co. Ltd. 2002~2008. All Rights Reserved. </PackageESTailer>
	<PackageCompression>0</PackageCompression>
</Config>
[/CODE]

Sample Code: Usage _Zoom(1) to Enable, _Zoom(0) to disable.
Code:
Func _Zoom($value) ; turn zoom effect on/off
$pid = ProcessExists($proc)
$dHandles = _MemOpen($pid)
	Switch $value
		Case 0
			_MemWrite($dHandles, 0x00404360,"1317602165",'dword')
		Case 1
			_MemWrite($dHandles, 0x00404360,"1317602283",'dword')
    EndSwitch
EndFunc
Keep in mind that since the new update ONLY the zoom feature is working.
All the pointer offsets, and base address need to be found again, and I have not taken the time yet to do so.

Here's a few images.
A Bit Pet for the Shenzu Race.


and then a pet that's not even available at the character creation screen.


just a few configuration edits found in the configs.pck file.
Attached Images
File Type: jpg nude_eso.jpg (19.1 KB, 317 views)
File Type: jpg Image8.jpg (32.3 KB, 827 views)
Attached Files
File Type: zip elementclient.ct-2-28-2010.zip (1.4 KB, 190 views)
File Type: zip esoMemoryRead.zip (447.8 KB, 235 views)
File Type: zip ESO_Bot-[100%Working].zip (4.6 KB, 216 views)
blinko is offline  
Thanks
6 Users
Old 01/27/2010, 15:33   #2
 
elite*gold: 0
Join Date: Jan 2010
Posts: 1
Received Thanks: 0
I dont really understand from all those other hacks but i have been looking for this zoom for a long time. Its absoluty ridicilous how they made this game so close up my eyes hurt playing thanks for this post. Great help
kanka323 is offline  
Old 01/27/2010, 19:14   #3
 
blinko's Avatar
 
elite*gold: 0
Join Date: Aug 2005
Posts: 499
Received Thanks: 131
Quote:
Originally Posted by kanka323 View Post
I dont really understand from all those other hacks but i have been looking for this zoom for a long time. Its absoluty ridicilous how they made this game so close up my eyes hurt playing thanks for this post. Great help
No problem XD I'm not 100% sure, but it should work for virtually any client.
And the other tool's i've added are things to pack/unpack the games file and a few other modifications done through configuration edits. Then of course the skin/model editing.
blinko is offline  
Old 01/27/2010, 21:43   #4
 
elite*gold: 0
Join Date: Jan 2010
Posts: 2
Received Thanks: 0
Cant pack configs.pck with pwpack1.1 =((
File size must be near 1.5 mb but I have only 600 kb
If I dont use compression I have over 5 mb and this is wrong too
Help me please!
Abarakus is offline  
Old 01/28/2010, 05:47   #5
 
blinko's Avatar
 
elite*gold: 0
Join Date: Aug 2005
Posts: 499
Received Thanks: 131
Quote:
Originally Posted by Abarakus View Post
Cant pack configs.pck with pwpack1.1 =((
File size must be near 1.5 mb but I have only 600 kb
If I dont use compression I have over 5 mb and this is wrong too
Help me please!
No it does work. You're probably doing what I was doing the first time.
When you go to repack the files, you must choose "Ether Saga Online" from the drop down menu, because this has packing/unpacking functions for both perfect world international, and ether saga. They use two different styles of compression I assume. If it will NOT work at all, the ESPPatcher can be used by editing the xml file to include the directories and the files you're wanting. I may try and get a video tutorial up when I can.
blinko is offline  
Thanks
1 User
Old 01/28/2010, 13:15   #6
 
elite*gold: 0
Join Date: Jan 2010
Posts: 2
Received Thanks: 0
Quote:
Originally Posted by blinko View Post
No it does work. You're probably doing what I was doing the first time.
When you go to repack the files, you must choose "Ether Saga Online" from the drop down menu, because this has packing/unpacking functions for both perfect world international, and ether saga. They use two different styles of compression I assume. If it will NOT work at all, the ESPPatcher can be used by editing the xml file to include the directories and the files you're wanting. I may try and get a video tutorial up when I can.
My eyes are opened)) Works great, thank you!
Abarakus is offline  
Old 01/28/2010, 14:39   #7
 
blinko's Avatar
 
elite*gold: 0
Join Date: Aug 2005
Posts: 499
Received Thanks: 131
Quote:
Originally Posted by Abarakus View Post
My eyes are opened)) Works great, thank you!
no problem XD, if ya come up with any good mods be sure to hit me up!
blinko is offline  
Old 01/28/2010, 19:31   #8
 
elite*gold: 0
Join Date: Jun 2008
Posts: 4
Received Thanks: 0
what is with all the nude patches for games with characters that look like little kids you ppl are sick
evilbunny is offline  
Old 01/29/2010, 00:52   #9
 
elite*gold: 0
Join Date: Apr 2009
Posts: 7
Received Thanks: 1
Took me 2 hrs...but i finally got the base address
donaru is offline  
Old 02/03/2010, 02:18   #10
 
blinko's Avatar
 
elite*gold: 0
Join Date: Aug 2005
Posts: 499
Received Thanks: 131
Minimized Operations SOLVED

However, enjoy the bit of code below as it work's with other games with ease (such as Diablo2 <--what it was made for)

-Long bit of code - FULL source-
Code:
Global $VK_TAB          =  0x09
Global $VK_CLEAR        =  0x0C
Global $VK_RETURN       =  0x0D
Global $VK_SHIFT        =  0x10
Global $VK_CONTROL      =  0x11
Global $VK_ESCAPE       =  0x1B
Global $VK_SPACE        =  0x20
Global $VK_LEFT         =  0x25
Global $VK_UP           =  0x26
Global $VK_RIGHT        =  0x27
Global $VK_DOWN         =  0x28
Global $VK_DELETE       =  0x2E
Global $VK_0            =  0x30
Global $VK_1            =  0x31
Global $VK_2            =  0x32
Global $VK_3            =  0x33
Global $VK_4            =  0x34
Global $VK_5            =  0x35
Global $VK_6            =  0x36
Global $VK_7            =  0x37
Global $VK_8            =  0x38
Global $VK_9            =  0x39
Global $VK_A            =  0x41
Global $VK_B            =  0x42
Global $VK_C            =  0x43
Global $VK_D            =  0x44
Global $VK_E            =  0x45
Global $VK_F            =  0x46
Global $VK_G            =  0x47
Global $VK_H            =  0x48
Global $VK_I            =  0x49
Global $VK_J            =  0x4A
Global $VK_K            =  0x4B
Global $VK_L            =  0x4C
Global $VK_M            =  0x4D
Global $VK_N            =  0x4E
Global $VK_O            =  0x4F
Global $VK_P            =  0x50
Global $VK_Q            =  0x51
Global $VK_R            =  0x52
Global $VK_S            =  0x53
Global $VK_T            =  0x54
Global $VK_U            =  0x55
Global $VK_V            =  0x56
Global $VK_W            =  0x57
Global $VK_X            =  0x58
Global $VK_Y            =  0x59
Global $VK_Z            =  0x5A
Global $VK_NUMPAD0      =  0x60
Global $VK_NUMPAD1      =  0x61
Global $VK_NUMPAD2      =  0x62
Global $VK_NUMPAD3      =  0x63
Global $VK_NUMPAD4      =  0x64
Global $VK_NUMPAD5      =  0x65
Global $VK_NUMPAD6      =  0x66
Global $VK_NUMPAD7      =  0x67
Global $VK_NUMPAD8      =  0x68
Global $VK_NUMPAD9      =  0x69
Global $VK_MULTIPLY     =  0x6A
Global $VK_ADD          =  0x6B
Global $VK_SEPARATOR    =  0x6C
Global $VK_SUBTRACT     =  0x6D
Global $VK_DECIMAL      =  0x6E
Global $VK_DIVIDE       =  0x6F
Global $VK_F1           =  0x70
Global $VK_F2           =  0x71
Global $VK_F3           =  0x72
Global $VK_F4           =  0x73
Global $VK_F5           =  0x74
Global $VK_F6           =  0x75
Global $VK_F7           =  0x76
Global $VK_F8           =  0x77
Global $VK_F9           =  0x78
Global $VK_F10          =  0x79
Global $VK_F11          =  0x7A
Global $VK_F12          =  0x7B
Global $VK_F13          =  0x7C
Global $VK_F14          =  0x7D
Global $VK_F15          =  0x7E
Global $VK_F16          =  0x7F
Global $VK_F17          =  0x80
Global $VK_F18          =  0x81
Global $VK_F19          =  0x82
Global $VK_F20          =  0x83
Global $VK_F21          =  0x84
Global $VK_F22          =  0x85
Global $VK_F23          =  0x86
Global $VK_F24          =  0x87
Global $VK_NUMLOCK      =  0x90
Global $VK_SCROLL       =  0x91

Global $VK_OEM_NEC_EQUAL = 0x92   ;// '=' key on numpad

Global $VK_OEM_1         = 0xBA   ;// ';:' for US
Global $VK_OEM_PLUS      = 0xBB   ;// '+' any country
Global $VK_OEM_COMMA     = 0xBC   ;// ',' any country
Global $VK_OEM_MINUS     = 0xBD   ;// '-' any country
Global $VK_OEM_PERIOD    = 0xBE   ;// '.' any country
Global $VK_OEM_2         = 0xBF   ;// '/?' for US
Global $VK_OEM_3         = 0xC0   ;// '`~' for US

Global $VK_OEM_4         = 0xDB  ;//  '[{' for US
Global $VK_OEM_5         = 0xDC  ;//  '\|' for US
Global $VK_OEM_6         = 0xDD  ;//  ']}' for US
Global $VK_OEM_7         = 0xDE  ;//  ''"' for US
Global $VK_OEM_8         = 0xDF

Global $VK_OEM_102       = 0xE2  ;//  "<>" or "\|" on RT 102-key kbd.
Global $VK_ICO_HELP      = 0xE3  ;//  Help key on ICO
Global $VK_ICO_00        = 0xE4  ;//  00 key on ICO
Global $VK_OEM_BACKTAB   = 0xF5


Global $WM_KEYDOWN       = 0x100 ;;declared in WindowConstants.au3
Global $WM_KEYUP         = 0x101 ;;declared in WindowConstants.au3

HotKeySet("{DEL}","SendKey")

Func _SendMinimizedVK($winhandle,$vkstring)
    Local $var = _GetHexByKey_Switch($vkstring)

$dll = DllOpen("user32.dll")
DllCall($dll, "int", "SendMessage", "hwnd", $winhandle, "int", $WM_KEYDOWN, _
		"int", _GetHexByKey_Switch($vkstring), "long", 0)
		DLLClose($dll)
		$dll = DLLOpen("user32.dll")
DllCall($dll, "int", "SendMessage","hwnd", $winhandle,"int", $WM_KEYUP, _
        "int", _GetHexByKey_Switch($vkstring),"long", 0)
DllClose($dll)

EndFunc

Func _SendMinimizedMessage($winhandle,$msgstring,$raw = 0)
    If $winhandle = "" Then
        ;; illegal number of parameters?
        MsgBox(32, "KCH: Problem", "SendMinimizedMessage() called with bad number of params?")
        Return
    EndIf
    Local $i = 0
    while $i < StringLen($msgstring)
        $i = $i + 1
        Local $var = StringMid($msgstring,$i,1)
        if $raw = 1 Then
            _SendMinimizedVK($winhandle,StringMid($msgstring,$i,1))
        Else
            if $var = "{" Then
                Local $var2 = StringInStr(StringMid($msgstring,$i+1),"}",2)
                _SendMinimizedVK($winhandle,StringMid($msgstring,$i+1,$var2-1))
                $i = $i + $var2
            Else
                _SendMinimizedVK($winhandle,StringMid($msgstring,$i,1))
            EndIf
        EndIf
        Sleep(50)
    WEnd
    Return
EndFunc

Func _GetHexByKey_Switch($sKey)
    Switch $sKey
        Case "LeftMouse"
            Return 0x01
        Case "RightMouse"
            Return 0x02
        Case "MiddleMouse"
            Return 0x04
        Case "X1Mouse"
            Return 0x05
        Case "X2Mouse"
            Return 0x06
        Case "BACKSPACE"
            Return 0x08
        Case "TAB"
            Return 0x09
        Case "CLEAR"
            Return 0x0C
        Case "ENTER"
            Return 0x0D
        Case "SHIFT"
            Return 0x10
        Case "CTRL"
            Return 0x11
        Case "ALT"
            Return 0x12
        Case "PAUSE"
            Return 0x13
        Case "CAPSLOCK"
            Return 0x14
        Case "ESC"
            Return 0x1B
        Case " "
            Return 0x20
        Case "SPACE"
            Return 0x20
        Case "PAGE UP"
            Return 0x21
        Case "PAGE DOWN"
            Return 0x22
        Case "END"
            Return 0x23
        Case "HOME"
            Return 0x24
        Case "LEFT"
            Return 0x25
        Case "UP"
            Return 0x26
        Case "RIGHT"
            Return 0x27
        Case "DOWN"
            Return 0x28
        Case "SELECT"
            Return 0x29
        Case "PRINT"
            Return 0x2A
        Case "EXECUTE"
            Return 0x2B
        Case "PRINT SCREEN"
            Return 0x2C
        Case "INS"
            Return 0x2D
        Case "DEL"
            Return 0x2E
        Case "0"
            Return 0x30
        Case "1"
            Return 0x31
        Case "2"
            Return 0x32
        Case "3"
            Return 0x33
        Case "4"
            Return 0x34
        Case "5"
            Return 0x35
        Case "6"
            Return 0x36
        Case "7"
            Return 0x37
        Case "8"
            Return 0x38
        Case "9"
            Return 0x39
        Case "A"
            Return 0x41
        Case "B"
            Return 0x42
        Case "C"
            Return 0x43
        Case "D"
            Return 0x44
        Case "E"
            Return 0x45
        Case "F"
            Return 0x46
        Case "G"
            Return 0x47
        Case "H"
            Return 0x48
        Case "I"
            Return 0x49
        Case "J"
            Return 0x4A
        Case "K"
            Return 0x4B
        Case "L"
            Return 0x4C
        Case "M"
            Return 0x4D
        Case "N"
            Return 0x4E
        Case "O"
            Return 0x4F
        Case "P"
            Return 0x50
        Case "Q"
            Return 0x51
        Case "R"
            Return 0x52
        Case "S"
            Return 0x53
        Case "T"
            Return 0x54
        Case "U"
            Return 0x55
        Case "V"
            Return 0x56
        Case "W"
            Return 0x57
        Case "X"
            Return 0x58
        Case "Y"
            Return 0x59
        Case "Z"
            Return 0x5A
        Case "LWin"
            Return 0x5B
        Case "RWin"
            Return 0x5C
        Case "NUMPAD0"
            Return 0x60
        Case "NUMPAD1"
            Return 0x61
        Case "NUMPAD2"
            Return 0x62
        Case "NUMPAD3"
            Return 0x63
        Case "NUMPAD4"
            Return 0x64
        Case "NUMPAD5"
            Return 0x65
        Case "NUMPAD6"
            Return 0x66
        Case "NUMPAD7"
            Return 0x67
        Case "NUMPAD8"
            Return 0x68
        Case "NUMPAD9"
            Return 0x69
        Case "Multiply"
            Return 0x6A
        Case "Add"
            Return 0x6B
        Case "Separator"
            Return 0x6C
        Case "Subtract"
            Return 0x6D
        Case "Decimal"
            Return 0x6E
        Case "Divide"
            Return 0x6F
        Case "F1"
            Return 0x70
        Case "F2"
            Return 0x71
        Case "F3"
            Return 0x72
        Case "F4"
            Return 0x73
        Case "F5"
            Return 0x74
        Case "F6"
            Return 0x75
        Case "F7"
            Return 0x76
        Case "F8"
            Return 0x77
        Case "F9"
            Return 0x78
        Case "F10"
            Return 0x79
        Case "F11"
            Return 0x7A
        Case "F12"
            Return 0x7B
        Case "F13"
            Return 0x7C
        Case "F16"
            Return 0x7F
        Case "F17"
            Return 0x80
        Case "F18"
            Return 0x81
        Case "F19"
            Return 0x82
        Case "F20"
            Return 0x83
        Case "F21"
            Return 0x84
        Case "F22"
            Return 0x85
        Case "F23"
            Return 0x86
        Case "F24"
            Return 0x87
        Case "NUM LOCK"
            Return 0x90
        Case "SCROLL LOCK"
            Return 0x91
        Case "LSHIFT"
            Return 0xA0
        Case "RSHIFT"
            Return 0xA1
        Case "LCTRL"
            Return 0xA2
        Case "RCTRL"
            Return 0xA3
        Case "LMENU"
            Return 0xA4
        Case "RMENU"
            Return 0xA5
        Case "="
            Return 0x92
        Case ";"
            Return 0xBA
        Case ":"
            Return 0xBA
        Case "+"
            Return 0xBB
        Case ","
            Return 0xBC
        Case "-"
            Return 0xBD
        Case "."
            Return 0xBE
        Case "/"
            Return 0xBF
        Case "?"
            Return 0xBF
        Case "`"
            Return 0xC0
        Case "~"
            Return 0xC0
        Case "["
            Return 0xDB
        Case "{"
            Return 0xDB
        Case "\"
            Return 0xDC
        Case "|"
            Return 0xDC
        Case "]"
            Return 0xDD
        Case "}"
            Return 0xDD
        Case "'"
            Return 0xDE
        Case '"'
            Return 0xDE
        Case "<"
            Return 0xE2
        Case ">"
            Return 0xE2
	EndSwitch

EndFunc   ;==>_GetHexByKey_Switch

$wHandle = ""
$wHandle = WinGetHandle("EtherSaga")

func SendKey()
	_SendMinimizedVK($wHandle,"F5")
;~ 	_SendMinimizedMessage($wHandle,"{F5}",0)
EndFunc

While 1
	sleep(100)
WEnd
blinko is offline  
Thanks
1 User
Old 02/05/2010, 03:13   #11
 
elite*gold: 0
Join Date: Apr 2009
Posts: 7
Received Thanks: 1
well....currently i'm just using mixlife 1.3 which is the one hacked by Leo.

there is an issue with targeting neutral creeps but it retaliates if they attack. so i just put my char in a bunch of aggressive creeps that tries to gang rape me. (my char has pretty high def so they're only doing 1 damage)....pots works and pickup works

so at least there is a work around until we can get that script working
donaru is offline  
Old 02/13/2010, 23:00   #12
 
elite*gold: 0
Join Date: Apr 2009
Posts: 7
Received Thanks: 1
Cos I'm joking
No I'm serious, MixLife works and below are the settings (v.230 13/2/2010), the only thing other than the base address I changed is the target and possibily video (i think?)

HP = &Ha69254,&H28,&H278
MaxHP = &Ha69254,&H28,&H2C8
MP = &Ha69254,&H28,&H27C
MaxMP = &Ha69254,&H28,&H2CC
Level = &Ha69254,&H28,&H270
Exp = &Ha69254,&H28,&H288|double
Money = &Ha69254,&H28,&H3EC
Money_Format = "#0g #0s #0b"
Target = &Ha69254,&H28,&H9D5
Relax = &Ha69254,&H28,&Ha40
X = &Ha69254,&H28,&H3C|float
Z = &Ha69254,&H28,&H40|float
Y = &Ha69254,&H28,&H44|float
Video = &Ha40c9c
Zoom = &H404360
donaru is offline  
Old 02/15/2010, 00:30   #13
 
elite*gold: 0
Join Date: Apr 2009
Posts: 7
Received Thanks: 1
Quote:
Originally Posted by blinko View Post
***MY FIRST POST HAS BEEN UPDATED***

Recently I have found a snippet, I believe it was at the Cheat Engine site..not sure so I cannot give full credit to the person, but there are two different authors in function information, so i guess credits to them for making these XD! It was for sending keys to Diablo 2 while it was minimized.
Below is the code I am using..and what it does it sends the key to my Ether Saga client while it is minimized so this does work ~!, however, It only does it one time, then you have to close out the tool and start it again, then resend it. I tested this using it as a HotKey using the HotKeySet("{DEL}","CALLIT") piece (Pressing Delete key sends the key once)
I have also tested this without a HotKey and while in a loop (as if to loot my items, then attack etc..) it still sends it one time, then needs to
be reset..if we can get it to do this without resulting in the application having to close..we'd have a fully working function to make our bots work while the client is minimized.

-Long bit of code - FULL source-
Code:
Global $VK_TAB          =  0x09
Global $VK_CLEAR        =  0x0C
Global $VK_RETURN       =  0x0D
Global $VK_SHIFT        =  0x10
Global $VK_CONTROL      =  0x11
Global $VK_ESCAPE       =  0x1B
Global $VK_SPACE        =  0x20
Global $VK_LEFT         =  0x25
Global $VK_UP           =  0x26
Global $VK_RIGHT        =  0x27
Global $VK_DOWN         =  0x28
Global $VK_DELETE       =  0x2E
Global $VK_0            =  0x30
Global $VK_1            =  0x31
Global $VK_2            =  0x32
Global $VK_3            =  0x33
Global $VK_4            =  0x34
Global $VK_5            =  0x35
Global $VK_6            =  0x36
Global $VK_7            =  0x37
Global $VK_8            =  0x38
Global $VK_9            =  0x39
Global $VK_A            =  0x41
Global $VK_B            =  0x42
Global $VK_C            =  0x43
Global $VK_D            =  0x44
Global $VK_E            =  0x45
Global $VK_F            =  0x46
Global $VK_G            =  0x47
Global $VK_H            =  0x48
Global $VK_I            =  0x49
Global $VK_J            =  0x4A
Global $VK_K            =  0x4B
Global $VK_L            =  0x4C
Global $VK_M            =  0x4D
Global $VK_N            =  0x4E
Global $VK_O            =  0x4F
Global $VK_P            =  0x50
Global $VK_Q            =  0x51
Global $VK_R            =  0x52
Global $VK_S            =  0x53
Global $VK_T            =  0x54
Global $VK_U            =  0x55
Global $VK_V            =  0x56
Global $VK_W            =  0x57
Global $VK_X            =  0x58
Global $VK_Y            =  0x59
Global $VK_Z            =  0x5A
Global $VK_NUMPAD0      =  0x60
Global $VK_NUMPAD1      =  0x61
Global $VK_NUMPAD2      =  0x62
Global $VK_NUMPAD3      =  0x63
Global $VK_NUMPAD4      =  0x64
Global $VK_NUMPAD5      =  0x65
Global $VK_NUMPAD6      =  0x66
Global $VK_NUMPAD7      =  0x67
Global $VK_NUMPAD8      =  0x68
Global $VK_NUMPAD9      =  0x69
Global $VK_MULTIPLY     =  0x6A
Global $VK_ADD          =  0x6B
Global $VK_SEPARATOR    =  0x6C
Global $VK_SUBTRACT     =  0x6D
Global $VK_DECIMAL      =  0x6E
Global $VK_DIVIDE       =  0x6F
Global $VK_F1           =  0x70
Global $VK_F2           =  0x71
Global $VK_F3           =  0x72
Global $VK_F4           =  0x73
Global $VK_F5           =  0x74
Global $VK_F6           =  0x75
Global $VK_F7           =  0x76
Global $VK_F8           =  0x77
Global $VK_F9           =  0x78
Global $VK_F10          =  0x79
Global $VK_F11          =  0x7A
Global $VK_F12          =  0x7B
Global $VK_F13          =  0x7C
Global $VK_F14          =  0x7D
Global $VK_F15          =  0x7E
Global $VK_F16          =  0x7F
Global $VK_F17          =  0x80
Global $VK_F18          =  0x81
Global $VK_F19          =  0x82
Global $VK_F20          =  0x83
Global $VK_F21          =  0x84
Global $VK_F22          =  0x85
Global $VK_F23          =  0x86
Global $VK_F24          =  0x87
Global $VK_NUMLOCK      =  0x90
Global $VK_SCROLL       =  0x91

Global $VK_OEM_NEC_EQUAL = 0x92   ;// '=' key on numpad

Global $VK_OEM_1         = 0xBA   ;// ';:' for US
Global $VK_OEM_PLUS      = 0xBB   ;// '+' any country
Global $VK_OEM_COMMA     = 0xBC   ;// ',' any country
Global $VK_OEM_MINUS     = 0xBD   ;// '-' any country
Global $VK_OEM_PERIOD    = 0xBE   ;// '.' any country
Global $VK_OEM_2         = 0xBF   ;// '/?' for US
Global $VK_OEM_3         = 0xC0   ;// '`~' for US

Global $VK_OEM_4         = 0xDB  ;//  '[{' for US
Global $VK_OEM_5         = 0xDC  ;//  '\|' for US
Global $VK_OEM_6         = 0xDD  ;//  ']}' for US
Global $VK_OEM_7         = 0xDE  ;//  ''"' for US
Global $VK_OEM_8         = 0xDF

Global $VK_OEM_102       = 0xE2  ;//  "<>" or "\|" on RT 102-key kbd.
Global $VK_ICO_HELP      = 0xE3  ;//  Help key on ICO
Global $VK_ICO_00        = 0xE4  ;//  00 key on ICO
Global $VK_OEM_BACKTAB   = 0xF5


Global $WM_KEYDOWN       = 0x100 ;;declared in WindowConstants.au3
Global $WM_KEYUP         = 0x101 ;;declared in WindowConstants.au3

HotKeySet("{DEL}","SendKey")

Func _SendMinimizedVK($winhandle,$vkstring)
    Local $var = _GetHexByKey_Switch($vkstring)

$dll = DllOpen("user32.dll")
DllCall($dll, "int", "SendMessage", "hwnd", $winhandle, "int", $WM_KEYDOWN, _
		"int", _GetHexByKey_Switch($vkstring), "long", 0)
		DLLClose($dll)
		$dll = DLLOpen("user32.dll")
DllCall($dll, "int", "SendMessage","hwnd", $winhandle,"int", $WM_KEYUP, _
        "int", _GetHexByKey_Switch($vkstring),"long", 0)
DllClose($dll)

EndFunc

Func _SendMinimizedMessage($winhandle,$msgstring,$raw = 0)
    If $winhandle = "" Then
        ;; illegal number of parameters?
        MsgBox(32, "KCH: Problem", "SendMinimizedMessage() called with bad number of params?")
        Return
    EndIf
    Local $i = 0
    while $i < StringLen($msgstring)
        $i = $i + 1
        Local $var = StringMid($msgstring,$i,1)
        if $raw = 1 Then
            _SendMinimizedVK($winhandle,StringMid($msgstring,$i,1))
        Else
            if $var = "{" Then
                Local $var2 = StringInStr(StringMid($msgstring,$i+1),"}",2)
                _SendMinimizedVK($winhandle,StringMid($msgstring,$i+1,$var2-1))
                $i = $i + $var2
            Else
                _SendMinimizedVK($winhandle,StringMid($msgstring,$i,1))
            EndIf
        EndIf
        Sleep(50)
    WEnd
    Return
EndFunc

Func _GetHexByKey_Switch($sKey)
    Switch $sKey
        Case "LeftMouse"
            Return 0x01
        Case "RightMouse"
            Return 0x02
        Case "MiddleMouse"
            Return 0x04
        Case "X1Mouse"
            Return 0x05
        Case "X2Mouse"
            Return 0x06
        Case "BACKSPACE"
            Return 0x08
        Case "TAB"
            Return 0x09
        Case "CLEAR"
            Return 0x0C
        Case "ENTER"
            Return 0x0D
        Case "SHIFT"
            Return 0x10
        Case "CTRL"
            Return 0x11
        Case "ALT"
            Return 0x12
        Case "PAUSE"
            Return 0x13
        Case "CAPSLOCK"
            Return 0x14
        Case "ESC"
            Return 0x1B
        Case " "
            Return 0x20
        Case "SPACE"
            Return 0x20
        Case "PAGE UP"
            Return 0x21
        Case "PAGE DOWN"
            Return 0x22
        Case "END"
            Return 0x23
        Case "HOME"
            Return 0x24
        Case "LEFT"
            Return 0x25
        Case "UP"
            Return 0x26
        Case "RIGHT"
            Return 0x27
        Case "DOWN"
            Return 0x28
        Case "SELECT"
            Return 0x29
        Case "PRINT"
            Return 0x2A
        Case "EXECUTE"
            Return 0x2B
        Case "PRINT SCREEN"
            Return 0x2C
        Case "INS"
            Return 0x2D
        Case "DEL"
            Return 0x2E
        Case "0"
            Return 0x30
        Case "1"
            Return 0x31
        Case "2"
            Return 0x32
        Case "3"
            Return 0x33
        Case "4"
            Return 0x34
        Case "5"
            Return 0x35
        Case "6"
            Return 0x36
        Case "7"
            Return 0x37
        Case "8"
            Return 0x38
        Case "9"
            Return 0x39
        Case "A"
            Return 0x41
        Case "B"
            Return 0x42
        Case "C"
            Return 0x43
        Case "D"
            Return 0x44
        Case "E"
            Return 0x45
        Case "F"
            Return 0x46
        Case "G"
            Return 0x47
        Case "H"
            Return 0x48
        Case "I"
            Return 0x49
        Case "J"
            Return 0x4A
        Case "K"
            Return 0x4B
        Case "L"
            Return 0x4C
        Case "M"
            Return 0x4D
        Case "N"
            Return 0x4E
        Case "O"
            Return 0x4F
        Case "P"
            Return 0x50
        Case "Q"
            Return 0x51
        Case "R"
            Return 0x52
        Case "S"
            Return 0x53
        Case "T"
            Return 0x54
        Case "U"
            Return 0x55
        Case "V"
            Return 0x56
        Case "W"
            Return 0x57
        Case "X"
            Return 0x58
        Case "Y"
            Return 0x59
        Case "Z"
            Return 0x5A
        Case "LWin"
            Return 0x5B
        Case "RWin"
            Return 0x5C
        Case "NUMPAD0"
            Return 0x60
        Case "NUMPAD1"
            Return 0x61
        Case "NUMPAD2"
            Return 0x62
        Case "NUMPAD3"
            Return 0x63
        Case "NUMPAD4"
            Return 0x64
        Case "NUMPAD5"
            Return 0x65
        Case "NUMPAD6"
            Return 0x66
        Case "NUMPAD7"
            Return 0x67
        Case "NUMPAD8"
            Return 0x68
        Case "NUMPAD9"
            Return 0x69
        Case "Multiply"
            Return 0x6A
        Case "Add"
            Return 0x6B
        Case "Separator"
            Return 0x6C
        Case "Subtract"
            Return 0x6D
        Case "Decimal"
            Return 0x6E
        Case "Divide"
            Return 0x6F
        Case "F1"
            Return 0x70
        Case "F2"
            Return 0x71
        Case "F3"
            Return 0x72
        Case "F4"
            Return 0x73
        Case "F5"
            Return 0x74
        Case "F6"
            Return 0x75
        Case "F7"
            Return 0x76
        Case "F8"
            Return 0x77
        Case "F9"
            Return 0x78
        Case "F10"
            Return 0x79
        Case "F11"
            Return 0x7A
        Case "F12"
            Return 0x7B
        Case "F13"
            Return 0x7C
        Case "F16"
            Return 0x7F
        Case "F17"
            Return 0x80
        Case "F18"
            Return 0x81
        Case "F19"
            Return 0x82
        Case "F20"
            Return 0x83
        Case "F21"
            Return 0x84
        Case "F22"
            Return 0x85
        Case "F23"
            Return 0x86
        Case "F24"
            Return 0x87
        Case "NUM LOCK"
            Return 0x90
        Case "SCROLL LOCK"
            Return 0x91
        Case "LSHIFT"
            Return 0xA0
        Case "RSHIFT"
            Return 0xA1
        Case "LCTRL"
            Return 0xA2
        Case "RCTRL"
            Return 0xA3
        Case "LMENU"
            Return 0xA4
        Case "RMENU"
            Return 0xA5
        Case "="
            Return 0x92
        Case ";"
            Return 0xBA
        Case ":"
            Return 0xBA
        Case "+"
            Return 0xBB
        Case ","
            Return 0xBC
        Case "-"
            Return 0xBD
        Case "."
            Return 0xBE
        Case "/"
            Return 0xBF
        Case "?"
            Return 0xBF
        Case "`"
            Return 0xC0
        Case "~"
            Return 0xC0
        Case "["
            Return 0xDB
        Case "{"
            Return 0xDB
        Case "\"
            Return 0xDC
        Case "|"
            Return 0xDC
        Case "]"
            Return 0xDD
        Case "}"
            Return 0xDD
        Case "'"
            Return 0xDE
        Case '"'
            Return 0xDE
        Case "<"
            Return 0xE2
        Case ">"
            Return 0xE2
	EndSwitch

EndFunc   ;==>_GetHexByKey_Switch

$wHandle = ""
$wHandle = WinGetHandle("EtherSaga")

func SendKey()
	_SendMinimizedVK($wHandle,"F5")
;~ 	_SendMinimizedMessage($wHandle,"{F5}",0)
EndFunc

While 1
	sleep(100)
WEnd
This piece includes no memory reading stuff, however, this is more than enough to start a bot with. Another thing i thought of since it wasn't working how i want it to..if it must be reset each time then I might try to make a separate .exe file. One exe will send ONLY keys to the window through command line calling.

For example my bot would be running and reading memory

if $currentHP <= 1500 then
ShellExecute(@WorkingDir & "\ESOSend.exe", " F3")
EndIF

But i dunno yet..any ideas?
hmmm..... reading memory and executing the key sets is a workable solution, I've been thinking about how to target the creeps and move on to the next creep when it dies.

Just not sure what to check in for in those memory offsets.

But the minimize key send is awessome ... I was about to look into it but this info saves me the trouble. Thank you !!!!
donaru is offline  
Old 02/15/2010, 08:47   #14
 
elite*gold: 0
Join Date: Oct 2008
Posts: 2
Received Thanks: 0
I have a slight issue with your element client.ct
i open it up and link it to ether saga. but the addresses are all ?????? as are the values.
bluerune is offline  
Old 02/17/2010, 18:10   #15
 
elite*gold: 0
Join Date: Jan 2009
Posts: 31
Received Thanks: 2
Is it possible to make an Imbue Rate hack?
Since theres no Hack Protection, recording and analyzing packets is relatively easy but then sending them without being disconnected isn't.

/Edit
Are these addys updated or we need to update them ourselves?
weird0ne is offline  
Closed Thread


Similar Threads Similar Threads
Ether Saga Online Bot
02/28/2013 - General Gaming Discussion - 317 Replies
sorry for my post now mixlife cant support for u
Ether saga online
06/22/2010 - Main - 0 Replies
Hi, ich denke mal manche von euch kennen Ether Saga online nun wollte ich mir (free zen) holen und was ingame (E-Buck) heißt ... nun habe ich das gemacht halt auch earn zen dann kostenlos drauf geklickt angemeldet email bekommen bestätigt nun müsste ich die zen bekommen haben aber i wie bekomme ich sie net Plz help me ;)
Ether Saga Online - my 1st bot
04/08/2010 - General Gaming Discussion - 15 Replies
The reason for this bot is the limitations I encountered with Possessor. This is actually my 2nd bot :p The 1st bot was in pure AutoIt. It was slow and couldn't do some of the features I wanted. So I decided to redo it in C#. Screen Shots: http://img502.imageshack.us/img502/4343/botstatus .jpg http://img442.imageshack.us/img442/7205/botconfig. jpg http://img189.imageshack.us/img189/9546/botskills .jpg http://img109.imageshack.us/img109/6998/botfilter. jpg...
Ether Saga Online...
11/03/2009 - General Gaming Discussion - 0 Replies
Hmm... I've been reading posts and it seems people have posted that people get 200g in 2 - 3 days... I have been playing about 3 days and I have only got 1 gold. Can anyone tell me how I can get alot of gold? xD >.<.



All times are GMT +2. The time now is 11:31.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.