Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


Need Help With Script

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Mon Jan 21, 2013 10:40 pm    Post subject: Need Help With Script Reply with quote

I am following a teleport script that was posted by CE member l0wb1t.

Here is the original script (posted by l0wb1t):
Code:
[ENABLE]
alloc(newmem,2048)

label(returnhere)
label(originalcode)
label(exit)

label(z_coord)
label(x_coord)
label(y_coord)

label(save_coord)
label(load_coord)

label(s_enable)
label(l_enable)

registersymbol(s_enable)
registersymbol(l_enable)


Crysis2.exe+B2B5DC:
jmp newmem
nop
returnhere:

newmem:
cmp [s_enable],1
je save_coord

cmp [l_enable],1
je load_coord

jmp originalcode

save_coord:
mov [s_enable],0
push eax
mov eax,[esi+70]
mov [x_coord],eax
mov eax,[esi+74]
mov [z_coord],eax
mov eax,[esi+78]
mov [y_coord],eax
pop eax
jmp originalcode

load_coord:
mov [l_enable],0
cmp [z_coord],0
je originalcode
push eax
mov eax,[x_coord]
mov [esi+70],eax
mov eax,[z_coord]
mov [esi+74],eax
mov eax,[y_coord]
mov [esi+78],eax
pop eax

originalcode:
mov eax,[esi+78]
mov [ebp-20],ecx
exit:
jmp returnhere

x_coord:
dd 0
z_coord:
dd 0
y_coord:
dd 0
s_enable:
dd 0
l_enable:
dd 0


[DISABLE]
dealloc(newmem)

Crysis2.exe+B2B5DC:
mov eax,[esi+78]
mov [ebp-20],ecx

unregistersymbol(s_enable)
unregistersymbol(l_enable)


However, this is what I am working with:

Code:
005034F0 - 8B 40 38              - mov eax,[eax+38]
005034F3 - 85 C0                 - test eax,eax
005034F5 - 75 05                 - jne 005034FC
005034F7 - B8 E856B100           - mov eax,00B156E8 : [(float)1.0000]
005034FC - F3 0F10 09            - movss xmm1,[ecx]
00503500 - F3 0F10 40 30         - movss xmm0,[eax+30]
00503505 - 0F5A C0               - cvtps2pd xmm0,xmm0
00503508 - 0F5A C9               - cvtps2pd xmm1,xmm1
0050350B - F2 0F58 C1            - addsd xmm0,xmm1
0050350F - F3 0F10 48 34         - movss xmm1,[eax+34]
00503514 - 66 0F5A C0            - cvtpd2ps xmm0,xmm0
00503518 - F3 0F11 40 30         - movss [eax+30],xmm0  //X coordinate
0050351D - F3 0F10 41 04         - movss xmm0,[ecx+04]
00503522 - 0F5A C0               - cvtps2pd xmm0,xmm0
00503525 - 0F5A C9               - cvtps2pd xmm1,xmm1
00503528 - F2 0F58 C1            - addsd xmm0,xmm1
0050352C - F3 0F10 48 38         - movss xmm1,[eax+38]
00503531 - 66 0F5A C0            - cvtpd2ps xmm0,xmm0
00503535 - F3 0F11 40 34         - movss [eax+34],xmm0  //Y coordinate
0050353A - F3 0F10 41 08         - movss xmm0,[ecx+08]
0050353F - 0F5A C0               - cvtps2pd xmm0,xmm0
00503542 - 0F5A C9               - cvtps2pd xmm1,xmm1
00503545 - F2 0F58 C1            - addsd xmm0,xmm1
00503549 - 66 0F5A C0            - cvtpd2ps xmm0,xmm0
0050354D - F3 0F11 40 38         - movss [eax+38],xmm0  //Z coordinate
00503552 - C3                    - ret


When I search for 'find what writes the address pointed at by this pointer' (for each coordinate), I am shown the following lines (as shown above):

Code:
00503518 - F3 0F11 40 30         - movss [eax+30],xmm0  //X coordinate
00503535 - F3 0F11 40 34         - movss [eax+34],xmm0  //Y coordinate
0050354D - F3 0F11 40 38         - movss [eax+38],xmm0  //Z coordinate


