Register for your free account! | Forgot your password?

Go Back   elitepvpers > General Gaming > General Gaming Discussion
You last visited: Today at 19:12

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

 

Eden Eternal Simple Bot

Closed Thread
 
Old   #286
 
elite*gold: 0
Join Date: Oct 2008
Posts: 1
Received Thanks: 0
how to use it?



klonoa5000 is offline  
Old   #287
 
elite*gold: 0
Join Date: Aug 2005
Posts: 499
Received Thanks: 130
Quote:
Originally Posted by blisszero View Post
venin bot is possible need zoom hack
There is a zoom hack already posted earlier within this thread, I think page 27 maybe if not its page 28..one of them !

Quote:
Originally Posted by Verlo View Post
when u hit vl 45! Gold Farming is CAKE! =] i got over 3k Gold. im vl 50. Just Do Veninfang (Bard) Runs & Take a person with you for 5g a run. =] that way they get exp too..
And I've offered to pay a guy to run me but he told me I must be lvl45 to even pay for a run...but if I am bringing someone..I must be a bard? This confused me a bit.


blinko is offline  
Old   #288
 
elite*gold: 20
Join Date: Aug 2007
Posts: 1,357
Received Thanks: 1,261
Well, you have to be lvl 45 to enter the dungeon that everyone farms gold in. If you're trading runs, the you have to be a bard that is able to do a venin run. Otherwise, you can be any class and just pay someone to power lvl you.

strikeraid is offline  
Old   #289
 
elite*gold: 0
Join Date: Aug 2011
Posts: 5
Received Thanks: 0
Quote:
Originally Posted by overe View Post
This is my first / simple bot for Eden Eternal game:

NEW, OverEE v1.3:


OverEE v1.2:


(use the virustotal.com, to analisy the files for any viruses)

- NEW, 3 SKILL KEYS
- Auto-pot HP/MP (0 = unabled)
- Simple auto-bot (battle/grind)

Theres only one option to skill key. =/

Its a very simple project! I need to learn more, to do great things...

Thanks...

CODE, OverEE v1.3:
Code:
#RequireAdmin
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=icon.ico
GUISetIcon("icon.ico")
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

#Obfuscator_Off
#include <File.au3>
#include <GuiEdit.au3>
#include <GuiStatusBar.au3>
#include <GuiConstantsEx.au3>
#include <GUIButton.au3>
#include <GUIToolbar.au3>
#include <ProgressConstants.au3>
#include <SliderConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
#include <NomadMemory.au3>
#include <Array.au3>
#Obfuscator_On

;********************************************************************************
;* Options                                                                      *
;********************************************************************************
Opt("GUICloseOnESC", 0)
Opt("GUIOnEventMode", 1)
Opt("TrayAutoPause", 0)
Opt("TrayMenuMode", 1)


;********************************************************************************
;* Global Software Control Information                                          *
;********************************************************************************
; Declare Process Variables
Global $APP_BASE_ADDRESS = 0x00C62E70, $TARGET_BASE_ADDRESS = 0x005CF71F
Global $APP_TITLE = "Eden Eternal", $KERNEL32 = DllOpen('kernel32.dll')
Global $PROCESS_ID = WinGetProcess($APP_TITLE)
Global $PROCESS_INFORMATION = _MemoryOpen($PROCESS_ID)
Global $APP_PATH = _ProcessIdPath($PROCESS_ID)
Global $ANSWER = ""
While (@error)
	$ANSWER = InputBox("Não foi possível encontrar o EE!", "Não foi possível encontrar o EE! Digite o titulo de seu EE no campo abaixo e clique em Ok.", "Eden Eternal", "", -1, -1, 0, 0)
	If $ANSWER = "" Then
		Exit
	EndIf
	Global $APP_TITLE = $ANSWER
	Global $PROCESS_ID = WinGetProcess($APP_TITLE), $PROCESS_INFORMATION = _MemoryOpen($PROCESS_ID), $APP_PATH = _ProcessIdPath($PROCESS_ID)
WEnd

; Declare Menu Bar Variables
$OVERBOT = GUICreate("OverEE v1.3", 230, 255, 0, 0)

$LABEL_HP_STATUS = GUICtrlCreateLabel("", 15, 14, 130, 15)
GUICtrlSetColor(-1, 0x000000)

GUICtrlCreateLabel("Use at: ", 110, 14, 35, 15)
GUICtrlSetColor(-1, 0x000000)

GUICtrlCreateLabel("Simple bot developed by Lyax @ EE", 30, 230, 240, 15)
GUICtrlSetColor(-1, 0x000000)

$LABEL_MP_STATUS = GUICtrlCreateLabel("", 15, 48, 130, 15)
GUICtrlSetColor(-1, 0x000000)

GUICtrlCreateLabel("Use at: ", 110, 48, 35, 15)
GUICtrlSetColor(-1, 0x000000)

$bt_close = GUICtrlCreateButton("Exit", 130, 195)
GUICtrlSetOnEvent($bt_close, "bt_close_Click")  
Global $close = 1

$bt_battle = GUICtrlCreateButton("Battle Start", 50, 195)
GUICtrlSetOnEvent($bt_battle, "bt_battle_Click")  

GUICtrlCreateLabel("HP Key: ", 15, 78, 40, 15)
GUICtrlSetColor(-1, 0x000000)

GUICtrlCreateLabel("MP Key: ", 110, 78, 40, 15)
GUICtrlSetColor(-1, 0x000000)

GUICtrlCreateLabel("Skill Key: ", 105, 108, 45, 15)
GUICtrlSetColor(-1, 0x000000)

GUICtrlCreateLabel("Skill Key: ", 105, 138, 45, 15)
GUICtrlSetColor(-1, 0x000000)

GUICtrlCreateLabel("Skill Key: ", 105, 168, 45, 15)
GUICtrlSetColor(-1, 0x000000)

Global $SKILL_CT = 3, $IPT_KEY_SKILL[$SKILL_CT]

$IPT_KEY_SKILL[0] = GUICtrlCreateInput("", 161, 108, 30, 15)
GUICtrlSetData($IPT_KEY_SKILL[0], "1")

$IPT_KEY_SKILL[1] = GUICtrlCreateInput("", 161, 138, 30, 15)
GUICtrlSetData($IPT_KEY_SKILL[1], "1")

$IPT_KEY_SKILL[2] = GUICtrlCreateInput("", 161, 168, 30, 15)
GUICtrlSetData($IPT_KEY_SKILL[2], "1")

$LABEL_TARGET_STATUS = GUICtrlCreateLabel("Stopped", 15, 108, 80, 15)
GUICtrlSetColor(-1, 0x000000)

$IPT_KEY_HP = GUICtrlCreateInput("", 66, 78, 30, 15)
GUICtrlSetData($IPT_KEY_HP, "2")

$IPT_KEY_MP = GUICtrlCreateInput("", 161, 78, 30, 15)
GUICtrlSetData($IPT_KEY_MP, "3")


$IPT_HP = GUICtrlCreateInput("", 150, 14, 60, 15)
GUICtrlSetData($IPT_HP, "0")

$IPT_MP = GUICtrlCreateInput("", 150, 48, 60, 15)
GUICtrlSetData($IPT_MP, "0")

GuiSetState(@SW_SHOW)

Global $OFFSET_HP[3]
$OFFSET_HP[0] = 0
$OFFSET_HP[1] = 0x04
$OFFSET_HP[2] = 0x0C

Global $OFFSET_MP[3]
$OFFSET_MP[0] = 0
$OFFSET_MP[1] = 0x08
$OFFSET_MP[2] = 0x0C

Global $OFFSET_TARGET[2]
$OFFSET_TARGET[0] = 0
$OFFSET_TARGET[1] = 0x08

Global $baseADDR = _MemoryRead($APP_BASE_ADDRESS, $PROCESS_INFORMATION)
Global $HANDLE = WinGetHandle("Eden Eternal")
Global $HANDLE = ControlGetHandle($APP_TITLE, "", "")
$LVL1 =  '0x' & Hex($baseADDR + $OFFSET_HP[2])
$baseADDR = _MemoryRead($LVL1, $PROCESS_INFORMATION);

;CHAR INFO
Global $ADDR_HP =  '0x' & Hex($baseADDR + $OFFSET_HP[1])
Global $ADDR_MP =  '0x' & Hex($baseADDR + $OFFSET_MP[1])

;TARGET
$baseADDR = _MemoryRead($TARGET_BASE_ADDRESS, $PROCESS_INFORMATION)
$LVL1 =  '0x' & Hex($baseADDR + $OFFSET_TARGET[1])

Global $ADDR_TARGETED = '0x' & Hex($LVL1)
Global $BATTLE_STARTED = 0, $TARGETED = 0, $ATK_TIME = 0, $ATK_MAX_TIME = 15000
;sgBox(0, "ae", ":" &  _MemoryRead($ADDR_TARGETED, $PROCESS_INFORMATION))


;Exit

Global $HEAL_HP = 0, $HEAL_MP = 0
Global $HP, $MP

GUICtrlSetData($IPT_HP, Int(_MemoryRead($ADDR_HP, $PROCESS_INFORMATION)/2))

;********************************************************************************
;* Main Loop                                                                    *
;********************************************************************************

;WinActivate($APP_TITLE)

While ($close) ;==>Main Loop
	checkStatus()
	;_SendMessage($HANDLE, 256, 112);
	;_SendMessage($HANDLE, 0x4d, 0);
	;_PostMessage($HANDLE, 256, 49, 0x20001);
	
	;_PostMessage($HANDLE, 257, 49, 0x20001);
	;_SendMessage($HANDLE, 256, KEYCODE("{1}"))
	;sControlSend($HANDLE, "", "", "{1}")
	if($BATTLE_STARTED = 1) Then
		controlBattle()
	EndIf
	Sleep(200)
WEnd ;==>Main Loop

Func controlBattle()
	selectTarget()
	attackTarget()
EndFunc

Func attackTarget()
	GUICtrlSetData($LABEL_TARGET_STATUS, "Attacking target")
	$ATK_TIME = 0
	$SKILL = 0
	$SKILL_TIME = 0
	while($TARGETED > 0 And $BATTLE_STARTED = 1 And $ATK_TIME <= $ATK_MAX_TIME)
		$ATK_TIME += 200
		$SKILL_TIME += 200
		Send("{" & GUICtrlRead($IPT_KEY_SKILL[$SKILL]) & "}")
		checkStatus()
		Sleep(100)
		if($SKILL_TIME >= 400) Then
			$SKILL += 1
			if($SKILL_CT = $SKILL) Then
				$SKILL = 0
			EndIf
		EndIf
		Sleep(100)
		$TARGETED = _MemoryRead($ADDR_TARGETED, $PROCESS_INFORMATION)
	WEnd
	$TARGETED = 0
EndFunc

Func selectTarget()
	GUICtrlSetData($LABEL_TARGET_STATUS, "Looking target")
	while($TARGETED = 0 And $BATTLE_STARTED = 1)
		checkStatus()
		Send("{TAB}")
		Sleep(150)
		$TARGETED = _MemoryRead($ADDR_TARGETED, $PROCESS_INFORMATION)
	WEnd
EndFunc

Func checkStatus()
	checkHP()
	Sleep(50)
	checkMP()
	GUICtrlSetData($LABEL_HP_STATUS, "Current HP: " & $HP)
	GUICtrlSetData($LABEL_MP_STATUS, "Current MP: " & $MP)
EndFunc

Func checkHP()
	$HEAL_HP = GUICtrlRead($IPT_HP)
	$HP = _MemoryRead($ADDR_HP, $PROCESS_INFORMATION)
	if ($HP < $HEAL_HP) Then
		Send("{" & GUICtrlRead($IPT_KEY_HP) & "}")
	EndIf
EndFunc

Func checkMP()
	$HEAL_MP = GUICtrlRead($IPT_MP)
	$MP = _MemoryRead($ADDR_MP, $PROCESS_INFORMATION)
	if ($MP < $HEAL_MP) Then
		Send("{" & GUICtrlRead($IPT_KEY_MP) & "}")
	EndIf
EndFunc

Func bt_close_Click()
	$close = 0
EndFunc

