Elona Wiki

Memory editing is a method of cheating which involves making changes to a currently running game. Examples listed here use Cheat Engine, though other memory editing tools can be used.

NOTE: Though memory editing is the most flexible and versatile method of cheating, it is also the most difficult. You should see if EloSnack can do what you want before trying memory editing.

PP and Gold[]

Cheat Engine can be used to modify values while in game. Example: Entering "10" for the first scan when you have 10 PP and then training 2 PP skill, for an end total of 8 PP leads to a second scan of "8" to narrow the variables down for editing PP.

Works the same for almost everything you see as a number: skill points, number of items in a stack, charges, impress rating...


Materials are located close to each other, so if you go 4 bytes up or down you'll find the next or previous one. If the value of this one is 0 then you have found one you haven't found in-game and if you set its value different from 0, you'll see it in materials the next time you open them.


Skills (and attributes) are saved in the following format 4 byte integer format


L: Skill Level
X: Skill XP, always 3 digits long, prepend zeroes if needed
P: Skill Potential, always 3 digits long, prepend zeroes if needed

Example: a skill with 30.088 ( 32%), would be 30,088,032

Skills are saved in an array with the following numbering within it.

Index Name


2 Gene Engineer
3 Tactics
4 Weight Lifting
5 Healing
6 Meditation
7 Negotiation
8 Stealth
9 Lock Picking
10 Detection
11 Investing
12 Anatomy
13 Sense Quality
14 Mining
15 Magic Capacity
16 Memorization
17 Dual Wield
18 Two Hand
19 Shield
20 Heavy Armor
21 Magic Device
22 Disarm Trap
23 Carpentry
24 Tailoring
25 Alchemy
26 Jeweler
27 Gardening
28 Faith
29 Traveling
30 Performer
31 Cooking
32 Fishing
33 Eye of Mind
34 Greater Evasion
35 Marksman

Adding, removing or adjusting skills may take a restore to take effect,

Weapons and a few other skills, are saved in a different array,


Feats and Mutations are unfortunately very annoying to find in cheat engine, they are saved in an integer array with the value zero meaning no feat and non zeroes meaning the level of the feat. Using the list given your best bet is to use an "Array of Bytes Search" to find the structure.

Index Name/Desc
1 Feat: Mutant (Racial)
2 Feat: Lucky
3 Feat: Ascetic
4 Feat: Vampiric Ability
5 Feat: Agile
6 Feat: Arm Wrestler
7 Feat: Careful
8 Feat: Stone Defense
9 Feat: Dodge
10 Feat: Tough
11 Feat: Evade
12 Feat: Magical Gene
13 Feat: Concentration
14 Feat: Dimensional Move
15 Feat: Fire Breath
16 Feat: Conquer Darkness
17 Feat: Negotiator
18 Feat: Believer
19 Feat: Poison Tolerance
20 Feat: Two Wielding
21 Feat: Martial Artist
22 Feat: Sexy
23 Feat: Hypnotism
24 Feat: Poison Nail
25 Feat: Short Distance Runner
26 Mutation: Armor (PV)
27 Mutation: Dexterity
28 Mutation: Regeneration
29 Mutation: Speed
30 Mutation: Strength
31 Mutation: Charisma
32 Mutation: Memorization
33 Mutation: Magic Resistance
34 Mutation: Sound Resistance
35 Mutation: Fire Resistance
36 Mutation: Cold Resistance
37 Mutation: Lightning Resistance
38 Mutation: Perception
39 Feat: Apprentice Accountant
40 Feat: Apprentice Quartermaster
41 Feat: Natural Leader
42 Mutation: Cannibalism
43 Feat: Exorcist
44 Feat: Shield Bash
45 Feat: Gentle Face

Body Parts[]

Body parts are saved in an integer(4 bytes), with the complete list saved in a fixed size array. Each body part has the following format:


B: Body part number
XXXX: Item index for the item equipped in that slot. It is zero in case there is nothing equipped.

By unequipping and reequipping an item it is fairly easy to find this structure with cheat engine.

Index Body Part
1 Head
2 Neck
3 Back
4 Body
5 Hand (First is always Main?)
6 Ring
7 Arms/Gauntlets
8 Waist
9 Leg
10 Ranged
11 Ammo


An example on how to use the above info to add a body part

  1. Open cheat engine and unequip everything from your body, search for 40,000
  2. Reequip your armor and do a changed value search. Hopefully this will get you down to one number, if not repeat 1
  3. Right click the number you found and do "Browse this memory region"
  4. Right click in the new window and do a "display Type" -> "4 Byte Decimal"
  5. right click on the first zero , and do a right click "Add this address"
  6. Change the address to B0, 000  with B being the body part number you want!