Unfortunately, when I follow the script given by l0wb1t, I face this problem (for example):

His code:
Code:
push eax
mov eax,[esi+70]


My code:
Code:
push eax
mov eax,[eax+30]


This does not work, obviously.

Based on l0wb1t's script and the code for my game, common sense tells me that I should be using the following:
Code:
push xmm0
mov [eax+30],xmm0


However, I can not push xmm0, obviously.

Can somebody explain this to me, please?

Thanks.
Back to top
View user's profile Send private message
Geri
Moderator
Reputation: 111

Joined: 05 Feb 2010
Posts: 5636

PostPosted: Tue Jan 22, 2013 4:49 am    Post subject: Reply with quote

You don't have to touch xmm0.

Just replace eax with some other register in your code.

Instead of

push eax
mov eax,[eax+30]

use something like

push ebx
mov ebx,[eax+30]

_________________
My trainers can be found here: http://www.szemelyesintegracio.hu/cheats

If you are interested in any of my crappy articles/tutorials about CE and game hacking, you can find them here:
http://www.szemelyesintegracio.hu/cheats/41-game-hacking-articles

Don't request cheats or updates.
Back to top
View user's profile Send private message
mgr.inz.Player
I post too much
Reputation: 218

Joined: 07 Nov 2008
Posts: 4438
Location: W kraju nad Wisla. UTC+01:00

PostPosted: Tue Jan 22, 2013 10:01 am    Post subject: Reply with quote

Code:
newmem:
pushad
pushfd

cmp [s_enable],1
je save_coord
cmp [l_enable],1
je load_coord
jmp originalcode

save_coord:
mov [s_enable],0
mov ebx,[eax+30]
mov [x_coord],ebx
mov ebx,[eax+34]
mov [z_coord],ebx
mov ebx,[eax+38]
mov [y_coord],ebx
jmp originalcode

load_coord:
mov [l_enable],0
mov ebx,[x_coord]
mov [eax+30],ebx
mov ebx,[y_coord]
mov [eax+34],ebx
mov ebx,[z_coord]
mov [eax+38],ebx
jmp originalcode

originalcode:
popfd
popad

movss xmm0,[eax+30]
// or something else, depends on your chosen hack point


exit:
jmp returnhere

x_coord:
dd 0
z_coord:
dd 0
y_coord:
dd 0
s_enable:
dd 0
l_enable:
dd 0

_________________
Back to top
View user's profile Send private message MSN Messenger
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Tue Jan 22, 2013 2:28 pm    Post subject: Reply with quote

Geri wrote:
You don't have to touch xmm0.

Just replace eax with some other register in your code.

Instead of

push eax
mov eax,[eax+30]

use something like

push ebx
mov ebx,[eax+30]


My next step was going to be moving xmm0 in to eax at the start, but I was concerned about eax being used. Are you choosing ebx because it isn't being used in this instruction anywhere? How did you determine to use ebx?

I'll try working it in later and report back. Thanks.


mgr.inz.Player wrote:
Code:
newmem:
pushad
pushfd

cmp [s_enable],1
je save_coord
cmp [l_enable],1
je load_coord
jmp originalcode

save_coord:
mov [s_enable],0
mov ebx,[eax+30]
mov [x_coord],ebx
mov ebx,[eax+34]
mov [z_coord],ebx
mov ebx,[eax+38]
mov [y_coord],ebx
jmp originalcode

load_coord:
mov [l_enable],0
mov ebx,[x_coord]
mov [eax+30],ebx
mov ebx,[y_coord]
mov [eax+34],ebx
mov ebx,[z_coord]
mov [eax+38],ebx
jmp originalcode

originalcode:
popfd
popad

movss xmm0,[eax+30]
// or something else, depends on your chosen hack point


exit:
jmp returnhere

x_coord:
dd 0
z_coord:
dd 0
y_coord:
dd 0
s_enable:
dd 0
l_enable:
dd 0


What is pushad & pushfd? I'll test this out later and report back. Thanks.
Back to top
View user's profile Send private message
mgr.inz.Player
I post too much
Reputation: 218

Joined: 07 Nov 2008
Posts: 4438
Location: W kraju nad Wisla. UTC+01:00

