Here is Memory Piece Script.
Maybe work for you.
There are 6 Script, Including Fishing, Cooking, Harvest, Water Flower, Mining, Weed, and Critter. Except Digging.
for the script, especially for Weed and Flower Always Dry.
If the script for Fishing, Cooking, Harvest, Water Flower, and Mining not work: you can use the script in this
This Script Affect All Timed Event to 0 [Scourge Store, Bush, Tree, Mining, Etc]
So Infinite Mining, Tree, Bush, and Instant Change Scourge Display [Activate > Enter the scourge shop > Buy something you want > Exit > Repeat]
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>2187</ID>
<Description>"Memory Piece"</Description>
<Color>FF8000</Color>
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>2189</ID>
<Description>"[Fishing, Cooking, Harvest, Water Flower, Mining] [Activate Both] "</Description>
<Color>FF8000</Color>
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>2184</ID>
<Description>"Loot Table to Memory Piece"</Description>
<Color>00FF00</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobscanmodule(LootTabletoMemoryINJECT,GameAssembly.dll,8B 5B 18 F6 81 33 01 00 00 04 74 0E 83 B9 E0 00 00 00 00 75 05 E8 2A B2) // should be unique
alloc(newmem,$1000,LootTabletoMemoryINJECT)
label(code)
label(return)
newmem:
mov [rbx+18],#2090000001
code:
mov ebx,[rbx+18]
test byte ptr [rcx+00000133],04
jmp return
LootTabletoMemoryINJECT:
jmp newmem
nop 5
return:
registersymbol(LootTabletoMemoryINJECT)
[DISABLE]
LootTabletoMemoryINJECT:
db 8B 5B 18 F6 81 33 01 00 00 04
unregistersymbol(LootTabletoMemoryINJECT)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+780CCC
GameAssembly.dll+780C9F: CC - int 3
Data.get_LootTableItem: 40 53 - push rbx
GameAssembly.dll+780CA2: 48 83 EC 20 - sub rsp,20
GameAssembly.dll+780CA6: 80 3D F3 B8 1B 06 00 - cmp byte ptr [GameAssembly.dll+693C5A0],00
GameAssembly.dll+780CAD: 48 8B D9 - mov rbx,rcx
GameAssembly.dll+780CB0: 75 13 - jne GameAssembly.dll+780CC5
GameAssembly.dll+780CB2: 48 8D 0D 47 94 E5 05 - lea rcx,[GameAssembly.dll+65DA100]
GameAssembly.dll+780CB9: E8 12 B7 CE FF - call GameAssembly.DllCanUnloadNow+8D60
GameAssembly.dll+780CBE: C6 05 DB B8 1B 06 01 - mov byte ptr [GameAssembly.dll+693C5A0],01
GameAssembly.dll+780CC5: 48 8B 0D 34 94 E5 05 - mov rcx,[GameAssembly.dll+65DA100]
// ---------- INJECTING HERE ----------
GameAssembly.dll+780CCC: 8B 5B 18 - mov ebx,[rbx+18]
// ---------- DONE INJECTING ----------
GameAssembly.dll+780CCF: F6 81 33 01 00 00 04 - test byte ptr [rcx+00000133],04
GameAssembly.dll+780CD6: 74 0E - je GameAssembly.dll+780CE6
GameAssembly.dll+780CD8: 83 B9 E0 00 00 00 00 - cmp dword ptr [rcx+000000E0],00
GameAssembly.dll+780CDF: 75 05 - jne GameAssembly.dll+780CE6
GameAssembly.dll+780CE1: E8 2A B2 CF FF - call GameAssembly.dll+47BF10
GameAssembly.dll+780CE6: 8B C3 - mov eax,ebx
GameAssembly.dll+780CE8: 48 83 C4 20 - add rsp,20
GameAssembly.dll+780CEC: 5B - pop rbx
GameAssembly.dll+780CED: C3 - ret
GameAssembly.dll+780CEE: CC - int 3
}
</AssemblerScript>
</CheatEntry>
<CheatEntry>
<ID>2185</ID>
<Description>"Loot Table Probability to 1000"</Description>
<Color>00FF00</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobscanmodule(loottableProbabilityINJECT,GameAssembly.dll,41 3B 46 1C 7C 0B) // should be unique
alloc(newmem,$1000,loottableProbabilityINJECT)
label(code)
label(return)
newmem:
mov [r14+1C],#1000
code:
cmp eax,[r14+1C]
jl GameAssembly.dll+2515BF1
jmp return
loottableProbabilityINJECT:
jmp newmem
nop
return:
registersymbol(loottableProbabilityINJECT)
[DISABLE]
loottableProbabilityINJECT:
db 41 3B 46 1C 7C 0B
unregistersymbol(loottableProbabilityINJECT)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+2515BE0
GameAssembly.dll+2515BB2: 4C 8B F0 - mov r14,rax
GameAssembly.dll+2515BB5: 48 85 F6 - test rsi,rsi
GameAssembly.dll+2515BB8: 0F 84 9A 03 00 00 - je GameAssembly.dll+2515F58
GameAssembly.dll+2515BBE: 4C 8B 0E - mov r9,[rsi]
GameAssembly.dll+2515BC1: 4D 8B 81 B0 01 00 00 - mov r8,[r9+000001B0]
GameAssembly.dll+2515BC8: BA E8 03 00 00 - mov edx,000003E8
GameAssembly.dll+2515BCD: 48 8B CE - mov rcx,rsi
GameAssembly.dll+2515BD0: 41 FF 91 A8 01 00 00 - call qword ptr [r9+000001A8]
GameAssembly.dll+2515BD7: 4D 85 F6 - test r14,r14
GameAssembly.dll+2515BDA: 0F 84 73 03 00 00 - je GameAssembly.dll+2515F53
// ---------- INJECTING HERE ----------
GameAssembly.dll+2515BE0: 41 3B 46 1C - cmp eax,[r14+1C]
// ---------- DONE INJECTING ----------
GameAssembly.dll+2515BE4: 7C 0B - jl GameAssembly.dll+2515BF1
GameAssembly.dll+2515BE6: 41 80 7D 18 00 - cmp byte ptr [r13+18],00
GameAssembly.dll+2515BEB: 0F 84 49 FF FF FF - je GameAssembly.dll+2515B3A
GameAssembly.dll+2515BF1: 48 8B 0D B0 42 0C 04 - mov rcx,[GameAssembly.dll+65D9EA8]
GameAssembly.dll+2515BF8: F6 81 33 01 00 00 04 - test byte ptr [rcx+00000133],04
GameAssembly.dll+2515BFF: 74 0E - je GameAssembly.dll+2515C0F
GameAssembly.dll+2515C01: 83 B9 E0 00 00 00 00 - cmp dword ptr [rcx+000000E0],00
GameAssembly.dll+2515C08: 75 05 - jne GameAssembly.dll+2515C0F
GameAssembly.dll+2515C0A: E8 01 63 F6 FD - call GameAssembly.dll+47BF10
GameAssembly.dll+2515C0F: E8 4C DA 03 FE - call GameAssembly.dll+553660
}
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>2190</ID>
<Description>"Weed"</Description>
<Color>FF8000</Color>
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>2188</ID>
<Description>"Weed Harvest to Memory Piece"</Description>
<Color>00FF00</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
// Credit to patjenova
aobscanmodule(WeedProbabilityINJECT,GameAssembly.dll,8B 58 1C 48 8B 0D 70 6B B7 04) // should be unique
alloc(newmem,$1000,WeedProbabilityINJECT)
label(code)
label(return)
newmem:
mov [rax+1C],#2090000001 // Loot Table For Weed Harvest
mov [rax+18],#100 // Probability
code:
mov ebx,[rax+1C]
mov rcx,[GameAssembly.dll+65DA100]
jmp return
WeedProbabilityINJECT:
jmp newmem
nop 5
return:
registersymbol(WeedProbabilityINJECT)
[DISABLE]
WeedProbabilityINJECT:
db 8B 58 1C 48 8B 0D 70 6B B7 04
unregistersymbol(WeedProbabilityINJECT)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+1A63586
GameAssembly.dll+1A6355D: 0F 84 27 05 00 00 - je GameAssembly.dll+1A63A8A
GameAssembly.dll+1A63563: 33 D2 - xor edx,edx
GameAssembly.dll+1A63565: E8 B6 1A AD 00 - call Meta.Grids.GridState.get_WeedData
GameAssembly.dll+1A6356A: 48 85 C0 - test rax,rax
GameAssembly.dll+1A6356D: 0F 84 17 05 00 00 - je GameAssembly.dll+1A63A8A
GameAssembly.dll+1A63573: 33 D2 - xor edx,edx
GameAssembly.dll+1A63575: 48 8B C8 - mov rcx,rax
GameAssembly.dll+1A63578: E8 73 AB 74 02 - call Definitions.Activities.WeedData.get_LootOverride
GameAssembly.dll+1A6357D: 48 85 C0 - test rax,rax
GameAssembly.dll+1A63580: 0F 84 04 05 00 00 - je GameAssembly.dll+1A63A8A
// ---------- INJECTING HERE ----------
GameAssembly.dll+1A63586: 8B 58 1C - mov ebx,[rax+1C]
// ---------- DONE INJECTING ----------
GameAssembly.dll+1A63589: 48 8B 0D 70 6B B7 04 - mov rcx,[GameAssembly.dll+65DA100]
GameAssembly.dll+1A63590: F6 81 33 01 00 00 04 - test byte ptr [rcx+00000133],04
GameAssembly.dll+1A63597: 74 14 - je GameAssembly.dll+1A635AD
GameAssembly.dll+1A63599: 39 B1 E0 00 00 00 - cmp [rcx+000000E0],esi
GameAssembly.dll+1A6359F: 75 0C - jne GameAssembly.dll+1A635AD
GameAssembly.dll+1A635A1: E8 6A 89 A1 FE - call GameAssembly.dll+47BF10
GameAssembly.dll+1A635A6: 48 8B 0D 53 6B B7 04 - mov rcx,[GameAssembly.dll+65DA100]
GameAssembly.dll+1A635AD: 48 8B 84 24 20 02 00 00 - mov rax,[rsp+00000220]
GameAssembly.dll+1A635B5: 40 38 70 20 - cmp [rax+20],sil
GameAssembly.dll+1A635B9: 75 32 - jne GameAssembly.dll+1A635ED
}
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>2181</ID>
<Description>"Critter [Activate Both] [Activate > Feed Critter]"</Description>
<Color>FF8000</Color>
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>2177</ID>
<Description>"Critter Feed Reward Memory Piece"</Description>
<Color>00FF00</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobscanmodule(critterScriptINJECT,GameAssembly.dll,49 8B 5F 58 4D 8B 26) // should be unique
alloc(newmem,$1000,critterScriptINJECT)
label(code)
label(return)
newmem:
mov [r15+70],#1 // Unlock Critter Feed Need
mov [r15+78],#2090000001 // Like food Reward
mov [r15+7C],#2090000001 // Love food Reward
code:
mov rbx,[r15+58]
mov r12,[r14]
jmp return
critterScriptINJECT:
jmp newmem
nop 2
return:
registersymbol(critterScriptINJECT)
[DISABLE]
critterScriptINJECT:
db 49 8B 5F 58 4D 8B 26
unregistersymbol(critterScriptINJECT)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+25FA2DB
GameAssembly.dll+25FA2AC: 8B 51 18 - mov edx,[rcx+18]
GameAssembly.dll+25FA2AF: 48 8B C8 - mov rcx,rax
GameAssembly.dll+25FA2B2: 48 89 5C 24 20 - mov [rsp+20],rbx
GameAssembly.dll+25FA2B7: 44 8D 43 01 - lea r8d,[rbx+01]
GameAssembly.dll+25FA2BB: E8 10 88 74 FF - call Meta.Missions.ItemFilter.GetItemQuantity
GameAssembly.dll+25FA2C0: 83 F8 01 - cmp eax,01
GameAssembly.dll+25FA2C3: 0F 84 C4 00 00 00 - je GameAssembly.dll+25FA38D
GameAssembly.dll+25FA2C9: 8B 47 10 - mov eax,[rdi+10]
GameAssembly.dll+25FA2CC: 48 8D 94 24 C0 00 00 00 - lea rdx,[rsp+000000C0]
GameAssembly.dll+25FA2D4: 48 8B 0D 25 FE FD 03 - mov rcx,[GameAssembly.dll+65DA100]
// ---------- INJECTING HERE ----------
GameAssembly.dll+25FA2DB: 49 8B 5F 58 - mov rbx,[r15+58]
// ---------- DONE INJECTING ----------
GameAssembly.dll+25FA2DF: 4D 8B 26 - mov r12,[r14]
GameAssembly.dll+25FA2E2: 89 84 24 C0 00 00 00 - mov [rsp+000000C0],eax
GameAssembly.dll+25FA2E9: E8 32 9C E7 FD - call GameAssembly.dll+473F20
GameAssembly.dll+25FA2EE: 48 8B 0D E3 A8 01 04 - mov rcx,[GameAssembly.dll+6614BD8]
GameAssembly.dll+25FA2F5: 45 33 C0 - xor r8d,r8d
GameAssembly.dll+25FA2F8: 48 8B D0 - mov rdx,rax
GameAssembly.dll+25FA2FB: E8 60 99 62 01 - call System.String.Format
GameAssembly.dll+25FA300: 48 8B 0D 31 FC FD 03 - mov rcx,[GameAssembly.dll+65D9F38]
GameAssembly.dll+25FA307: 48 8B F8 - mov rdi,rax
GameAssembly.dll+25FA30A: F6 81 33 01 00 00 04 - test byte ptr [rcx+00000133],04
}
</AssemblerScript>
</CheatEntry>
<CheatEntry>
<ID>2180</ID>
<Description>"Critter Feed Time to 0 [Only Activate While Feeding Critter]"</Description>
<Color>00FF00</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobscanmodule(resetFeedTimeINJECT,GameAssembly.dll,F2 48 0F 2A 4B 18) // should be unique
alloc(newmem,$1000,resetFeedTimeINJECT)
label(code)
label(return)
newmem:
mov [rbx+18],#0
mov [rbx+1C],#0
code:
cvtsi2sd xmm1,[rbx+18]
jmp return
resetFeedTimeINJECT:
jmp newmem
nop
return:
registersymbol(resetFeedTimeINJECT)
[DISABLE]
resetFeedTimeINJECT:
db F2 48 0F 2A 4B 18
unregistersymbol(resetFeedTimeINJECT)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+2F5C3C8
GameAssembly.dll+2F5C398: 83 B8 E0 00 00 00 00 - cmp dword ptr [rax+000000E0],00
GameAssembly.dll+2F5C39F: 75 0F - jne GameAssembly.dll+2F5C3B0
GameAssembly.dll+2F5C3A1: 48 8B C8 - mov rcx,rax
GameAssembly.dll+2F5C3A4: E8 67 FB 51 FD - call GameAssembly.dll+47BF10
GameAssembly.dll+2F5C3A9: 48 8B 05 C8 D0 66 03 - mov rax,[GameAssembly.dll+65C9478]
GameAssembly.dll+2F5C3B0: 48 8B 80 B8 00 00 00 - mov rax,[rax+000000B8]
GameAssembly.dll+2F5C3B7: 48 8B 48 08 - mov rcx,[rax+08]
GameAssembly.dll+2F5C3BB: 48 89 4C 24 30 - mov [rsp+30],rcx
GameAssembly.dll+2F5C3C0: 0F 57 C9 - xorps xmm1,xmm1
GameAssembly.dll+2F5C3C3: 48 8D 4C 24 30 - lea rcx,[rsp+30]
// ---------- INJECTING HERE ----------
GameAssembly.dll+2F5C3C8: F2 48 0F 2A 4B 18 - cvtsi2sd xmm1,[rbx+18]
// ---------- DONE INJECTING ----------
GameAssembly.dll+2F5C3CE: 45 33 C9 - xor r9d,r9d
GameAssembly.dll+2F5C3D1: 41 B8 E8 03 00 00 - mov r8d,000003E8
GameAssembly.dll+2F5C3D7: E8 14 90 93 00 - call GameAssembly.dll+38953F0
GameAssembly.dll+2F5C3DC: 48 89 44 24 30 - mov [rsp+30],rax
GameAssembly.dll+2F5C3E1: B8 1F 85 EB 51 - mov eax,51EB851F
GameAssembly.dll+2F5C3E6: 48 8D 4C 24 30 - lea rcx,[rsp+30]
GameAssembly.dll+2F5C3EB: F7 6B 20 - imul [rbx+20]
GameAssembly.dll+2F5C3EE: 45 33 C0 - xor r8d,r8d
GameAssembly.dll+2F5C3F1: C1 FA 05 - sar edx,05
GameAssembly.dll+2F5C3F4: 8B C2 - mov eax,edx
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>2194</ID>
<Description>"This Script Affect All Timed Event to 0 [Scourge Store, Bush, Tree, Mining, Etc]"</Description>
<Color>00FFFF</Color>
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>2195</ID>
<Description>"So Infinite Mining, Tree, Bush, and Instant Change Scourge Display"</Description>
<Color>00FFFF</Color>
<GroupHeader>1</GroupHeader>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>2192</ID>
<Description>"Flower [Make Flower Always Dry]"</Description>
<Color>FF8000</Color>
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>2193</ID>
<Description>"Infinite Water Flower"</Description>
<Color>00FF00</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
// Credit to patjenova for AOB
aobscanmodule(dryFlowerINJECT,GameAssembly.dll,0F B6 70 18 48 8B 44 24 40) // should be unique
alloc(newmem,$1000,dryFlowerINJECT)
label(code)
label(return)
newmem:
mov [rax+18],#1 // Make Flower Dry
code:
movzx esi,byte ptr [rax+18]
mov rax,[rsp+40]
jmp return
dryFlowerINJECT:
jmp newmem
nop 4
return:
registersymbol(dryFlowerINJECT)
[DISABLE]
dryFlowerINJECT:
db 0F B6 70 18 48 8B 44 24 40
unregistersymbol(dryFlowerINJECT)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+1A61A92
GameAssembly.dll+1A61A67: 48 8B 44 24 40 - mov rax,[rsp+40]
GameAssembly.dll+1A61A6C: 48 85 C0 - test rax,rax
GameAssembly.dll+1A61A6F: 0F 84 0A 01 00 00 - je GameAssembly.dll+1A61B7F
GameAssembly.dll+1A61A75: 48 8B 48 30 - mov rcx,[rax+30]
GameAssembly.dll+1A61A79: 48 85 C9 - test rcx,rcx
GameAssembly.dll+1A61A7C: 0F 84 FD 00 00 00 - je GameAssembly.dll+1A61B7F
GameAssembly.dll+1A61A82: 33 D2 - xor edx,edx
GameAssembly.dll+1A61A84: E8 17 34 AD 00 - call Meta.Grids.GridState.get_FlowerData
GameAssembly.dll+1A61A89: 48 85 C0 - test rax,rax
GameAssembly.dll+1A61A8C: 0F 84 ED 00 00 00 - je GameAssembly.dll+1A61B7F
// ---------- INJECTING HERE ----------
GameAssembly.dll+1A61A92: 0F B6 70 18 - movzx esi,byte ptr [rax+18]
// ---------- DONE INJECTING ----------
GameAssembly.dll+1A61A96: 48 8B 44 24 40 - mov rax,[rsp+40]
GameAssembly.dll+1A61A9B: 48 85 C0 - test rax,rax
GameAssembly.dll+1A61A9E: 0F 84 DB 00 00 00 - je GameAssembly.dll+1A61B7F
GameAssembly.dll+1A61AA4: 48 8B 48 30 - mov rcx,[rax+30]
GameAssembly.dll+1A61AA8: 48 85 C9 - test rcx,rcx
GameAssembly.dll+1A61AAB: 0F 84 CE 00 00 00 - je GameAssembly.dll+1A61B7F
GameAssembly.dll+1A61AB1: 33 D2 - xor edx,edx
GameAssembly.dll+1A61AB3: E8 E8 33 AD 00 - call Meta.Grids.GridState.get_FlowerData
GameAssembly.dll+1A61AB8: 48 85 C0 - test rax,rax
GameAssembly.dll+1A61ABB: 0F 84 BE 00 00 00 - je GameAssembly.dll+1A61B7F
}
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>