GTA: Modification Area

A website for the GTA modding scene

Search
 
 

Display results as :
 


Rechercher Advanced Search

Latest topics
» Big-game starts raising Schneider's profile
Sun Mar 04, 2012 2:28 am by lavivi

» [Help] cleo created lighting
Thu Oct 14, 2010 1:03 am by findmy012

» Mission Question
Thu Oct 14, 2010 1:02 am by findmy012

» [IV] Spoiler Script
Thu Oct 14, 2010 1:02 am by findmy012

» Mission mod [help]
Sat Sep 18, 2010 5:50 pm by jayd00

» Bc7 Mod Help
Fri Aug 20, 2010 11:19 am by pengpeng

» Found a bug
Fri Dec 18, 2009 4:22 am by _CJ360_

» [IV] Novitec Rosso 599 GTB
Tue Nov 17, 2009 4:22 pm by Kotton

» Hello/Guidance Request
Mon Oct 12, 2009 6:45 am by Adler

Navigation
 Portal
 Index
 Memberlist
 Profile
 FAQ
 Search
Affiliates
image

Image

Image

Image

Image

Image

Image

Image

Image

Image

image

Image

steve-m.com

Image


----- Русский -----

Если ваш сайт содержит большую коллекцию SCM/CLEO-скриптов (больше 16), напишите на мой e-mail, и я добавлю его в список. Приветствуются скрипты, которые не встречаются на других сайтах ... Спасибо. ))))


----- English -----

If your website has a big enough collection of SCM/CLEO scripts (more than 16) notify me by e-mail
, and I will add it to the list. The unique scripts are preferable ... Thank you. ))))

Log in

I forgot my password



December 2016
MonTueWedThuFriSatSun
   1234
567891011
12131415161718
19202122232425
262728293031 

Calendar Calendar


You are not connected. Please login or register

Cheats in game run-time

View previous topic View next topic Go down  Message [Page 1 of 1]

1 Cheats in game run-time on Fri Feb 06, 2009 2:27 am

Attention! This topic gives example on cheats scripts, allowing you to test and see how ones work.


There are a couple of ways of creating you're own cheats in game. The most easiest way for beginners is by using CLEO opcodes 0A8C: and 0A8D:

Using the original method

Here is a demo script which shows the way they work, type the following cheat to test how
they work.

Code:

{$CLEO}
0000:
// Example of cheats

// Testing 4 letter cheat
// Type "hack"
:Cheat_01
0001: wait 0 ms
0006: 29@ = -0x38214
00D6: if
0038:  &0(29@,1i) == 0x4841434B 
004D: jump_if_false @Cheat_02
0004: &0(29@,1i) = 0x48414300
03E5: show_text_box 'CHEAT1'  // Cheat activated
0002: jump @Cheat_01

// Testing 6 letter cheat
// Type "cheats"
:Cheat_02
0006: 30@ = -0x38213
008B: 30@ = &0(30@,1i) // (int)
0085: 31@ = 30@ // (int)
0016: 31@ /= 0x10000
0012: 31@ *= 0x10000
0062: 30@ -= 31@ // (int)
00D6: if
0039:  30@ == 0x4348 
004D: jump_if_false @Cheat_03
0006: 30@ = -0x38214
00D6: if
0038:  &0(30@,1i) == 0x45415453    
004D: jump_if_false @Cheat_03
0004: &0(30@,1i) = 0x45415400
03E5: show_text_box 'CHEAT1'  // Cheat activated
0002: jump @Cheat_01

// Testing 8 letter cheat
// Type "Scriptin"
:Cheat_03
0006: 28@ = -0x38213
00D6: if
0038:  &0(28@,1i) == 0x53435249   
004D: jump_if_false @Cheat_04
0006: 28@ = -0x38214
00D6: if
0038:  &0(28@,1i) == 0x5054494E         
004D: jump_if_false @Cheat_04
0004: &0(28@,1i) = 0x50544900
03E5: show_text_box 'CHEAT1'  // Cheat activated
0002: jump @Cheat_01

// Testing 10 letter cheat
// Type "Memoryhack"
:Cheat_04
0006: 20@ = -0x38212   
008B: 20@ = &0(20@,1i) // (int)
0085: 21@ = 20@ // (int)
0016: 21@ /= 0x10000
0012: 21@ *= 0x10000
0062: 20@ -= 21@ // (int)   
00D6: if
0039:  20@ == 0x4D45     
004D: jump_if_false @Cheat_05
0006: 20@ = -0x38213
00D6: if             
0038:  &0(20@,1i) == 0x4D4F5259   
004D: jump_if_false @Cheat_05
0006: 20@ = -0x38214
00D6: if
0038:  &0(20@,1i) == 0x4841434B          
004D: jump_if_false @Cheat_05
0004: &0(20@,1i) = 0x48414300
03E5: show_text_box 'CHEAT1' // Cheat activated
0002: jump @Cheat_01

