made a simple script:
Walk Key
- when activated, press and hold the specified
key and move to walk.
- you can choose different keys from the dropdown list of the
key entry. default
key: X2 Mouse Button.
- copy&paste the following ONto your table.
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>12971</ID>
<Description>"walk key .2t"</Description>
<Options moHideChildren="1"/>
<LastState Activated="1"/>
<Color>FF0000</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
define(walkkeyiddefault,06)
aobscanmodule(someDetla2WritesAOB,MonsterHunterWorld.exe,8B ** ** 89 ** ** ** 00 00 8B ** ** 89 ** ** ** 00 00 8B ** ** 89 ** ** ** 00 00 0F 2E)
registersymbol(someDetla2WritesAOB)
label(bWalkKeyID)
registersymbol(bWalkKeyID)
label(bWalkKeyPressed)
registersymbol(bWalkKeyPressed)
alloc(newmem,2048,someDetla2WritesAOB) //"MonsterHunterWorld.exe"+16A4731)
label(returnhere)
label(originalcode_walkkey)
registersymbol(originalcode_walkkey)
label(exit)
newmem: //this is allocated memory, you have read,write,execute access
//place your code here
mov rax,bWalkKeyID
cmp byte ptr [rax+4],1
jne @f
push rbx
mov rbx,dMMult
db 48 8D
readmem(someDetla2WritesAOB+1,2)
//lea rax,[rdx+18]
movss xmm1,[rbx]
mulss xmm1,[rax]
movss [rax],xmm1
movss xmm1,[rbx]
mulss xmm1,[rax+4]
movss [rax+4],xmm1
pop rbx
{mov rax,dMMult
movss xmm1,[rax]
mulss xmm1,[rdx+18]
movss [rdx+18],xmm1
movss xmm1,[rax]
mulss xmm1,[rdx+1c]
movss [rdx+1c],xmm1}
originalcode_walkkey:
readmem(someDetla2WritesAOB,9)
//mov eax,[rdx+18]
//mov [rcx+00000CF8],eax
exit:
jmp returnhere
///
bWalkKeyID:
dd walkkeyiddefault
bWalkKeyPressed:
dd 1
dMMult:
dd (float)0.5
///
someDetla2WritesAOB: //"MonsterHunterWorld.exe"+16A4731:
jmp newmem
nop
nop
nop
nop
returnhere:
///*****************************************///
//modified from ShyTwig16's lua keylistener script
//http://fearlessrevolution.com/viewtopic.php?f=4&t=6041&start=60#p62657
{$lua}
local function walkkeyLuaThread(thread)
local addr = getAddressSafe('bWalkKeyPressed')
while RunWalkkeyLuaThread do
if addr then
if ( isKeyPressed( readInteger('bWalkKeyID') ) ) then
writeBytes(addr, 1)
else
writeBytes(addr, 0)
end
else
addr = getAddressSafe('bWalkKeyPressed')
end
end
thread.terminate()
-- while RunWalkkeyLuaThread do
-- if ( isKeyPressed(VK_CAPITAL) ) then
-- writeBytes("bWalkKeyPressed" ,1)
-- else
-- writeBytes("bWalkKeyPressed" ,0)
-- end
-- end
-- thread.terminate()
end
----------------------------------
if syntaxcheck then return end
RunWalkkeyLuaThread = true
createThread(walkkeyLuaThread)
{$asm}
///*****************************************///
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
{$lua}
if syntaxcheck then return end
RunWalkkeyLuaThread = false
{$asm}
///*****************************************///
dealloc(newmem)
someDetla2WritesAOB: //"MonsterHunterWorld.exe"+16A4731:
readmem(originalcode_walkkey,9)
//db 8B 42 18 89 81 F8 0C 00 00
//Alt: mov eax,[rdx+18]
//Alt: mov [rcx+00000CF8],eax
unregistersymbol(originalcode_walkkey)
unregistersymbol(bWalkKeyID)
unregistersymbol(bWalkKeyPressed)
///*****************************************///
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>12972</ID>
<Description>"key"</Description>
<Options moHideChildren="1"/>
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">10:SHIFT key
11:CTRL key
12:ALT key
14:CAPS LOCK key
04:Middle Mouse Button
05:X1 Mouse Button
06:X2 Moust Button
</DropDownList>
<LastState Value="06" RealAddress="13FFF0055"/>
<ShowAsHex>1</ShowAsHex>
<Color>008000</Color>
<VariableType>Byte</VariableType>
<Address>bWalkKeyID</Address>
<CheatEntries>
<CheatEntry>
<ID>12973</ID>
<Description>""</Description>
<LastState Value="0" RealAddress="13FFF0059"/>
<VariableType>Byte</VariableType>
<Address>+4</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>