Sudo wrote: ↑Sat Mar 30, 2019 7:36 pm
zachillios wrote: ↑Sat Mar 30, 2019 3:59 am
You added a bugged item, you can resolve it by turning all of the have a lot of items options on and it
should fix it, unless you edited outside of that area's parameters. You can't edit items blindly in this game, which is why the that option was so hard to make.
Still doesn't load, unfortunately. I'm not sure how I messed it up so badly since all I did was edit the amount of some of the items I already had, didn't use any of the other codes.
If you want to salvage your save, right click on the first have a ton of items and do browse memory region, then hold down the 0 key and just keep going until all all of the values in the next probably 100 rows are gone. From what I can tell, items outside of the elemental shards are all 2 byte values so 2 chunks of code ie: FF FF. If you just sit there and hold FF to max out all the quantities, you're effectively adding items that do not exist into your inventory, which is what causes the crashes. By typing 0 for all those rows, you're going to get rid of all your items. Once you do that, check and see if you can manage to load your storage, if so, then use the have a ton of items options to replace most of what you lost, and just be careful in the future.
Here's the updated character script, I think I'm done playing the game for the now:
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>177</ID>
<Description>"Highlighted Character Stats"</Description>
<Options moHideChildren="1"/>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : Nelke_and_the_Legendary_Alchemists.exe
Version:
Date : 2019-03-29
Author : Zachillios
This script does blah blah blah
}
[ENABLE]
aobscanmodule(Character_Pointer,Nelke_and_the_Legendary_Alchemists.exe,0F BF 59 02 E8 31 FC FF FF) // should be unique
alloc(newmem,$1000,Character_Pointer)
globalalloc(CharacterPointer,4)
label(code)
label(return)
newmem:
mov [CharacterPointer],rcx
code:
movsx ebx,word ptr [rcx+02]
call Nelke_and_the_Legendary_Alchemists.exe+241FE0
jmp return
Character_Pointer:
jmp newmem
nop
nop
nop
nop
return:
registersymbol(Character_Pointer)
[DISABLE]
Character_Pointer:
db 0F BF 59 02 E8 31 FC FF FF
unregistersymbol(Character_Pointer)
dealloc(newmem)
dealloc(CharacterPointer)
{
// ORIGINAL CODE - INJECTION POINT: "Nelke_and_the_Legendary_Alchemists.exe"+2423A6
"Nelke_and_the_Legendary_Alchemists.exe"+242398: CC - int 3
"Nelke_and_the_Legendary_Alchemists.exe"+242399: CC - int 3
"Nelke_and_the_Legendary_Alchemists.exe"+24239A: CC - int 3
"Nelke_and_the_Legendary_Alchemists.exe"+24239B: CC - int 3
"Nelke_and_the_Legendary_Alchemists.exe"+24239C: CC - int 3
"Nelke_and_the_Legendary_Alchemists.exe"+24239D: CC - int 3
"Nelke_and_the_Legendary_Alchemists.exe"+24239E: CC - int 3
"Nelke_and_the_Legendary_Alchemists.exe"+24239F: CC - int 3
"Nelke_and_the_Legendary_Alchemists.exe"+2423A0: 40 53 - push rbx
"Nelke_and_the_Legendary_Alchemists.exe"+2423A2: 48 83 EC 20 - sub rsp,20
// ---------- INJECTING HERE ----------
"Nelke_and_the_Legendary_Alchemists.exe"+2423A6: 0F BF 59 02 - movsx ebx,word ptr [rcx+02]
"Nelke_and_the_Legendary_Alchemists.exe"+2423AA: E8 31 FC FF FF - call Nelke_and_the_Legendary_Alchemists.exe+241FE0
// ---------- DONE INJECTING ----------
"Nelke_and_the_Legendary_Alchemists.exe"+2423AF: 8D 0C 03 - lea ecx,[rbx+rax]
"Nelke_and_the_Legendary_Alchemists.exe"+2423B2: B8 E7 03 00 00 - mov eax,000003E7
"Nelke_and_the_Legendary_Alchemists.exe"+2423B7: 3B C8 - cmp ecx,eax
"Nelke_and_the_Legendary_Alchemists.exe"+2423B9: 0F 4F C8 - cmovg ecx,eax
"Nelke_and_the_Legendary_Alchemists.exe"+2423BC: 33 C0 - xor eax,eax
"Nelke_and_the_Legendary_Alchemists.exe"+2423BE: 85 C9 - test ecx,ecx
"Nelke_and_the_Legendary_Alchemists.exe"+2423C0: 0F 49 C1 - cmovns eax,ecx
"Nelke_and_the_Legendary_Alchemists.exe"+2423C3: 48 83 C4 20 - add rsp,20
"Nelke_and_the_Legendary_Alchemists.exe"+2423C7: 5B - pop rbx
"Nelke_and_the_Legendary_Alchemists.exe"+2423C8: C3 - ret
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>178</ID>
<Description>"Base"</Description>
<VariableType>2 Bytes</VariableType>
<Address>CharacterPointer</Address>
<Offsets>
<Offset>0</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>179</ID>
<Description>"EXP"</Description>
<VariableType>2 Bytes</VariableType>
<Address>CharacterPointer</Address>
<Offsets>
<Offset>3C</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>180</ID>
<Description>"STR/Orchard/Weapon"</Description>
<VariableType>2 Bytes</VariableType>
<Address>CharacterPointer</Address>
<Offsets>
<Offset>2</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>181</ID>
<Description>"CON/Ranch/Grocery"</Description>
<VariableType>2 Bytes</VariableType>
<Address>CharacterPointer</Address>
<Offsets>
<Offset>4</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>182</ID>
<Description>"INT/Boutique/Orchard"</Description>
<VariableType>2 Bytes</VariableType>
<Address>CharacterPointer</Address>
<Offsets>
<Offset>6</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>183</ID>
<Description>"DEX/Store/Flower"</Description>
<VariableType>2 Bytes</VariableType>
<Address>CharacterPointer</Address>
<Offsets>
<Offset>8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>184</ID>
<Description>"SPD"</Description>
<VariableType>2 Bytes</VariableType>
<Address>CharacterPointer</Address>
<Offsets>
<Offset>C</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>185</ID>
<Description>"LUC"</Description>
<VariableType>2 Bytes</VariableType>
<Address>CharacterPointer</Address>
<Offsets>
<Offset>A</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>186</ID>
<Description>"Capacity"</Description>
<VariableType>2 Bytes</VariableType>
<Address>CharacterPointer</Address>
<Offsets>
<Offset>20</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>187</ID>
<Description>"Speed"</Description>
<VariableType>2 Bytes</VariableType>
<Address>CharacterPointer</Address>
<Offsets>
<Offset>22</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>188</ID>
<Description>"Gather"</Description>
<VariableType>2 Bytes</VariableType>
<Address>CharacterPointer</Address>
<Offsets>
<Offset>24</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>161</ID>
<Description>"Friendship"</Description>
<VariableType>2 Bytes</VariableType>
<Address>CharacterPointer</Address>
<Offsets>
<Offset>28</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>163</ID>
<Description>"Visit Flag (Set to 1)"</Description>
<VariableType>2 Bytes</VariableType>
<Address>CharacterPointer</Address>
<Offsets>
<Offset>48</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>