// Testing 12 letter cheat
// Type "SannyBuilder"
:Cheat_05
0006: 27@ = -0x38212
00D6: if
0038:  &0(27@,1i) == 0x53414E4E        
004D: jump_if_false @Cheat_01
0006: 27@ = -0x38213
00D6: if
0038:  &0(27@,1i) == 0x59425549   
004D: jump_if_false @Cheat_01
0006: 27@ = -0x38214
00D6: if
0038:  &0(27@,1i) == 0x4C444552   
004D: jump_if_false @Cheat_01
0004: &0(27@,1i) = 0x4C444500
03E5: show_text_box 'CHEAT1'  // Cheat activated
0002: jump @Cheat_01


The cheat address starts at "0x969110" max for one line is 4 letters, if you want more you
need to expand the address using a different var for it.

So if the cheat is more than four letters the next time you use opcode
0A8D: the address will be "0x969114" the third parameter of opcode 0ABD: is the number
of letters it holds.

Here is a script, this script shows all different ways of cheats with using CLEO opcodes.


Code:

{$CLEO}
0000:
// Example of cheats

// Testing 4 letter cheat
// Type "test"
:4_Letter     
0001: wait 0 ms                                 
0A8D: 0@ = read_memory 0x00969110 size 4 virtual_protect 0
00D6: if
04A4:  0@ == 0x54455354 
004D: jump_if_false @8_Letter
03E5: show_text_box 'CHEAT1'
0A8C: write_memory 0x00969110 size 4 value 0x0 virtual_protect 0
0002: jump @Restart

// Testing 8 letter cheat
// Type "SannyBui"
:8_Letter
0A8D: 1@ = read_memory 0x00969110 size 4 virtual_protect 0
0A8D: 2@ = read_memory 0x00969114 size 4 virtual_protect 0
00D6: if and
04A4:  1@ == 0x59425549 // ybui   
04A4:  2@ == 0x53414E4E  // sann
004D: jump_if_false @6_Letter
03E5: show_text_box 'CHEAT1'
0A8C: write_memory 0x00969110 size 4 value 0x0  virtual_protect 0
0A8C: write_memory 0x00969114 size 4 value 0x0  virtual_protect 0 
0002: jump @Restart

// Testing 6 letter cheat
// Type "Memory"
:6_Letter
0A8D: 3@ = read_memory 0x00969110 size 4 virtual_protect 0
0A8D: 4@ = read_memory 0x00969114 size 2 virtual_protect 0
00D6: if and
04A4:  3@ == 0x4D4F5259 // mory   
04A4:  4@ == 0x4D45 // me   
004D: jump_if_false @7_Letter
03E5: show_text_box 'CHEAT1' 
0A8C: write_memory 0x00969110 size 4 value 0x0  virtual_protect 0
0A8C: write_memory 0x00969114 size 2 value 0x0  virtual_protect 0 
0002: jump @Restart

// Testing 7 letter cheat
// Type "hacking"
:7_Letter
0A8D: 5@ = read_memory 0x00969110 size 4 virtual_protect 0
0A8D: 6@ = read_memory 0x00969114 size 2 virtual_protect 0
0A8D: 7@ = read_memory 0x00969116 size 1 virtual_protect 0
00D6: if and
04A4:  5@ == 0x4B494E47 // king 
04A4:  6@ == 0x4143 // ac 
04A4:  7@ == 0x48 // h        
004D: jump_if_false @Restart
0A8C: write_memory 0x00969110 size 4 value 0x0 virtual_protect 0
0A8C: write_memory 0x00969114 size 2 value 0x0  virtual_protect 0
0A8C: write_memory 0x00969116 size 1 value 0x0  virtual_protect 0
03E5: show_text_box 'CHEAT1'

:Restart
0001: wait 2000 ms 
0002: jump @4_Letter


List of ASCII letter codes:

Code:

Oct  Dec  Hex  Glyph
100    64    40    @
101    65    41    A
102    66    42    B
103    67    43    C
104    68    44    D
105    69    45    E
106    70    46    F
107    71    47    G
110    72    48    H
111    73    49    I
112    74    4A    J
113    75    4B    K
114    76    4C    L
115    77    4D    M
116    78    4E    N
117    79    4F    O
120    80    50    P
121    81    51    Q
122    82    52    R
123    83    53    S
124    84    54    T
125    85    55    U
126    86    56    V
127    87    57    W
130    88    58    X
131    89    59    Y
132    90    5A    Z
133    91    5B    [
134    92    5C    \
135    93    5D    ]
136    94    5E    ^
137    95    5F    _


For more explanation see these two topics:
http://www.gtaforums.com/index.php?showtopic=391453&st=20
http://www.gtaforums.com/index.php?showtopic=262280

View user profile http://gtamodding.com

View previous topic View next topic Back to top  Message [Page 1 of 1]

Permissions in this forum:
You cannot reply to topics in this forum