PostPosted: Tue Jan 22, 2013 3:05 pm    Post subject: Reply with quote

Those instructions store registers and flags on the stack. So you can use any register you want.


Of course using something like this is wrong:
Quote:
mov eax,[eax+30]
mov [x_coord],eax
mov eax,[eax+34] -- WRONG EAX, probably you will got access violation error
mov [z_coord],eax


If at [eax+30] there is value 1.0, then after first instruction EAX will be 3F800000.

Next instruction (mov eax,[eax+34]) will read address 3F800034, probably causing "access violation" error.

This is why trainer creators choose other register, and store that other register before using it.

_________________
Back to top
View user's profile Send private message MSN Messenger
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Tue Jan 22, 2013 3:57 pm    Post subject: Reply with quote

Thanks. So, when you popfd & popad, these are only executed and not actually written back as original code?

-------EDIT-------


I appreciate you guys helping me. Thank you.

I have tried several different variations of this, none of them have worked so far. Maybe I am targeting the wrong addresses? To explain what I am doing (in case it is incorrect), I have the pointer addresses for X, Y and Z coordinates stored in my cheat list. When my character jumps in the game, for example, I can see the value of my y coordinate change in real time. Next, I am right-clicking on the pointer address for my y coordinate (for example) and selecting 'found out what writes to this address', then I select 'yes' for attaching debugger, then I select 'find what writes the address pointed at by this pointer'. Here are those results for Y address:






Here are some of my test results:

Teleport 1:

(I set 3 different hotkeys - shift+1 for enable1, shift+2 for enable2 and shift+3 for disable. If I enable1, the X coordinate becomes locked and I am only able to move in Y/Z directions. If I enable2, nothing changes, and my X coordinate remains locked. Disabling restores the original code.)

Code:

[ENABLE]
alloc(newmem,2048) //2kb should be enough
label(returnhere)
label(originalcode)
label(exit)

label(z_coord)
label(x_coord)
label(y_coord)

label(save_coord)
label(load_coord)

label(s_enable)
label(l_enable)

registersymbol(s_enable)
registersymbol(l_enable)

newmem:
pushad
pushfd

cmp [s_enable],1
je save_coord
cmp [l_enable],1
je load_coord
jmp originalcode

save_coord:
mov [s_enable],0
mov ebx,[eax+30]
mov [x_coord],ebx
mov ebx,[eax+34]
mov [z_coord],ebx
mov ebx,[eax+38]
mov [y_coord],ebx
jmp originalcode

load_coord:
mov [l_enable],0
mov ebx,[x_coord]
mov [eax+30],ebx
mov ebx,[y_coord]
mov [eax+34],ebx
mov ebx,[z_coord]
mov [eax+38],ebx
jmp originalcode

originalcode:
popfd
popad

movss xmm0,[eax+30]
// or something else, depends on your chosen hack point


exit:
jmp returnhere

x_coord:
dd 0
z_coord:
dd 0
y_coord:
dd 0
s_enable:
dd 0
l_enable:
dd 0

"FGUY.exe"+103518:
jmp newmem
returnhere:

[DISABLE]
dealloc(newmem)
"FGUY.exe"+103518:
movss [eax+30],xmm0

unregistersymbol(s_enable)
unregistersymbol(l_enable)




Teleport 2:

(I enabled, enabled again and disabled this code. Nothing noticeable happens.)

Code:

[ENABLE]
alloc(newmem,2048)

label(returnhere)
label(originalcode)
label(exit)

label(z_coord)
label(x_coord)
label(y_coord)

label(save_coord)
label(load_coord)

label(s_enable)
label(l_enable)

registersymbol(s_enable)
registersymbol(l_enable)


"FGUY.exe"+103518:
jmp newmem
nop
returnhere:

newmem:
cmp [s_enable],1
je save_coord

cmp [l_enable],1
je load_coord

jmp originalcode

save_coord:
mov [s_enable],0
push ebx
mov ebx,[esi+30]
mov [x_coord],ebx
mov ebx,[esi+34]
mov [z_coord],ebx
mov ebx,[esi+38]
mov [y_coord],ebx
pop ebx
jmp originalcode

