About the table by
aanpsx (v2.02b), First i found a few scripts that still works (one of the reason is because they don't seems to require the main script -named "Star Valor v2.0.2b"- to work and i haven't touched at this one yet).
Here is the list (so far) of the scripts that i have tried on the last version of the game and i can confirm they works (not just activated, they do what they say, but of course i i can't promise they will never cause issues later on, always backup your saves before using any table/trainer and all that).
So far these scripts still works :
- Ignore Passenger/Fleet Seat
- Ignore Cargo Space
- Inf Market Goods Item
- All Installed Equipment become Legendary
- All Installed Weapon become Legendary
Scripts that activate but i have not checked yet if they works :
- Max Zoom Out Camera (X5)
- 50000 Cargo Space
- All Equipment in Cargo become Legendary
- Reputation State
- Cargo Goods Pointer
- Weapon Crafting
I strongly suggest activating theses scripts before loading your save (if mean if you have used them once then always do that later on or the game may not like it).
*********************
Second, i started to upgrade the scripts that do not work and that i would like to use right now
, and i only can do it because
aanpsx left the code extract in comments so i know what he wanted to modify and i can try to find the updated version of the code that does that and update the script in consequence.
I have only started doing it (less than 30 min ago) so there is only 2 for now :
5000 Weapon Space
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>218107</ID>
<Description>"5000 Weapon Space"</Description>
<LastState/>
<Color>FFFF00</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{======================
Author : aanpsx
Date : 2022-08-07
Game : Star Valor.exe
Version : 2019.4.35.25152
======================}
define(WeaponSlot,(float)5000)
//===== [_MaxWeaponSpace] ======
define(address_MaxWeaponSpace,GameDataInfo:CheckWeaponSpace+2d)
define(inject_MaxWeaponSpace,GameDataInfo:CheckWeaponSpace+2d)
define(bytes_MaxWeaponSpace,db 8B 47 1C D9 40 30)
//===== [_WeaponSlot2] ======
define(address_WeaponSlot2,SpaceShip:VerifyShipCargoAndEquipment+1c)
define(inject_WeaponSlot2,SpaceShip:VerifyShipCargoAndEquipment+1c)
define(bytes_WeaponSlot2,db 8B 47 6C D9 40 30)
define(fmax,(float)999999999)
define(fmin,(float)0)
define(imax,#999999999)
define(psx,align 10 CC)
define(mov1,mov byte ptr)
define(mov2,mov word ptr)
define(mov4,mov dword ptr)
define(cmp1,cmp byte ptr)
define(cmp2,cmp word ptr)
define(cmp4,cmp dword ptr)
define(bit,byte ptr)
define(4bit,dd 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)// 8c
define(8bit,dq 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)// 118
//===========================================================================================
[ENABLE]
{$lua}
if syntaxcheck then return end
LaunchMonoDataCollector()
-----------------------
--memrec.Description='_MaxWeaponSpace'
--memrec.Color=0x000080ff
-------------- A.B.G.R
monoAA_FINDMONOMETHOD("aan_MaxWeaponSpace,Assembly-CSharp:GameDataInfo:CheckWeaponSpace+2d",syntaxcheck)
monoAA_FINDMONOMETHOD("aan_WeaponSlot2,Assembly-CSharp:SpaceShip:VerifyShipCargoAndEquipment+1c",syntaxcheck)
{$asm}
//===== [_MaxWeaponSpace] ======
aobscanregion(PSX_MaxWeaponSpace,GameDataInfo:CheckWeaponSpace,GameDataInfo:CheckWeaponSpace+12d,8B 47 20 D9 40 34)//GameDataInfo:CheckWeaponSpace+2d
//aobscan(PSX_MaxWeaponSpace,8B 47 1C D9 40 30)//
alloc(Newmem_MaxWeaponSpace,$1000,PSX_MaxWeaponSpace)
label(Code_MaxWeaponSpace,_MaxWeaponSpace)
registersymbol(PSX_MaxWeaponSpace,Code_MaxWeaponSpace,_MaxWeaponSpace)
Newmem_MaxWeaponSpace:
push [esp+4]
pop [_MaxWeaponSpace]
//mov [_MaxWeaponSpace],edi // Main pointer
//==================== Registers
mov [_MaxWeaponSpace+4], eax
mov [_MaxWeaponSpace+8], ebx
mov [_MaxWeaponSpace+c], ecx
mov [_MaxWeaponSpace+10],edx
mov [_MaxWeaponSpace+14],edi
mov [_MaxWeaponSpace+18],esi
mov [_MaxWeaponSpace+1c],ebp
mov [_MaxWeaponSpace+20],esp
//==================== Inject here
readmem(PSX_MaxWeaponSpace,3)
//mov eax,[edi+1C]
mov [eax+34],WeaponSlot //mov [eax+30],WeaponSlot
Exit_MaxWeaponSpace:
//mov eax, [_MaxWeaponSpace+4]
//mov ebx, [_MaxWeaponSpace+8]
//mov ecx, [_MaxWeaponSpace+c]
//mov edx,[_MaxWeaponSpace+10]
//mov edi,[_MaxWeaponSpace+14]
//mov esi,[_MaxWeaponSpace+18]
readmem(PSX_MaxWeaponSpace+3,3)
//fld dword ptr [eax+30]
jmp Return_MaxWeaponSpace
Code_MaxWeaponSpace:
readmem(PSX_MaxWeaponSpace,6)
//mov eax,[edi+1C]
//fld dword ptr [eax+30]
jmp Return_MaxWeaponSpace
psx
_MaxWeaponSpace:
4bit//8c
dd 0//90
dd fmin//94
psx
PSX_MaxWeaponSpace:
jmp Newmem_MaxWeaponSpace
nop
Return_MaxWeaponSpace:
//
//===== [_WeaponSlot2] ======
aobscanregion(PSX_WeaponSlot2,SpaceShip:VerifyShipCargoAndEquipment,SpaceShip:VerifyShipCargoAndEquipment+11c,8B 47 5C D9 40 34)//SpaceShip:VerifyShipCargoAndEquipment+1c
//aobscan(PSX_WeaponSlot2,8B 47 6C D9 40 30)//
alloc(Newmem_WeaponSlot2,$1000,PSX_WeaponSlot2)
label(Code_WeaponSlot2,_WeaponSlot2)
registersymbol(PSX_WeaponSlot2,Code_WeaponSlot2,_WeaponSlot2)
Newmem_WeaponSlot2:
push [esp+4]
pop [_WeaponSlot2]
//mov [_WeaponSlot2],edi // Main pointer
//==================== Registers
mov [_WeaponSlot2+4], eax
mov [_WeaponSlot2+8], ebx
mov [_WeaponSlot2+c], ecx
mov [_WeaponSlot2+10],edx
mov [_WeaponSlot2+14],edi
mov [_WeaponSlot2+18],esi
mov [_WeaponSlot2+1c],ebp
mov [_WeaponSlot2+20],esp
//==================== Inject here
readmem(PSX_WeaponSlot2,3)
//mov eax,[edi+6C]
mov [eax+34],WeaponSlot //mov [eax+30],WeaponSlot
Exit_WeaponSlot2:
//mov eax, [_WeaponSlot2+4]
//mov ebx, [_WeaponSlot2+8]
//mov ecx, [_WeaponSlot2+c]
//mov edx,[_WeaponSlot2+10]
//mov edi,[_WeaponSlot2+14]
//mov esi,[_WeaponSlot2+18]
readmem(PSX_WeaponSlot2+3,3)
//fld dword ptr [eax+30]
jmp Return_WeaponSlot2
Code_WeaponSlot2:
readmem(PSX_WeaponSlot2,6)
//mov eax,[edi+6C]
//fld dword ptr [eax+30]
jmp Return_WeaponSlot2
psx
_WeaponSlot2:
4bit//8c
dd 0//90
dd fmin//94
psx
PSX_WeaponSlot2:
jmp Newmem_WeaponSlot2
nop
Return_WeaponSlot2:
//
[DISABLE]
unregistersymbol(*)//unreg all
dealloc(*)//dealoc all
//unregistersymbol(PSX_MaxWeaponSpace,Code_MaxWeaponSpace,_MaxWeaponSpace)
//dealloc(Newmem_MaxWeaponSpace)
//===== [_MaxWeaponSpace] ======
PSX_MaxWeaponSpace:
readmem(Code_MaxWeaponSpace,6)
//mov eax,[edi+1C]
//fld dword ptr [eax+30]
//
//===== [_WeaponSlot2] ======
PSX_WeaponSlot2:
readmem(Code_WeaponSlot2,6)
//mov eax,[edi+6C]
//fld dword ptr [eax+30]
//
{$lua}
if syntaxcheck then return end
-----------------------
--memrec.Description='_MaxWeaponSpace'
--memrec.Color=0x00008000
-------------- A.B.G.R
{$asm}
//===== [_MaxWeaponSpace] ======
{
// ORIGINAL CODE - INJECTION POINT: GameDataInfo:CheckWeaponSpace+2d
Rewired.ReInput+ConfigHelper:get_ignoreInputWhenAppNotInFocus+21: 89 04 24 - mov [esp],eax
Rewired.ReInput+ConfigHelper:get_ignoreInputWhenAppNotInFocus+24: 39 00 - cmp [eax],eax
Rewired.ReInput+ConfigHelper:get_ignoreInputWhenAppNotInFocus+26: 90 - nop
Rewired.ReInput+ConfigHelper:get_ignoreInputWhenAppNotInFocus+27: E8 14 BC 35 04 - call Rewired.Data.ConfigVars:GetPlatformVar_ignoreInputWhenAppNotInFocus
Rewired.ReInput+ConfigHelper:get_ignoreInputWhenAppNotInFocus+2c: C9 - leave
Rewired.ReInput+ConfigHelper:get_ignoreInputWhenAppNotInFocus+2d: C3 - ret
1724EF0E: 00 00 - add [eax],al
GameDataInfo:CheckWeaponSpace: 55 - push ebp
GameDataInfo:CheckWeaponSpace+1: 8B EC - mov ebp,esp
GameDataInfo:CheckWeaponSpace+3: 53 - push ebx
GameDataInfo:CheckWeaponSpace+4: 57 - push edi
GameDataInfo:CheckWeaponSpace+5: 56 - push esi
GameDataInfo:CheckWeaponSpace+6: 83 EC 4C - sub esp,4C
GameDataInfo:CheckWeaponSpace+9: 8B 7D 08 - mov edi,[ebp+08]
GameDataInfo:CheckWeaponSpace+c: D9 EE - fldz
GameDataInfo:CheckWeaponSpace+e: D9 5D D0 - fstp dword ptr [ebp-30]
GameDataInfo:CheckWeaponSpace+11: C7 45 D4 00 00 00 00 - mov [ebp-2C],00000000
GameDataInfo:CheckWeaponSpace+18: C7 45 D8 00 00 00 00 - mov [ebp-28],00000000
GameDataInfo:CheckWeaponSpace+1f: C7 45 DC 00 00 00 00 - mov [ebp-24],00000000
GameDataInfo:CheckWeaponSpace+26: C7 45 E0 00 00 00 00 - mov [ebp-20],00000000
// ---------- INJECTING HERE ----------
GameDataInfo:CheckWeaponSpace+2d: 8B 47 1C - mov eax,[edi+1C]
// ---------- DONE INJECTING ----------
GameDataInfo:CheckWeaponSpace+30: D9 40 30 - fld dword ptr [eax+30]
GameDataInfo:CheckWeaponSpace+33: D9 5D D0 - fstp dword ptr [ebp-30]
GameDataInfo:CheckWeaponSpace+36: 8B 47 1C - mov eax,[edi+1C]
GameDataInfo:CheckWeaponSpace+39: 8B 40 0C - mov eax,[eax+0C]
GameDataInfo:CheckWeaponSpace+3c: 8D 4D D4 - lea ecx,[ebp-2C]
GameDataInfo:CheckWeaponSpace+3f: 89 4C 24 04 - mov [esp+04],ecx
GameDataInfo:CheckWeaponSpace+43: 89 04 24 - mov [esp],eax
GameDataInfo:CheckWeaponSpace+46: 39 00 - cmp [eax],eax
GameDataInfo:CheckWeaponSpace+48: 8D 6D 00 - lea ebp,[ebp+00]
GameDataInfo:CheckWeaponSpace+4b: E8 78 CF D9 EB - call System.Collections.Generic.List`1[T_REF]:GetEnumerator
GameDataInfo:CheckWeaponSpace+50: 83 EC 04 - sub esp,04
GameDataInfo:CheckWeaponSpace+53: E9 3A 00 00 00 - jmp GameDataInfo:CheckWeaponSpace+92
GameDataInfo:CheckWeaponSpace+58: 8B 75 E0 - mov esi,[ebp-20]
GameDataInfo:CheckWeaponSpace+5b: D9 45 D0 - fld dword ptr [ebp-30]
GameDataInfo:CheckWeaponSpace+5e: DD 5D C8 - fstp qword ptr [ebp-38]
GameDataInfo:CheckWeaponSpace+61: 8B 47 3C - mov eax,[edi+3C]
GameDataInfo:CheckWeaponSpace+64: 8B 4E 0C - mov ecx,[esi+0C]
GameDataInfo:CheckWeaponSpace+67: 8B F0 - mov esi,eax
GameDataInfo:CheckWeaponSpace+69: 8B D9 - mov ebx,ecx
GameDataInfo:CheckWeaponSpace+6b: 39 00 - cmp [eax],eax
}
//===== [_WeaponSlot2] ======
{
// ORIGINAL CODE - INJECTION POINT: SpaceShip:VerifyShipCargoAndEquipment+1c
AimControl:AdjustFacing+ae: 89 04 24 - mov [esp],eax
AimControl:AdjustFacing+b1: 39 00 - cmp [eax],eax
AimControl:AdjustFacing+b3: E8 A0 C7 C8 00 - call UnityEngine.Transform:set_eulerAngles
AimControl:AdjustFacing+b8: C9 - leave
AimControl:AdjustFacing+b9: C3 - ret
36DFEA72: 00 00 - add [eax],al
36DFEA74: 00 00 - add [eax],al
36DFEA76: 00 00 - add [eax],al
SpaceShip:VerifyShipCargoAndEquipment: 55 - push ebp
SpaceShip:VerifyShipCargoAndEquipment+1: 8B EC - mov ebp,esp
SpaceShip:VerifyShipCargoAndEquipment+3: 53 - push ebx
SpaceShip:VerifyShipCargoAndEquipment+4: 57 - push edi
SpaceShip:VerifyShipCargoAndEquipment+5: 56 - push esi
SpaceShip:VerifyShipCargoAndEquipment+6: 81 EC 9C 00 00 00 - sub esp,0000009C
SpaceShip:VerifyShipCargoAndEquipment+c: 8B 7D 08 - mov edi,[ebp+08]
SpaceShip:VerifyShipCargoAndEquipment+f: D9 EE - fldz
SpaceShip:VerifyShipCargoAndEquipment+11: D9 5D E4 - fstp dword ptr [ebp-1C]
SpaceShip:VerifyShipCargoAndEquipment+14: 33 C0 - xor eax,eax
SpaceShip:VerifyShipCargoAndEquipment+16: 0F B6 C0 - movzx eax,al
SpaceShip:VerifyShipCargoAndEquipment+19: 88 45 CC - mov [ebp-34],al
// ---------- INJECTING HERE ----------
SpaceShip:VerifyShipCargoAndEquipment+1c: 8B 47 6C - mov eax,[edi+6C]
// ---------- DONE INJECTING ----------
SpaceShip:VerifyShipCargoAndEquipment+1f: D9 40 30 - fld dword ptr [eax+30]
SpaceShip:VerifyShipCargoAndEquipment+22: D9 5D E4 - fstp dword ptr [ebp-1C]
SpaceShip:VerifyShipCargoAndEquipment+25: 8B 47 6C - mov eax,[edi+6C]
SpaceShip:VerifyShipCargoAndEquipment+28: 8B 40 0C - mov eax,[eax+0C]
SpaceShip:VerifyShipCargoAndEquipment+2b: 8B C8 - mov ecx,eax
SpaceShip:VerifyShipCargoAndEquipment+2d: 39 09 - cmp [ecx],ecx
SpaceShip:VerifyShipCargoAndEquipment+2f: 8B 40 0C - mov eax,[eax+0C]
SpaceShip:VerifyShipCargoAndEquipment+32: 48 - dec eax
SpaceShip:VerifyShipCargoAndEquipment+33: 89 45 C8 - mov [ebp-38],eax
SpaceShip:VerifyShipCargoAndEquipment+36: E9 9C 00 00 00 - jmp SpaceShip:VerifyShipCargoAndEquipment+d7
SpaceShip:VerifyShipCargoAndEquipment+3b: 8D 64 24 00 - lea esp,[esp+00]
SpaceShip:VerifyShipCargoAndEquipment+3f: 90 - nop
SpaceShip:VerifyShipCargoAndEquipment+40: 8B 47 6C - mov eax,[edi+6C]
SpaceShip:VerifyShipCargoAndEquipment+43: 8B 40 0C - mov eax,[eax+0C]
SpaceShip:VerifyShipCargoAndEquipment+46: 8B D8 - mov ebx,eax
SpaceShip:VerifyShipCargoAndEquipment+48: 8B 75 C8 - mov esi,[ebp-38]
SpaceShip:VerifyShipCargoAndEquipment+4b: 39 00 - cmp [eax],eax
SpaceShip:VerifyShipCargoAndEquipment+4d: 8B 43 0C - mov eax,[ebx+0C]
SpaceShip:VerifyShipCargoAndEquipment+50: 3B F0 - cmp esi,eax
SpaceShip:VerifyShipCargoAndEquipment+52: 0F 83 2B 06 00 00 - jae SpaceShip:VerifyShipCargoAndEquipment+683
}
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatTable>
5000 Equipment Space
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>218108</ID>
<Description>"5000 Equipment Space"</Description>
<LastState/>
<Color>FFFF00</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{======================
Author : aanpsx
Date : 2022-08-07
Game : Star Valor.exe
Version : 2019.4.35.25152
======================}
define(EquipmentSlot,#5000)
//===== [_EquipmentSpace1] ======
define(address_EquipmentSpace1,GameDataInfo:CheckEquipmentSpace+36)
define(inject_EquipmentSpace1,GameDataInfo:CheckEquipmentSpace+36)
define(bytes_EquipmentSpace1,db 8B 48 1C 8B 49 34)
//===== [_EquipmentSpace2] ======
define(address_EquipmentSpace2,SpaceShip:VerifyShipCargoAndEquipment+211)
define(inject_EquipmentSpace2,SpaceShip:VerifyShipCargoAndEquipment+211)
define(bytes_EquipmentSpace2,db 8B 47 6C 8B 40 34)
define(fmax,(float)999999999)
define(fmin,(float)0)
define(imax,#999999999)
define(psx,align 10 CC)
define(mov1,mov byte ptr)
define(mov2,mov word ptr)
define(mov4,mov dword ptr)
define(cmp1,cmp byte ptr)
define(cmp2,cmp word ptr)
define(cmp4,cmp dword ptr)
define(bit,byte ptr)
define(4bit,dd 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)// 8c
define(8bit,dq 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)// 118
//===========================================================================================
[ENABLE]
{$lua}
if syntaxcheck then return end
LaunchMonoDataCollector()
-----------------------
--memrec.Description='_EquipmentSpace1'
--memrec.Color=0x000080ff
-------------- A.B.G.R
monoAA_FINDMONOMETHOD("aan_EquipmentSpace1,Assembly-CSharp:GameDataInfo:CheckEquipmentSpace+36",syntaxcheck)
monoAA_FINDMONOMETHOD("aan_EquipmentSpace2,Assembly-CSharp:SpaceShip:VerifyShipCargoAndEquipment+211",syntaxcheck)
{$asm}
//===== [_EquipmentSpace1] ======
aobscanregion(PSX_EquipmentSpace1,GameDataInfo:CheckEquipmentSpace,GameDataInfo:CheckEquipmentSpace+136,8B 48 20 8B 49 38)//GameDataInfo:CheckEquipmentSpace+36
//aobscan(PSX_EquipmentSpace1,8B 48 1C 8B 49 34)//
alloc(Newmem_EquipmentSpace1,$1000,PSX_EquipmentSpace1)
label(Code_EquipmentSpace1,_EquipmentSpace1)
registersymbol(PSX_EquipmentSpace1,Code_EquipmentSpace1,_EquipmentSpace1)
Newmem_EquipmentSpace1:
push [esp+4]
pop [_EquipmentSpace1]
//mov [_EquipmentSpace1],edi // Main pointer
//==================== Registers
mov [_EquipmentSpace1+4], eax
mov [_EquipmentSpace1+8], ebx
mov [_EquipmentSpace1+c], ecx
mov [_EquipmentSpace1+10],edx
mov [_EquipmentSpace1+14],edi
mov [_EquipmentSpace1+18],esi
mov [_EquipmentSpace1+1c],ebp
mov [_EquipmentSpace1+20],esp
//==================== Inject here
readmem(PSX_EquipmentSpace1,3)
//mov ecx,[eax+1C]
mov [ecx+38],EquipmentSlot //mov [ecx+34],EquipmentSlot
Exit_EquipmentSpace1:
//mov eax, [_EquipmentSpace1+4]
//mov ebx, [_EquipmentSpace1+8]
//mov ecx, [_EquipmentSpace1+c]
//mov edx,[_EquipmentSpace1+10]
//mov edi,[_EquipmentSpace1+14]
//mov esi,[_EquipmentSpace1+18]
readmem(PSX_EquipmentSpace1+3,3)
//mov ecx,[ecx+34]
jmp Return_EquipmentSpace1
Code_EquipmentSpace1:
readmem(PSX_EquipmentSpace1,6)
//mov ecx,[eax+1C]
//mov ecx,[ecx+34]
jmp Return_EquipmentSpace1
psx
_EquipmentSpace1:
4bit//8c
dd 0//90
dd fmin//94
psx
PSX_EquipmentSpace1:
jmp Newmem_EquipmentSpace1
nop
Return_EquipmentSpace1:
//
//===== [_EquipmentSpace2] ======
aobscanregion(PSX_EquipmentSpace2,SpaceShip:VerifyShipCargoAndEquipment+111,SpaceShip:VerifyShipCargoAndEquipment+311,8B 47 5C 8B 40 38)//SpaceShip:VerifyShipCargoAndEquipment+211
//aobscan(PSX_EquipmentSpace2,8B 47 6C 8B 40 34)//
alloc(Newmem_EquipmentSpace2,$1000,PSX_EquipmentSpace2)
label(Code_EquipmentSpace2,_EquipmentSpace2)
registersymbol(PSX_EquipmentSpace2,Code_EquipmentSpace2,_EquipmentSpace2)
Newmem_EquipmentSpace2:
push [esp+4]
pop [_EquipmentSpace2]
//mov [_EquipmentSpace2],edi // Main pointer
//==================== Registers
mov [_EquipmentSpace2+4], eax
mov [_EquipmentSpace2+8], ebx
mov [_EquipmentSpace2+c], ecx
mov [_EquipmentSpace2+10],edx
mov [_EquipmentSpace2+14],edi
mov [_EquipmentSpace2+18],esi
mov [_EquipmentSpace2+1c],ebp
mov [_EquipmentSpace2+20],esp
//==================== Inject here
readmem(PSX_EquipmentSpace2,3)
//mov eax,[edi+6C]
mov [eax+38],EquipmentSlot //mov [eax+34],EquipmentSlot
Exit_EquipmentSpace2:
//mov eax, [_EquipmentSpace2+4]
//mov ebx, [_EquipmentSpace2+8]
//mov ecx, [_EquipmentSpace2+c]
//mov edx,[_EquipmentSpace2+10]
//mov edi,[_EquipmentSpace2+14]
//mov esi,[_EquipmentSpace2+18]
readmem(PSX_EquipmentSpace2+3,3)
//mov eax,[eax+34]
jmp Return_EquipmentSpace2
Code_EquipmentSpace2:
readmem(PSX_EquipmentSpace2,6)
//mov eax,[edi+6C]
//mov eax,[eax+34]
jmp Return_EquipmentSpace2
psx
_EquipmentSpace2:
4bit//8c
dd 0//90
dd fmin//94
psx
PSX_EquipmentSpace2:
jmp Newmem_EquipmentSpace2
nop
Return_EquipmentSpace2:
//
[DISABLE]
unregistersymbol(*)//unreg all
dealloc(*)//dealoc all
//unregistersymbol(PSX_EquipmentSpace1,Code_EquipmentSpace1,_EquipmentSpace1)
//dealloc(Newmem_EquipmentSpace1)
//===== [_EquipmentSpace1] ======
PSX_EquipmentSpace1:
readmem(Code_EquipmentSpace1,6)
//mov ecx,[eax+1C]
//mov ecx,[ecx+34]
//
//===== [_EquipmentSpace2] ======
PSX_EquipmentSpace2:
readmem(Code_EquipmentSpace2,6)
//mov eax,[edi+6C]
//mov eax,[eax+34]
//
{$lua}
if syntaxcheck then return end
-----------------------
--memrec.Description='_EquipmentSpace1'
--memrec.Color=0x00008000
-------------- A.B.G.R
{$asm}
//===== [_EquipmentSpace1] ======
{
// ORIGINAL CODE - INJECTION POINT: GameDataInfo:CheckEquipmentSpace+36
124BED55: E9 A6 13 0A F0 - jmp 02560100
124BED5A: 00 00 - add [eax],al
124BED5C: 00 00 - add [eax],al
124BED5E: 00 00 - add [eax],al
GameDataInfo:CheckEquipmentSpace: 55 - push ebp
GameDataInfo:CheckEquipmentSpace+1: 8B EC - mov ebp,esp
GameDataInfo:CheckEquipmentSpace+3: 53 - push ebx
GameDataInfo:CheckEquipmentSpace+4: 56 - push esi
GameDataInfo:CheckEquipmentSpace+5: 83 EC 50 - sub esp,50
GameDataInfo:CheckEquipmentSpace+8: D9 EE - fldz
GameDataInfo:CheckEquipmentSpace+a: D9 5D D8 - fstp dword ptr [ebp-28]
GameDataInfo:CheckEquipmentSpace+d: D9 EE - fldz
GameDataInfo:CheckEquipmentSpace+f: D9 5D D4 - fstp dword ptr [ebp-2C]
GameDataInfo:CheckEquipmentSpace+12: D9 EE - fldz
GameDataInfo:CheckEquipmentSpace+14: D9 5D D0 - fstp dword ptr [ebp-30]
GameDataInfo:CheckEquipmentSpace+17: C7 45 DC 00 00 00 00 - mov [ebp-24],00000000
GameDataInfo:CheckEquipmentSpace+1e: C7 45 E0 00 00 00 00 - mov [ebp-20],00000000
GameDataInfo:CheckEquipmentSpace+25: C7 45 E4 00 00 00 00 - mov [ebp-1C],00000000
GameDataInfo:CheckEquipmentSpace+2c: C7 45 E8 00 00 00 00 - mov [ebp-18],00000000
GameDataInfo:CheckEquipmentSpace+33: 8B 45 08 - mov eax,[ebp+08]
// ---------- INJECTING HERE ----------
GameDataInfo:CheckEquipmentSpace+36: 8B 48 1C - mov ecx,[eax+1C]
// ---------- DONE INJECTING ----------
GameDataInfo:CheckEquipmentSpace+39: 8B 49 34 - mov ecx,[ecx+34]
GameDataInfo:CheckEquipmentSpace+3c: 51 - push ecx
GameDataInfo:CheckEquipmentSpace+3d: DB 04 24 - fild dword ptr [esp]
GameDataInfo:CheckEquipmentSpace+40: D9 1C 24 - fstp dword ptr [esp]
GameDataInfo:CheckEquipmentSpace+43: D9 04 24 - fld dword ptr [esp]
GameDataInfo:CheckEquipmentSpace+46: 83 C4 04 - add esp,04
GameDataInfo:CheckEquipmentSpace+49: D9 5D D8 - fstp dword ptr [ebp-28]
GameDataInfo:CheckEquipmentSpace+4c: D9 EE - fldz
GameDataInfo:CheckEquipmentSpace+4e: D9 5D D4 - fstp dword ptr [ebp-2C]
GameDataInfo:CheckEquipmentSpace+51: 8B 4D 10 - mov ecx,[ebp+10]
GameDataInfo:CheckEquipmentSpace+54: 8B 49 4C - mov ecx,[ecx+4C]
GameDataInfo:CheckEquipmentSpace+57: 51 - push ecx
GameDataInfo:CheckEquipmentSpace+58: DB 04 24 - fild dword ptr [esp]
GameDataInfo:CheckEquipmentSpace+5b: D9 1C 24 - fstp dword ptr [esp]
GameDataInfo:CheckEquipmentSpace+5e: D9 04 24 - fld dword ptr [esp]
GameDataInfo:CheckEquipmentSpace+61: 83 C4 04 - add esp,04
GameDataInfo:CheckEquipmentSpace+64: D9 5D D0 - fstp dword ptr [ebp-30]
GameDataInfo:CheckEquipmentSpace+67: 8B 40 1C - mov eax,[eax+1C]
GameDataInfo:CheckEquipmentSpace+6a: 8B 40 10 - mov eax,[eax+10]
GameDataInfo:CheckEquipmentSpace+6d: 8D 4D DC - lea ecx,[ebp-24]
}
//===== [_EquipmentSpace2] ======
{
// ORIGINAL CODE - INJECTION POINT: SpaceShip:VerifyShipCargoAndEquipment+211
SpaceShip:VerifyShipCargoAndEquipment+1d0: 8B 47 6C - mov eax,[edi+6C]
SpaceShip:VerifyShipCargoAndEquipment+1d3: 8B 40 10 - mov eax,[eax+10]
SpaceShip:VerifyShipCargoAndEquipment+1d6: 8B 4D D4 - mov ecx,[ebp-2C]
SpaceShip:VerifyShipCargoAndEquipment+1d9: 89 4C 24 04 - mov [esp+04],ecx
SpaceShip:VerifyShipCargoAndEquipment+1dd: 89 04 24 - mov [esp],eax
SpaceShip:VerifyShipCargoAndEquipment+1e0: 39 00 - cmp [eax],eax
SpaceShip:VerifyShipCargoAndEquipment+1e2: 90 - nop
SpaceShip:VerifyShipCargoAndEquipment+1e3: E8 E4 04 00 00 - call 36DFF144
SpaceShip:VerifyShipCargoAndEquipment+1e8: B8 01 00 00 00 - mov eax,00000001
SpaceShip:VerifyShipCargoAndEquipment+1ed: 0F B6 C0 - movzx eax,al
SpaceShip:VerifyShipCargoAndEquipment+1f0: 88 45 CC - mov [ebp-34],al
SpaceShip:VerifyShipCargoAndEquipment+1f3: 83 6D D4 01 - sub dword ptr [ebp-2C],01
SpaceShip:VerifyShipCargoAndEquipment+1f7: 83 45 D4 01 - add dword ptr [ebp-2C],01
SpaceShip:VerifyShipCargoAndEquipment+1fb: 8B 47 6C - mov eax,[edi+6C]
SpaceShip:VerifyShipCargoAndEquipment+1fe: 8B 40 10 - mov eax,[eax+10]
SpaceShip:VerifyShipCargoAndEquipment+201: 8B C8 - mov ecx,eax
SpaceShip:VerifyShipCargoAndEquipment+203: 39 09 - cmp [ecx],ecx
SpaceShip:VerifyShipCargoAndEquipment+205: 8B 40 0C - mov eax,[eax+0C]
SpaceShip:VerifyShipCargoAndEquipment+208: 39 45 D4 - cmp [ebp-2C],eax
SpaceShip:VerifyShipCargoAndEquipment+20b: 0F 8C 1F FF FF FF - jl SpaceShip:VerifyShipCargoAndEquipment+130
// ---------- INJECTING HERE ----------
SpaceShip:VerifyShipCargoAndEquipment+211: 8B 47 6C - mov eax,[edi+6C]
// ---------- DONE INJECTING ----------
SpaceShip:VerifyShipCargoAndEquipment+214: 8B 40 34 - mov eax,[eax+34]
SpaceShip:VerifyShipCargoAndEquipment+217: 50 - push eax
SpaceShip:VerifyShipCargoAndEquipment+218: DB 04 24 - fild dword ptr [esp]
SpaceShip:VerifyShipCargoAndEquipment+21b: D9 1C 24 - fstp dword ptr [esp]
SpaceShip:VerifyShipCargoAndEquipment+21e: D9 04 24 - fld dword ptr [esp]
SpaceShip:VerifyShipCargoAndEquipment+221: 83 C4 04 - add esp,04
SpaceShip:VerifyShipCargoAndEquipment+224: D9 5D E4 - fstp dword ptr [ebp-1C]
SpaceShip:VerifyShipCargoAndEquipment+227: 8B 47 6C - mov eax,[edi+6C]
SpaceShip:VerifyShipCargoAndEquipment+22a: 8B 40 10 - mov eax,[eax+10]
SpaceShip:VerifyShipCargoAndEquipment+22d: 8B C8 - mov ecx,eax
SpaceShip:VerifyShipCargoAndEquipment+22f: 39 09 - cmp [ecx],ecx
SpaceShip:VerifyShipCargoAndEquipment+231: 8B 40 0C - mov eax,[eax+0C]
SpaceShip:VerifyShipCargoAndEquipment+234: 48 - dec eax
SpaceShip:VerifyShipCargoAndEquipment+235: 89 45 C8 - mov [ebp-38],eax
SpaceShip:VerifyShipCargoAndEquipment+238: E9 DA 00 00 00 - jmp SpaceShip:VerifyShipCargoAndEquipment+317
SpaceShip:VerifyShipCargoAndEquipment+23d: 8D 6D 00 - lea ebp,[ebp+00]
SpaceShip:VerifyShipCargoAndEquipment+240: 8B 47 6C - mov eax,[edi+6C]
SpaceShip:VerifyShipCargoAndEquipment+243: 8B 40 10 - mov eax,[eax+10]
SpaceShip:VerifyShipCargoAndEquipment+246: 8B D8 - mov ebx,eax
SpaceShip:VerifyShipCargoAndEquipment+248: 8B 4D C8 - mov ecx,[ebp-38]
}
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatTable>
I will try to add/update a few of them during the next few days, i mean until i get bored of the game or another shiny new game came around
If you want to try updating scripts for a new game version this is a good example you can use to do it.
While the code may look complex the fact that
aanpsx left the copy of the code block in the comments allow to compare old vs new code, and find which new line is the one he was modifying and then edit the few changes into the modified script for it to work.
Also don't forget that after you try to activate a script and it doesn't work, right click the same script and on top of the context menu it will say what's the error that prevents the script from enabling.
For example if you see "Error while scanning for AOB's : AOB_NAME Error : Not all results found" then simply search for the AOB_NAME and start from there.