loop,11
If (StrLen(ReadEOClient%A_Index%) > 2)
if ((ReadEOClient%A_Index% = "%name1%")
OR (ReadEOClient%A_Index% = "%name2%")
OR (ReadEOClient%A_Index% = "%name3%")
OR (ReadEOClient%A_Index% = "%name4%") )
if ((ReadEOClient%A_Index% = name1)
OR (ReadEOClient%A_Index% = name2)
OR (ReadEOClient%A_Index% = name3)
OR (ReadEOClient%A_Index% = name4) )
Also, if those are supposed to be the variable names from the GUI, the ones in the GUI are named nome1, nome2, etc., not name1, name2, etc. And I don't see where you have a Gui, Submit or anything to retrieve the values from the GUI.
One other thing: Why are you including Gdip.ahk and calling Gdip_Startup()?
if ((ReadEOClient%A_Index% = name1)
OR (ReadEOClient%A_Index% = name2)
OR (ReadEOClient%A_Index% = name3)
OR (ReadEOClient%A_Index% = name4) )
Also, if those are supposed to be the variable names from the GUI, the ones in the GUI are named nome1, nome2, etc., not name1, name2, etc. And I don't see where you have a Gui, Submit or anything to retrieve the values from the GUI.
One other thing: Why are you including Gdip.ahk and calling Gdip_Startup()?
#Include <classMemory>
#SingleInstance,Force
#NoEnv
#WinActivateForce ; need to test it
SetTitleMatchMode, RegEx
#Warn All, Off ; #Warn eables warnings to assist with detecting common errors, while "all, off" makes them all disabled
#Persistent
SendMode InputThenPlay
global food
Gui, add, Text, x20 y20 w70 h40 vchar,
Gui, add, Text, x20 y40 w70 h40 vchar2,
Gui, add, Text, x20 y60 w70 h40 vchar3,
Gui, add, Text, x20 y80 w70 h40 vchar4,
Gui, add, Text, x20 y100 w70 h40 vchar5,
Gui, add, Text, x130 y20 w70 h40 vchar6,
Gui, add, Text, x130 y40 w70 h40 vchar7,
Gui, add, Text, x130 y60 w70 h40 vchar8,
Gui, add, Text, x130 y80 w70 h40 vchar9,
Gui, add, Text, x130 y100 w70 h40 vchar10,
Gui, add, Text, x130 y120 w70 h40 vchar11,
Gui +LastFound +AlwaysOnTop
Gui Show, w400 h200, Elder Bot - LOGar Maker V.1.1
SetTimer casa, 500
return
casa:
Loop 11 ; Para criarmos 10 arrays
{
OFFSET_ATUAL := A_Index ; Salvamos o valor da iteração atual do loop externo para poder usá-lo dentro do loop interno abaixo.
Offset%OFFSET_ATUAL% := [0xC, 0xF4] ; Iniciamos com o modelo básico da array
Loop % A_Index ; E aí vamos fazer um loop pelo número da iteração atual
{
Offset%OFFSET_ATUAL%.InsertAt(1, 0x0) ; Para inserir tantos elementos 0x0 quanta for a iteração atual (por exemplo, na 5a iteração, inseriremos 5 elementos 0x0)
}
}
loop, 11
{
OFFSET1_ATUAL := A_Index ; Salvamos o valor da iteração atual do loop externo para poder usá-lo dentro do loop interno abaixo.
Offset1%OFFSET_ATUAL1% := [0xC, 0xF4] ; Iniciamos com o modelo básico da array
Loop % A_Index ; E aí vamos fazer um loop pelo número da iteração atual
{
Offset1%OFFSET_ATUAL1%.InsertAt(1, 0x0) ; Para inserir tantos elementos 0x0 quanta for a iteração atual (por exemplo, na 5a iteração, inseriremos 5 elementos 0x0)
}
}
mem := new _ClassMemory("ahk_exe client_dx.exe")
if !isObject(mem)
msgbox failed to open a handle
Loop 11
{
ReadEOClient%A_Index% := mem.readString(mem.BaseAddress + 0x55B11C, 15, "utf-8", Offset%A_Index%*)
GuiControl,,char%A_Index%, % ReadEOClient%A_Index%
}
loop,11
If (StrLen(ReadEOClient%A_Index%) > 2)
if ((ReadEOClient%A_Index% = "name1")
OR (ReadEOClient%A_Index% = "name2")
OR (ReadEOClient%A_Index% = "name3")
OR (ReadEOClient%A_Index% = "name4")
OR (ReadEOClient%A_Index% = "name5")
OR (ReadEOClient%A_Index% = "name6"))
{
}
else
{
desloger()
}
return
desloger(){
loop,5
{
ControlSend,, {Ctrl Down}q{Ctrl Up},lname1
ControlSend,, {Ctrl Down}q{Ctrl Up}, lname2
ControlSend,, {Ctrl Down}q{Ctrl Up},lmane3
}}
return
GuiClose:
ExitApp
return
It looks like you’re not pointing to the correct memory address. I don’t have any real experience with reading memory, so maybe someone else can help you.
loop,11
if ignored == ^, ?, $ ,%, #, @
If (StrLen(ReadEOClient%A_Index%) > 2)
if ((ReadEOClient%A_Index% = "name1")
OR (ReadEOClient%A_Index% = "name2")
OR (ReadEOClient%A_Index% = "name3")
OR (ReadEOClient%A_Index% = "name4")
OR (ReadEOClient%A_Index% = "name5")
OR (ReadEOClient%A_Index% = "name6"))
{
}
loop,11
if !RegExMatch(ReadEOClient%A_Index%, "[\^?$%#@]")
If (StrLen(ReadEOClient%A_Index%) > 2)
if ((ReadEOClient%A_Index% = "name1")
OR (ReadEOClient%A_Index% = "name2")
OR (ReadEOClient%A_Index% = "name3")
OR (ReadEOClient%A_Index% = "name4")
OR (ReadEOClient%A_Index% = "name5")
OR (ReadEOClient%A_Index% = "name6"))
{
}
loop,11
if !RegExMatch(ReadEOClient%A_Index%, "[\^?$%#@]")
If (StrLen(ReadEOClient%A_Index%) > 2)
if ((ReadEOClient%A_Index% = "name1")
OR (ReadEOClient%A_Index% = "name2")
OR (ReadEOClient%A_Index% = "name3")
OR (ReadEOClient%A_Index% = "name4")
OR (ReadEOClient%A_Index% = "name5")
OR (ReadEOClient%A_Index% = "name6"))
{
}
If you're asking why the food checkbox and others doesn't save and update, it seems pretty obvious. The variable name for the checkbox is foodd (two d's):
If you're asking why the food checkbox and others doesn't save and update, it seems pretty obvious. The variable name for the checkbox is foodd (two d's):