load_coord:
mov [l_enable],0
cmp [z_coord],0
je originalcode
push ebx
mov ebx,[x_coord]
mov [esi+30],ebx
mov ebx,[z_coord]
mov [esi+34],ebx
mov ebx,[y_coord]
mov [esi+38],ebx
pop ebx

originalcode:
movss [eax+30],xmm0
exit:
jmp returnhere

x_coord:
dd 0
z_coord:
dd 0
y_coord:
dd 0
s_enable:
dd 0
l_enable:
dd 0


[DISABLE]
dealloc(newmem)
"FGUY.exe"+103518:
movss [eax+30],xmm0

unregistersymbol(s_enable)
unregistersymbol(l_enable)




Teleport 3:

(I enabled, enabled again and disabled this code. Nothing noticeable happens.)

Code:

[ENABLE]
alloc(newmem,2048)

label(returnhere)
label(originalcode)
label(exit)

label(z_coord)
label(x_coord)
label(y_coord)

label(save_coord)
label(load_coord)

label(s_enable)
label(l_enable)

registersymbol(s_enable)
registersymbol(l_enable)


"FGUY.exe"+103518:
jmp newmem
nop
returnhere:

newmem:
cmp [s_enable],1
je save_coord

cmp [l_enable],1
je load_coord

jmp originalcode

save_coord:
mov [s_enable],0
push ebx
mov ebx,[eax+30]
mov [x_coord],ebx
mov ebx,[eax+34]
mov [z_coord],ebx
mov ebx,[eax+38]
mov [y_coord],ebx
pop ebx
jmp originalcode

load_coord:
mov [l_enable],0
cmp [z_coord],0
je originalcode
push ebx
mov ebx,[x_coord]
mov [eax+30],ebx
mov ebx,[z_coord]
mov [eax+34],ebx
mov ebx,[y_coord]
mov [eax+38],ebx
pop ebx

originalcode:
movss [eax+30],xmm0
exit:
jmp returnhere

x_coord:
dd 0
z_coord:
dd 0
y_coord:
dd 0
s_enable:
dd 0
l_enable:
dd 0


[DISABLE]
dealloc(newmem)
"FGUY.exe"+103518:
movss [eax+30],xmm0

unregistersymbol(s_enable)
unregistersymbol(l_enable)



Teleport 4:

(I enabled, enabled again and disabled this code. Nothing noticeable happens.)

Code:

[ENABLE]
alloc(newmem,2048)

label(returnhere)
label(originalcode)
label(exit)

label(z_coord)
label(x_coord)
label(y_coord)

label(save_coord)
label(load_coord)

label(s_enable)
label(l_enable)

registersymbol(s_enable)
registersymbol(l_enable)


"FGUY.exe"+103518:
jmp newmem
nop
returnhere:

newmem:
pushad
pushfd
cmp [s_enable],1
je save_coord

cmp [l_enable],1
je load_coord

jmp originalcode

save_coord:
mov [s_enable],0
push ebx
mov ebx,[eax+30]
mov [x_coord],ebx
mov ebx,[eax+34]
mov [z_coord],ebx
mov ebx,[eax+38]
mov [y_coord],ebx
pop ebx
jmp originalcode

load_coord:
mov [l_enable],0
cmp [z_coord],0
je originalcode
push ebx
mov ebx,[x_coord]
mov [eax+30],ebx
mov ebx,[z_coord]
mov [eax+34],ebx
mov ebx,[y_coord]
mov [eax+38],ebx
pop ebx

originalcode:
popfd
popad
movss [eax+30],xmm0
exit:
jmp returnhere

x_coord:
dd 0
z_coord:
dd 0
y_coord:
dd 0
s_enable:
dd 0
l_enable:
dd 0


[DISABLE]
dealloc(newmem)
"FGUY.exe"+103518:
movss [eax+30],xmm0

unregistersymbol(s_enable)
unregistersymbol(l_enable)



After further analyzing the code, trying to make sense of it, I have tested about 8 different scripts on these addresses, using different script variations...which makes me think that I must be targeting the wrong addresses.

Thank you.
Back to top
View user's profile Send private message
mgr.inz.Player
I post too much
Reputation: 218

