pox911 wrote: ↑Fri Jan 17, 2020 3:47 am
I haven't tested this on the new update yet but here is the code for the shop filler. It's pretty basic in function. Enable code, enter shop, browse wares, if item isn't in one of the 23 pages the increase the chunk index by 1, re enter shop. It was done this way due to an entry limit in the area of code im fiddling with and it would be a pain to increase it so the chunk system works a lot easier.
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>19053</ID>
<Description>"Fill Shop With Many Items"</Description>
<Options moHideChildren="1"/>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobscanmodule(ShopOverrideAOB,MonsterHunterWorld.exe,41 8B 96 48 31 00 00) // should be unique
alloc(newmem,$1000,"MonsterHunterWorld.exe"+1F8A9674)
label(code)
label(return)
label(ShopData)
registersymbol(ShopData)
newmem:
push rax
push rbx
push rcx
mov edx,[ShopData]
imul edx,FD
xor rax,rax
mov rcx,fD
lea rbx,[r14+2948]
_Loop:
mov [rbx+rax*8],edx
mov [rbx+rax*8+4],edx
inc [rbx+rax*8]
inc rax
inc edx
cmp rax,rcx
jl _Loop
code:
mov edx,rcx
pop rcx
pop rbx
pop rax
jmp return
ShopData:
ShopOverrideAOB:
jmp newmem
nop
nop
return:
registersymbol(ShopOverrideAOB)
[DISABLE]
ShopOverrideAOB:
db 41 8B 96 48 31 00 00
unregistersymbol(ShopOverrideAOB)
unregistersymbol(ShopData)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: "MonsterHunterWorld.exe"+1F8A9674
"MonsterHunterWorld.exe"+1F8A9652: 48 8D 14 C1 - lea rdx,[rcx+rax*8]
"MonsterHunterWorld.exe"+1F8A9656: 48 85 C0 - test rax,rax
"MonsterHunterWorld.exe"+1F8A9659: 75 03 - jne MonsterHunterWorld.exe+1F8A965E
"MonsterHunterWorld.exe"+1F8A965B: 4C 89 EA - mov rdx,r13
"MonsterHunterWorld.exe"+1F8A965E: 49 0F 44 CD - cmove rcx,r13
"MonsterHunterWorld.exe"+1F8A9662: 49 89 D0 - mov r8,rdx
"MonsterHunterWorld.exe"+1F8A9665: 49 29 C8 - sub r8,rcx
"MonsterHunterWorld.exe"+1F8A9668: 4D 89 F1 - mov r9,r14
"MonsterHunterWorld.exe"+1F8A966B: 49 C1 F8 03 - sar r8,03
"MonsterHunterWorld.exe"+1F8A966F: E8 CC 17 3E E2 - call MonsterHunterWorld.exe+1C8AE40
// ---------- INJECTING HERE ----------
"MonsterHunterWorld.exe"+1F8A9674: 41 8B 96 48 31 00 00 - mov edx,[r14+00003148]
// ---------- DONE INJECTING ----------
"MonsterHunterWorld.exe"+1F8A967B: 41 89 96 1C 29 00 00 - mov [r14+0000291C],edx
"MonsterHunterWorld.exe"+1F8A9682: EB 06 - jmp MonsterHunterWorld.exe+1F8A968A
"MonsterHunterWorld.exe"+1F8A9684: 8B 91 1C 29 00 00 - mov edx,[rcx+0000291C]
"MonsterHunterWorld.exe"+1F8A968A: 49 8B 8E F8 28 00 00 - mov rcx,[r14+000028F8]
"MonsterHunterWorld.exe"+1F8A9691: E8 7A 07 11 E1 - call MonsterHunterWorld.exe+9B9E10
"MonsterHunterWorld.exe"+1F8A9696: 41 8B 86 48 29 00 00 - mov eax,[r14+00002948]
"MonsterHunterWorld.exe"+1F8A969D: 4C 8D 44 24 60 - lea r8,[rsp+60]
"MonsterHunterWorld.exe"+1F8A96A2: 48 8B 0D 97 AE 63 E5 - mov rcx,[MonsterHunterWorld.exe+4EE4540]
"MonsterHunterWorld.exe"+1F8A96A9: 48 8D 54 24 20 - lea rdx,[rsp+20]
"MonsterHunterWorld.exe"+1F8A96AE: 45 31 C9 - xor r9d,r9d
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>19055</ID>
<Description>"Chunk Index"</Description>
<VariableType>4 Bytes</VariableType>
<Address>ShopData</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>
I just want to make it known that while I don't believe there is anything inherently wrong with the script there is the potential for disaster here.
After using this & purchasing a bunch of items that are not currently available in the game I am unable to complete a quest without a crash after the rewards screen.
Nothing else was used before this issue started arising, I tested with & without using CRC & more to isolate the issue, so it was most assuredly some interaction had with this script & purchasing an item.
A hunch that it may be related to the Aloy set/buying the items that make it show up at the smith as that is the only other thing that crashes the game.
This word of caution also pertains to any scripts that add items or allow you to swap items, be careful what you grab.
Though adding them directly to the box may not trigger the corresponding item from unlocking in the smith menu which may well be what is causing this odd behavior for all I know.
I'll make a test character who goes wholly unmodded & test this in a moment to make sure I'm 100% correct.