Page 10 of 12
Re: Final fantasy VII Ever Crisis
Posted: Wed Apr 10, 2024 1:54 am
by Bigjoe91
Cissa90 wrote: ↑Tue Apr 09, 2024 2:57 pm
New cheat, Game Speed Multiplier.
Contains x1 to x5.
Copy its contents directly into Cheat Engine.
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>293</ID>
<Description>"Game Speed Multiplier"</Description>
<LastState Activated="1"/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobscanmodule(GameSpeed,UnityPlayer.dll,F3 0F 10 99 FC 00 00 00) // should be unique
alloc(newmem,$1000,GameSpeed)
label(code)
label(return)
alloc(SpeedGame,4)
registersymbol(SpeedGame)
label(Speed2)
label(Speed3)
label(Speed4)
label(Speed5)
SpeedGame:
dd (float)1
newmem:
cmp [SpeedGame],(float)1
je code
cmp [SpeedGame],(float)2
je Speed2
cmp [SpeedGame],(float)3
je Speed3
cmp [SpeedGame],(float)4
je Speed4
cmp [SpeedGame],(float)5
je Speed5
Speed2:
mov [rcx+000000FC],(float)2
jmp code
Speed3:
mov [rcx+000000FC],(float)3
jmp code
Speed4:
mov [rcx+000000FC],(float)4
jmp code
Speed5:
mov [rcx+000000FC],(float)5
jmp code
code:
movss xmm3,[rcx+000000FC]
jmp return
GameSpeed:
jmp newmem
nop 3
return:
registersymbol(GameSpeed)
[DISABLE]
GameSpeed:
db F3 0F 10 99 FC 00 00 00
unregistersymbol(GameSpeed)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: UnityPlayer.dll+45F2C0
UnityPlayer.dll+45F290: 80 B9 C0 00 00 00 00 - cmp byte ptr [rcx+000000C0],00
UnityPlayer.dll+45F297: 74 1B - je UnityPlayer.dll+45F2B4
UnityPlayer.dll+45F299: 0F 28 74 24 20 - movaps xmm6,[rsp+20]
UnityPlayer.dll+45F29E: 0F 28 7C 24 10 - movaps xmm7,[rsp+10]
UnityPlayer.dll+45F2A3: C6 81 C0 00 00 00 00 - mov byte ptr [rcx+000000C0],00
UnityPlayer.dll+45F2AA: 44 0F 28 04 24 - movaps xmm8,[rsp]
UnityPlayer.dll+45F2AF: 48 83 C4 38 - add rsp,38
UnityPlayer.dll+45F2B3: C3 - ret
UnityPlayer.dll+45F2B4: 80 B9 C1 00 00 00 00 - cmp byte ptr [rcx+000000C1],00
UnityPlayer.dll+45F2BB: F2 0F 10 61 60 - movsd xmm4,[rcx+60]
// ---------- INJECTING HERE ----------
UnityPlayer.dll+45F2C0: F3 0F 10 99 FC 00 00 00 - movss xmm3,[rcx+000000FC]
// ---------- DONE INJECTING ----------
UnityPlayer.dll+45F2C8: 74 0D - je UnityPlayer.dll+45F2D7
UnityPlayer.dll+45F2CA: F3 0F 59 1D 62 A1 2C 01 - mulss xmm3,[UnityPlayer.dll+1729434]
UnityPlayer.dll+45F2D2: 0F 5A D3 - cvtps2pd xmm2,xmm3
UnityPlayer.dll+45F2D5: EB 61 - jmp UnityPlayer.dll+45F338
UnityPlayer.dll+45F2D7: F3 0F 10 89 00 01 00 00 - movss xmm1,[rcx+00000100]
UnityPlayer.dll+45F2DF: 0F 28 EA - movaps xmm5,xmm2
UnityPlayer.dll+45F2E2: 0F 5A C1 - cvtps2pd xmm0,xmm1
UnityPlayer.dll+45F2E5: F2 0F 5C EC - subsd xmm5,xmm4
UnityPlayer.dll+45F2E9: 66 0F 2F E8 - comisd xmm5,xmm0
UnityPlayer.dll+45F2ED: 76 09 - jna UnityPlayer.dll+45F2F8
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>294</ID>
<Description>"Multiplier"</Description>
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">1:x1
2:x2
3:x3
4:x4
5:x5
</DropDownList>
<LastState Value="3" RealAddress="7FFF0C781000"/>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Float</VariableType>
<Address>SpeedGame</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>
Not sure if I am doing something wrong but the x1 multiplier doesn't seem to work, I mean I am not able to go back to standard speed. You can switch from x5 to x2 or any other and it works perfectly but if you switch back to x1 it will stay with the same speed of the last multiplier you had.
Re: Final fantasy VII Ever Crisis
Posted: Wed Apr 10, 2024 3:13 am
by Xer0Daze
Bigjoe91 wrote: ↑Wed Apr 10, 2024 1:54 am
Cissa90 wrote: ↑Tue Apr 09, 2024 2:57 pm
New cheat, Game Speed Multiplier.
Contains x1 to x5.
Copy its contents directly into Cheat Engine.
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>293</ID>
<Description>"Game Speed Multiplier"</Description>
<LastState Activated="1"/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobscanmodule(GameSpeed,UnityPlayer.dll,F3 0F 10 99 FC 00 00 00) // should be unique
alloc(newmem,$1000,GameSpeed)
label(code)
label(return)
alloc(SpeedGame,4)
registersymbol(SpeedGame)
label(Speed2)
label(Speed3)
label(Speed4)
label(Speed5)
SpeedGame:
dd (float)1
newmem:
cmp [SpeedGame],(float)1
je code
cmp [SpeedGame],(float)2
je Speed2
cmp [SpeedGame],(float)3
je Speed3
cmp [SpeedGame],(float)4
je Speed4
cmp [SpeedGame],(float)5
je Speed5
Speed2:
mov [rcx+000000FC],(float)2
jmp code
Speed3:
mov [rcx+000000FC],(float)3
jmp code
Speed4:
mov [rcx+000000FC],(float)4
jmp code
Speed5:
mov [rcx+000000FC],(float)5
jmp code
code:
movss xmm3,[rcx+000000FC]
jmp return
GameSpeed:
jmp newmem
nop 3
return:
registersymbol(GameSpeed)
[DISABLE]
GameSpeed:
db F3 0F 10 99 FC 00 00 00
unregistersymbol(GameSpeed)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: UnityPlayer.dll+45F2C0
UnityPlayer.dll+45F290: 80 B9 C0 00 00 00 00 - cmp byte ptr [rcx+000000C0],00
UnityPlayer.dll+45F297: 74 1B - je UnityPlayer.dll+45F2B4
UnityPlayer.dll+45F299: 0F 28 74 24 20 - movaps xmm6,[rsp+20]
UnityPlayer.dll+45F29E: 0F 28 7C 24 10 - movaps xmm7,[rsp+10]
UnityPlayer.dll+45F2A3: C6 81 C0 00 00 00 00 - mov byte ptr [rcx+000000C0],00
UnityPlayer.dll+45F2AA: 44 0F 28 04 24 - movaps xmm8,[rsp]
UnityPlayer.dll+45F2AF: 48 83 C4 38 - add rsp,38
UnityPlayer.dll+45F2B3: C3 - ret
UnityPlayer.dll+45F2B4: 80 B9 C1 00 00 00 00 - cmp byte ptr [rcx+000000C1],00
UnityPlayer.dll+45F2BB: F2 0F 10 61 60 - movsd xmm4,[rcx+60]
// ---------- INJECTING HERE ----------
UnityPlayer.dll+45F2C0: F3 0F 10 99 FC 00 00 00 - movss xmm3,[rcx+000000FC]
// ---------- DONE INJECTING ----------
UnityPlayer.dll+45F2C8: 74 0D - je UnityPlayer.dll+45F2D7
UnityPlayer.dll+45F2CA: F3 0F 59 1D 62 A1 2C 01 - mulss xmm3,[UnityPlayer.dll+1729434]
UnityPlayer.dll+45F2D2: 0F 5A D3 - cvtps2pd xmm2,xmm3
UnityPlayer.dll+45F2D5: EB 61 - jmp UnityPlayer.dll+45F338
UnityPlayer.dll+45F2D7: F3 0F 10 89 00 01 00 00 - movss xmm1,[rcx+00000100]
UnityPlayer.dll+45F2DF: 0F 28 EA - movaps xmm5,xmm2
UnityPlayer.dll+45F2E2: 0F 5A C1 - cvtps2pd xmm0,xmm1
UnityPlayer.dll+45F2E5: F2 0F 5C EC - subsd xmm5,xmm4
UnityPlayer.dll+45F2E9: 66 0F 2F E8 - comisd xmm5,xmm0
UnityPlayer.dll+45F2ED: 76 09 - jna UnityPlayer.dll+45F2F8
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>294</ID>
<Description>"Multiplier"</Description>
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">1:x1
2:x2
3:x3
4:x4
5:x5
</DropDownList>
<LastState Value="3" RealAddress="7FFF0C781000"/>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Float</VariableType>
<Address>SpeedGame</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>
Not sure if I am doing something wrong but the x1 multiplier doesn't seem to work, I mean I am not able to go back to standard speed. You can switch from x5 to x2 or any other and it works perfectly but if you switch back to x1 it will stay with the same speed of the last multiplier you had.
I'm not the best at this by any means but I added the Speed1 to the existing script with this and now it let's me set it back to x1 speed if you want to use it until OP responds:
Code: Select all
[ENABLE]
aobscanmodule(GameSpeed,UnityPlayer.dll,F3 0F 10 99 FC 00 00 00) // should be unique
alloc(newmem,$1000,GameSpeed)
label(code)
label(return)
alloc(SpeedGame,4)
registersymbol(SpeedGame)
label(Speed1)
label(Speed2)
label(Speed3)
label(Speed4)
label(Speed5)
SpeedGame:
dd (float)1
newmem:
cmp [SpeedGame],(float)1
je Speed1
cmp [SpeedGame],(float)2
je Speed2
cmp [SpeedGame],(float)3
je Speed3
cmp [SpeedGame],(float)4
je Speed4
cmp [SpeedGame],(float)5
je Speed5
Speed1:
mov [rcx+000000FC],(float)1
jmp code
Speed2:
mov [rcx+000000FC],(float)2
jmp code
Speed3:
mov [rcx+000000FC],(float)3
jmp code
Speed4:
mov [rcx+000000FC],(float)4
jmp code
Speed5:
mov [rcx+000000FC],(float)5
jmp code
code:
movss xmm3,[rcx+000000FC]
jmp return
GameSpeed:
jmp newmem
nop 3
return:
registersymbol(GameSpeed)
[DISABLE]
GameSpeed:
db F3 0F 10 99 FC 00 00 00
unregistersymbol(GameSpeed)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: UnityPlayer.dll+45F2C0
UnityPlayer.dll+45F290: 80 B9 C0 00 00 00 00 - cmp byte ptr [rcx+000000C0],00
UnityPlayer.dll+45F297: 74 1B - je UnityPlayer.dll+45F2B4
UnityPlayer.dll+45F299: 0F 28 74 24 20 - movaps xmm6,[rsp+20]
UnityPlayer.dll+45F29E: 0F 28 7C 24 10 - movaps xmm7,[rsp+10]
UnityPlayer.dll+45F2A3: C6 81 C0 00 00 00 00 - mov byte ptr [rcx+000000C0],00
UnityPlayer.dll+45F2AA: 44 0F 28 04 24 - movaps xmm8,[rsp]
UnityPlayer.dll+45F2AF: 48 83 C4 38 - add rsp,38
UnityPlayer.dll+45F2B3: C3 - ret
UnityPlayer.dll+45F2B4: 80 B9 C1 00 00 00 00 - cmp byte ptr [rcx+000000C1],00
UnityPlayer.dll+45F2BB: F2 0F 10 61 60 - movsd xmm4,[rcx+60]
// ---------- INJECTING HERE ----------
UnityPlayer.dll+45F2C0: F3 0F 10 99 FC 00 00 00 - movss xmm3,[rcx+000000FC]
// ---------- DONE INJECTING ----------
UnityPlayer.dll+45F2C8: 74 0D - je UnityPlayer.dll+45F2D7
UnityPlayer.dll+45F2CA: F3 0F 59 1D 62 A1 2C 01 - mulss xmm3,[UnityPlayer.dll+1729434]
UnityPlayer.dll+45F2D2: 0F 5A D3 - cvtps2pd xmm2,xmm3
UnityPlayer.dll+45F2D5: EB 61 - jmp UnityPlayer.dll+45F338
UnityPlayer.dll+45F2D7: F3 0F 10 89 00 01 00 00 - movss xmm1,[rcx+00000100]
UnityPlayer.dll+45F2DF: 0F 28 EA - movaps xmm5,xmm2
UnityPlayer.dll+45F2E2: 0F 5A C1 - cvtps2pd xmm0,xmm1
UnityPlayer.dll+45F2E5: F2 0F 5C EC - subsd xmm5,xmm4
UnityPlayer.dll+45F2E9: 66 0F 2F E8 - comisd xmm5,xmm0
UnityPlayer.dll+45F2ED: 76 09 - jna UnityPlayer.dll+45F2F8
}
Re: Final fantasy VII Ever Crisis
Posted: Wed Apr 10, 2024 8:58 am
by Cissa90
Xer0Daze wrote: ↑Wed Apr 10, 2024 3:13 am
Bigjoe91 wrote: ↑Wed Apr 10, 2024 1:54 am
Cissa90 wrote: ↑Tue Apr 09, 2024 2:57 pm
New cheat, Game Speed Multiplier.
Good work! Missed that one, my bad.
Re: Final fantasy VII Ever Crisis
Posted: Wed Apr 10, 2024 8:59 am
by Cissa90
Good work! Missed that one, my bad.
Re: Final fantasy VII Ever Crisis
Posted: Wed Apr 10, 2024 1:45 pm
by Bigjoe91
Xer0Daze wrote: ↑Wed Apr 10, 2024 3:13 am
Bigjoe91 wrote: ↑Wed Apr 10, 2024 1:54 am
Cissa90 wrote: ↑Tue Apr 09, 2024 2:57 pm
New cheat, Game Speed Multiplier.
Contains x1 to x5.
Copy its contents directly into Cheat Engine.
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>293</ID>
<Description>"Game Speed Multiplier"</Description>
<LastState Activated="1"/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobscanmodule(GameSpeed,UnityPlayer.dll,F3 0F 10 99 FC 00 00 00) // should be unique
alloc(newmem,$1000,GameSpeed)
label(code)
label(return)
alloc(SpeedGame,4)
registersymbol(SpeedGame)
label(Speed2)
label(Speed3)
label(Speed4)
label(Speed5)
SpeedGame:
dd (float)1
newmem:
cmp [SpeedGame],(float)1
je code
cmp [SpeedGame],(float)2
je Speed2
cmp [SpeedGame],(float)3
je Speed3
cmp [SpeedGame],(float)4
je Speed4
cmp [SpeedGame],(float)5
je Speed5
Speed2:
mov [rcx+000000FC],(float)2
jmp code
Speed3:
mov [rcx+000000FC],(float)3
jmp code
Speed4:
mov [rcx+000000FC],(float)4
jmp code
Speed5:
mov [rcx+000000FC],(float)5
jmp code
code:
movss xmm3,[rcx+000000FC]
jmp return
GameSpeed:
jmp newmem
nop 3
return:
registersymbol(GameSpeed)
[DISABLE]
GameSpeed:
db F3 0F 10 99 FC 00 00 00
unregistersymbol(GameSpeed)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: UnityPlayer.dll+45F2C0
UnityPlayer.dll+45F290: 80 B9 C0 00 00 00 00 - cmp byte ptr [rcx+000000C0],00
UnityPlayer.dll+45F297: 74 1B - je UnityPlayer.dll+45F2B4
UnityPlayer.dll+45F299: 0F 28 74 24 20 - movaps xmm6,[rsp+20]
UnityPlayer.dll+45F29E: 0F 28 7C 24 10 - movaps xmm7,[rsp+10]
UnityPlayer.dll+45F2A3: C6 81 C0 00 00 00 00 - mov byte ptr [rcx+000000C0],00
UnityPlayer.dll+45F2AA: 44 0F 28 04 24 - movaps xmm8,[rsp]
UnityPlayer.dll+45F2AF: 48 83 C4 38 - add rsp,38
UnityPlayer.dll+45F2B3: C3 - ret
UnityPlayer.dll+45F2B4: 80 B9 C1 00 00 00 00 - cmp byte ptr [rcx+000000C1],00
UnityPlayer.dll+45F2BB: F2 0F 10 61 60 - movsd xmm4,[rcx+60]
// ---------- INJECTING HERE ----------
UnityPlayer.dll+45F2C0: F3 0F 10 99 FC 00 00 00 - movss xmm3,[rcx+000000FC]
// ---------- DONE INJECTING ----------
UnityPlayer.dll+45F2C8: 74 0D - je UnityPlayer.dll+45F2D7
UnityPlayer.dll+45F2CA: F3 0F 59 1D 62 A1 2C 01 - mulss xmm3,[UnityPlayer.dll+1729434]
UnityPlayer.dll+45F2D2: 0F 5A D3 - cvtps2pd xmm2,xmm3
UnityPlayer.dll+45F2D5: EB 61 - jmp UnityPlayer.dll+45F338
UnityPlayer.dll+45F2D7: F3 0F 10 89 00 01 00 00 - movss xmm1,[rcx+00000100]
UnityPlayer.dll+45F2DF: 0F 28 EA - movaps xmm5,xmm2
UnityPlayer.dll+45F2E2: 0F 5A C1 - cvtps2pd xmm0,xmm1
UnityPlayer.dll+45F2E5: F2 0F 5C EC - subsd xmm5,xmm4
UnityPlayer.dll+45F2E9: 66 0F 2F E8 - comisd xmm5,xmm0
UnityPlayer.dll+45F2ED: 76 09 - jna UnityPlayer.dll+45F2F8
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>294</ID>
<Description>"Multiplier"</Description>
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">1:x1
2:x2
3:x3
4:x4
5:x5
</DropDownList>
<LastState Value="3" RealAddress="7FFF0C781000"/>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Float</VariableType>
<Address>SpeedGame</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>
Not sure if I am doing something wrong but the x1 multiplier doesn't seem to work, I mean I am not able to go back to standard speed. You can switch from x5 to x2 or any other and it works perfectly but if you switch back to x1 it will stay with the same speed of the last multiplier you had.
I'm not the best at this by any means but I added the Speed1 to the existing script with this and now it let's me set it back to x1 speed if you want to use it until OP responds:
Code: Select all
[ENABLE]
aobscanmodule(GameSpeed,UnityPlayer.dll,F3 0F 10 99 FC 00 00 00) // should be unique
alloc(newmem,$1000,GameSpeed)
label(code)
label(return)
alloc(SpeedGame,4)
registersymbol(SpeedGame)
label(Speed1)
label(Speed2)
label(Speed3)
label(Speed4)
label(Speed5)
SpeedGame:
dd (float)1
newmem:
cmp [SpeedGame],(float)1
je Speed1
cmp [SpeedGame],(float)2
je Speed2
cmp [SpeedGame],(float)3
je Speed3
cmp [SpeedGame],(float)4
je Speed4
cmp [SpeedGame],(float)5
je Speed5
Speed1:
mov [rcx+000000FC],(float)1
jmp code
Speed2:
mov [rcx+000000FC],(float)2
jmp code
Speed3:
mov [rcx+000000FC],(float)3
jmp code
Speed4:
mov [rcx+000000FC],(float)4
jmp code
Speed5:
mov [rcx+000000FC],(float)5
jmp code
code:
movss xmm3,[rcx+000000FC]
jmp return
GameSpeed:
jmp newmem
nop 3
return:
registersymbol(GameSpeed)
[DISABLE]
GameSpeed:
db F3 0F 10 99 FC 00 00 00
unregistersymbol(GameSpeed)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: UnityPlayer.dll+45F2C0
UnityPlayer.dll+45F290: 80 B9 C0 00 00 00 00 - cmp byte ptr [rcx+000000C0],00
UnityPlayer.dll+45F297: 74 1B - je UnityPlayer.dll+45F2B4
UnityPlayer.dll+45F299: 0F 28 74 24 20 - movaps xmm6,[rsp+20]
UnityPlayer.dll+45F29E: 0F 28 7C 24 10 - movaps xmm7,[rsp+10]
UnityPlayer.dll+45F2A3: C6 81 C0 00 00 00 00 - mov byte ptr [rcx+000000C0],00
UnityPlayer.dll+45F2AA: 44 0F 28 04 24 - movaps xmm8,[rsp]
UnityPlayer.dll+45F2AF: 48 83 C4 38 - add rsp,38
UnityPlayer.dll+45F2B3: C3 - ret
UnityPlayer.dll+45F2B4: 80 B9 C1 00 00 00 00 - cmp byte ptr [rcx+000000C1],00
UnityPlayer.dll+45F2BB: F2 0F 10 61 60 - movsd xmm4,[rcx+60]
// ---------- INJECTING HERE ----------
UnityPlayer.dll+45F2C0: F3 0F 10 99 FC 00 00 00 - movss xmm3,[rcx+000000FC]
// ---------- DONE INJECTING ----------
UnityPlayer.dll+45F2C8: 74 0D - je UnityPlayer.dll+45F2D7
UnityPlayer.dll+45F2CA: F3 0F 59 1D 62 A1 2C 01 - mulss xmm3,[UnityPlayer.dll+1729434]
UnityPlayer.dll+45F2D2: 0F 5A D3 - cvtps2pd xmm2,xmm3
UnityPlayer.dll+45F2D5: EB 61 - jmp UnityPlayer.dll+45F338
UnityPlayer.dll+45F2D7: F3 0F 10 89 00 01 00 00 - movss xmm1,[rcx+00000100]
UnityPlayer.dll+45F2DF: 0F 28 EA - movaps xmm5,xmm2
UnityPlayer.dll+45F2E2: 0F 5A C1 - cvtps2pd xmm0,xmm1
UnityPlayer.dll+45F2E5: F2 0F 5C EC - subsd xmm5,xmm4
UnityPlayer.dll+45F2E9: 66 0F 2F E8 - comisd xmm5,xmm0
UnityPlayer.dll+45F2ED: 76 09 - jna UnityPlayer.dll+45F2F8
}
Thanks, it works for me as well now
Re: Final fantasy VII Ever Crisis
Posted: Thu Apr 11, 2024 2:54 am
by Fodera
Bigjoe91 wrote: ↑Wed Apr 10, 2024 1:45 pm
Xer0Daze wrote: ↑Wed Apr 10, 2024 3:13 am
Bigjoe91 wrote: ↑Wed Apr 10, 2024 1:54 am
Not sure if I am doing something wrong but the x1 multiplier doesn't seem to work, I mean I am not able to go back to standard speed. You can switch from x5 to x2 or any other and it works perfectly but if you switch back to x1 it will stay with the same speed of the last multiplier you had.
I'm not the best at this by any means but I added the Speed1 to the existing script with this and now it let's me set it back to x1 speed if you want to use it until OP responds:
Code: Select all
[ENABLE]
aobscanmodule(GameSpeed,UnityPlayer.dll,F3 0F 10 99 FC 00 00 00) // should be unique
alloc(newmem,$1000,GameSpeed)
label(code)
label(return)
alloc(SpeedGame,4)
registersymbol(SpeedGame)
label(Speed1)
label(Speed2)
label(Speed3)
label(Speed4)
label(Speed5)
SpeedGame:
dd (float)1
newmem:
cmp [SpeedGame],(float)1
je Speed1
cmp [SpeedGame],(float)2
je Speed2
cmp [SpeedGame],(float)3
je Speed3
cmp [SpeedGame],(float)4
je Speed4
cmp [SpeedGame],(float)5
je Speed5
Speed1:
mov [rcx+000000FC],(float)1
jmp code
Speed2:
mov [rcx+000000FC],(float)2
jmp code
Speed3:
mov [rcx+000000FC],(float)3
jmp code
Speed4:
mov [rcx+000000FC],(float)4
jmp code
Speed5:
mov [rcx+000000FC],(float)5
jmp code
code:
movss xmm3,[rcx+000000FC]
jmp return
GameSpeed:
jmp newmem
nop 3
return:
registersymbol(GameSpeed)
[DISABLE]
GameSpeed:
db F3 0F 10 99 FC 00 00 00
unregistersymbol(GameSpeed)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: UnityPlayer.dll+45F2C0
UnityPlayer.dll+45F290: 80 B9 C0 00 00 00 00 - cmp byte ptr [rcx+000000C0],00
UnityPlayer.dll+45F297: 74 1B - je UnityPlayer.dll+45F2B4
UnityPlayer.dll+45F299: 0F 28 74 24 20 - movaps xmm6,[rsp+20]
UnityPlayer.dll+45F29E: 0F 28 7C 24 10 - movaps xmm7,[rsp+10]
UnityPlayer.dll+45F2A3: C6 81 C0 00 00 00 00 - mov byte ptr [rcx+000000C0],00
UnityPlayer.dll+45F2AA: 44 0F 28 04 24 - movaps xmm8,[rsp]
UnityPlayer.dll+45F2AF: 48 83 C4 38 - add rsp,38
UnityPlayer.dll+45F2B3: C3 - ret
UnityPlayer.dll+45F2B4: 80 B9 C1 00 00 00 00 - cmp byte ptr [rcx+000000C1],00
UnityPlayer.dll+45F2BB: F2 0F 10 61 60 - movsd xmm4,[rcx+60]
// ---------- INJECTING HERE ----------
UnityPlayer.dll+45F2C0: F3 0F 10 99 FC 00 00 00 - movss xmm3,[rcx+000000FC]
// ---------- DONE INJECTING ----------
UnityPlayer.dll+45F2C8: 74 0D - je UnityPlayer.dll+45F2D7
UnityPlayer.dll+45F2CA: F3 0F 59 1D 62 A1 2C 01 - mulss xmm3,[UnityPlayer.dll+1729434]
UnityPlayer.dll+45F2D2: 0F 5A D3 - cvtps2pd xmm2,xmm3
UnityPlayer.dll+45F2D5: EB 61 - jmp UnityPlayer.dll+45F338
UnityPlayer.dll+45F2D7: F3 0F 10 89 00 01 00 00 - movss xmm1,[rcx+00000100]
UnityPlayer.dll+45F2DF: 0F 28 EA - movaps xmm5,xmm2
UnityPlayer.dll+45F2E2: 0F 5A C1 - cvtps2pd xmm0,xmm1
UnityPlayer.dll+45F2E5: F2 0F 5C EC - subsd xmm5,xmm4
UnityPlayer.dll+45F2E9: 66 0F 2F E8 - comisd xmm5,xmm0
UnityPlayer.dll+45F2ED: 76 09 - jna UnityPlayer.dll+45F2F8
}
Thanks, it works for me as well now
Re: Final fantasy VII Ever Crisis
Posted: Thu Apr 11, 2024 3:18 am
by Fodera
Hi sir.. how to input this game multiplier speed CE..?
Re: Final fantasy VII Ever Crisis
Posted: Thu Apr 11, 2024 9:23 am
by Cissa90
Fodera wrote: ↑Thu Apr 11, 2024 3:18 am
Hi sir.. how to input this game multiplier speed CE..?
Copy all in this section, and just ctrl+v into cheat engine window, it will add it.
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>293</ID>
<Description>"Game Speed Multiplier"</Description>
<LastState Activated="1"/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobscanmodule(GameSpeed,UnityPlayer.dll,F3 0F 10 99 FC 00 00 00) // should be unique
alloc(newmem,$1000,GameSpeed)
label(code)
label(return)
alloc(SpeedGame,4)
registersymbol(SpeedGame)
label(Speed1)
label(Speed2)
label(Speed3)
label(Speed4)
label(Speed5)
SpeedGame:
dd (float)1
newmem:
cmp [SpeedGame],(float)1
je Speed1
cmp [SpeedGame],(float)2
je Speed2
cmp [SpeedGame],(float)3
je Speed3
cmp [SpeedGame],(float)4
je Speed4
cmp [SpeedGame],(float)5
je Speed5
Speed1:
mov [rcx+000000FC],(float)1
jmp code
Speed2:
mov [rcx+000000FC],(float)2
jmp code
Speed3:
mov [rcx+000000FC],(float)3
jmp code
Speed4:
mov [rcx+000000FC],(float)4
jmp code
Speed5:
mov [rcx+000000FC],(float)5
jmp code
code:
movss xmm3,[rcx+000000FC]
jmp return
GameSpeed:
jmp newmem
nop 3
return:
registersymbol(GameSpeed)
[DISABLE]
GameSpeed:
db F3 0F 10 99 FC 00 00 00
unregistersymbol(GameSpeed)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: UnityPlayer.dll+45F2C0
UnityPlayer.dll+45F290: 80 B9 C0 00 00 00 00 - cmp byte ptr [rcx+000000C0],00
UnityPlayer.dll+45F297: 74 1B - je UnityPlayer.dll+45F2B4
UnityPlayer.dll+45F299: 0F 28 74 24 20 - movaps xmm6,[rsp+20]
UnityPlayer.dll+45F29E: 0F 28 7C 24 10 - movaps xmm7,[rsp+10]
UnityPlayer.dll+45F2A3: C6 81 C0 00 00 00 00 - mov byte ptr [rcx+000000C0],00
UnityPlayer.dll+45F2AA: 44 0F 28 04 24 - movaps xmm8,[rsp]
UnityPlayer.dll+45F2AF: 48 83 C4 38 - add rsp,38
UnityPlayer.dll+45F2B3: C3 - ret
UnityPlayer.dll+45F2B4: 80 B9 C1 00 00 00 00 - cmp byte ptr [rcx+000000C1],00
UnityPlayer.dll+45F2BB: F2 0F 10 61 60 - movsd xmm4,[rcx+60]
// ---------- INJECTING HERE ----------
UnityPlayer.dll+45F2C0: F3 0F 10 99 FC 00 00 00 - movss xmm3,[rcx+000000FC]
// ---------- DONE INJECTING ----------
UnityPlayer.dll+45F2C8: 74 0D - je UnityPlayer.dll+45F2D7
UnityPlayer.dll+45F2CA: F3 0F 59 1D 62 A1 2C 01 - mulss xmm3,[UnityPlayer.dll+1729434]
UnityPlayer.dll+45F2D2: 0F 5A D3 - cvtps2pd xmm2,xmm3
UnityPlayer.dll+45F2D5: EB 61 - jmp UnityPlayer.dll+45F338
UnityPlayer.dll+45F2D7: F3 0F 10 89 00 01 00 00 - movss xmm1,[rcx+00000100]
UnityPlayer.dll+45F2DF: 0F 28 EA - movaps xmm5,xmm2
UnityPlayer.dll+45F2E2: 0F 5A C1 - cvtps2pd xmm0,xmm1
UnityPlayer.dll+45F2E5: F2 0F 5C EC - subsd xmm5,xmm4
UnityPlayer.dll+45F2E9: 66 0F 2F E8 - comisd xmm5,xmm0
UnityPlayer.dll+45F2ED: 76 09 - jna UnityPlayer.dll+45F2F8
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>294</ID>
<Description>"Multiplier"</Description>
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">1:x1
2:x2
3:x3
4:x4
5:x5
</DropDownList>
<LastState Value="3" RealAddress="7FFF0C781000"/>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Float</VariableType>
<Address>SpeedGame</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>
Re: Final fantasy VII Ever Crisis
Posted: Sun Apr 14, 2024 4:11 am
by r3v
did you tried to apply or see any values to change about money, elements, etc? just curious
Re: Final fantasy VII Ever Crisis
Posted: Sun Apr 14, 2024 6:12 am
by BabyGroot
hmmm engine unity
Re: Final fantasy VII Ever Crisis
Posted: Mon Apr 15, 2024 3:52 am
by powerzx
r3v wrote: ↑Sun Apr 14, 2024 4:11 am
did you tried to apply or see any values to change about money, elements, etc? just curious
All money (Gil, red crystal, blue crystal, event currency, chocobo medals) are on ''server side'' (you can't change anything). Cheats with Elements (like fire, ice, wind, etc.) buffs and debuffs (for player and enemies) should be possible.
Re: Final fantasy VII Ever Crisis
Posted: Wed Apr 17, 2024 6:29 am
by ublang
1 hit kill
No Damage Taken Score
Weakness Exploited High Number
stop working today sir
Re: Final fantasy VII Ever Crisis
Posted: Wed Apr 17, 2024 7:02 am
by Revolver
Updated and added Cissa's speedhack.
I found a few addresses that work with Weakness Damage Output Score, but it didn't seem like they affected dungeon score so I left the script as is for now.
Re: Final fantasy VII Ever Crisis
Posted: Wed Apr 17, 2024 7:09 am
by ublang
Revolver wrote: ↑Wed Apr 17, 2024 7:02 am
Updated and added Cissa's speedhack.
I found a few addresses that work with Weakness Damage Output Score, but it didn't seem like they affected dungeon score so I left the script as is for now.
Thanks you sir
Re: Final fantasy VII Ever Crisis
Posted: Wed Apr 17, 2024 7:33 am
by Cissa90
Btw,
I've changed the 1 hit kill script again, so it uses Mono to find values. Should make it more simple to have it not crash or not be found on updates:
Code: Select all
{$lua}
LaunchMonoDataCollector()
{$asm}
[ENABLE]
aobscanregion(DamageOutput,Command.Battle.CharacterParameterModel.CalcReduceHp+0,Command.Battle.CharacterParameterModel.CalcReduceHp+70,80 3D * * * * 00 8? 7? 10) // should be unique
alloc(newmem,$1000,DamageOutput)
label(code)
label(return)
alloc(storeDO,10)
registersymbol(storeDO)
storeDO:
Readmem(DamageOutput,10)
newmem:
mov [rdi+10],(int)1
code:
Readmem(DamageOutput,7)// cmp byte ptr [GameAssembly.dll+71C7295],00
mov edi,[rdi+10]
jmp return
DamageOutput:
jmp newmem
nop 5
return:
registersymbol(DamageOutput)
[DISABLE]
DamageOutput:
readmem(storeDO,10)
unregistersymbol(DamageOutput)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+CEFC27
GameAssembly.dll+CEFBFE: E8 0D 68 89 FF - call GameAssembly.dll+586410
GameAssembly.dll+CEFC03: C6 05 89 76 4D 06 01 - mov byte ptr [GameAssembly.dll+71C7293],01
GameAssembly.dll+CEFC0A: 80 BB 10 01 00 00 00 - cmp byte ptr [rbx+00000110],00
GameAssembly.dll+CEFC11: 48 89 7C 24 40 - mov [rsp+40],rdi
GameAssembly.dll+CEFC16: 74 06 - je GameAssembly.dll+CEFC1E
GameAssembly.dll+CEFC18: 48 8B 7B 48 - mov rdi,[rbx+48]
GameAssembly.dll+CEFC1C: EB 04 - jmp GameAssembly.dll+CEFC22
GameAssembly.dll+CEFC1E: 48 8B 7B 38 - mov rdi,[rbx+38]
GameAssembly.dll+CEFC22: 48 85 FF - test rdi,rdi
GameAssembly.dll+CEFC25: 74 6A - je GameAssembly.dll+CEFC91
// ---------- INJECTING HERE ----------
GameAssembly.dll+CEFC27: 80 3D 67 76 4D 06 00 - cmp byte ptr [GameAssembly.dll+71C7295],00
// ---------- DONE INJECTING ----------
DamageOutput: 8B 7F 10 - mov edi,[rdi+10]
GameAssembly.dll+CEFC31: 75 13 - jne GameAssembly.dll+CEFC46
GameAssembly.dll+CEFC33: 48 8D 0D 6E 4D 0E 06 - lea rcx,[GameAssembly.dll+6DD49A8]
GameAssembly.dll+CEFC3A: E8 D1 67 89 FF - call GameAssembly.dll+586410
GameAssembly.dll+CEFC3F: C6 05 4F 76 4D 06 01 - mov byte ptr [GameAssembly.dll+71C7295],01
GameAssembly.dll+CEFC46: 80 BB 10 01 00 00 00 - cmp byte ptr [rbx+00000110],00
GameAssembly.dll+CEFC4D: 74 06 - je GameAssembly.dll+CEFC55
GameAssembly.dll+CEFC4F: 48 8B 43 50 - mov rax,[rbx+50]
GameAssembly.dll+CEFC53: EB 04 - jmp GameAssembly.dll+CEFC59
GameAssembly.dll+CEFC55: 48 8B 43 40 - mov rax,[rbx+40]