here's the scripts I made so far. some of them have similar options as
's, so I haven't posted them here, but as I'm gonna play other games for a while before getting back and finishing this game, I'll post them as is if any of you are interested.
- you can use skills regardless of your remaining energy.
.
- as title says.
- as title says.
.
- lazy to type more, the scripts descriptions can be found from my previous posts on this thread, look them up if you need.
copy and paste the following codes ONto the table you're using.
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>104022</ID>
<Description>"undead"</Description>
<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
aobscanmodule(playerHealthCReadAOB,GameAssembly.dll,C6 ** ** 00 F3 0F ** ** 2C 48 ** ** ** ** C3)
registersymbol(playerHealthCReadAOB)
label(pPlayerHealth)
registersymbol(pPlayerHealth)
alloc(newmem,2048,playerHealthCReadAOB+4) //"GameAssembly.dll"+122FC7F)
label(returnhere)
label(originalcode_playerHealthCReadAOB)
registersymbol(originalcode_playerHealthCReadAOB)
label(exit)
newmem: //this is allocated memory, you have read,write,execute access
//place your code here
push rcx
mov rcx,pPlayerHealth
mov [rcx],rbx
pop rcx
originalcode_playerHealthCReadAOB:
readmem(playerHealthCReadAOB+4,5)
//movss xmm0,[rbx+2C]
exit:
jmp returnhere
///
pPlayerHealth:
///
playerHealthCReadAOB+4: //"GameAssembly.dll"+122FC7F:
jmp newmem
returnhere:
///****************************************///
aobscanmodule(playerHealthCalOnDamageAOB,GameAssembly.dll,33 ** E8 ** ** ** ** F3 0F ** ** 89 ** ** ** 00 00 F3)
registersymbol(playerHealthCalOnDamageAOB)
label(dMinHealth)
registersymbol(dMinHealth)
alloc(newmem2,2048,playerHealthCalOnDamageAOB+7) //"GameAssembly.dll"+62D202)
label(returnhere2)
label(originalcode2_playerHealthCalOnDamageAOB)
registersymbol(originalcode2_playerHealthCalOnDamageAOB)
label(exit2)
newmem2: //this is allocated memory, you have read,write,execute access
//place your code here
movss xmm9,xmm0
readmem(playerHealthCalOnDamageAOB+11,3)
db 5C
readmem(playerHealthCalOnDamageAOB+15,2)
//subss xmm9,[rdi+20]
readmem(playerHealthCalOnDamageAOB+17,3)
db 5C
readmem(playerHealthCalOnDamageAOB+1b,2)
//subss xmm9,[rdi+1C]
mov rax,dMinHealth
comiss xmm9,[rax]
jae @f
movss xmm0,[rax]
readmem(playerHealthCalOnDamageAOB+17,1)
readmem(playerHealthCalOnDamageAOB+19,2)
db 47
readmem(playerHealthCalOnDamageAOB+16,1)
//addss xmm0,[rdi+20]
readmem(playerHealthCalOnDamageAOB+17,1)
readmem(playerHealthCalOnDamageAOB+19,2)
db 47
readmem(playerHealthCalOnDamageAOB+1c,1)
//addss xmm0,[rdi+1C]
mov rax,pPlayerHealth
mov rax,[rax]
movss [rax+2c],xmm0
originalcode2_playerHealthCalOnDamageAOB:
readmem(playerHealthCalOnDamageAOB+7,10)
//cvttss2si eax,xmm0
//mov [rsi+00000088],eax
exit2:
jmp returnhere2
///
dMinHealth:
dd (float)1
///
playerHealthCalOnDamageAOB+7: //"GameAssembly.dll"+62D202:
jmp newmem2
nop 5
returnhere2:
///****************************************///
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
playerHealthCReadAOB+4: //"GameAssembly.dll"+122FC7F:
readmem(originalcode_playerHealthCReadAOB,5)
//db F3 0F 10 43 2C
//Alt: movss xmm0,[rbx+2C]
unregistersymbol(originalcode_playerHealthCReadAOB)
unregistersymbol(pPlayerHealth)
///****************************************///
dealloc(newmem2)
playerHealthCalOnDamageAOB+7: //"GameAssembly.dll"+62D202:
readmem(originalcode2_playerHealthCalOnDamageAOB,10)
//db F3 0F 2C C0 89 86 88 00 00 00
//Alt: cvttss2si eax,xmm0
//Alt: mov [rsi+00000088],eax
unregistersymbol(originalcode2_playerHealthCalOnDamageAOB)
unregistersymbol(dMinHealth)
///****************************************///
</AssemblerScript>
</CheatEntry>
<CheatEntry>
<ID>104032</ID>
<Description>"ignore energy"</Description>
<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
aobscanmodule(setCanUseSkillOnSkillUseAOB,GameAssembly.dll,33 ** 48 ** ** E8 ** ** ** ** 0F ** ** 0F 93 C0 EB)
registersymbol(setCanUseSkillOnSkillUseAOB)
setCanUseSkillOnSkillUseAOB+d: //"GameAssembly.dll"+DEB2E2:
db 90 B0 01
///***************************************///
aobscanmodule(cJmpIfNotEnoughEnergyOnChargeSkillUseAOB,GameAssembly.dll,EB 05 F3 0F ** ** ** F3 0F ** ** 0F ** ** 77)
registersymbol(cJmpIfNotEnoughEnergyOnChargeSkillUseAOB)
alloc(originalcode2_cJmpIfNotEnoughEnergyOnChargeSkillUseAOB,16,cJmpIfNotEnoughEnergyOnChargeSkillUseAOB+e)
registersymbol(originalcode2_cJmpIfNotEnoughEnergyOnChargeSkillUseAOB)
originalcode2_cJmpIfNotEnoughEnergyOnChargeSkillUseAOB:
readmem(cJmpIfNotEnoughEnergyOnChargeSkillUseAOB+e,2)
///
cJmpIfNotEnoughEnergyOnChargeSkillUseAOB+e: //"GameAssembly.dll"+5C5A91:
db 90 90
///***************************************///
aobscanmodule(cJmpIfNotEnoughEnergyOnChargeSkillChargeAOB,GameAssembly.dll,F3 0F ** ** F3 ** 0F ** ** 0F ** ** 0F 87)
registersymbol(cJmpIfNotEnoughEnergyOnChargeSkillChargeAOB)
alloc(originalcode3_cJmpIfNotEnoughEnergyOnChargeSkillChargeAOB,16,cJmpIfNotEnoughEnergyOnChargeSkillChargeAOB+c)
registersymbol(originalcode3_cJmpIfNotEnoughEnergyOnChargeSkillChargeAOB)
originalcode3_cJmpIfNotEnoughEnergyOnChargeSkillChargeAOB:
readmem(cJmpIfNotEnoughEnergyOnChargeSkillChargeAOB+c,6)
///
cJmpIfNotEnoughEnergyOnChargeSkillChargeAOB+c: //"GameAssembly.dll"+5C627A:
db 90 90 90 90 90 90
///***************************************///
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
setCanUseSkillOnSkillUseAOB+d: //"GameAssembly.dll"+DEB2E2:
db 0F 93 C0
//Alt: setae al
///***************************************///
cJmpIfNotEnoughEnergyOnChargeSkillUseAOB+e: //"GameAssembly.dll"+5C5A91:
readmem(originalcode2_cJmpIfNotEnoughEnergyOnChargeSkillUseAOB,2)
//db 77 46
//Alt: ja GameAssembly.dll+5C5AD9
dealloc(originalcode2_cJmpIfNotEnoughEnergyOnChargeSkillUseAOB)
unregistersymbol(originalcode2_cJmpIfNotEnoughEnergyOnChargeSkillUseAOB)
///***************************************///
cJmpIfNotEnoughEnergyOnChargeSkillChargeAOB+c: //"GameAssembly.dll"+5C627A:
readmem(originalcode3_cJmpIfNotEnoughEnergyOnChargeSkillChargeAOB,6)
//db 0F 87 29 05 00 00
//Alt: ja GameAssembly.dll+5C67A9
dealloc(originalcode3_cJmpIfNotEnoughEnergyOnChargeSkillChargeAOB)
unregistersymbol(originalcode3_cJmpIfNotEnoughEnergyOnChargeSkillChargeAOB)
///***************************************///
</AssemblerScript>
</CheatEntry>
<CheatEntry>
<ID>205</ID>
<Description>"inf. double jump"</Description>
<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
//skip the conditional jmp if no remaining ait jump left
aobscanmodule(remainingAirJumpChkZeroOnAirJumpAOB,GameAssembly.dll,83 ** ** ** 00 00 00 74 12 0F ** ** 0F)
registersymbol(remainingAirJumpChkZeroOnAirJumpAOB)
remainingAirJumpChkZeroOnAirJumpAOB+7: //"GameAssembly.dll"+DE47EF:
db 90 90
///***************************///
//prevent to value from going negative, just in case
aobscanmodule(remainingAirJumpDecOnAirJumpSuccessAOB,GameAssembly.dll,F3 0F ** ** ** ** 00 00 E8 ** ** ** ** FF ** ** ** 00 00 48)
registersymbol(remainingAirJumpDecOnAirJumpSuccessAOB)
alloc(newmem2,2048,remainingAirJumpDecOnAirJumpSuccessAOB+13) //"GameAssembly.dll"+DE4F47)
label(returnhere2)
label(originalcode2_remainingAirJumpDecOnAirJumpSuccessAOB)
registersymbol(originalcode2_remainingAirJumpDecOnAirJumpSuccessAOB)
label(exit2)
newmem2: //this is allocated memory, you have read,write,execute access
//place your code here
jns @f
xor eax,eax
db 89 83
readmem(remainingAirJumpDecOnAirJumpSuccessAOB+f,4)
//mov [rbx+94],eax
originalcode2_remainingAirJumpDecOnAirJumpSuccessAOB:
readmem(remainingAirJumpDecOnAirJumpSuccessAOB+13,7)
//mov rax,[rbx+58]
//test rax,rax
exit2:
jmp returnhere2
///
remainingAirJumpDecOnAirJumpSuccessAOB+13: //"GameAssembly.dll"+DE4F47:
jmp newmem2
nop 2
returnhere2:
///***************************///
aobscanmodule(remainingKuAirJumpChkZeroOnKuAirJumpAOB,GameAssembly.dll,83 ** ** 00 0F 84 ** ** ** ** 0F ** ** ** 0F 82)
registersymbol(remainingKuAirJumpChkZeroOnKuAirJumpAOB)
alloc(newmem3,2048,remainingKuAirJumpChkZeroOnKuAirJumpAOB) //"GameAssembly.dll"+9065CF)
label(returnhere3)
label(originalcode3_remainingKuAirJumpChkZeroOnKuAirJumpAOB)
registersymbol(originalcode3_remainingKuAirJumpChkZeroOnKuAirJumpAOB)
label(exit3)
newmem3: //this is allocated memory, you have read,write,execute access
//place your code here
cmp dword ptr [rbx+64],1
jge @f
mov dword ptr [rbx+64],1
@@:
readmem(remainingKuAirJumpChkZeroOnKuAirJumpAOB,4)
reassemble(remainingKuAirJumpChkZeroOnKuAirJumpAOB+4)
jmp exit3
originalcode3_remainingKuAirJumpChkZeroOnKuAirJumpAOB:
readmem(remainingKuAirJumpChkZeroOnKuAirJumpAOB,10)
//cmp dword ptr [rbx+64],00
//je GameAssembly.dll+9063EF
exit3:
jmp returnhere3
///
remainingKuAirJumpChkZeroOnKuAirJumpAOB: //"GameAssembly.dll"+9065CF:
jmp newmem3
nop 5
returnhere3:
///***************************///
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
remainingAirJumpChkZeroOnAirJumpAOB+7: //"GameAssembly.dll"+DE47EF:
db 74 12
//Alt: je GameAssembly.dll+DE4803
///***************************///
dealloc(newmem2)
remainingAirJumpDecOnAirJumpSuccessAOB+13: //"GameAssembly.dll"+DE4F47:
readmem(originalcode2_remainingAirJumpDecOnAirJumpSuccessAOB,7)
//db 48 8B 43 58 48 85 C0
//Alt: mov rax,[rbx+58]
//Alt: test rax,rax
unregistersymbol(originalcode2_remainingAirJumpDecOnAirJumpSuccessAOB)
///***************************///
dealloc(newmem3)
remainingKuAirJumpChkZeroOnKuAirJumpAOB: //"GameAssembly.dll"+9065CF:
readmem(originalcode3_remainingKuAirJumpChkZeroOnKuAirJumpAOB,10)
//db 83 7B 64 00 0F 84 16 FE FF FF
//Alt: cmp dword ptr [rbx+64],00
//Alt: je GameAssembly.dll+9063EF
unregistersymbol(originalcode3_remainingKuAirJumpChkZeroOnKuAirJumpAOB)
///***************************///
</AssemblerScript>
</CheatEntry>
<CheatEntry>
<ID>104036</ID>
<Description>"inf. air dash"</Description>
<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
aobscanmodule(airDashCountChkOnAirDashAOB,GameAssembly.dll,80 ** ** ** 00 00 00 0F 84 ** ** ** ** 80 ** ** ** 00 00 00 0F 85 ** ** ** ** 48)
registersymbol(airDashCountChkOnAirDashAOB)
alloc(originalcode_airDashCountChkOnAirDashAOB,16,airDashCountChkOnAirDashAOB+7)
registersymbol(originalcode_airDashCountChkOnAirDashAOB)
originalcode_airDashCountChkOnAirDashAOB:
readmem(airDashCountChkOnAirDashAOB+7,6)
///
airDashCountChkOnAirDashAOB+7: //"GameAssembly.dll"+63AA37:
db 90 90 90 90 90 90
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
airDashCountChkOnAirDashAOB+7: //"GameAssembly.dll"+63AA37:
readmem(originalcode_airDashCountChkOnAirDashAOB,6)
//db 0F 84 C4 00 00 00
//Alt: je GameAssembly.dll+63AB01
dealloc(originalcode_airDashCountChkOnAirDashAOB)
unregistersymbol(originalcode_airDashCountChkOnAirDashAOB)
</AssemblerScript>
</CheatEntry>
<CheatEntry>
<ID>104041</ID>
<Description>"inf. enemy air grapple"</Description>
<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
aobscanmodule(grappleShardEquippedChkOnEnemiesInRangeAOB,GameAssembly.dll,E8 ** ** ** ** 84 C0 75 06 48 ** ** ** ** C3 45 ** ** 41)
registersymbol(grappleShardEquippedChkOnEnemiesInRangeAOB)
grappleShardEquippedChkOnEnemiesInRangeAOB+7: //"GameAssembly.dll"+793BDD:
db EB
///****************************************///
aobscanmodule(enemyGrappledCountInAirChkAOB,GameAssembly.dll,39 ** ** ** 00 00 0F 9C C0 48)
registersymbol(enemyGrappledCountInAirChkAOB)
enemyGrappledCountInAirChkAOB+6: //"GameAssembly.dll"+793BFD:
db 90 B0 01
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
grappleShardEquippedChkOnEnemiesInRangeAOB+7: //"GameAssembly.dll"+793BDD:
db 75
//Alt: jne
///****************************************///
enemyGrappledCountInAirChkAOB+6: //"GameAssembly.dll"+793BFD:
db 0F 9C C0
//Alt: setl al
</AssemblerScript>
</CheatEntry>
<CheatEntry>
<ID>60</ID>
<Description>"movement mod keys"</Description>
<Options moHideChildren="1" moDeactivateChildrenAsWell="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
aobscanmodule(movementSpeedCRead3AOB,GameAssembly.dll,0F ** ** EB 08 F3 0F ** ** ** ** 00 00 80 ** ** ** 00 00 00 0F 84)
registersymbol(movementSpeedCRead3AOB)
label(fWalkSpeed)
registersymbol(fWalkSpeed)
label(fJogSpeed)
registersymbol(fJogSpeed)
label(fSprintSpeed)
registersymbol(fSprintSpeed)
label(fCustomSpeed)
label(fCustomSpeedCal)
registersymbol(fCustomSpeedCal)
label(fCustomSpeedInterval)
label(bWalkKeyID)
registersymbol(bWalkKeyID)
label(bWalkKeyPressed)
registersymbol(bWalkKeyPressed)
label(bJogKeyID)
registersymbol(bJogKeyID)
label(bJogKeyPressed)
registersymbol(bJogKeyPressed)
label(bSprintKeyID)
registersymbol(bSprintKeyID)
label(bSprintKeyPressed)
registersymbol(bSprintKeyPressed)
label(dFaceRightKeyID)
registersymbol(dFaceRightKeyID)
label(bFaceRightKeyPressed)
registersymbol(bFaceRightKeyPressed)
label(dFaceLeftKeyID)
registersymbol(dFaceLeftKeyID)
label(bFaceLeftKeyPressed)
registersymbol(bFaceLeftKeyPressed)
alloc(newmem,2048,movementSpeedCRead3AOB+5) //"GameAssembly.dll"+BA5EBB)
label(returnhere)
label(originalcode_movementSpeedCRead3AOB)
registersymbol(originalcode_movementSpeedCRead3AOB)
label(exit)
newmem: //this is allocated memory, you have read,write,execute access
//place your code here
push rax
sub rsp,10
movdqu dqword [rsp],xmm0
chkwalkkey:
mov rax,fWalkSpeed
movss xmm6,[rax]
cmp byte ptr [bWalkKeyPressed],1
je docustomspeedcal
chkjogkey:
mov rax,fJogSpeed
movss xmm6,[rax]
cmp byte ptr [bJogKeyPressed],1
je docustomspeedcal
chksprintkey:
mov rax,fSprintSpeed
movss xmm6,[rax]
cmp byte ptr [bSprintKeyPressed],1
je docustomspeedcal
nomodkeypressed:
mov eax,(float)1
movd xmm6,eax
docustomspeedcal:
mov rax,fCustomSpeedCal
movss xmm0,[rax]
comiss xmm6,xmm0
ja inccustspeedcal
jb deccustspeedcal
je custspeedcalend
inccustspeedcal:
addss xmm0,[rax+4]
minss xmm0,xmm6
movss [rax],xmm0
jmp custspeedcalend
deccustspeedcal:
subss xmm0,[rax+4]
maxss xmm0,xmm6
movss [rax],xmm0
custspeedcalend:
readmem(movementSpeedCRead3AOB+5,8)
//movss xmm6,[rbx+a8]
mov rax,fCustomSpeedCal
mulss xmm6,xmm0
xorps xmm0,xmm0
comiss xmm6,xmm0
jne @f
//movss [rax],xmm0
//mov dword ptr [rax],(float)1
@@:
movdqu xmm0,dqword [rsp]
add rsp,10
mov rax,bFaceRightKeyPressed
cmp byte ptr [rax],1
jne @f
mov eax,(float)1
movd xmm6,eax
movss [rbx+000000A8],xmm6
jmp end
@@:
mov rax,bFaceLeftKeyPressed
cmp byte ptr [rax],1
jne @f
mov eax,(float)-1
movd xmm6,eax
movss [rbx+000000A8],xmm6
end:
pop rax
jmp exit
originalcode_movementSpeedCRead3AOB:
readmem(movementSpeedCRead3AOB+5,8)
//movss xmm6,[rbx+000000A8]
exit:
jmp returnhere
///
fWalkSpeed:
dd (float)0.25
fJogSpeed:
dd (float)0.5
fSprintSpeed:
dd (float)2.5
fCustomSpeed:
dd 0
fCustomSpeedCal:
dd 0
fCustomSpeedInterval:
dd (float)0.05
bWalkKeyID:
dd 12
bWalkKeyPressed:
db 0
bJogKeyID:
dd 05
bJogKeyPressed:
db 0
bSprintKeyID:
dd 06
bSprintKeyPressed:
db 0
dFaceRightKeyID:
dd 06
bFaceRightKeyPressed:
dd 0
dFaceLeftKeyID:
dd 05
bFaceLeftKeyPressed:
dd 0
///
movementSpeedCRead3AOB+5: //"GameAssembly.dll"+BA5EBB:
jmp newmem
nop 3
returnhere:
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
movementSpeedCRead3AOB+5: //"GameAssembly.dll"+BA5EBB:
readmem(originalcode_movementSpeedCRead3AOB,8)
//db F3 0F 10 B3 A8 00 00 00
//Alt: movss xmm6,[rbx+000000A8]
unregistersymbol(originalcode_movementSpeedCRead3AOB)
unregistersymbol(fWalkSpeed)
unregistersymbol(fJogSpeed)
unregistersymbol(fSprintSpeed)
unregistersymbol(fCustomSpeedCal)
unregistersymbol(bWalkKeyPressed)
unregistersymbol(bWalkKeyID)
unregistersymbol(bJogKeyPressed)
unregistersymbol(bJogKeyID)
unregistersymbol(bSprintKeyPressed)
unregistersymbol(bSprintKeyID)
unregistersymbol(dFaceRightKeyID)
unregistersymbol(bFaceRightKeyPressed)
unregistersymbol(dFaceLeftKeyID)
unregistersymbol(bFaceLeftKeyPressed)
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>61</ID>
<Description>"walk key"</Description>
<Options moHideChildren="1"/>
<LastState/>
<Color>FF0000</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
bWalkKeyID:
dd 11
fWalkSpeed:
dd (float)0.25
//modified from ShyTwig16's lua keylistener script
//http://fearlessrevolution.com/viewtopic.php?f=4&t=6041&start=60#p62657
{$lua}
local function walkKeyLuaThread(thread2)
local addr1 = getAddressSafe('bWalkKeyPressed')
while WalkkeyLuaThreadLoop do
sleep(100)
if addr1 then
if ( isKeyPressed( readInteger('bWalkKeyID') ) ) then
writeBytes(addr1, 1)
else
writeBytes(addr1, 0)
end
else
addr1 = getAddressSafe('bWalkKeyPressed')
end
end
thread2.terminate()
-- while WalkkeyLuaThreadLoop do
-- if ( isKeyPressed(VK_CAPITAL) ) then
-- writeBytes("bWalkKeyPressed" ,1)
-- else
-- writeBytes("bWalkKeyPressed" ,0)
-- end
-- end
-- thread2.terminate()
end
----------------------------------
if syntaxcheck then return end
WalkkeyLuaThreadLoop = 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
WalkkeyLuaThreadLoop = false
{$asm}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>167</ID>
<Description>"key"</Description>
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">05:X1 mouse button
06:X2 mouse button
10:SHIFT key
11:CTRL key
12:ALT key
14:CAPS LOCK key
</DropDownList>
<LastState Value="12" RealAddress="7FEB8960149"/>
<ShowAsHex>1</ShowAsHex>
<Color>008000</Color>
<VariableType>Byte</VariableType>
<Address>bWalkKeyID</Address>
</CheatEntry>
<CheatEntry>
<ID>163</ID>
<Description>"walk speed"</Description>
<LastState Value="0.25" RealAddress="7FEB8960131"/>
<Color>008000</Color>
<VariableType>Float</VariableType>
<Address>fWalkSpeed</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>63</ID>
<Description>"jog key"</Description>
<Options moHideChildren="1"/>
<LastState/>
<Color>FF0000</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
bJogKeyID:
dd 12
fJogSpeed:
dd (float)0.5
//modified from ShyTwig16's lua keylistener script
//http://fearlessrevolution.com/viewtopic.php?f=4&t=6041&start=60#p62657
{$lua}
local function jogKeyLuaThread(thread2)
local addr3 = getAddressSafe('bJogKeyPressed')
while JogKeyLuaThreadLoop do
sleep(100)
if addr3 then
if ( isKeyPressed( readInteger('bJogKeyID') ) ) then
writeBytes(addr3, 1)
else
writeBytes(addr3, 0)
end
else
addr3 = getAddressSafe('bJogKeyPressed')
end
end
thread2.terminate()
-- while JogKeyLuaThreadLoop do
-- if ( isKeyPressed(VK_CAPITAL) ) then
-- writeBytes("bJogKeyPressed" ,1)
-- else
-- writeBytes("bJogKeyPressed" ,0)
-- end
-- end
-- thread2.terminate()
end
----------------------------------
if syntaxcheck then return end
JogKeyLuaThreadLoop = true
createThread(jogKeyLuaThread)
{$asm}
///*****************************************///
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
{$lua}
if syntaxcheck then return end
JogKeyLuaThreadLoop = false
{$asm}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>168</ID>
<Description>"key"</Description>
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">05:X1 mouse button
06:X2 mouse button
10:SHIFT key
11:CTRL key
12:ALT key
14:CAPS LOCK key
</DropDownList>
<LastState Value="05" RealAddress="7FEB896014E"/>
<ShowAsHex>1</ShowAsHex>
<Color>008000</Color>
<VariableType>Byte</VariableType>
<Address>bJogKeyID</Address>
</CheatEntry>
<CheatEntry>
<ID>169</ID>
<Description>"jog speed"</Description>
<LastState Value="0.5" RealAddress="7FEB8960135"/>
<Color>008000</Color>
<VariableType>Float</VariableType>
<Address>fJogSpeed</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>62</ID>
<Description>"sprint key"</Description>
<Options moHideChildren="1"/>
<LastState/>
<Color>FF0000</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
bSprintKeyID:
db 14
fSprintSpeed:
dd (float)2.5
//modified from ShyTwig16's lua keylistener script
//http://fearlessrevolution.com/viewtopic.php?f=4&t=6041&start=60#p62657
{$lua}
local function sprintKeyLuaThread(thread2)
local addr2 = getAddressSafe('bSprintKeyPressed')
while SprintKeyLuaThreadLoop do
sleep(100)
if addr2 then
if ( isKeyPressed( readInteger('bSprintKeyID') ) ) then
writeBytes(addr2, 1)
else
writeBytes(addr2, 0)
end
else
addr2 = getAddressSafe('bSprintKeyPressed')
end
end
thread2.terminate()
-- while SprintKeyLuaThreadLoop do
-- if ( isKeyPressed(VK_CAPITAL) ) then
-- writeBytes("bSprintKeyPressed" ,1)
-- else
-- writeBytes("bSprintKeyPressed" ,0)
-- end
-- end
-- thread2.terminate()
end
----------------------------------
if syntaxcheck then return end
SprintKeyLuaThreadLoop = true
createThread(sprintKeyLuaThread)
{$asm}
///*****************************************///
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
{$lua}
if syntaxcheck then return end
SprintKeyLuaThreadLoop = false
{$asm}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>170</ID>
<Description>"key"</Description>
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">05:X1 mouse button
06:X2 mouse button
10:SHIFT key
11:CTRL key
12:ALT key
14:CAPS LOCK key
</DropDownList>
<LastState Value="06" RealAddress="7FEB8960153"/>
<ShowAsHex>1</ShowAsHex>
<Color>008000</Color>
<VariableType>Byte</VariableType>
<Address>bSprintKeyID</Address>
</CheatEntry>
<CheatEntry>
<ID>171</ID>
<Description>"sprint speed"</Description>
<LastState Value="2.5" RealAddress="7FEB8960139"/>
<Color>008000</Color>
<VariableType>Float</VariableType>
<Address>fSprintSpeed</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>104013</ID>
<Description>"fly key"</Description>
<Options moHideChildren="1"/>
<LastState/>
<Color>FF0000</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
aobscanmodule(someDeltaWriteAOB,GameAssembly.dll,48 ** ** E8 ** ** ** ** 48 ** ** ** ** ** ** F6 ** ** ** 00 00 02 74 ** 83 ** ** ** 00 00 00 75 05 E8 ** ** ** ** F3 0F ** ** ** ** 0F ** ** F3 0F ** ** ** ** F3 0F ** ** ** ** 0F ** ** F2 0F)
registersymbol(someDeltaWriteAOB)
///
aobscanmodule(playerDeltaWriteCallerAOB,GameAssembly.dll,48 ** ** ** ** ** ** ** E8 ** ** ** ** 48 ** ** ** ** ** ** ** 0F ** ** ** ** 0F ** ** ** ** 44)
registersymbol(playerDeltaWriteCallerAOB)
///
label(pPlayerInfo1)
registersymbol(pPlayerInfo1)
label(bHoverKeyID)
registersymbol(bHoverKeyID)
label(bHoverKeyPressed)
registersymbol(bHoverKeyPressed)
label(bUpKeyPressed)
registersymbol(bUpKeyPressed)
label(dUpSpeed)
registersymbol(dUpSpeed)
label(bDownKeyPressed)
registersymbol(bDownKeyPressed)
label(dDownSpeed)
registersymbol(dDownSpeed)
label(dVerticalSpeedCal)
registersymbol(dVerticalSpeedCal)
label(dVerticalSpeedInterval)
registersymbol(dVerticalSpeedInterval)
alloc(newmem,2048,someDeltaWriteAOB+26) //"GameAssembly.dll"+10D0437)
label(returnhere)
label(originalcode_someDeltaWriteAOB)
registersymbol(originalcode_someDeltaWriteAOB)
label(exit)
newmem: //this is allocated memory, you have read,write,execute access
//place your code here
//mov rdi,"GameAssembly.dll"+BA3D15
mov rdi,playerDeltaWriteCallerAOB
lea rdi,[rdi+d]
cmp [rsp+58],rdi
jne @f
mov rdi,pPlayerInfo1
mov [rdi],rbx
@@:
mov rdi,pPlayerInfo1
cmp [rdi],rbx
jne end
mov rdi,bHoverKeyPressed
cmp byte ptr [rdi],1
je @f
readmem(someDeltaWriteAOB+26,6)
//movss xmm1,[rsp+64]
mov rdi,dVerticalSpeedCal
movss [rdi],xmm1
jmp end
@@:
mov rdi,bDownKeyPressed
cmp byte ptr [rdi],1
//je end
movss xmm1,[rdi+4]
je @f
//xorps xmm1,xmm1
//comiss xmm1,[rsp+64]
//jbe @f
//movss [rsp+64],xmm1
//@@:
mov rdi,bUpKeyPressed
cmp byte ptr [rdi],1
movss xmm1,[rdi+4]
je @f
xorps xmm1,xmm1
@@:
mov rdi,dVerticalSpeedCal
movss xmm0,[rdi]
comiss xmm1,xmm0
ja incvspeedcal
jb decvspeedcal
je vspeedcalend
incvspeedcal:
addss xmm0,[rdi+4]
minss xmm0,xmm1
movss [rdi],xmm0
jmp vspeedcalend
decvspeedcal:
subss xmm0,[rdi+4]
maxss xmm0,xmm1
movss [rdi],xmm0
vspeedcalend:
//comiss xmm1,[rsp+64]
//jbe @f
mov rdi,fCustomSpeedCal
mulss xmm0,[rdi]
readmem(someDeltaWriteAOB+26,2)
db 5F 44
readmem(someDeltaWriteAOB+2a,2)
//maxss xmm0,[rsp+64]
readmem(someDeltaWriteAOB+26,2)
db 11 44
readmem(someDeltaWriteAOB+2a,2)
//movss [rsp+64],xmm0
@@:
end:
originalcode_someDeltaWriteAOB:
readmem(someDeltaWriteAOB+26,6)
//movss xmm1,[rsp+64]
exit:
jmp returnhere
///
pPlayerInfo1:
dq 0
bHoverKeyID:
dd 10
bHoverKeyPressed:
dd 0
bUpKeyPressed:
dd 0
dUpSpeed:
dd (float)10
bDownKeyPressed:
dd 0
dDownSpeed:
dd (float)-10
dVerticalSpeedCal:
dd 0
dVerticalSpeedInterval:
dd (float)0.1
///
someDeltaWriteAOB+26: //"GameAssembly.dll"+10D0437:
jmp newmem
nop
returnhere:
///*****************************************///
//modified from ShyTwig16's lua keylistener script
//http://fearlessrevolution.com/viewtopic.php?f=4&t=6041&start=60#p62657
{$lua}
local function flyKeysLuaThread(thread2)
local addr10 = getAddressSafe('bHoverKeyPressed')
local addr11 = getAddressSafe('bUpKeyPressed')
local addr12 = getAddressSafe('bDownKeyPressed')
while FlyKeysLuaThreadLoop do
sleep(100)
if addr10 then
if ( isKeyPressed( readInteger('bHoverKeyID') ) ) then
writeBytes(addr10, 1)
else
writeBytes(addr10, 0)
end
else
addr10 = getAddressSafe('bHoverKeyPressed')
end
if addr11 then
if ( isKeyPressed(VK_W) ) then
writeBytes(addr11, 1)
else
writeBytes(addr11, 0)
end
else
addr11 = getAddressSafe('bUpKeyPressed')
end
if addr12 then
if ( isKeyPressed(VK_S) ) then
writeBytes(addr12, 1)
else
writeBytes(addr12, 0)
end
else
addr12 = getAddressSafe('bDownKeyPressed')
end
end
thread2.terminate()
-- while FlyKeysLuaThreadLoop do
-- if ( isKeyPressed(VK_CAPITAL) ) then
-- writeBytes("bHoverKeyPressed" ,1)
-- else
-- writeBytes("bHoverKeyPressed" ,0)
-- end
-- end
-- thread2.terminate()
end
----------------------------------
if syntaxcheck then return end
FlyKeysLuaThreadLoop = true
createThread(flyKeysLuaThread)
{$asm}
///*****************************************///
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
{$lua}
if syntaxcheck then return end
FlyKeysLuaThreadLoop = false
{$asm}
///*****************************************///
dealloc(newmem)
someDeltaWriteAOB+26: //"GameAssembly.dll"+10D0437:
readmem(originalcode_someDeltaWriteAOB,6)
//db F3 0F 10 4C 24 64
//Alt: movss xmm1,[rsp+64]
unregistersymbol(originalcode_someDeltaWriteAOB)
unregistersymbol(pPlayerInfo1)
unregistersymbol(bHoverKeyID)
unregistersymbol(bHoverKeyPressed)
unregistersymbol(bUpKeyPressed)
unregistersymbol(dUpSpeed)
unregistersymbol(bDownKeyPressed)
unregistersymbol(dDownSpeed)
unregistersymbol(dVerticalSpeedCal)
unregistersymbol(dVerticalSpeedInterval)
///*****************************************///
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>104015</ID>
<Description>"key"</Description>
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">05:X1 mouse button
06:X2 mouse button
10:SHIFT key
11:CTRL key
12:ALT key
14:CAPS LOCK key
</DropDownList>
<ShowAsHex>1</ShowAsHex>
<Color>008000</Color>
<VariableType>Byte</VariableType>
<Address>bHoverKeyID</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>