mirror of
https://github.com/TiagoVal97/cheatspecter.git
synced 2026-10-25 07:04:37 +01:00
113 lines
4.0 KiB
JSON
113 lines
4.0 KiB
JSON
{
|
|
"format": "cheatspecter-lessons",
|
|
"version": 1,
|
|
"edition": "2026-10",
|
|
"courses": [
|
|
{
|
|
"id": "values",
|
|
"title": "Finding and changing values",
|
|
"summary": "What a game keeps in memory, how to find one number among millions, and how to change it or hold it still.",
|
|
"lessons": [
|
|
{
|
|
"id": "how-games-remember",
|
|
"title": "How games remember things",
|
|
"summary": "Memory, values and addresses, and why a value is somewhere else every time you start the game.",
|
|
"minutes": 6,
|
|
"practice": true
|
|
},
|
|
{
|
|
"id": "find-a-number",
|
|
"title": "Find a number you can see",
|
|
"summary": "Search for your ammo, change it in the game, search again, and edit what is left.",
|
|
"minutes": 8,
|
|
"practice": true
|
|
},
|
|
{
|
|
"id": "hold-it",
|
|
"title": "Change it and hold it",
|
|
"summary": "Freeze a value so the game cannot lower it, and see why that stops working after a restart.",
|
|
"minutes": 8,
|
|
"practice": true
|
|
},
|
|
{
|
|
"id": "no-number",
|
|
"title": "Values you cannot see as a number",
|
|
"summary": "A health bar has no number to type. Find it by what it did: went down, went up, stayed the same.",
|
|
"minutes": 8,
|
|
"practice": true
|
|
},
|
|
{
|
|
"id": "decimals",
|
|
"title": "Decimals and other types",
|
|
"summary": "Why a search for the right number can find nothing, what a float is, and when to let Auto decide.",
|
|
"minutes": 8,
|
|
"practice": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "lasting",
|
|
"title": "Cheats that last",
|
|
"summary": "From a number you hold by hand to a cheat you can switch on tomorrow, share, and keep through a game update.",
|
|
"lessons": [
|
|
{
|
|
"id": "find-the-code",
|
|
"title": "Find the code that changes it, and switch it off",
|
|
"summary": "Ask the debugger which instruction lowers your ammo, then replace it with instructions that do nothing.",
|
|
"minutes": 10,
|
|
"practice": true
|
|
},
|
|
{
|
|
"id": "save-and-share",
|
|
"title": "Save, name, group and share",
|
|
"summary": "Keep your cheats in order, and learn what is inside a .cspector file.",
|
|
"minutes": 9,
|
|
"practice": true
|
|
},
|
|
{
|
|
"id": "game-updates",
|
|
"title": "Surviving game updates: patterns",
|
|
"summary": "An update moves the game's code. A pattern finds your instruction again wherever it went.",
|
|
"minutes": 8,
|
|
"practice": true
|
|
},
|
|
{
|
|
"id": "pointers",
|
|
"title": "Pointers: the way back to a value that moves",
|
|
"summary": "The value moves on every start, but the game always knows where it is. Follow the same trail.",
|
|
"minutes": 10,
|
|
"practice": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "deeper",
|
|
"title": "Going deeper",
|
|
"summary": "What sits next to your value, how to read a little of the game's code, and the habits that keep your saves and your console safe.",
|
|
"lessons": [
|
|
{
|
|
"id": "structures",
|
|
"title": "Structures: the things next to your value",
|
|
"summary": "Health, ammo and position live side by side, and enemies are laid out the same way as you.",
|
|
"minutes": 10,
|
|
"practice": true
|
|
},
|
|
{
|
|
"id": "decisions",
|
|
"title": "Code with decisions: only for the player",
|
|
"summary": "Reading a little assembly: compare, jump, and how a cheat can tell you from an enemy.",
|
|
"minutes": 10,
|
|
"practice": false
|
|
},
|
|
{
|
|
"id": "good-habits",
|
|
"title": "Good habits",
|
|
"summary": "Using it at your own risk, backing up saves, undoing everything at once, and what to do when the game crashes.",
|
|
"minutes": 6,
|
|
"practice": true
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|