Joined: 07 Nov 2008
Posts: 4438
Location: W kraju nad Wisla. UTC+01:00

PostPosted: Wed Jan 23, 2013 5:37 pm    Post subject: Reply with quote

Are you sure, this code you found is accessing your hero address only?

Edit:
Your second image from previous post. Do this again.

Then, select 503535, press "Show disasse......" , in new window, there is code selected, right-click it and choose "find out what.....".

Go to game, play normally. If more than one address is found = this code is shared and used for other things too, not only with hero coordinates.

_________________
Back to top
View user's profile Send private message MSN Messenger
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Wed Jan 23, 2013 9:58 pm    Post subject: Reply with quote

Okay. I need to start over because I have gone through nearly every single one of these addresses, and nothing seems to be working.

I was told, in another thread, that I should be right-clicking my x coordinate address (in my cheat list), and selecting "found out what accesses..." instead of "found out what writes...". Then, I should be selecting "find what accesses the address..." instead of "find out what accesses this pointer". Do you agree?

I have tried both, "find what accesses" and "find what writes". After that, I always choose the "...the address pointed at by this pointer" option.

If you agree with all of this, this is what I have for "find out what accesses..." (for my X coordinate address):



The address 006466A0 (at the bottom of the list) only showed up after I moved my character in the game, but I have tried to write a script for that location and nothing happens. In fact, I have tried to write a script for every single address in this list that ends in [xxx+30]. Nothing works. Here is a version/sample of the script that I am trying to write (for the 006466A0 address), in case I have errors:

Code:

[ENABLE]
alloc(newmem,2048)

label(returnhere)
label(originalcode)
label(exit)

label(z_coord)
label(x_coord)
label(y_coord)

label(save_coord)
label(load_coord)

label(s_enable)
label(l_enable)

registersymbol(s_enable)
registersymbol(l_enable)


"FGUY.exe"+2466A0:
jmp newmem
returnhere:

newmem:
pushad
pushfd

cmp [s_enable],1
je save_coord
cmp [l_enable],1
je load_coord
jmp originalcode

save_coord:
mov [s_enable],0
mov ebx,[esi+30]
mov [x_coord],ebx
mov ebx,[esi+34]
mov [z_coord],ebx
mov ebx,[esi+38]
mov [y_coord],ebx
jmp originalcode

load_coord:
mov [l_enable],0
mov ebx,[x_coord]
mov [esi+30],ebx
mov ebx,[y_coord]
mov [esi+34],ebx
mov ebx,[z_coord]
mov [esi+38],ebx
jmp originalcode

originalcode:
popfd
popad

movq xmm0,[esi+30]


exit:
jmp returnhere

x_coord:
dd 0
z_coord:
dd 0
y_coord:
dd 0
s_enable:
dd 0
l_enable:
dd 0


[DISABLE]
dealloc(newmem)

"FGUY.exe"+2466A0:
movq xmm0,[esi+30]

unregistersymbol(s_enable)
unregistersymbol(l_enable)


I don't get it.

Thanks.

EDIT:

I have it working now. I wasn't clear on how to setup the hotkeys, but that was my problem. The only problem I am having now, is that my character stops teleporting if he collides with an object. If there is something too big or too high in the way, I have to move around the objects or position my character in such a way that I am able to eventually teleport to my stored positions.
Back to top
View user's profile Send private message
mgr.inz.Player
I post too much
Reputation: 218

Joined: 07 Nov 2008
Posts: 4438
Location: W kraju nad Wisla. UTC+01:00

PostPosted: Thu Jan 24, 2013 12:12 pm    Post subject: Reply with quote

Obviously, you don't know what you are doing.

Quote:
I was told, in another thread, that I should be right-clicking my x coordinate address (in my cheat list), and selecting "found out what accesses..." instead of "found out what writes...". Then, I should be selecting "find what accesses the address..." instead of "find out what accesses this pointer". Do you agree?

Why you didn't do what I wrote. Is it that hard?


You use "found out what accesses this address" and "found out what writes to this address" for searching possible hack points.

And you must check each possible hack point with "found out what addresses this instruction accesses" (Memory Viewer window) - to check if this instruction access only your character.