Func bt_battle_Click()
	if($BATTLE_STARTED = 1) Then
		GUICtrlSetData($bt_battle, "Battle Start")
		$BATTLE_STARTED = 0
	Else
		GUICtrlSetData($bt_battle, "Battle Stop")
		$BATTLE_STARTED = 1
	EndIf
EndFunc

Func _ProcessIdPath ( $vPID )
    Local $objWMIService, $oColItems
    Local $sNoExePath = ''
    Local Const $wbemFlagReturnImmediately = 0x10
    Local Const $wbemFlagForwardOnly = 0x20

    Local $RetErr_ProcessDoesntExist = 1
    Local $RetErr_ProcessPathUnknown = 2
    Local $RetErr_ProcessNotFound = 3
    Local $RetErr_ObjCreateErr = 4
    Local $RetErr_UnknownErr = 5

    If Not ProcessExists ( $vPID )  Then
        SetError ( $RetErr_ProcessDoesntExist )
        Return $sNoExepath
    EndIf

    $objWMIService = ObjGet ( 'winmgmts:\\localhost\root\CIMV2' )
    $oColItems = $objWMIService.ExecQuery  ( 'SELECT * FROM Win32_Process', 'WQL', $wbemFlagReturnImmediately + $wbemFlagForwardOnly )

    If IsObj ( $oColItems )  Then
        For $objItem In $oColItems
            If $vPID = $objItem.ProcessId Then
                If $objItem.ExecutablePath = '0' Then
                    If FileExists ( @SystemDir & '\' & $objItem.Caption )  Then
                        Return @SystemDir & '\' & $objItem.Caption
                    Else
                        SetError ( $RetErr_ProcessPathUnknown )
                        Return $sNoExepath
                    EndIf
                Else
                    Return $objItem.Executablepath
                EndIf
            EndIf
        Next
        SetError ( $RetErr_ProcessNotFound )
        Return $sNoExepath
    Else
        SetError ( $RetErr_ObjCreateErr )
        Return $sNoExepath
    EndIf

    SetError ( $RetErr_UnknownErr )
    Return $sNoExepath
EndFunc		;==>_ProcessIdPath

Func Keycode($key)
	If $key == "{F1}" Then
		Return 112
	ElseIf $key == "{F2}" Then
		Return 113
	ElseIf $key == "{F3}" Then
		Return 114
	ElseIf $key == "{F4}" Then
		Return 115
	ElseIf $key == "{F5}" Then
		Return 116
	ElseIf $key == "{F6}" Then
		Return 117
	ElseIf $key == "{F7}" Then
		Return 118
	ElseIf $key == "{F8}" Then
		Return 119
	ElseIf $key == "{0}" Then
		Return 48
	ElseIf $key == "{1}" Then
		Return 49
	ElseIf $key == "{2}" Then
		Return 50
	ElseIf $key == "{3}" Then
		Return 51
	ElseIf $key == "{4}" Then
		Return 52
	ElseIf $key == "{5}" Then
		Return 53
	ElseIf $key == "{6}" Then
		Return 54
	ElseIf $key == "{7}" Then
		Return 55
	ElseIf $key == "{8}" Then
		Return 56
	ElseIf $key == "{9}" Then
		Return 57
	ElseIf $key == "{TAB}" Then
		Return 9
	ElseIf $key == "{LMB}" Then
		Return 1
	ElseIf $key == "{RMB}" Then
		Return 2
	ElseIf $key == "{SHIFT}" Then
		Return 160
	ElseIf $key == "{CTRL}" Then
		Return 162
	ElseIf $key == "{ALT}" Then
		Return 18
	ElseIf $key == "{SPACE}" Then
		Return 32
	ElseIf $key == "{ESC}" Then
		Return 27
	ElseIf $key == "{+}" Then
		Return 107
	ElseIf $key == "{-}" Then
		Return 109
	Else
		Return "none"
	EndIf
EndFunc		;==>

Func _PostMessage($hWnd, $msgID, $wParam, $lParam) 
	Local $ret = DllCall("user32.dll", "int", "PostMessage", "hwnd", $hWnd, "int", $msgID, "int", $wParam, "int", $lParam) 
	If IsArray($ret) Then 
		Return $ret[0] 
	Else 
		SetError(-1) 
		Return False 
	EndIf 
EndFunc
Quote:
Originally Posted by ClusterSam View Post
to see what problem is on windows vista, i need you to go to cheat engine and atach it to eden eternal. the process is named _Launcher.exe, and then add adress manually then put it there "_Launcher.exe"+00871E98, then click ok, and tell me the resultant adress. the adress showed should be 00C71E98.

keep me informed, i hope i have helped



if you at least read a few pages back, you would find the link on page 22




http://www.elitepvpers.com/forum/att...t_v1.1.exe.zip
EEBot_v1.1 doesn't work anymore because Eden Eternal Updated just now please make na new link for the new bot thanks for EEBot_v1.1 anyway its a good bot


toks1709 is offline  
Old   #290
 
elite*gold: 0
Join Date: Aug 2005
Posts: 499
Received Thanks: 130
Yikes !

It seems there is a new update ! NEver fear I've already got ya covered.

Here is the new updated sources to the EEBot_v1.1.au3
New required files are EEAutoPilot.settings file (can be edited in notepad to your liking) although this is only used for the EEMem.au3to detect the launcher.exe without declaring to do so from the EEMemOpen() function.
All Memory functions slightly altered to perform more as I please. The memory open function can just now be used as $handle = _EEMemRead($pid) <--$pid is found inside the settings file ! However only the _EEMemRead() function uses the _EEMemOpen(). The _EEMemRead() will open the process stored in the settings file, and then read the BaseAddress + the offset (GetBaseAddress() for that), and then close the process using _EEMemClose(). All in one go so it's much less code to work with. I've made the EEMem.au3 separate from a new EEData.au3 file which stores the memory offsets, and addresses (soon to be edited to use the settings file) Then of course the GUI and bot are the EEBot_v1.1.au3.

Attached Below !!


Or for those who prefer to copy and paste. The code isn't very cleaned up yet. Still some tester things in there like the F7 hotkey which displays all the addresses and offsets I've currently got stored in the EEData.au3..Was a way for me to test multiple stats at once. So it's a bit cluttered, but easily worked with. An extra memory address added for Player Name, one is a static client address, the other is an offset of 1B8 at the new Memory Base Address 0x00C7AED8. Zoom Address has been fixed as well can now continue zooming out :O !

EEMem.au3
Code:
#include-once

Func _EEMemOpen($DWACCESS = 0x1F0FFF, $DWINHERITHANDLE = 1)

$DWPROCID = ProcessExists(IniRead(@WorkingDir & "\EEAutoPilot.settings","main","exe",""))

If $DWPROCID = 0 then
	MsgBox(0,"","Process Doesn't Exist!" & @crlf & "If however it DOES, then something is terribly wrong !")
	exit 0
EndIf

	local $DWHANDLES[2] = [DllOpen("kernel32.dll")]
	If @error Then
		SetError(2)
		Return 0
	EndIf
	Local $DWOPENPROC = DllCall($DWHANDLES[0], "int", "OpenProcess", "int", $DWACCESS, "int", $DWINHERITHANDLE, "int", $DWPROCID)
	If @error Then
		SetError(3)
		Return 0
	EndIf
	$DWHANDLES[1] = $DWOPENPROC[0]
	Return $DWHANDLES
EndFunc

Func _EEMemClose($DWHANDLES)
	If Not IsArray($DWHANDLES) Then
		SetError(1)
		Return 0
	EndIf
	DllCall($DWHANDLES[0], "int", "CloseHandle", "int", $DWHANDLES[1])
	If Not @error Then
		DllClose($DWHANDLES[0])
		Return 1
	Else
		DllClose($DWHANDLES[0])
		SetError(2)
		Return 0
	EndIf
EndFunc

Func _EEMemRead($DWADDRESS, $DWTYPE = "dword")
	$DWHANDLES = _EEMemOpen()
	If Not IsArray($DWHANDLES) Then
		SetError(1)
		Return 0
	EndIf
	Local $DWBUFFER = DllStructCreate($DWTYPE)
	If @error Then
		SetError(@error + 1)
		Return 0
	EndIf
	DllCall($DWHANDLES[0], "int", "ReadProcessMemory", "int", $DWHANDLES[1], "int", $DWADDRESS, "ptr", DllStructGetPtr($DWBUFFER), "int", DllStructGetSize($DWBUFFER), "int", "")
	If Not @error Then
		Local $DWVALUE = DllStructGetData($DWBUFFER, 1)
		_EEMemClose($DWHANDLES)
		Return $DWVALUE
	Else
		SetError(6)
		Return 0
	EndIf
EndFunc

Func _EEMemWrite($DWADDRESS, $DWDATA, $DWTYPE = "dword")
	$DWHANDLES = _EEMemOpen()
	If Not IsArray($DWHANDLES) Then
		SetError(1)
		Return 0
	EndIf
	Local $DWBUFFER = DllStructCreate($DWTYPE)
	If @error Then
		SetError(@error + 1)
		Return 0
	Else
		DllStructSetData($DWBUFFER, 1, $DWDATA)
		If @error Then
			SetError(6)
			Return 0
		EndIf
	EndIf
	DllCall($DWHANDLES[0], "int", "WriteProcessMemory", "int", $DWHANDLES[1], "int", $DWADDRESS, "ptr", DllStructGetPtr($DWBUFFER), "int", DllStructGetSize($DWBUFFER), "int", "")
	If Not @error Then
		Return 1
	Else
		SetError(7)
		Return 0
	EndIf
	_EEMemClose($DWHANDLES)
EndFunc
EEData.au3
Code:
;EEBot - Data Source
#include 'EEMem.au3'

#Region======================================MISC FUNCTIONS==========================================================================

;~ Function-'Format'-Description-------------------------------------------------------
;~ Format Function Created by Blinko
;~ Description: Format( $value )
;~       This was made to imitate Visual Basic's Format Function.
;~ 		 Where (Example Text1 = Format( Text1, "###,###" )
;~ 		 If Text1.text = 1000
;~ 		 then Format(Text1, "###,###") = 1,000
;~ 		 However AutoIt doesnt have a function for this. So i made one up.
;~
;~ Usage: Format($expression, $separator, $nSize)
;~      As the Above Example u want a string like 100000 to read as 100,000
;~      You simply say for example Format('100000' , ',' , 3)
;~      Usage Example: GuiCtrlSetData( $Label, Format(GetPlayerGold(), ',' , 3) )
;~      You may also use "," instead of ',' it does not matter :P
;~ ---------------------------------------------------------------------------------------

Func Format($expression, $separator, $nSize)
	Local $split = StringSplit($expression, "")
    Local $newText = ""
    Local $counter = 0
    If StringLen($expression) > $nSize Then
        For $i = $split[0] To 1 Step -1
            If $counter = $nSize Then
                $newText = $split[$i] & $separator & $newText
                $counter = 0
            Else
                $newText = $split[$i] & $newText
            EndIf
            $counter +=1
        Next
	Else
		$expression = $expression
		Return $expression
    EndIf

	Return $newText
EndFunc

#EndRegion===========================================================================================================================










;~ local $app_base = 0x00C71E98
local $app_base = 0x00C7AED8
local $app_base_offset = 0xC
;~ local $Zoom_ADDR = 0x00C7157C
local $Zoom_ADDR = 0x00C7A5BC
local $pname = 0x00C7ADC4 ;static name
;~ local $ptarget = 0x00C71EAC
local $ptarget = 0x00C7AEEC
local $ZOOM_OFFSET1 = 0x54
local $OFFSET_CurHP = 0x4
local $OFFSET_MaxHP = 0x4C
local $OFFSET_CurMP = 0x8
local $OFFSET_MaxMP = 0x50
local $OFFSET_TARGET = 0x08
local $OFFSET_EXP = 0x18
local $OFFSET_CEXP = 0x20
local $OFFSET_CLASSLVL = 0x24
local $OFFSET_BASELVL = 0x1C
local $OFFSET_PDEF = 0x64
local $OFFSET_PCRIT = 0x11C
local $OFFSET_PACC = 0x118
local $OFFSET_PSTR = 0x144
local $OFFSET_PAGI = 0x150
local $OFFSET_PINT = 0x14C
local $OFFSET_PWIS = 0x154
local $OFFSET_PLCK = 0x158
local $OFFSET_GUILDTITLE = 0x1F0
local $OFFSET_PNAME = 0x1B8 ;offset for player name from app base address

func GetBaseAddress()
	local $base = _EEMemRead($app_base)
	local $ptr =  '0x' & Hex($base + $app_base_offset)
	local $base_address = _EEMemRead($ptr)
	return $base_address
EndFunc

local $CurHP = '0x' & Hex(GetBaseAddress() + $OFFSET_CurHP)
local $MaxHP = '0x' & Hex(GetBaseAddress() + $OFFSET_MaxHP)
local $CurMP = '0x' & Hex(GetBaseAddress() + $OFFSET_CurMP)
local $MaxMP = '0x' & Hex(GetBaseAddress() + $OFFSET_MaxMP)
local $CurEXP = '0x' & Hex(GetBaseAddress() + $OFFSET_EXP)

local $CurCEXP = '0x' & Hex(GetBaseAddress() + $OFFSET_CEXP)

local $ClassLVL = '0x' & Hex(GetBaseAddress() + $OFFSET_CLASSLVL)
local $BaseLVL = '0x' & Hex(GetBaseAddress() + $OFFSET_BASELVL)
local $PlayerDEF = '0x' & Hex(GetBaseAddress() + $OFFSET_PDEF)
local $PlayerPCRIT = '0x' & Hex(GetBaseAddress() + $OFFSET_PCRIT)
local $PlayerPSTR = '0x' & Hex(GetBaseAddress() + $OFFSET_PSTR)
local $PlayerPAGI = '0x' & Hex(GetBaseAddress() + $OFFSET_PAGI)
local $PlayerPINT = '0x' & Hex(GetBaseAddress() + $OFFSET_PINT)
local $PlayerPWIS = '0x' & Hex(GetBaseAddress() + $OFFSET_PWIS)
local $PlayerPLCK = '0x' & Hex(GetBaseAddress() + $OFFSET_PLCK)
local $PlayerPACC = '0x' & Hex(GetBaseAddress() + $OFFSET_PACC)
local $PlayerGuildTitle = '0x' & Hex(GetBaseAddress() + $OFFSET_GUILDTITLE)
local $PlayerPNAME = '0x' & Hex(GetBaseAddress() + $OFFSET_PNAME)

func ReadEE($type)

		switch $type

			Case "player_name"
				$p_name = _EEMemRead($PlayerPNAME, "char[16]")
			return String($p_name)

			Case "player_guild_title"
				$p_guildt = _EEMemRead($PlayerGuildTitle, "char[16]")
			return String($p_guildt)

			Case "player_str"
				$p_str = _EEMemRead($PlayerPSTR, "dword")
			return Int($p_str)

			Case "player_agi"
				$p_agi = _EEMemRead($PlayerPAGI, "dword")
			return Int($p_agi)

			Case "player_int"
				$p_int = _EEMemRead($PlayerPINT, "dword")
			return Int($p_int)

			Case "player_acc"
				$p_acc = _EEMemRead($PlayerPACC, "float")
			return Int($p_acc)

			Case "player_crit"
				$p_crit = _EEMemRead($PlayerPCRIT, "float")
			return Int($p_crit)

			Case "player_def"
				$p_def = _EEMemRead($PlayerDEF, "dword")
			return Int($p_def)

			case "base_lvl"
				$base_lvl = _EEMemRead($BaseLVL, "dword")
			return Int($base_lvl)

			case "class_lvl"
				$class_lvl = _EEMemRead($ClassLVL, "dword")
			return Int($class_lvl)

			case "current_cexp"
				$cur_cexp = _EEMemRead($CurCEXP, "dword")
			return Int($cur_cexp)


			case "current_exp"
				$cur_exp = _EEMemRead($CurEXP, "dword")
			return Int($cur_exp)


			case "player_target"
				$targetbaseADDR = _EEMemRead($ptarget,"dword")
				$target =  '0x' & Hex($targetbaseADDR + $OFFSET_TARGET)
				$targeted = '0x' & Hex($target)
				$target = _EEMemRead($targeted, "dword")
				Return Int($target)

			case "name"
				$name = _EEMemRead($pname, "char[16]")
			return String($name)

			case "current_hp"
				$cur_hp = _EEMemRead($CurHP, "dword")
				return Int($cur_hp)

			case "max_hp"
				$max_hp = _EEMemRead($MaxHP)
			return Int($max_hp)

			case "current_mp"
				$cur_mp = _EEMemRead($CurMP)
			return Int($cur_mp)

			case "max_mp"
				$max_mp = _EEMemRead($MaxMP)
			return Int($max_mp)

		EndSwitch

EndFunc

func WriteEE($address,$offset,$value)
	;"1198383360" zoom hack value
	;1098383360 normal value

	$1 = _EEMemRead($address, "dword")
	_EEMemWrite($1 + $offset, $value, "dword")
EndFunc

Func ZoomHack()
	WriteEE($Zoom_ADDR,$ZOOM_OFFSET1,"1198383360")
EndFunc
EEBot_V1.1au3
Code:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_outfile=EEBot_v1.1.exe
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_Add_Constants=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#CS--------------------------------------------------------------------
;~ 	Brought to you by Blinko of Blinko's Box 2001-2011
;~ 	   ______                            ______
;~   (, /    ) /) ,     /)     /       (, /    )
;~     /---(  //   __  (/_  ___ _        /---(  _____/
;~  ) / ____)(/__(_/ (_/(__(_) /_)_   ) / ____)(_)  /(__
;~ (_/ (                             (_/ (         /


#CE--------------------------------------------------------------------

#include 'EEData.au3'
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIComboBoxEx.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

opt("GuiOnEventMode",1)
global $running,$hastarget,$stopped = 0

HotKeySet("{F5}","RunMiniBot")
HotKeySet("{F6}","ZoomHack")
HotKeySet("{F7}","ShowStats")

$win = WinGetTitle("EE Auto-Pilot")
If WinExists($win) Then
	MsgBox(0,"Warning","Bot already open")
	Exit
EndIf

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("EE Auto-Pilot", 233, 296, 192, 124)
GuiSetOnEvent($GUI_EVENT_CLOSE,"CLOSE")
$str = "1|2|3|4|5|6|7|8|9|0"
$lbl_name = GUICtrlCreateLabel("Name Hidden", 5, 8, 150, 17)
$Label1 = GUICtrlCreateLabel("Label1", 5, 64, 150, 17)
$Label2 = GUICtrlCreateLabel("Label2", 5, 80, 150, 17)
$Label3 = GUICtrlCreateLabel("Label3", 5, 96, 150, 17)
$lbl_exp = GUICtrlCreateLabel("Player Exp:", 5, 113, 200, 17)
$Label4 = GUICtrlCreateLabel("Pot if HP <=", 5, 154, 70, 17)
$Input1 = GUICtrlCreateInput("250", 75, 154, 50, 21)
$Combo4 = GUICtrlCreateCombo("", 128, 154, 49, 25)
GUICtrlSetData(-1, $str)
$Label5 = GUICtrlCreateLabel("Pot if MP <=", 5, 181, 62, 17)
$Input2 = GUICtrlCreateInput("250", 75, 181, 50, 21)
$Combo5 = GUICtrlCreateCombo("", 128, 181, 49, 25)
GUICtrlSetData(-1, $str)
$Label6 = GUICtrlCreateLabel("Skill 1:", 5, 208, 35, 17)
$Label7 = GUICtrlCreateLabel("Skill 2:", 5, 232, 35, 17)
$Label8 = GUICtrlCreateLabel("Skill 3:", 5, 257, 35, 17)
$Combo1 = GUICtrlCreateCombo("", 48, 208, 49, 25)
GUICtrlSetData(-1, $str)
$Combo2 = GUICtrlCreateCombo("", 48, 232, 49, 25)
GUICtrlSetData(-1, $str)
$Combo3 = GUICtrlCreateCombo("", 48, 256, 49, 25)
GUICtrlSetData(-1, $str)
$lbl_classexp = GUICtrlCreateLabel("Class Exp:", 5, 129, 200, 17)
$Label9 = GUICtrlCreateLabel("Label9", 5, 28, 200, 17)
$Label10 = GUICtrlCreateLabel("Label10", 5, 45, 290, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###


func CLOSE()
	WinSetTitle("EEBot_v1.1","","Eden Eternal")
	exit 0
EndFunc

func UpdateInfo()
	GuiCtrlSetData($Label1,Format(ReadEE("current_hp"),",",3) & " / " & Format(ReadEE("max_hp"),",",3) & " : " & Round(Int(ReadEE("current_hp")) / Int(ReadEE("max_hp")) * 100,2) & " %")
	GuiCtrlSetData($Label2,Format(ReadEE("current_mp"),",",3) & " / " & Format(ReadEE("max_mp"),",",3) & " : " & Round(Int(ReadEE("current_mp")) / Int(ReadEE("max_mp")) * 100,2) & " %")
	GuiCtrlSetData($lbl_exp,"Exp: " & Format(ReadEE("current_exp"),",",3) & " / " & Format(ReadEE("max_exp"),",",3) & " : " & Round(Int(ReadEE("current_exp")) / Int(ReadEE("max_exp")) * 100,2) & " %" )
	GuiCtrlSetData($lbl_classexp,"Class Exp: " & Format(ReadEE("current_cexp"),",",3) & " / " & Format(ReadEE("max_cexp"),",",3) & " : " & Round(Int(ReadEE("current_cexp")) / Int(ReadEE("max_cexp")) * 100,2) & " %" )
    GuiCtrlSetData($Label3,"Player Target: " & ReadEE("player_target"))
	GuiCtrlSetData($Label9,"Player Level: " & ReadEE("base_lvl") & "     " & "Player DEF: " & ReadEE("player_def") )
	GuiCtrlSetData($Label10,"Class Level: " & ReadEE("class_lvl") & "     " & "Player CRIT: " & ReadEE("player_crit"))
	GuiCtrlSetData($lbl_name,"Player Name: " & ReadEE("name"))
	Sleep(300)
EndFunc


func CheckHP()
		$hp = Int(ReadEE("current_hp"))
		$hp_pot = Int(GuiCtrlRead($Input1))

	if Int($hp) < Int($hp_pot) Then

		$key4 = Int(GuiCtrlRead($Combo4))
		Send($key4,0)

	EndIf


EndFunc

func CheckMP()
		$mp = Int(ReadEE("current_mp"))
		$mp_pot = Int(GuiCtrlRead($Input2))

	if Int($mp) < Int($mp_pot) Then

		$key5 = Int(GuiCtrlRead($Combo5))
		Send($key5,0)

	EndIf


EndFunc

Func CheckTarget()
	$target = Int(ReadEE("player_target"))

	if Int($target) == 0 Then
		Send("{TAB}",0)

	EndIf
	Return Int(ReadEE("player_target"))
EndFunc

func ShowStats()
$msg = "Current HP: " & ReadEE("current_hp") & @crlf
$msg &= "Max HP: " & ReadEE("max_hp") & @crlf
$msg &= "Current MP: " & ReadEE("current_mp") & @crlf
$msg &= "Max MP: " & ReadEE("max_mp") & @crlf
$msg &= "STR: " & ReadEE("player_str") & @crlf
$msg &= "AGI: " & ReadEE("player_agi") & @crlf
$msg &= "INT: " & ReadEE("player_int") & @crlf
$msg &= "P-Crit: " & ReadEE("player_crit") & @crlf
$msg &= "ACC: " &  ReadEE("player_acc") & @crlf
$msg &= "DEF: " & ReadEE("player_def") & @crlf
$msg &= "BASE LVL: " & ReadEE("base_lvl") & @crlf
$msg &= "CLASS LVL: " & ReadEE("class_lvl") & @crlf
$msg &= "Current Class EXP: " & ReadEE("current_cexp") & @crlf
$msg &= "Current EXP: " & ReadEE("current_exp") & @crlf
$msg &= "Current TARGET: " & ReadEE("player_target") & @crlf
$msg &= "Player Name: " & ReadEE("player_name") & @crlf
$msg &= "Guild Name: " & ReadEE("player_guild_title")
MsgBox(0,"",$msg)
EndFunc

func RunMiniBot()
	$running = NOT $running

while $running
	UpdateInfo()
	CheckTarget()
	CheckHP()
	CheckMP()

		$key1 = Int(GuiCtrlRead($Combo1))
		Send($key1,0)

		$key2 = Int(GuiCtrlRead($Combo2))
		Send($key2,0)

		$key3 = Int(GuiCtrlRead($Combo3))
		Send($key3,0)
Wend

EndFunc

WinSetTitle("Eden Eternal","","EEBot_v1.1")

While 1
	UpdateInfo()
	Sleep(600)
WEnd
Everything works as it did before for me no trouble here !

*EDIT*
Open up your EEAutoPilot.settings file and change exe=launcher.exe to exe=_Launcher.exe
Attached Files
File Type: zip EEBot_v1.1-[UPDATED].zip (4.3 KB, 94 views)
blinko is offline  
Thanks
2 Users
Old   #291
 
elite*gold: 0
Join Date: Sep 2008
Posts: 1
Received Thanks: 0
sir blinko i didn't see any .exe in the zip file..how to put all those file to make the EEBot_v1.1.exe
manyak6600 is offline  
Old   #292
 
elite*gold: 0
Join Date: Jun 2009
Posts: 24
Received Thanks: 20
Quote:
Originally Posted by blinko View Post
It seems there is a new update ! NEver fear I've already got ya covered.

Here is the new updated sources to the EEBot_v1.1.au3
New required files are EEAutoPilot.settings file (can be edited in notepad to your liking) although this is only used for the EEMem.au3to detect the launcher.exe without declaring to do so from the EEMemOpen() function.
All Memory functions slightly altered to perform more as I please. The memory open function can just now be used as $handle = _EEMemRead($pid) <--$pid is found inside the settings file ! However only the _EEMemRead() function uses the _EEMemOpen(). The _EEMemRead() will open the process stored in the settings file, and then read the BaseAddress + the offset (GetBaseAddress() for that), and then close the process using _EEMemClose(). All in one go so it's much less code to work with. I've made the EEMem.au3 separate from a new EEData.au3 file which stores the memory offsets, and addresses (soon to be edited to use the settings file) Then of course the GUI and bot are the EEBot_v1.1.au3.

Attached Below !!


Or for those who prefer to copy and paste. The code isn't very cleaned up yet. Still some tester things in there like the F7 hotkey which displays all the addresses and offsets I've currently got stored in the EEData.au3..Was a way for me to test multiple stats at once. So it's a bit cluttered, but easily worked with. An extra memory address added for Player Name, one is a static client address, the other is an offset of 1B8 at the new Memory Base Address 0x00C7AED8. Zoom Address has been fixed as well can now continue zooming out :O !

EEMem.au3
Code:
#include-once

Func _EEMemOpen($DWACCESS = 0x1F0FFF, $DWINHERITHANDLE = 1)

$DWPROCID = ProcessExists(IniRead(@WorkingDir & "\EEAutoPilot.settings","main","exe",""))

If $DWPROCID = 0 then
	MsgBox(0,"","Process Doesn't Exist!" & @crlf & "If however it DOES, then something is terribly wrong !")
	exit 0
EndIf

	local $DWHANDLES[2] = [DllOpen("kernel32.dll")]
	If @error Then
		SetError(2)
		Return 0
	EndIf
	Local $DWOPENPROC = DllCall($DWHANDLES[0], "int", "OpenProcess", "int", $DWACCESS, "int", $DWINHERITHANDLE, "int", $DWPROCID)
	If @error Then
		SetError(3)
		Return 0
	EndIf
	$DWHANDLES[1] = $DWOPENPROC[0]
	Return $DWHANDLES
EndFunc

Func _EEMemClose($DWHANDLES)
	If Not IsArray($DWHANDLES) Then
		SetError(1)
		Return 0
	EndIf
	DllCall($DWHANDLES[0], "int", "CloseHandle", "int", $DWHANDLES[1])
	If Not @error Then
		DllClose($DWHANDLES[0])
		Return 1
	Else
		DllClose($DWHANDLES[0])
		SetError(2)
		Return 0
	EndIf
EndFunc

Func _EEMemRead($DWADDRESS, $DWTYPE = "dword")
	$DWHANDLES = _EEMemOpen()
	If Not IsArray($DWHANDLES) Then
		SetError(1)
		Return 0
	EndIf
	Local $DWBUFFER = DllStructCreate($DWTYPE)
	If @error Then
		SetError(@error + 1)
		Return 0
	EndIf
	DllCall($DWHANDLES[0], "int", "ReadProcessMemory", "int", $DWHANDLES[1], "int", $DWADDRESS, "ptr", DllStructGetPtr($DWBUFFER), "int", DllStructGetSize($DWBUFFER), "int", "")
	If Not @error Then
		Local $DWVALUE = DllStructGetData($DWBUFFER, 1)
		_EEMemClose($DWHANDLES)
		Return $DWVALUE
	Else
		SetError(6)
		Return 0
	EndIf
EndFunc

Func _EEMemWrite($DWADDRESS, $DWDATA, $DWTYPE = "dword")
	$DWHANDLES = _EEMemOpen()
	If Not IsArray($DWHANDLES) Then
		SetError(1)
		Return 0
	EndIf
	Local $DWBUFFER = DllStructCreate($DWTYPE)
	If @error Then
		SetError(@error + 1)
		Return 0
	Else
		DllStructSetData($DWBUFFER, 1, $DWDATA)
		If @error Then
			SetError(6)
			Return 0
		EndIf
	EndIf
	DllCall($DWHANDLES[0], "int", "WriteProcessMemory", "int", $DWHANDLES[1], "int", $DWADDRESS, "ptr", DllStructGetPtr($DWBUFFER), "int", DllStructGetSize($DWBUFFER), "int", "")
	If Not @error Then
		Return 1
	Else
		SetError(7)
		Return 0
	EndIf
	_EEMemClose($DWHANDLES)
EndFunc
EEData.au3
Code:
;EEBot - Data Source
#include 'EEMem.au3'

#Region======================================MISC FUNCTIONS==========================================================================

;~ Function-'Format'-Description-------------------------------------------------------
;~ Format Function Created by Blinko
;~ Description: Format( $value )
;~       This was made to imitate Visual Basic's Format Function.
;~ 		 Where (Example Text1 = Format( Text1, "###,###" )
;~ 		 If Text1.text = 1000
;~ 		 then Format(Text1, "###,###") = 1,000
;~ 		 However AutoIt doesnt have a function for this. So i made one up.
;~
;~ Usage: Format($expression, $separator, $nSize)
;~      As the Above Example u want a string like 100000 to read as 100,000
;~      You simply say for example Format('100000' , ',' , 3)
;~      Usage Example: GuiCtrlSetData( $Label, Format(GetPlayerGold(), ',' , 3) )
;~      You may also use "," instead of ',' it does not matter :P
;~ ---------------------------------------------------------------------------------------

Func Format($expression, $separator, $nSize)
	Local $split = StringSplit($expression, "")
    Local $newText = ""
    Local $counter = 0
    If StringLen($expression) > $nSize Then
        For $i = $split[0] To 1 Step -1
            If $counter = $nSize Then
                $newText = $split[$i] & $separator & $newText
                $counter = 0
            Else
                $newText = $split[$i] & $newText
            EndIf
            $counter +=1
        Next
	Else
		$expression = $expression
		Return $expression
    EndIf

	Return $newText
EndFunc

#EndRegion===========================================================================================================================










;~ local $app_base = 0x00C71E98
local $app_base = 0x00C7AED8
local $app_base_offset = 0xC
;~ local $Zoom_ADDR = 0x00C7157C
local $Zoom_ADDR = 0x00C7A5BC
local $pname = 0x00C7ADC4 ;static name
;~ local $ptarget = 0x00C71EAC
local $ptarget = 0x00C7AEEC
local $ZOOM_OFFSET1 = 0x54
local $OFFSET_CurHP = 0x4
local $OFFSET_MaxHP = 0x4C
local $OFFSET_CurMP = 0x8
local $OFFSET_MaxMP = 0x50
local $OFFSET_TARGET = 0x08
local $OFFSET_EXP = 0x18
local $OFFSET_CEXP = 0x20
local $OFFSET_CLASSLVL = 0x24
local $OFFSET_BASELVL = 0x1C
local $OFFSET_PDEF = 0x64
local $OFFSET_PCRIT = 0x11C
local $OFFSET_PACC = 0x118
local $OFFSET_PSTR = 0x144
local $OFFSET_PAGI = 0x150
local $OFFSET_PINT = 0x14C
local $OFFSET_PWIS = 0x154
local $OFFSET_PLCK = 0x158
local $OFFSET_GUILDTITLE = 0x1F0
local $OFFSET_PNAME = 0x1B8 ;offset for player name from app base address

func GetBaseAddress()
	local $base = _EEMemRead($app_base)
	local $ptr =  '0x' & Hex($base + $app_base_offset)
	local $base_address = _EEMemRead($ptr)
	return $base_address
EndFunc

local $CurHP = '0x' & Hex(GetBaseAddress() + $OFFSET_CurHP)
local $MaxHP = '0x' & Hex(GetBaseAddress() + $OFFSET_MaxHP)
local $CurMP = '0x' & Hex(GetBaseAddress() + $OFFSET_CurMP)
local $MaxMP = '0x' & Hex(GetBaseAddress() + $OFFSET_MaxMP)
local $CurEXP = '0x' & Hex(GetBaseAddress() + $OFFSET_EXP)

local $CurCEXP = '0x' & Hex(GetBaseAddress() + $OFFSET_CEXP)

local $ClassLVL = '0x' & Hex(GetBaseAddress() + $OFFSET_CLASSLVL)
local $BaseLVL = '0x' & Hex(GetBaseAddress() + $OFFSET_BASELVL)
local $PlayerDEF = '0x' & Hex(GetBaseAddress() + $OFFSET_PDEF)
local $PlayerPCRIT = '0x' & Hex(GetBaseAddress() + $OFFSET_PCRIT)
local $PlayerPSTR = '0x' & Hex(GetBaseAddress() + $OFFSET_PSTR)
local $PlayerPAGI = '0x' & Hex(GetBaseAddress() + $OFFSET_PAGI)
local $PlayerPINT = '0x' & Hex(GetBaseAddress() + $OFFSET_PINT)
local $PlayerPWIS = '0x' & Hex(GetBaseAddress() + $OFFSET_PWIS)
local $PlayerPLCK = '0x' & Hex(GetBaseAddress() + $OFFSET_PLCK)
local $PlayerPACC = '0x' & Hex(GetBaseAddress() + $OFFSET_PACC)
local $PlayerGuildTitle = '0x' & Hex(GetBaseAddress() + $OFFSET_GUILDTITLE)
local $PlayerPNAME = '0x' & Hex(GetBaseAddress() + $OFFSET_PNAME)

func ReadEE($type)

		switch $type

			Case "player_name"
				$p_name = _EEMemRead($PlayerPNAME, "char[16]")
			return String($p_name)

			Case "player_guild_title"
				$p_guildt = _EEMemRead($PlayerGuildTitle, "char[16]")
			return String($p_guildt)

			Case "player_str"
				$p_str = _EEMemRead($PlayerPSTR, "dword")
			return Int($p_str)

			Case "player_agi"
				$p_agi = _EEMemRead($PlayerPAGI, "dword")
			return Int($p_agi)

			Case "player_int"
				$p_int = _EEMemRead($PlayerPINT, "dword")
			return Int($p_int)

			Case "player_acc"
				$p_acc = _EEMemRead($PlayerPACC, "float")
			return Int($p_acc)

			Case "player_crit"
				$p_crit = _EEMemRead($PlayerPCRIT, "float")
			return Int($p_crit)

			Case "player_def"
				$p_def = _EEMemRead($PlayerDEF, "dword")
			return Int($p_def)

			case "base_lvl"
				$base_lvl = _EEMemRead($BaseLVL, "dword")
			return Int($base_lvl)

			case "class_lvl"
				$class_lvl = _EEMemRead($ClassLVL, "dword")
			return Int($class_lvl)

			case "current_cexp"
				$cur_cexp = _EEMemRead($CurCEXP, "dword")
			return Int($cur_cexp)


			case "current_exp"
				$cur_exp = _EEMemRead($CurEXP, "dword")
			return Int($cur_exp)


			case "player_target"
				$targetbaseADDR = _EEMemRead($ptarget,"dword")
				$target =  '0x' & Hex($targetbaseADDR + $OFFSET_TARGET)
				$targeted = '0x' & Hex($target)
				$target = _EEMemRead($targeted, "dword")
				Return Int($target)

			case "name"
				$name = _EEMemRead($pname, "char[16]")
			return String($name)

			case "current_hp"
				$cur_hp = _EEMemRead($CurHP, "dword")
				return Int($cur_hp)

			case "max_hp"
				$max_hp = _EEMemRead($MaxHP)
			return Int($max_hp)

			case "current_mp"
				$cur_mp = _EEMemRead($CurMP)
			return Int($cur_mp)

			case "max_mp"
				$max_mp = _EEMemRead($MaxMP)
			return Int($max_mp)

		EndSwitch

EndFunc

func WriteEE($address,$offset,$value)
	;"1198383360" zoom hack value
	;1098383360 normal value

	$1 = _EEMemRead($address, "dword")
	_EEMemWrite($1 + $offset, $value, "dword")
EndFunc

Func ZoomHack()
	WriteEE($Zoom_ADDR,$ZOOM_OFFSET1,"1198383360")
EndFunc
EEBot_V1.1au3
Code:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_outfile=EEBot_v1.1.exe
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_Add_Constants=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#CS--------------------------------------------------------------------
;~ 	Brought to you by Blinko of Blinko's Box 2001-2011
;~ 	   ______                            ______
;~   (, /    ) /) ,     /)     /       (, /    )
;~     /---(  //   __  (/_  ___ _        /---(  _____/
;~  ) / ____)(/__(_/ (_/(__(_) /_)_   ) / ____)(_)  /(__
;~ (_/ (                             (_/ (         /


#CE--------------------------------------------------------------------

#include 'EEData.au3'
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIComboBoxEx.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

opt("GuiOnEventMode",1)
global $running,$hastarget,$stopped = 0

HotKeySet("{F5}","RunMiniBot")
HotKeySet("{F6}","ZoomHack")
HotKeySet("{F7}","ShowStats")

$win = WinGetTitle("EE Auto-Pilot")
If WinExists($win) Then
	MsgBox(0,"Warning","Bot already open")
	Exit
EndIf

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("EE Auto-Pilot", 233, 296, 192, 124)
GuiSetOnEvent($GUI_EVENT_CLOSE,"CLOSE")
$str = "1|2|3|4|5|6|7|8|9|0"
$lbl_name = GUICtrlCreateLabel("Name Hidden", 5, 8, 150, 17)
$Label1 = GUICtrlCreateLabel("Label1", 5, 64, 150, 17)
$Label2 = GUICtrlCreateLabel("Label2", 5, 80, 150, 17)
$Label3 = GUICtrlCreateLabel("Label3", 5, 96, 150, 17)
$lbl_exp = GUICtrlCreateLabel("Player Exp:", 5, 113, 200, 17)
$Label4 = GUICtrlCreateLabel("Pot if HP <=", 5, 154, 70, 17)
$Input1 = GUICtrlCreateInput("250", 75, 154, 50, 21)
$Combo4 = GUICtrlCreateCombo("", 128, 154, 49, 25)
GUICtrlSetData(-1, $str)
$Label5 = GUICtrlCreateLabel("Pot if MP <=", 5, 181, 62, 17)
$Input2 = GUICtrlCreateInput("250", 75, 181, 50, 21)
$Combo5 = GUICtrlCreateCombo("", 128, 181, 49, 25)
GUICtrlSetData(-1, $str)
$Label6 = GUICtrlCreateLabel("Skill 1:", 5, 208, 35, 17)
$Label7 = GUICtrlCreateLabel("Skill 2:", 5, 232, 35, 17)
$Label8 = GUICtrlCreateLabel("Skill 3:", 5, 257, 35, 17)
$Combo1 = GUICtrlCreateCombo("", 48, 208, 49, 25)
GUICtrlSetData(-1, $str)
$Combo2 = GUICtrlCreateCombo("", 48, 232, 49, 25)
GUICtrlSetData(-1, $str)
$Combo3 = GUICtrlCreateCombo("", 48, 256, 49, 25)
GUICtrlSetData(-1, $str)
$lbl_classexp = GUICtrlCreateLabel("Class Exp:", 5, 129, 200, 17)
$Label9 = GUICtrlCreateLabel("Label9", 5, 28, 200, 17)
$Label10 = GUICtrlCreateLabel("Label10", 5, 45, 290, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###


func CLOSE()
	WinSetTitle("EEBot_v1.1","","Eden Eternal")
	exit 0
EndFunc

func UpdateInfo()
	GuiCtrlSetData($Label1,Format(ReadEE("current_hp"),",",3) & " / " & Format(ReadEE("max_hp"),",",3) & " : " & Round(Int(ReadEE("current_hp")) / Int(ReadEE("max_hp")) * 100,2) & " %")
	GuiCtrlSetData($Label2,Format(ReadEE("current_mp"),",",3) & " / " & Format(ReadEE("max_mp"),",",3) & " : " & Round(Int(ReadEE("current_mp")) / Int(ReadEE("max_mp")) * 100,2) & " %")
	GuiCtrlSetData($lbl_exp,"Exp: " & Format(ReadEE("current_exp"),",",3) & " / " & Format(ReadEE("max_exp"),",",3) & " : " & Round(Int(ReadEE("current_exp")) / Int(ReadEE("max_exp")) * 100,2) & " %" )
	GuiCtrlSetData($lbl_classexp,"Class Exp: " & Format(ReadEE("current_cexp"),",",3) & " / " & Format(ReadEE("max_cexp"),",",3) & " : " & Round(Int(ReadEE("current_cexp")) / Int(ReadEE("max_cexp")) * 100,2) & " %" )
    GuiCtrlSetData($Label3,"Player Target: " & ReadEE("player_target"))
	GuiCtrlSetData($Label9,"Player Level: " & ReadEE("base_lvl") & "     " & "Player DEF: " & ReadEE("player_def") )
	GuiCtrlSetData($Label10,"Class Level: " & ReadEE("class_lvl") & "     " & "Player CRIT: " & ReadEE("player_crit"))
	GuiCtrlSetData($lbl_name,"Player Name: " & ReadEE("name"))
	Sleep(300)
EndFunc


func CheckHP()
		$hp = Int(ReadEE("current_hp"))
		$hp_pot = Int(GuiCtrlRead($Input1))

	if Int($hp) < Int($hp_pot) Then

		$key4 = Int(GuiCtrlRead($Combo4))
		Send($key4,0)

	EndIf


EndFunc

func CheckMP()
		$mp = Int(ReadEE("current_mp"))
		$mp_pot = Int(GuiCtrlRead($Input2))

	if Int($mp) < Int($mp_pot) Then

		$key5 = Int(GuiCtrlRead($Combo5))
		Send($key5,0)

	EndIf


EndFunc

Func CheckTarget()
	$target = Int(ReadEE("player_target"))

	if Int($target) == 0 Then
		Send("{TAB}",0)

	EndIf
	Return Int(ReadEE("player_target"))
EndFunc

func ShowStats()
$msg = "Current HP: " & ReadEE("current_hp") & @crlf
$msg &= "Max HP: " & ReadEE("max_hp") & @crlf
$msg &= "Current MP: " & ReadEE("current_mp") & @crlf
$msg &= "Max MP: " & ReadEE("max_mp") & @crlf
$msg &= "STR: " & ReadEE("player_str") & @crlf
$msg &= "AGI: " & ReadEE("player_agi") & @crlf
$msg &= "INT: " & ReadEE("player_int") & @crlf
$msg &= "P-Crit: " & ReadEE("player_crit") & @crlf
$msg &= "ACC: " &  ReadEE("player_acc") & @crlf
$msg &= "DEF: " & ReadEE("player_def") & @crlf
$msg &= "BASE LVL: " & ReadEE("base_lvl") & @crlf
$msg &= "CLASS LVL: " & ReadEE("class_lvl") & @crlf
$msg &= "Current Class EXP: " & ReadEE("current_cexp") & @crlf
$msg &= "Current EXP: " & ReadEE("current_exp") & @crlf
$msg &= "Current TARGET: " & ReadEE("player_target") & @crlf
$msg &= "Player Name: " & ReadEE("player_name") & @crlf
$msg &= "Guild Name: " & ReadEE("player_guild_title")
MsgBox(0,"",$msg)
EndFunc

func RunMiniBot()
	$running = NOT $running

while $running
	UpdateInfo()
	CheckTarget()
	CheckHP()
	CheckMP()

		$key1 = Int(GuiCtrlRead($Combo1))
		Send($key1,0)

		$key2 = Int(GuiCtrlRead($Combo2))
		Send($key2,0)

		$key3 = Int(GuiCtrlRead($Combo3))
		Send($key3,0)
Wend

EndFunc

WinSetTitle("Eden Eternal","","EEBot_v1.1")

While 1
	UpdateInfo()
	Sleep(600)
WEnd
Everything works as it did before for me no trouble here !

*EDIT*
Open up your EEAutoPilot.settings file and change exe=launcher.exe to exe=_Launcher.exe
it dont work.. i changed the EEAutoPolot thing to what you said to.. and well there is no exe to to run the bot.. =S
Verlo is offline  
Old   #293
 
elite*gold: 0
Join Date: Aug 2011
Posts: 5
Received Thanks: 0
Quote:
Originally Posted by overe View Post
This is my first / simple bot for Eden Eternal game:

NEW, OverEE v1.3:


OverEE v1.2:


(use the virustotal.com, to analisy the files for any viruses)

- NEW, 3 SKILL KEYS
- Auto-pot HP/MP (0 = unabled)
- Simple auto-bot (battle/grind)

Theres only one option to skill key. =/

Its a very simple project! I need to learn more, to do great things...

Thanks...

CODE, OverEE v1.3:
Code:
#RequireAdmin
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=icon.ico
GUISetIcon("icon.ico")
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

#Obfuscator_Off
#include <File.au3>
#include <GuiEdit.au3>
#include <GuiStatusBar.au3>
#include <GuiConstantsEx.au3>
#include <GUIButton.au3>
#include <GUIToolbar.au3>
#include <ProgressConstants.au3>
#include <SliderConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
#include <NomadMemory.au3>
#include <Array.au3>
#Obfuscator_On

;********************************************************************************
;* Options                                                                      *
;********************************************************************************
Opt("GUICloseOnESC", 0)
Opt("GUIOnEventMode", 1)
Opt("TrayAutoPause", 0)
Opt("TrayMenuMode", 1)


;********************************************************************************
;* Global Software Control Information                                          *
;********************************************************************************
; Declare Process Variables
Global $APP_BASE_ADDRESS = 0x00C62E70, $TARGET_BASE_ADDRESS = 0x005CF71F
Global $APP_TITLE = "Eden Eternal", $KERNEL32 = DllOpen('kernel32.dll')
Global $PROCESS_ID = WinGetProcess($APP_TITLE)
Global $PROCESS_INFORMATION = _MemoryOpen($PROCESS_ID)
Global $APP_PATH = _ProcessIdPath($PROCESS_ID)
Global $ANSWER = ""
While (@error)
	$ANSWER = InputBox("Não foi possível encontrar o EE!", "Não foi possível encontrar o EE! Digite o titulo de seu EE no campo abaixo e clique em Ok.", "Eden Eternal", "", -1, -1, 0, 0)
	If $ANSWER = "" Then
		Exit
	EndIf
	Global $APP_TITLE = $ANSWER
	Global $PROCESS_ID = WinGetProcess($APP_TITLE), $PROCESS_INFORMATION = _MemoryOpen($PROCESS_ID), $APP_PATH = _ProcessIdPath($PROCESS_ID)
WEnd

; Declare Menu Bar Variables
$OVERBOT = GUICreate("OverEE v1.3", 230, 255, 0, 0)

$LABEL_HP_STATUS = GUICtrlCreateLabel("", 15, 14, 130, 15)
GUICtrlSetColor(-1, 0x000000)

GUICtrlCreateLabel("Use at: ", 110, 14, 35, 15)
GUICtrlSetColor(-1, 0x000000)

GUICtrlCreateLabel("Simple bot developed by Lyax @ EE", 30, 230, 240, 15)
GUICtrlSetColor(-1, 0x000000)

$LABEL_MP_STATUS = GUICtrlCreateLabel("", 15, 48, 130, 15)
GUICtrlSetColor(-1, 0x000000)

GUICtrlCreateLabel("Use at: ", 110, 48, 35, 15)
GUICtrlSetColor(-1, 0x000000)

$bt_close = GUICtrlCreateButton("Exit", 130, 195)
GUICtrlSetOnEvent($bt_close, "bt_close_Click")  
Global $close = 1

$bt_battle = GUICtrlCreateButton("Battle Start", 50, 195)
GUICtrlSetOnEvent($bt_battle, "bt_battle_Click")  

GUICtrlCreateLabel("HP Key: ", 15, 78, 40, 15)
GUICtrlSetColor(-1, 0x000000)

GUICtrlCreateLabel("MP Key: ", 110, 78, 40, 15)
GUICtrlSetColor(-1, 0x000000)

GUICtrlCreateLabel("Skill Key: ", 105, 108, 45, 15)
GUICtrlSetColor(-1, 0x000000)

GUICtrlCreateLabel("Skill Key: ", 105, 138, 45, 15)
GUICtrlSetColor(-1, 0x000000)

GUICtrlCreateLabel("Skill Key: ", 105, 168, 45, 15)
GUICtrlSetColor(-1, 0x000000)

Global $SKILL_CT = 3, $IPT_KEY_SKILL[$SKILL_CT]

$IPT_KEY_SKILL[0] = GUICtrlCreateInput("", 161, 108, 30, 15)
GUICtrlSetData($IPT_KEY_SKILL[0], "1")

$IPT_KEY_SKILL[1] = GUICtrlCreateInput("", 161, 138, 30, 15)
GUICtrlSetData($IPT_KEY_SKILL[1], "1")

$IPT_KEY_SKILL[2] = GUICtrlCreateInput("", 161, 168, 30, 15)
GUICtrlSetData($IPT_KEY_SKILL[2], "1")

$LABEL_TARGET_STATUS = GUICtrlCreateLabel("Stopped", 15, 108, 80, 15)
GUICtrlSetColor(-1, 0x000000)

$IPT_KEY_HP = GUICtrlCreateInput("", 66, 78, 30, 15)
GUICtrlSetData($IPT_KEY_HP, "2")

$IPT_KEY_MP = GUICtrlCreateInput("", 161, 78, 30, 15)
GUICtrlSetData($IPT_KEY_MP, "3")


$IPT_HP = GUICtrlCreateInput("", 150, 14, 60, 15)
GUICtrlSetData($IPT_HP, "0")

$IPT_MP = GUICtrlCreateInput("", 150, 48, 60, 15)
GUICtrlSetData($IPT_MP, "0")

GuiSetState(@SW_SHOW)

Global $OFFSET_HP[3]
$OFFSET_HP[0] = 0
$OFFSET_HP[1] = 0x04
$OFFSET_HP[2] = 0x0C

Global $OFFSET_MP[3]
$OFFSET_MP[0] = 0
$OFFSET_MP[1] = 0x08
$OFFSET_MP[2] = 0x0C

Global $OFFSET_TARGET[2]
$OFFSET_TARGET[0] = 0
$OFFSET_TARGET[1] = 0x08

Global $baseADDR = _MemoryRead($APP_BASE_ADDRESS, $PROCESS_INFORMATION)
Global $HANDLE = WinGetHandle("Eden Eternal")
Global $HANDLE = ControlGetHandle($APP_TITLE, "", "")
$LVL1 =  '0x' & Hex($baseADDR + $OFFSET_HP[2])
$baseADDR = _MemoryRead($LVL1, $PROCESS_INFORMATION);

;CHAR INFO
Global $ADDR_HP =  '0x' & Hex($baseADDR + $OFFSET_HP[1])
Global $ADDR_MP =  '0x' & Hex($baseADDR + $OFFSET_MP[1])

;TARGET
$baseADDR = _MemoryRead($TARGET_BASE_ADDRESS, $PROCESS_INFORMATION)
$LVL1 =  '0x' & Hex($baseADDR + $OFFSET_TARGET[1])

Global $ADDR_TARGETED = '0x' & Hex($LVL1)
Global $BATTLE_STARTED = 0, $TARGETED = 0, $ATK_TIME = 0, $ATK_MAX_TIME = 15000
;sgBox(0, "ae", ":" &  _MemoryRead($ADDR_TARGETED, $PROCESS_INFORMATION))


;Exit

Global $HEAL_HP = 0, $HEAL_MP = 0
Global $HP, $MP

GUICtrlSetData($IPT_HP, Int(_MemoryRead($ADDR_HP, $PROCESS_INFORMATION)/2))

;********************************************************************************
;* Main Loop                                                                    *
;********************************************************************************

;WinActivate($APP_TITLE)

While ($close) ;==>Main Loop
	checkStatus()
	;_SendMessage($HANDLE, 256, 112);
	;_SendMessage($HANDLE, 0x4d, 0);
	;_PostMessage($HANDLE, 256, 49, 0x20001);
	
	;_PostMessage($HANDLE, 257, 49, 0x20001);
	;_SendMessage($HANDLE, 256, KEYCODE("{1}"))
	;sControlSend($HANDLE, "", "", "{1}")
	if($BATTLE_STARTED = 1) Then
		controlBattle()
	EndIf
	Sleep(200)
WEnd ;==>Main Loop

Func controlBattle()
	selectTarget()
	attackTarget()
EndFunc

Func attackTarget()
	GUICtrlSetData($LABEL_TARGET_STATUS, "Attacking target")
	$ATK_TIME = 0
	$SKILL = 0
	$SKILL_TIME = 0
	while($TARGETED > 0 And $BATTLE_STARTED = 1 And $ATK_TIME <= $ATK_MAX_TIME)
		$ATK_TIME += 200
		$SKILL_TIME += 200
		Send("{" & GUICtrlRead($IPT_KEY_SKILL[$SKILL]) & "}")
		checkStatus()
		Sleep(100)
		if($SKILL_TIME >= 400) Then
			$SKILL += 1
			if($SKILL_CT = $SKILL) Then
				$SKILL = 0
			EndIf
		EndIf
		Sleep(100)
		$TARGETED = _MemoryRead($ADDR_TARGETED, $PROCESS_INFORMATION)
	WEnd
	$TARGETED = 0
EndFunc

Func selectTarget()
	GUICtrlSetData($LABEL_TARGET_STATUS, "Looking target")
	while($TARGETED = 0 And $BATTLE_STARTED = 1)
		checkStatus()
		Send("{TAB}")
		Sleep(150)
		$TARGETED = _MemoryRead($ADDR_TARGETED, $PROCESS_INFORMATION)
	WEnd
EndFunc

Func checkStatus()
	checkHP()
	Sleep(50)
	checkMP()
	GUICtrlSetData($LABEL_HP_STATUS, "Current HP: " & $HP)
	GUICtrlSetData($LABEL_MP_STATUS, "Current MP: " & $MP)
EndFunc

Func checkHP()
	$HEAL_HP = GUICtrlRead($IPT_HP)
	$HP = _MemoryRead($ADDR_HP, $PROCESS_INFORMATION)
	if ($HP < $HEAL_HP) Then
		Send("{" & GUICtrlRead($IPT_KEY_HP) & "}")
	EndIf
EndFunc

Func checkMP()
	$HEAL_MP = GUICtrlRead($IPT_MP)
	$MP = _MemoryRead($ADDR_MP, $PROCESS_INFORMATION)
	if ($MP < $HEAL_MP) Then
		Send("{" & GUICtrlRead($IPT_KEY_MP) & "}")
	EndIf
EndFunc

Func bt_close_Click()
	$close = 0
EndFunc

Func bt_battle_Click()
	if($BATTLE_STARTED = 1) Then
		GUICtrlSetData($bt_battle, "Battle Start")
		$BATTLE_STARTED = 0
	Else
		GUICtrlSetData($bt_battle, "Battle Stop")
		$BATTLE_STARTED = 1
	EndIf
EndFunc

Func _ProcessIdPath ( $vPID )
    Local $objWMIService, $oColItems
    Local $sNoExePath = ''
    Local Const $wbemFlagReturnImmediately = 0x10
    Local Const $wbemFlagForwardOnly = 0x20

    Local $RetErr_ProcessDoesntExist = 1
    Local $RetErr_ProcessPathUnknown = 2
    Local $RetErr_ProcessNotFound = 3
    Local $RetErr_ObjCreateErr = 4
    Local $RetErr_UnknownErr = 5

    If Not ProcessExists ( $vPID )  Then
        SetError ( $RetErr_ProcessDoesntExist )
        Return $sNoExepath
    EndIf

    $objWMIService = ObjGet ( 'winmgmts:\\localhost\root\CIMV2' )
    $oColItems = $objWMIService.ExecQuery  ( 'SELECT * FROM Win32_Process', 'WQL', $wbemFlagReturnImmediately + $wbemFlagForwardOnly )

    If IsObj ( $oColItems )  Then
        For $objItem In $oColItems
            If $vPID = $objItem.ProcessId Then
                If $objItem.ExecutablePath = '0' Then
                    If FileExists ( @SystemDir & '\' & $objItem.Caption )  Then
                        Return @SystemDir & '\' & $objItem.Caption
                    Else
                        SetError ( $RetErr_ProcessPathUnknown )
                        Return $sNoExepath
                    EndIf
                Else
                    Return $objItem.Executablepath
                EndIf
            EndIf
        Next
        SetError ( $RetErr_ProcessNotFound )
        Return $sNoExepath
    Else
        SetError ( $RetErr_ObjCreateErr )
        Return $sNoExepath
    EndIf

    SetError ( $RetErr_UnknownErr )
    Return $sNoExepath
EndFunc		;==>_ProcessIdPath

Func Keycode($key)
	If $key == "{F1}" Then
		Return 112
	ElseIf $key == "{F2}" Then
		Return 113
	ElseIf $key == "{F3}" Then
		Return 114
	ElseIf $key == "{F4}" Then
		Return 115
	ElseIf $key == "{F5}" Then
		Return 116
	ElseIf $key == "{F6}" Then
		Return 117
	ElseIf $key == "{F7}" Then
		Return 118
	ElseIf $key == "{F8}" Then
		Return 119
	ElseIf $key == "{0}" Then
		Return 48
	ElseIf $key == "{1}" Then
		Return 49
	ElseIf $key == "{2}" Then
		Return 50
	ElseIf $key == "{3}" Then
		Return 51
	ElseIf $key == "{4}" Then
		Return 52
	ElseIf $key == "{5}" Then
		Return 53
	ElseIf $key == "{6}" Then
		Return 54
	ElseIf $key == "{7}" Then
		Return 55
	ElseIf $key == "{8}" Then
		Return 56
	ElseIf $key == "{9}" Then
		Return 57
	ElseIf $key == "{TAB}" Then
		Return 9
	ElseIf $key == "{LMB}" Then
		Return 1
	ElseIf $key == "{RMB}" Then
		Return 2
	ElseIf $key == "{SHIFT}" Then
		Return 160
	ElseIf $key == "{CTRL}" Then
		Return 162
	ElseIf $key == "{ALT}" Then
		Return 18
	ElseIf $key == "{SPACE}" Then
		Return 32
	ElseIf $key == "{ESC}" Then
		Return 27
	ElseIf $key == "{+}" Then
		Return 107
	ElseIf $key == "{-}" Then
		Return 109
	Else
		Return "none"
	EndIf
EndFunc		;==>

Func _PostMessage($hWnd, $msgID, $wParam, $lParam) 
	Local $ret = DllCall("user32.dll", "int", "PostMessage", "hwnd", $hWnd, "int", $msgID, "int", $wParam, "int", $lParam) 
	If IsArray($ret) Then 
		Return $ret[0] 
	Else 
		SetError(-1) 
		Return False 
	EndIf 
EndFunc
what is this code for?
toks1709 is offline  
Old   #294
 
elite*gold: 0
Join Date: May 2009
Posts: 21
Received Thanks: 1
Quote:
Originally Posted by toks1709 View Post
what is this code for?
its a script so u can inject it duhhh x.x why bother when u dont even know what ur doing
gimpy14 is offline  
Old   #295
 
elite*gold: 0
Join Date: Jul 2011
Posts: 6
Received Thanks: 0
Any one wanna give me any Ideas on Where to bot to get the best loot/gold/gear intake? Appreciate it. TNX!
DoctorPump is offline  
Old   #296
 
elite*gold: 0
Join Date: Nov 2006
Posts: 43
Received Thanks: 3
come on someone help us out here and lead us to victory!
slamakos is offline  
Old   #297
 
elite*gold: 24
Join Date: Jan 2008
Posts: 2,454
Received Thanks: 2,200
People are posting a pointer value for the zoom hack and i dunno why.. Been awhile since i have even bothered with Aeria games since they kept threatening to sue me for my hacks on shaiya so i guess it is time to startup again..

Ill go ahead and post the REAL way to zoom hack..

Add 0b5ef3c as a float value in cheat engine, it should be 0.85 and a bunch of other numbers that are not really important..

Increase .85 to be able to scroll wheel out further, do it in increments so you can get an idea of how far to do.. Such as .95

I would not suggest modifying the 0. part unless you want an extreme zoom out to the point your client is screwed until you reload.

This simply increases the distance you can scroll out and isnt a stupid pointer that is difficult to update.. Just use AoB next patch.




People keep saying this game is unhackable yet i see no problems with modifying alot of things in-game.. Your runspeed (desyncs on extreme levels), how your blocked by terrain ( clipping ) and if people remember my No Limits in Shaiya being able to run up past the terrain barrier and up/over mountains.

I also know people have problems with the camera shifting around while your doing runs with a bard, that can also be found.. Seeing if a special boss is spawned on the map..

Attack speed can be modified, i assume.. But im not sure if the client desyncs you or not. I have not gotten further enough along to really see.

You can also obtain quests while not even in the town, the repeatable ones, access your bank ( thank you to aeria games for making a mobile bank an allowing me to dismantle how it works ).


So thus, either people who have invested in this game are not sharing there findings and are being greedy ( i believe in freeware ) or people really have not taken time to sit and dismantle how the client works.. And though they run a file check on the client, people should see that just a simple JMP will skip the file check and go right to the game..


I will post more as i see fit to do so.. I'am still leveling my character up, without the use of a bot, think botting is stupid and hacking levels away is more fun, as you learn more of how the client works and to get ideas to manipulate it.


- Jewbacca
Ploxasarus is offline  
Thanks
1 User
Old   #298
 
elite*gold: 0
Join Date: Nov 2006
Posts: 43
Received Thanks: 3
go go Ploxasarus **** of aeria games we need you to lead the hack way!!!!
slamakos is offline  
Old   #299
 
elite*gold: 24
Join Date: Jan 2008
Posts: 2,454
Received Thanks: 2,200
b4b0d0 float

Affects your speed while using a llama in-game. It will desync on high increments, but is amusing none-the-less.. Low increments will allow you to run quite fast ( players do notice because you skip along while going.. )
Ploxasarus is offline  
Old   #300
 
elite*gold: 0
Join Date: Jul 2006
Posts: 14
Received Thanks: 0
Quote:
Originally Posted by blinko View Post
It seems there is a new update ! NEver fear I've already got ya covered.

Here is the new updated sources to the EEBot_v1.1.au3
New required files are EEAutoPilot.settings file (can be edited in notepad to your liking) although this is only used for the EEMem.au3to detect the launcher.exe without declaring to do so from the EEMemOpen() function.
All Memory functions slightly altered to perform more as I please. The memory open function can just now be used as $handle = _EEMemRead($pid) <--$pid is found inside the settings file ! However only the _EEMemRead() function uses the _EEMemOpen(). The _EEMemRead() will open the process stored in the settings file, and then read the BaseAddress + the offset (GetBaseAddress() for that), and then close the process using _EEMemClose(). All in one go so it's much less code to work with. I've made the EEMem.au3 separate from a new EEData.au3 file which stores the memory offsets, and addresses (soon to be edited to use the settings file) Then of course the GUI and bot are the EEBot_v1.1.au3.

Attached Below !!


Or for those who prefer to copy and paste. The code isn't very cleaned up yet. Still some tester things in there like the F7 hotkey which displays all the addresses and offsets I've currently got stored in the EEData.au3..Was a way for me to test multiple stats at once. So it's a bit cluttered, but easily worked with. An extra memory address added for Player Name, one is a static client address, the other is an offset of 1B8 at the new Memory Base Address 0x00C7AED8. Zoom Address has been fixed as well can now continue zooming out :O !

EEMem.au3
Code:
#include-once

Func _EEMemOpen($DWACCESS = 0x1F0FFF, $DWINHERITHANDLE = 1)

$DWPROCID = ProcessExists(IniRead(@WorkingDir & "\EEAutoPilot.settings","main","exe",""))

If $DWPROCID = 0 then
	MsgBox(0,"","Process Doesn't Exist!" & @crlf & "If however it DOES, then something is terribly wrong !")
	exit 0
EndIf

	local $DWHANDLES[2] = [DllOpen("kernel32.dll")]
	If @error Then
		SetError(2)
		Return 0
	EndIf
	Local $DWOPENPROC = DllCall($DWHANDLES[0], "int", "OpenProcess", "int", $DWACCESS, "int", $DWINHERITHANDLE, "int", $DWPROCID)
	If @error Then
		SetError(3)
		Return 0
	EndIf
	$DWHANDLES[1] = $DWOPENPROC[0]
	Return $DWHANDLES
EndFunc

Func _EEMemClose($DWHANDLES)
	If Not IsArray($DWHANDLES) Then
		SetError(1)
		Return 0
	EndIf
	DllCall($DWHANDLES[0], "int", "CloseHandle", "int", $DWHANDLES[1])
	If Not @error Then
		DllClose($DWHANDLES[0])
		Return 1
	Else
		DllClose($DWHANDLES[0])
		SetError(2)
		Return 0
	EndIf
EndFunc

Func _EEMemRead($DWADDRESS, $DWTYPE = "dword")
	$DWHANDLES = _EEMemOpen()
	If Not IsArray($DWHANDLES) Then
		SetError(1)
		Return 0
	EndIf
	Local $DWBUFFER = DllStructCreate($DWTYPE)
	If @error Then
		SetError(@error + 1)
		Return 0
	EndIf
	DllCall($DWHANDLES[0], "int", "ReadProcessMemory", "int", $DWHANDLES[1], "int", $DWADDRESS, "ptr", DllStructGetPtr($DWBUFFER), "int", DllStructGetSize($DWBUFFER), "int", "")
	If Not @error Then
		Local $DWVALUE = DllStructGetData($DWBUFFER, 1)
		_EEMemClose($DWHANDLES)
		Return $DWVALUE
	Else
		SetError(6)
		Return 0
	EndIf
EndFunc

Func _EEMemWrite($DWADDRESS, $DWDATA, $DWTYPE = "dword")
	$DWHANDLES = _EEMemOpen()
	If Not IsArray($DWHANDLES) Then
		SetError(1)
		Return 0
	EndIf
	Local $DWBUFFER = DllStructCreate($DWTYPE)
	If @error Then
		SetError(@error + 1)
		Return 0
	Else
		DllStructSetData($DWBUFFER, 1, $DWDATA)
		If @error Then
			SetError(6)
			Return 0
		EndIf
	EndIf
	DllCall($DWHANDLES[0], "int", "WriteProcessMemory", "int", $DWHANDLES[1], "int", $DWADDRESS, "ptr", DllStructGetPtr($DWBUFFER), "int", DllStructGetSize($DWBUFFER), "int", "")
	If Not @error Then
		Return 1
	Else
		SetError(7)
		Return 0
	EndIf
	_EEMemClose($DWHANDLES)
EndFunc
EEData.au3
Code:
;EEBot - Data Source
#include 'EEMem.au3'

#Region======================================MISC FUNCTIONS==========================================================================

;~ Function-'Format'-Description-------------------------------------------------------
;~ Format Function Created by Blinko
;~ Description: Format( $value )
;~       This was made to imitate Visual Basic's Format Function.
;~ 		 Where (Example Text1 = Format( Text1, "###,###" )
;~ 		 If Text1.text = 1000
;~ 		 then Format(Text1, "###,###") = 1,000
;~ 		 However AutoIt doesnt have a function for this. So i made one up.
;~
;~ Usage: Format($expression, $separator, $nSize)
;~      As the Above Example u want a string like 100000 to read as 100,000
;~      You simply say for example Format('100000' , ',' , 3)
;~      Usage Example: GuiCtrlSetData( $Label, Format(GetPlayerGold(), ',' , 3) )
;~      You may also use "," instead of ',' it does not matter :P
;~ ---------------------------------------------------------------------------------------

Func Format($expression, $separator, $nSize)
	Local $split = StringSplit($expression, "")
    Local $newText = ""
    Local $counter = 0
    If StringLen($expression) > $nSize Then
        For $i = $split[0] To 1 Step -1
            If $counter = $nSize Then
                $newText = $split[$i] & $separator & $newText
                $counter = 0
            Else
                $newText = $split[$i] & $newText
            EndIf
            $counter +=1
        Next
	Else
		$expression = $expression
		Return $expression
    EndIf

	Return $newText
EndFunc

#EndRegion===========================================================================================================================










;~ local $app_base = 0x00C71E98
local $app_base = 0x00C7AED8
local $app_base_offset = 0xC
;~ local $Zoom_ADDR = 0x00C7157C
local $Zoom_ADDR = 0x00C7A5BC
local $pname = 0x00C7ADC4 ;static name
;~ local $ptarget = 0x00C71EAC
local $ptarget = 0x00C7AEEC
local $ZOOM_OFFSET1 = 0x54
local $OFFSET_CurHP = 0x4
local $OFFSET_MaxHP = 0x4C
local $OFFSET_CurMP = 0x8
local $OFFSET_MaxMP = 0x50
local $OFFSET_TARGET = 0x08
local $OFFSET_EXP = 0x18
local $OFFSET_CEXP = 0x20
local $OFFSET_CLASSLVL = 0x24
local $OFFSET_BASELVL = 0x1C
local $OFFSET_PDEF = 0x64
local $OFFSET_PCRIT = 0x11C
local $OFFSET_PACC = 0x118
local $OFFSET_PSTR = 0x144
local $OFFSET_PAGI = 0x150
local $OFFSET_PINT = 0x14C
local $OFFSET_PWIS = 0x154
local $OFFSET_PLCK = 0x158
local $OFFSET_GUILDTITLE = 0x1F0
local $OFFSET_PNAME = 0x1B8 ;offset for player name from app base address

func GetBaseAddress()
	local $base = _EEMemRead($app_base)
	local $ptr =  '0x' & Hex($base + $app_base_offset)
	local $base_address = _EEMemRead($ptr)
	return $base_address
EndFunc

local $CurHP = '0x' & Hex(GetBaseAddress() + $OFFSET_CurHP)
local $MaxHP = '0x' & Hex(GetBaseAddress() + $OFFSET_MaxHP)
local $CurMP = '0x' & Hex(GetBaseAddress() + $OFFSET_CurMP)
local $MaxMP = '0x' & Hex(GetBaseAddress() + $OFFSET_MaxMP)
local $CurEXP = '0x' & Hex(GetBaseAddress() + $OFFSET_EXP)

local $CurCEXP = '0x' & Hex(GetBaseAddress() + $OFFSET_CEXP)

local $ClassLVL = '0x' & Hex(GetBaseAddress() + $OFFSET_CLASSLVL)
local $BaseLVL = '0x' & Hex(GetBaseAddress() + $OFFSET_BASELVL)
local $PlayerDEF = '0x' & Hex(GetBaseAddress() + $OFFSET_PDEF)
local $PlayerPCRIT = '0x' & Hex(GetBaseAddress() + $OFFSET_PCRIT)
local $PlayerPSTR = '0x' & Hex(GetBaseAddress() + $OFFSET_PSTR)
local $PlayerPAGI = '0x' & Hex(GetBaseAddress() + $OFFSET_PAGI)
local $PlayerPINT = '0x' & Hex(GetBaseAddress() + $OFFSET_PINT)
local $PlayerPWIS = '0x' & Hex(GetBaseAddress() + $OFFSET_PWIS)
local $PlayerPLCK = '0x' & Hex(GetBaseAddress() + $OFFSET_PLCK)
local $PlayerPACC = '0x' & Hex(GetBaseAddress() + $OFFSET_PACC)
local $PlayerGuildTitle = '0x' & Hex(GetBaseAddress() + $OFFSET_GUILDTITLE)
local $PlayerPNAME = '0x' & Hex(GetBaseAddress() + $OFFSET_PNAME)

func ReadEE($type)

		switch $type

			Case "player_name"
				$p_name = _EEMemRead($PlayerPNAME, "char[16]")
			return String($p_name)

			Case "player_guild_title"
				$p_guildt = _EEMemRead($PlayerGuildTitle, "char[16]")
			return String($p_guildt)

			Case "player_str"
				$p_str = _EEMemRead($PlayerPSTR, "dword")
			return Int($p_str)

			Case "player_agi"
				$p_agi = _EEMemRead($PlayerPAGI, "dword")
			return Int($p_agi)

			Case "player_int"
				$p_int = _EEMemRead($PlayerPINT, "dword")
			return Int($p_int)

			Case "player_acc"
				$p_acc = _EEMemRead($PlayerPACC, "float")
			return Int($p_acc)

			Case "player_crit"
				$p_crit = _EEMemRead($PlayerPCRIT, "float")
			return Int($p_crit)

			Case "player_def"
				$p_def = _EEMemRead($PlayerDEF, "dword")
			return Int($p_def)

			case "base_lvl"
				$base_lvl = _EEMemRead($BaseLVL, "dword")
			return Int($base_lvl)

			case "class_lvl"
				$class_lvl = _EEMemRead($ClassLVL, "dword")
			return Int($class_lvl)

			case "current_cexp"
				$cur_cexp = _EEMemRead($CurCEXP, "dword")
			return Int($cur_cexp)


			case "current_exp"
				$cur_exp = _EEMemRead($CurEXP, "dword")
			return Int($cur_exp)


			case "player_target"
				$targetbaseADDR = _EEMemRead($ptarget,"dword")
				$target =  '0x' & Hex($targetbaseADDR + $OFFSET_TARGET)
				$targeted = '0x' & Hex($target)
				$target = _EEMemRead($targeted, "dword")
				Return Int($target)

			case "name"
				$name = _EEMemRead($pname, "char[16]")
			return String($name)

			case "current_hp"
				$cur_hp = _EEMemRead($CurHP, "dword")
				return Int($cur_hp)

			case "max_hp"
				$max_hp = _EEMemRead($MaxHP)
			return Int($max_hp)

			case "current_mp"
				$cur_mp = _EEMemRead($CurMP)
			return Int($cur_mp)

			case "max_mp"
				$max_mp = _EEMemRead($MaxMP)
			return Int($max_mp)

		EndSwitch

EndFunc

func WriteEE($address,$offset,$value)
	;"1198383360" zoom hack value
	;1098383360 normal value

	$1 = _EEMemRead($address, "dword")
	_EEMemWrite($1 + $offset, $value, "dword")
EndFunc

Func ZoomHack()
	WriteEE($Zoom_ADDR,$ZOOM_OFFSET1,"1198383360")
EndFunc
EEBot_V1.1au3
Code:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_outfile=EEBot_v1.1.exe
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_Add_Constants=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#CS--------------------------------------------------------------------
;~ 	Brought to you by Blinko of Blinko's Box 2001-2011
;~ 	   ______                            ______
;~   (, /    ) /) ,     /)     /       (, /    )
;~     /---(  //   __  (/_  ___ _        /---(  _____/
;~  ) / ____)(/__(_/ (_/(__(_) /_)_   ) / ____)(_)  /(__
;~ (_/ (                             (_/ (         /


#CE--------------------------------------------------------------------

#include 'EEData.au3'
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIComboBoxEx.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

opt("GuiOnEventMode",1)
global $running,$hastarget,$stopped = 0

HotKeySet("{F5}","RunMiniBot")
HotKeySet("{F6}","ZoomHack")
HotKeySet("{F7}","ShowStats")

$win = WinGetTitle("EE Auto-Pilot")
If WinExists($win) Then
	MsgBox(0,"Warning","Bot already open")
	Exit
EndIf

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("EE Auto-Pilot", 233, 296, 192, 124)
GuiSetOnEvent($GUI_EVENT_CLOSE,"CLOSE")
$str = "1|2|3|4|5|6|7|8|9|0"
$lbl_name = GUICtrlCreateLabel("Name Hidden", 5, 8, 150, 17)
$Label1 = GUICtrlCreateLabel("Label1", 5, 64, 150, 17)
$Label2 = GUICtrlCreateLabel("Label2", 5, 80, 150, 17)
$Label3 = GUICtrlCreateLabel("Label3", 5, 96, 150, 17)
$lbl_exp = GUICtrlCreateLabel("Player Exp:", 5, 113, 200, 17)
$Label4 = GUICtrlCreateLabel("Pot if HP <=", 5, 154, 70, 17)
$Input1 = GUICtrlCreateInput("250", 75, 154, 50, 21)
$Combo4 = GUICtrlCreateCombo("", 128, 154, 49, 25)
GUICtrlSetData(-1, $str)
$Label5 = GUICtrlCreateLabel("Pot if MP <=", 5, 181, 62, 17)
$Input2 = GUICtrlCreateInput("250", 75, 181, 50, 21)
$Combo5 = GUICtrlCreateCombo("", 128, 181, 49, 25)
GUICtrlSetData(-1, $str)
$Label6 = GUICtrlCreateLabel("Skill 1:", 5, 208, 35, 17)
$Label7 = GUICtrlCreateLabel("Skill 2:", 5, 232, 35, 17)
$Label8 = GUICtrlCreateLabel("Skill 3:", 5, 257, 35, 17)
$Combo1 = GUICtrlCreateCombo("", 48, 208, 49, 25)
GUICtrlSetData(-1, $str)
$Combo2 = GUICtrlCreateCombo("", 48, 232, 49, 25)
GUICtrlSetData(-1, $str)
$Combo3 = GUICtrlCreateCombo("", 48, 256, 49, 25)
GUICtrlSetData(-1, $str)
$lbl_classexp = GUICtrlCreateLabel("Class Exp:", 5, 129, 200, 17)
$Label9 = GUICtrlCreateLabel("Label9", 5, 28, 200, 17)
$Label10 = GUICtrlCreateLabel("Label10", 5, 45, 290, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###


func CLOSE()
	WinSetTitle("EEBot_v1.1","","Eden Eternal")
	exit 0
EndFunc

func UpdateInfo()
	GuiCtrlSetData($Label1,Format(ReadEE("current_hp"),",",3) & " / " & Format(ReadEE("max_hp"),",",3) & " : " & Round(Int(ReadEE("current_hp")) / Int(ReadEE("max_hp")) * 100,2) & " %")
	GuiCtrlSetData($Label2,Format(ReadEE("current_mp"),",",3) & " / " & Format(ReadEE("max_mp"),",",3) & " : " & Round(Int(ReadEE("current_mp")) / Int(ReadEE("max_mp")) * 100,2) & " %")
	GuiCtrlSetData($lbl_exp,"Exp: " & Format(ReadEE("current_exp"),",",3) & " / " & Format(ReadEE("max_exp"),",",3) & " : " & Round(Int(ReadEE("current_exp")) / Int(ReadEE("max_exp")) * 100,2) & " %" )
	GuiCtrlSetData($lbl_classexp,"Class Exp: " & Format(ReadEE("current_cexp"),",",3) & " / " & Format(ReadEE("max_cexp"),",",3) & " : " & Round(Int(ReadEE("current_cexp")) / Int(ReadEE("max_cexp")) * 100,2) & " %" )
    GuiCtrlSetData($Label3,"Player Target: " & ReadEE("player_target"))
	GuiCtrlSetData($Label9,"Player Level: " & ReadEE("base_lvl") & "     " & "Player DEF: " & ReadEE("player_def") )
	GuiCtrlSetData($Label10,"Class Level: " & ReadEE("class_lvl") & "     " & "Player CRIT: " & ReadEE("player_crit"))
	GuiCtrlSetData($lbl_name,"Player Name: " & ReadEE("name"))
	Sleep(300)
EndFunc


func CheckHP()
		$hp = Int(ReadEE("current_hp"))
		$hp_pot = Int(GuiCtrlRead($Input1))

	if Int($hp) < Int($hp_pot) Then

		$key4 = Int(GuiCtrlRead($Combo4))
		Send($key4,0)

	EndIf


EndFunc

func CheckMP()
		$mp = Int(ReadEE("current_mp"))
		$mp_pot = Int(GuiCtrlRead($Input2))

	if Int($mp) < Int($mp_pot) Then

		$key5 = Int(GuiCtrlRead($Combo5))
		Send($key5,0)

	EndIf


EndFunc

Func CheckTarget()
	$target = Int(ReadEE("player_target"))

	if Int($target) == 0 Then
		Send("{TAB}",0)

	EndIf
	Return Int(ReadEE("player_target"))
EndFunc

func ShowStats()
$msg = "Current HP: " & ReadEE("current_hp") & @crlf
$msg &= "Max HP: " & ReadEE("max_hp") & @crlf
$msg &= "Current MP: " & ReadEE("current_mp") & @crlf
$msg &= "Max MP: " & ReadEE("max_mp") & @crlf
$msg &= "STR: " & ReadEE("player_str") & @crlf
$msg &= "AGI: " & ReadEE("player_agi") & @crlf
$msg &= "INT: " & ReadEE("player_int") & @crlf
$msg &= "P-Crit: " & ReadEE("player_crit") & @crlf
$msg &= "ACC: " &  ReadEE("player_acc") & @crlf
$msg &= "DEF: " & ReadEE("player_def") & @crlf
$msg &= "BASE LVL: " & ReadEE("base_lvl") & @crlf
$msg &= "CLASS LVL: " & ReadEE("class_lvl") & @crlf
$msg &= "Current Class EXP: " & ReadEE("current_cexp") & @crlf
$msg &= "Current EXP: " & ReadEE("current_exp") & @crlf
$msg &= "Current TARGET: " & ReadEE("player_target") & @crlf
$msg &= "Player Name: " & ReadEE("player_name") & @crlf
$msg &= "Guild Name: " & ReadEE("player_guild_title")
MsgBox(0,"",$msg)
EndFunc

func RunMiniBot()
	$running = NOT $running

while $running
	UpdateInfo()
	CheckTarget()
	CheckHP()
	CheckMP()

		$key1 = Int(GuiCtrlRead($Combo1))
		Send($key1,0)

		$key2 = Int(GuiCtrlRead($Combo2))
		Send($key2,0)

		$key3 = Int(GuiCtrlRead($Combo3))
		Send($key3,0)
Wend

EndFunc

WinSetTitle("Eden Eternal","","EEBot_v1.1")

While 1
	UpdateInfo()
	Sleep(600)
WEnd
Everything works as it did before for me no trouble here !

*EDIT*
Open up your EEAutoPilot.settings file and change exe=launcher.exe to exe=_Launcher.exe
is it possible to make it run background? or is there a method? dont mind giving me website to learn or something? sorry im new here


litatwish is offline  
Closed Thread



« Previous Thread | Next Thread »

Similar Threads
Eden Eternal bot issue
Im trying to use my own bot in the game Eden Eternal. But I'm not getting to use the _SendMessage and _PostMessage functons, i tried a lot to make it...
7 Replies - AutoIt
Eden Eternal
Hallo Leute. Ich wollte fragen ob ihr bei der CB von Eden Eternal dabei wart, was ihr davon haltet und ob es eventuell Server files oder Language...
2 Replies - General Gaming Discussion
WTS Eden Eternal Account.
Hello! Selling my Eden Eternal account from this site here: Eden Eternal - Eden Eternal - A free MMORPG from Aeria Games Game is open to ANYONE...
17 Replies - Trading
eden eternal hacks needed
any1 gonna make hacks for eden eternal ?
3 Replies - General Coding
Eternal Eden OB!
Eden Eternal - Eden Eternal - A free MMORPG from Aeria Games signup here! ^ OB starts today experience the fun!
0 Replies - General Gaming Discussion



All times are GMT +1. The time now is 19:12.


Powered by vBulletin®
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Abuse
Copyright ©2017 elitepvpers All Rights Reserved.