guys can someone post wat to compile when i run the EEbot_1.1 au3_auto_ file it says "process doent exist" also EEMem au3_auto_file when i run it same result. are these the 2 files that needs to be compile? tnx...
The .au3 file doesnt affect .exeQuote:
guys can someone post wat to compile when i run the EEbot_1.1 au3_auto_ file it says "process doent exist" also EEMem au3_auto_file when i run it same result. are these the 2 files that needs to be compile? tnx...
Try using the code source from the earlier post from me. It's the most up to date. The OverEE is old..I just haven't started a new thread.Quote:
I definitely need help on this. I download but the number keeps running without stop. Also, the bot didn't work at all on my computer (win 7x64) need help on this
i got it tnx, but my bot keeps using hp and mp pots even i already set a number in the hp/mp boxQuote:
The .au3 file doesnt affect .exe
You need to code .au3 with AutoIt and then compile the file to create .exe
to avoid "Process Doesn't Exist", launch Eden Eternal before open execute bot.
I have no idea what EEMem does...something about memory reading of something from eden eternal...Quote:
ok tnx ill compile the EEBot_1.1 au3 into a .exe how about the EEMem au3 wat does it do?
i got it tnx, but my bot keeps using hp and mp pots even i already set a number in the hp/mp box
wer to set hp value at the source code or at the bot boxes?Quote:
I have no idea what EEMem does...something about memory reading of something from eden eternal...
EDIT.: well, about hp/mp pot spam, it shouldnt be happening.. you must set hp value to use hp...
edit2: sry about my english =p
I think radius is imposible to set, but we can set coordenate, since we can move via left click in WORLD MAP... just verify the current map and set waypoints to run...Quote:
oh i see tnx man..
i hope blinko add more stuff like setting radius and a sound stuff when captha is coming..
#include 'EEMem.au3'
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIComboBoxEx.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Opt("GuiOnEventMode",1)
Opt("SendKeyDownDelay",50)
Opt("TrayIconHide",1)
global $running
Global $timer_skill1,$timer_skill2,$timer_skill3,$timer_hp,$timer_mp
$g_szVersion = "ee bot 1.1"
If WinExists($g_szVersion) Then
MsgBox(0,"Warning","Bot already open")
Exit
EndIf
AutoItWinSetTitle($g_szVersion)
$profile=ReadEE("name")
HotKeySet("{F5}","RunMiniBot")
HotKeySet("{F6}","turnHP")
HotKeySet("{F7}","turnMP")
$Form1 = GUICreate("EE Auto-Pilot",201,219,IniRead("save.ini","position","main_x",192),IniRead("save.ini","position","main_x",124))
GuiSetOnEvent($GUI_EVENT_CLOSE,"CLOSE")
$str = "1|2|3|4|5|6|7|8|9|0"
$lbl_name = GUICtrlCreateLabel("Name", 8, 8, 150, 17)
$Label1 = GUICtrlCreateLabel("Label1", 8, 24, 140, 17)
$Label2 = GUICtrlCreateLabel("Label2", 8, 40, 140, 17)
$Label3 = GUICtrlCreateLabel("Label2", 8, 56, 150, 17)
$OnTop = GUICtrlCreateCheckbox("On Top",150,24,55,17)
$hpCKB = GUICtrlCreateCheckbox("Pot if HP <=", 8, 80, 75, 17)
$Input1 = GUICtrlCreateInput(IniRead("save.ini",$profile,"hp",250), 94, 80, 50, 21)
GUICtrlSetLimit(-1, 5)
$Combo4 = GuiCtrlCreateCombo("",145,80,39,25)
GuiCtrlSetData($Combo4,$str,IniRead("save.ini",$profile,"Hp_key",1))
$mpCKB = GUICtrlCreateCheckbox("Pot if MP <=", 8, 104, 75, 17)
$Input2 = GUICtrlCreateInput(IniRead("save.ini",$profile,"mp",250), 94, 104, 50, 21)
GUICtrlSetLimit(-1, 5)
$Combo5 = GuiCtrlCreateCombo("",145,104,39,25)
GuiCtrlSetData($Combo5,$str,IniRead("save.ini",$profile,"Mp_key",1))
$s1CKB=GUICtrlCreateCheckbox("Skill 1:", 8, 144, 45, 17)
$s2CKB=GUICtrlCreateCheckbox("Skill 2:", 8, 168, 45, 17)
$s3CKB=GUICtrlCreateCheckbox("Skill 3:", 8, 193, 45, 17)
$s1delay=GUICtrlCreateInput(IniRead("save.ini",$profile,"s1d",1),107,144,25,21)
GUICtrlSetLimit(-1, 3)
$s2delay=GUICtrlCreateInput(IniRead("save.ini",$profile,"s2d",1),107,168,25,21)
GUICtrlSetLimit(-1, 3)
$s3delay=GUICtrlCreateInput(IniRead("save.ini",$profile,"s3d",1),107,192,25,21)
GUICtrlSetLimit(-1, 3)
$Combo1 = GUICtrlCreateCombo("", 68, 144, 39, 25)
GuiCtrlSetData($Combo1,$str,IniRead("save.ini",$profile,"s1_key",1))
$Combo2 = GUICtrlCreateCombo("", 68, 168, 39, 25)
GuiCtrlSetData($Combo2,$str,IniRead("save.ini",$profile,"s2_key",1))
$Combo3 = GUICtrlCreateCombo("", 68, 192, 39, 25)
GuiCtrlSetData($Combo3,$str,IniRead("save.ini",$profile,"s3_key",1))
GUISetState(@SW_SHOW)
GUICtrlSetOnEvent($OnTop,"ontop")
func CLOSE()
_save_profile()
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($Label3,"Player Target: " & ReadEE("player_target"))
GuiCtrlSetData($lbl_name,"Player Name: " & ReadEE("name"))
EndFunc
func CheckHP()
$hp = Int(ReadEE("current_hp"))
$hp_pot = Int(GuiCtrlRead($Input1))
if Int($hp) < Int($hp_pot) And Int($hp)>0 And TimerDiff($timer_hp)>2000 Then
WinActivate("Eden Eternal")
Send(GuiCtrlRead($Combo4))
$timer_hp=TimerInit()
EndIf
EndFunc
func CheckMP()
$mp = Int(ReadEE("current_mp"))
$mp_pot = Int(GuiCtrlRead($Input2))
if Int($mp) < Int($mp_pot) And Int($mp)>0 And TimerDiff($timer_mp)>2000 Then
WinActivate("Eden Eternal")
Send(GuiCtrlRead($Combo5))
$timer_mp=TimerInit()
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 RunMiniBot()
$running = NOT $running
WinActivate("Eden Eternal")
while $running
UpdateInfo()
CheckTarget()
If GUICtrlRead($hpCKB)=1 Then CheckHP()
If GUICtrlRead($mpCKB)=1 Then CheckMP()
If GUICtrlRead($s1CKB)=1 And TimerDiff($timer_skill1)>(GUICtrlRead($s1delay)*1000) Then
Send(GuiCtrlRead($Combo1))
$timer_skill1=TimerInit()
Sleep(200)
EndIf
If GUICtrlRead($s2CKB)=1 And TimerDiff($timer_skill2)>(GUICtrlRead($s2delay)*1000) Then
Send(GuiCtrlRead($Combo2))
$timer_skill2=TimerInit()
Sleep(200)
EndIf
If GUICtrlRead($s3CKB)=1 And TimerDiff($timer_skill3)>(GUICtrlRead($s3delay)*1000) Then
Send(GuiCtrlRead($Combo3))
$timer_skill3=TimerInit()
Sleep(200)
EndIf
Sleep(50)
Wend
EndFunc
While 1
UpdateInfo()
If ProcessExists("_Launcher.exe") Then
If GUICtrlRead($hpCKB)=1 Then CheckHP()
If GUICtrlRead($mpCKB)=1 Then CheckMP()
Else
MsgBox(0,"EE Bot Error","Eden Eternal is not running"&@CRLF&"Please RUN game first")
_save_profile()
Exit 0
EndIf
Sleep(100)
WEnd
Func ontop()
If GUICtrlRead($OnTop)=1 Then
WinSetOnTop("EE Auto-Pilot","",1)
Else
WinSetOnTop("EE Auto-Pilot","",0)
EndIf
EndFunc
Func _save_profile()
IniWrite("save.ini",$profile,"HpCKB",GUICtrlRead($hpCKB))
IniWrite("save.ini",$profile,"MpCKB",GUICtrlRead($MpCKB))
IniWrite("save.ini",$profile,"s1CKB",GUICtrlRead($s1CKB))
IniWrite("save.ini",$profile,"s2CKB",GUICtrlRead($s2CKB))
IniWrite("save.ini",$profile,"s3CKB",GUICtrlRead($s3CKB))
IniWrite("save.ini",$profile,"s1d",GUICtrlRead($s1delay))
IniWrite("save.ini",$profile,"s2d",GUICtrlRead($s2delay))
IniWrite("save.ini",$profile,"s3d",GUICtrlRead($s3delay))
IniWrite("save.ini",$profile,"hp",GUICtrlRead($Input1))
IniWrite("save.ini",$profile,"mp",GUICtrlRead($Input2))
IniWrite("save.ini",$profile,"Hp_key",GUICtrlRead($Combo4))
IniWrite("save.ini",$profile,"Mp_key",GUICtrlRead($Combo5))
IniWrite("save.ini",$profile,"s1_key",GUICtrlRead($Combo1))
IniWrite("save.ini",$profile,"s2_key",GUICtrlRead($Combo2))
IniWrite("save.ini",$profile,"s3_key",GUICtrlRead($Combo3))
$pos=WinGetPos($Form1)
IniWrite("save.ini","position","main_x",$pos[0])
IniWrite("save.ini","position","main_y",$pos[1])
EndFunc
Func turnHP()
If GUICtrlRead($hpCKB)=1 Then
GUICtrlSetState($hpCKB,$GUI_UNCHECKED)
Else
GUICtrlSetState($hpCKB,$GUI_CHECKED)
EndIf
EndFunc
Func turnMP()
If GUICtrlRead($mpCKB)=1 Then
GUICtrlSetState($mpCKB,$GUI_UNCHECKED)
Else
GUICtrlSetState($mpCKB,$GUI_CHECKED)
EndIf
EndFunc
You're Right ! When you make the call to the function ReadEE() to return for example the current hp ( ReadEE("current_hp") ) The EEMem must be in the includes file or the function will be undeclared. Or you can even combine all of it into one single au3 file and split areas with regions. I just find it easier to use a separate au3 file for orginizational purposes.Quote:
I have no idea what EEMem does...something about memory reading of something from eden eternal...
That is a good idea, we could even use user create .route files where you just put in coordinates and then it'll go in order of the created list. Great idea. Radius however..that I am not sure how to determine. I'm currently working on a zoom hack.Quote:
I think radius is imposible to set, but we can set coordenate, since we can move via left click in WORLD MAP... just verify the current map and set waypoints to run...
I tested this out seeing as you added some delays. I was having trouble with those and just decided to say screw it. It's working fine however one thing I'm concerned about is the time it takes to target the next mob, and then continue to attack. This done the same thing when I tried it. Any ideas? Also great idea on using the ini files so save user set options :PQuote:
here is a less spawn bot
don't forget EEMem.au3 to compile the exe, or else you'll get and error.
i also include a autosave option with your character's name.
i also added two new keys, f6 to turn on or off auto hp pots and f7 to turn on or off auto mp pots
i also added a delay for each skill, the delay is in seconds
auto pots also function without starting bot, you just need to check the box, or click f6 or f7
you can also set the bot to use 1, 2 or 3 skills
if you check the box saying On Top, bot will always stay on top of other windows
just have fun
Code:#include 'EEMem.au3' #include <ComboConstants.au3> #include <EditConstants.au3> #include <GUIComboBoxEx.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> Opt("GuiOnEventMode",1) Opt("SendKeyDownDelay",50) Opt("TrayIconHide",1) global $running Global $timer_skill1,$timer_skill2,$timer_skill3,$timer_hp,$timer_mp $g_szVersion = "ee bot 1.1" If WinExists($g_szVersion) Then MsgBox(0,"Warning","Bot already open") Exit EndIf AutoItWinSetTitle($g_szVersion) $profile=ReadEE("name") HotKeySet("{F5}","RunMiniBot") HotKeySet("{F6}","turnHP") HotKeySet("{F7}","turnMP") $Form1 = GUICreate("EE Auto-Pilot",201,219,IniRead("save.ini","position","main_x",192),IniRead("save.ini","position","main_x",124)) GuiSetOnEvent($GUI_EVENT_CLOSE,"CLOSE") $str = "1|2|3|4|5|6|7|8|9|0" $lbl_name = GUICtrlCreateLabel("Name", 8, 8, 150, 17) $Label1 = GUICtrlCreateLabel("Label1", 8, 24, 140, 17) $Label2 = GUICtrlCreateLabel("Label2", 8, 40, 140, 17) $Label3 = GUICtrlCreateLabel("Label2", 8, 56, 150, 17) $OnTop = GUICtrlCreateCheckbox("On Top",150,24,55,17) $hpCKB = GUICtrlCreateCheckbox("Pot if HP <=", 8, 80, 75, 17) $Input1 = GUICtrlCreateInput(IniRead("save.ini",$profile,"hp",250), 94, 80, 50, 21) GUICtrlSetLimit(-1, 5) $Combo4 = GuiCtrlCreateCombo("",145,80,39,25) GuiCtrlSetData($Combo4,$str,IniRead("save.ini",$profile,"Hp_key",1)) $mpCKB = GUICtrlCreateCheckbox("Pot if MP <=", 8, 104, 75, 17) $Input2 = GUICtrlCreateInput(IniRead("save.ini",$profile,"mp",250), 94, 104, 50, 21) GUICtrlSetLimit(-1, 5) $Combo5 = GuiCtrlCreateCombo("",145,104,39,25) GuiCtrlSetData($Combo5,$str,IniRead("save.ini",$profile,"Mp_key",1)) $s1CKB=GUICtrlCreateCheckbox("Skill 1:", 8, 144, 45, 17) $s2CKB=GUICtrlCreateCheckbox("Skill 2:", 8, 168, 45, 17) $s3CKB=GUICtrlCreateCheckbox("Skill 3:", 8, 193, 45, 17) $s1delay=GUICtrlCreateInput(IniRead("save.ini",$profile,"s1d",1),107,144,25,21) GUICtrlSetLimit(-1, 3) $s2delay=GUICtrlCreateInput(IniRead("save.ini",$profile,"s2d",1),107,168,25,21) GUICtrlSetLimit(-1, 3) $s3delay=GUICtrlCreateInput(IniRead("save.ini",$profile,"s3d",1),107,192,25,21) GUICtrlSetLimit(-1, 3) $Combo1 = GUICtrlCreateCombo("", 68, 144, 39, 25) GuiCtrlSetData($Combo1,$str,IniRead("save.ini",$profile,"s1_key",1)) $Combo2 = GUICtrlCreateCombo("", 68, 168, 39, 25) GuiCtrlSetData($Combo2,$str,IniRead("save.ini",$profile,"s2_key",1)) $Combo3 = GUICtrlCreateCombo("", 68, 192, 39, 25) GuiCtrlSetData($Combo3,$str,IniRead("save.ini",$profile,"s3_key",1)) GUISetState(@SW_SHOW) GUICtrlSetOnEvent($OnTop,"ontop") func CLOSE() _save_profile() 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($Label3,"Player Target: " & ReadEE("player_target")) GuiCtrlSetData($lbl_name,"Player Name: " & ReadEE("name")) EndFunc func CheckHP() $hp = Int(ReadEE("current_hp")) $hp_pot = Int(GuiCtrlRead($Input1)) if Int($hp) < Int($hp_pot) And Int($hp)>0 And TimerDiff($timer_hp)>2000 Then WinActivate("Eden Eternal") Send(GuiCtrlRead($Combo4)) $timer_hp=TimerInit() EndIf EndFunc func CheckMP() $mp = Int(ReadEE("current_mp")) $mp_pot = Int(GuiCtrlRead($Input2)) if Int($mp) < Int($mp_pot) And Int($mp)>0 And TimerDiff($timer_mp)>2000 Then WinActivate("Eden Eternal") Send(GuiCtrlRead($Combo5)) $timer_mp=TimerInit() 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 RunMiniBot() $running = NOT $running WinActivate("Eden Eternal") while $running UpdateInfo() CheckTarget() If GUICtrlRead($hpCKB)=1 Then CheckHP() If GUICtrlRead($mpCKB)=1 Then CheckMP() If GUICtrlRead($s1CKB)=1 And TimerDiff($timer_skill1)>(GUICtrlRead($s1delay)*1000) Then Send(GuiCtrlRead($Combo1)) $timer_skill1=TimerInit() Sleep(200) EndIf If GUICtrlRead($s2CKB)=1 And TimerDiff($timer_skill2)>(GUICtrlRead($s2delay)*1000) Then Send(GuiCtrlRead($Combo2)) $timer_skill2=TimerInit() Sleep(200) EndIf If GUICtrlRead($s3CKB)=1 And TimerDiff($timer_skill3)>(GUICtrlRead($s3delay)*1000) Then Send(GuiCtrlRead($Combo3)) $timer_skill3=TimerInit() Sleep(200) EndIf Sleep(50) Wend EndFunc While 1 UpdateInfo() If ProcessExists("_Launcher.exe") Then If GUICtrlRead($hpCKB)=1 Then CheckHP() If GUICtrlRead($mpCKB)=1 Then CheckMP() Else MsgBox(0,"EE Bot Error","Eden Eternal is not running"&@CRLF&"Please RUN game first") _save_profile() Exit 0 EndIf Sleep(100) WEnd Func ontop() If GUICtrlRead($OnTop)=1 Then WinSetOnTop("EE Auto-Pilot","",1) Else WinSetOnTop("EE Auto-Pilot","",0) EndIf EndFunc Func _save_profile() IniWrite("save.ini",$profile,"HpCKB",GUICtrlRead($hpCKB)) IniWrite("save.ini",$profile,"MpCKB",GUICtrlRead($MpCKB)) IniWrite("save.ini",$profile,"s1CKB",GUICtrlRead($s1CKB)) IniWrite("save.ini",$profile,"s2CKB",GUICtrlRead($s2CKB)) IniWrite("save.ini",$profile,"s3CKB",GUICtrlRead($s3CKB)) IniWrite("save.ini",$profile,"s1d",GUICtrlRead($s1delay)) IniWrite("save.ini",$profile,"s2d",GUICtrlRead($s2delay)) IniWrite("save.ini",$profile,"s3d",GUICtrlRead($s3delay)) IniWrite("save.ini",$profile,"hp",GUICtrlRead($Input1)) IniWrite("save.ini",$profile,"mp",GUICtrlRead($Input2)) IniWrite("save.ini",$profile,"Hp_key",GUICtrlRead($Combo4)) IniWrite("save.ini",$profile,"Mp_key",GUICtrlRead($Combo5)) IniWrite("save.ini",$profile,"s1_key",GUICtrlRead($Combo1)) IniWrite("save.ini",$profile,"s2_key",GUICtrlRead($Combo2)) IniWrite("save.ini",$profile,"s3_key",GUICtrlRead($Combo3)) $pos=WinGetPos($Form1) IniWrite("save.ini","position","main_x",$pos[0]) IniWrite("save.ini","position","main_y",$pos[1]) EndFunc Func turnHP() If GUICtrlRead($hpCKB)=1 Then GUICtrlSetState($hpCKB,$GUI_UNCHECKED) Else GUICtrlSetState($hpCKB,$GUI_CHECKED) EndIf EndFunc Func turnMP() If GUICtrlRead($mpCKB)=1 Then GUICtrlSetState($mpCKB,$GUI_UNCHECKED) Else GUICtrlSetState($mpCKB,$GUI_CHECKED) EndIf EndFunc
Make sure to have autoit installed if your using the source code. as for the exe file..it should work on any platform.Quote:
It doesnt work for windows Vista, please help? T_T What can I do to make it work?
#include-once
#Region======================================MEMREAD/WRITE/OPEN/CLOSE================================================================
Func _MemoryOpen($DWPROCID, $DWACCESS = 0x1F0FFF, $DWINHERITHANDLE = 1)
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 _MemoryRead($DWHANDLES, $DWADDRESS, $DWTYPE = "dword")
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)
Return $DWVALUE
Else
SetError(6)
Return 0
EndIf
EndFunc
Func _MemoryWrite($DWHANDLES, $DWADDRESS, $DWDATA, $DWTYPE = "dword")
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
EndFunc
Func _MemoryClose($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
#EndRegion===========================================================================================================================
#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===========================================================================================================================
Global $pid = ProcessExists("_Launcher.exe")
If $pid = 0 then
MsgBox(0,"","Process Doesn't Exist!" & @crlf & "If however it DOES, then something is terribly wrong !")
exit 0
EndIf
func GetBaseAddress()
Global $app_base = 0x00C71E98
Global $app_base_offset = 0xC
global $pHandle = _MemoryOpen($pid)
global $base = _MemoryRead($pHandle, $app_base)
global $ptr = '0x' & Hex($base + $app_base_offset)
global $base_address = _MemoryRead($pHandle,$ptr)
_MemoryClose($pHandle)
return $base_address
EndFunc
func ReadEE($type)
local $OFFSET_CurHP = 0x4
local $CurHP = '0x' & Hex(GetBaseAddress() + $OFFSET_CurHP)
local $OFFSET_MaxHP = 0x48
local $MaxHP = '0x' & Hex(GetBaseAddress() + $OFFSET_MaxHP)
local $OFFSET_CurMP = 0x8
local $CurMP = '0x' & Hex(GetBaseAddress() + $OFFSET_CurMP)
local $OFFSET_MaxMP = 0x4C
local $MaxMP = '0x' & Hex(GetBaseAddress() + $OFFSET_MaxMP)
local $pname = 0x00C71D84
local $ptarget = 0x00C71EAC
local $OFFSET_TARGET = 0x08
local $OFFSET_EXP = 0x14
local $CurEXP = '0x' & Hex(GetBaseAddress() + $OFFSET_EXP)
local $OFFSET_MAXEXP = 0x64B0A80
local $MaxEXP = '0x' & Hex(GetBaseAddress() + $OFFSET_MAXEXP)
local $OFFSET_CEXP = 0x1C
local $CurCEXP = '0x' & Hex(GetBaseAddress() + $OFFSET_CEXP)
local $OFFSET_MAXCEXP = 0x64B0A88
local $MaxCEXP = '0x' & Hex(GetBaseAddress() + $OFFSET_MAXCEXP)
local $OFFSET_CLASSLVL = 0x20
local $ClassLVL = '0x' & Hex(GetBaseAddress() + $OFFSET_CLASSLVL)
local $OFFSET_BASELVL = 0x18
local $BaseLVL = '0x' & Hex(GetBaseAddress() + $OFFSET_BASELVL)
local $OFFSET_PDEF = 0x60
local $PlayerDEF = '0x' & Hex(GetBaseAddress() + $OFFSET_PDEF)
local $OFFSET_PCRIT = 0x118
local $PlayerPCRIT = '0x' & Hex(GetBaseAddress() + $OFFSET_PCRIT)
local $OFFSET_PSTR = 0x144
local $PlayerPSTR = '0x' & Hex(GetBaseAddress() + $OFFSET_PSTR)
local $OFFSET_PAGI = 0x14C
local $PlayerPAGI = '0x' & Hex(GetBaseAddress() + $OFFSET_PAGI)
local $OFFSET_PINT = 0x148
local $PlayerPINT = '0x' & Hex(GetBaseAddress() + $OFFSET_PINT)
switch $type
Case "player_str"
$pHandle = _MemoryOpen($pid)
$p_str = _MemoryRead($pHandle,$PlayerPSTR, "float")
_MemoryClose($pHandle)
return Int($p_str)
Case "player_agi"
$pHandle = _MemoryOpen($pid)
$p_agi = _MemoryRead($pHandle,$PlayerPAGI, "float")
_MemoryClose($pHandle)
return Int($p_agi)
Case "player_int"
$pHandle = _MemoryOpen($pid)
$p_int = _MemoryRead($pHandle,$PlayerPINT, "float")
_MemoryClose($pHandle)
return Int($p_int)
Case "player_crit"
$pHandle = _MemoryOpen($pid)
$p_crit = _MemoryRead($pHandle,$PlayerPCRIT, "float")
_MemoryClose($pHandle)
return Int($p_crit)
Case "player_def"
$pHandle = _MemoryOpen($pid)
$p_def = _MemoryRead($pHandle,$PlayerDEF, "dword")
_MemoryClose($pHandle)
return Int($p_def)
case "base_lvl"
$pHandle = _MemoryOpen($pid)
$base_lvl = _MemoryRead($pHandle,$BaseLVL, "dword")
_MemoryClose($pHandle)
return Int($base_lvl)
case "class_lvl"
$pHandle = _MemoryOpen($pid)
$class_lvl = _MemoryRead($pHandle,$ClassLVL, "dword")
_MemoryClose($pHandle)
return Int($class_lvl)
case "current_cexp"
$pHandle = _MemoryOpen($pid)
$cur_cexp = _MemoryRead($pHandle,$CurCEXP, "dword")
_MemoryClose($pHandle)
return Int($cur_cexp)
case "max_cexp"
$pHandle = _MemoryOpen($pid)
$max_cexp = _MemoryRead($pHandle,$MaxCEXP, "dword")
_MemoryClose($pHandle)
return Int($max_cexp)
case "current_exp"
$pHandle = _MemoryOpen($pid)
$cur_exp = _MemoryRead($pHandle,$CurEXP, "dword")
_MemoryClose($pHandle)
return Int($cur_exp)
case "max_exp"
$pHandle = _MemoryOpen($pid)
$max_exp = _MemoryRead($pHandle,$MaxEXP, "dword")
_MemoryClose($pHandle)
return Int($max_exp)
case "player_target"
$pHandle = _MemoryOpen($pid)
$targetbaseADDR = _MemoryRead($phandle,$ptarget,"dword")
$target = '0x' & Hex($targetbaseADDR + $OFFSET_TARGET)
$targeted = '0x' & Hex($target)
$target = _MemoryRead($pHandle,$targeted, "dword")
Return Int($target)
case "name"
$pHandle = _MemoryOpen($pid)
$name = _MemoryRead($pHandle,$pname, "char[16]")
_MemoryClose($pHandle)
return String($name)
case "current_hp"
$pHandle = _MemoryOpen($pid)
$cur_hp = _MemoryRead($pHandle,$CurHP)
_MemoryClose($pHandle)
return Int($cur_hp)
case "max_hp"
$pHandle = _MemoryOpen($pid)
$max_hp = _MemoryRead($pHandle,$MaxHP)
_MemoryClose($pHandle)
return Int($max_hp)
case "current_mp"
$pHandle = _MemoryOpen($pid)
$cur_mp = _MemoryRead($pHandle,$CurMP)
_MemoryClose($pHandle)
return Int($cur_mp)
case "max_mp"
$pHandle = _MemoryOpen($pid)
$max_mp = _MemoryRead($pHandle,$MaxMP)
_MemoryClose($pHandle)
return Int($max_mp)
EndSwitch
EndFunc