Just do that tutorial thing.

_________________
Back to top
View user's profile Send private message MSN Messenger
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Thu Jan 24, 2013 2:14 pm    Post subject: Reply with quote

mgr.inz.Player,

I will admit, some of these things are new to me, which is why I am trying to learn here.

As far as what I read in another post, I am simply trying everything - including your instructions. I am also trying to get some things clarified, since most of the responses I get on this forum are very vague.

You say that I didn't do what you wrote, but, in fact, I did. I followed all of your steps...which helped me to get the hack to work. Thank you.

I have it working now.

Like I said, what isn't working, is the fact that my character interacts with objects during teleportation. I know why this is happening. I even know which address to change in order to circumvent this problem. What I don't know, is how to incorporate that change within the teleport hack.

Thanks.
Back to top
View user's profile Send private message
mgr.inz.Player
I post too much
Reputation: 218

Joined: 07 Nov 2008
Posts: 4438
Location: W kraju nad Wisla. UTC+01:00

PostPosted: Thu Jan 24, 2013 3:22 pm    Post subject: Reply with quote

Edit: I slightly edited this post. Read it again if you want.

"responses I get on this forum are very vague"
Nope. They just aren't "wide". E.g. lowbit wrote:
Quote:
dont use "what writes" use "what access"



He didn't write that: what writes method is wrong. "what writes" searches only "writes". On the other hand, "what access" searches "writes" and "reads". We can use all found addresses+opcodes (hackpoints). But you must be sure that your teleport script doesn't mess other things.


I'm 99.9% sure that l0wb1t checked his hack point (for Crysis 2 Teleport).

This is how you do it:
http://forum.cheatengine.org/viewtopic.php?p=5447928#5447928

So, this hack point you chose, is it shared code or not? It access more than one address? You didn't write anything about it...
I still recommend you to do some tutorials (especially step 9 from "Cheat Engine tutorial" + few threads from tutorial forum section).


For example if you want to make cheats for STALKER game... And it doesn't matter what exactly: HP, stamina, player position, level of radiation poisoning, etc. All hackpoints I found in this game access other things too (all hackpoints I found for my HP are shared - they access AI too; all hackpoints I found for player position are shared - they access other AI and physical objects too, like barrel or dropped weapons; etc.; on the other hand, some "money" hackpoints aren't shared). So I know those are "shared" and I need extra checks (register check, stack check, structure check, even multilevel pointers).

Look here: http://forum.cheatengine.org/viewtopic.php?p=2853865#2853865
CE author posted "S.T.A.L.K.E.R. Clear sky inf hp" script. He chose this hackpoint:
Code:
xrGame.dll+1FA27D - F3 0F10 40 04 - movss xmm0,[eax+04]



Making only this:
Code:
mov [eax+4],3f800000 //1.0
movss xmm0,[eax+04]
jmp returnhere

Would cause "godmode" for all: enemies, friendlies, creatures. Because it is shared. (I checked it, with "find out what addresses this instruction accesses", more than one address)

But this is different:
Code:
cmp word ptr [eax],70e4 //check if player
jne originalcode //if not the player

mov [eax+4],3f800000 //1.0
jmp exit

originalcode:
movss xmm0,[eax+04]

exit:
jmp returnhere


DB used "structure check". In this case: an objectid check (object containing player health has different ID than AI controlled ones)

Changes our shared code to:
- shared: before "jne originalcode" and after "originalcode"
- non-shared, between "jne originalcode" and "originalcode"

_________________
Back to top
View user's profile Send private message MSN Messenger
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Thu Jan 24, 2013 5:24 pm    Post subject: Reply with quote

mgr.inz.Player,

I follow you. Maybe there is a language barrier here...

Nonetheless, I did filter out the addresses like you told me to - and was able to find the address that wasn't shared. I didn't mention this earlier, but probably should have. I didn't mention it because it was not the problem. The problem was not with the script, either. The problem was the fact that I did not have the hotkeys set up correctly for l_enable and s_enable. Nobody explained these steps to me, so I just had to figure it out.

I appreciate your help. I have learned some more things from you and l0wb1t that will help me greatly.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites