Star Valor

Upload your cheat tables here (No requests)
Jaquio
Cheater
Cheater
Posts: 37
Joined: Sat Nov 19, 2022 3:34 pm
Reputation: 3

Re: Star Valor

Post by Jaquio »

Please update the table to the game's latest internal version 2.1.2 thanks, the table stopped working after the game got updated.
Also can anyone advise where I can edit the perks in the game?
I am trying to edit how powerful the perks are, the ones you select when you start a new game.
I changed them but they seem to display the same states after I edit them.
I am not even sure that I am changing the correct values.

The following sections do NOT seem to have the perks:
Perk @02000174
PerkControl @02000178
PerkDB @02000177

So anyway I did try to edit this heading:

SB_WepaonDMG @020001F0

By editing:
public float damageBonus = 0.1f; (from "0.1f" to "1f" which should be a 10x multiplier)

and some others for example. No effect. I changed many different ones to test, I even tried searching for the exact names you find for them in game, no luck.

My goal is to reward myself by unlocking more powerful perks I created myself so it doesn't feel like blatant upfront cheating, unlocking it feels better.

Thanks is advance.

How to use this cheat table?
  1. Install Cheat Engine
  2. Double-click the .CT file in order to open it.
  3. Click the PC icon in Cheat Engine in order to select the game process.
  4. Keep the list.
  5. Activate the trainer options by checking boxes or setting values from 0 to 1

CannonFodder
Table Makers
Table Makers
Posts: 212
Joined: Mon May 08, 2017 3:34 pm
Reputation: 144

Re: Star Valor

Post by CannonFodder »

updated Crew Stats Pointer to 2.1.2 , posted here
viewtopic.php?f=4&t=25637&p=335658#p335658

acecel
Expert Cheater
Expert Cheater
Posts: 964
Joined: Sun Apr 09, 2017 1:32 am
Reputation: 163

Re: Star Valor

Post by acecel »

aanpsx wrote:
Fri Feb 22, 2019 4:08 am
Image
Thanks for the table, which looks amazing with all the features, is there any way for an update to happen ? :wub:

It's so sad to see a table with that much content but not able to be used because it's outdated, i understand that the cadence of updates from the dev is insane, which is a good thing for the players in a way, but it's also fucking hard for a table creator to deal with the amount of work needed and thus very often.

Or anyone on the topic has updated it in secret or something ? :mrgreen:

I tried to take a look to do it myself but the complexity of the code is out of my league, by far, sadly. :(

acecel
Expert Cheater
Expert Cheater
Posts: 964
Joined: Sun Apr 09, 2017 1:32 am
Reputation: 163

Re: Star Valor

Post by acecel »

Small script that allow to edit money and buy items for free in station menu.

Made for steam version 2.1.2
You need to buy an item for the money value to update, and you still need to have enough money to buy something even if you activated the buy for free.
You can change the buy for free default value in the script, there is a comment next to it that say "// Set Default Value Here (0 for Not Free or 1 for Free)".


Money Editor & Buy for Free

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>217990</ID>
      <Description>"Money Editor &amp; Buy for Free"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <LastState/>
      <Color>FFFF00</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Star Valor.exe
  Version: 
  Date   : 2024-08-10
  Author : acecel

  This script does blah blah blah
}

[ENABLE]

aobscanregion(aob_buy_item,Market:BuyMarketItem+380,Market:BuyMarketItem+400,D9 58 34 8B 43 0C) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

alloc(pCash,$8)
registersymbol(pCash)

alloc(bForFree,$2)
registersymbol(bForFree)

pCash:
dd 0

bForFree:
dd 0                    // Set Default Value Here (0 for Not Free or 1 for Free)

newmem:
   push ecx
     lea ecx,[eax]
     mov [pCash],ecx
   pop ecx

   cmp [bForFree],1
   je return

code:
  fstp dword ptr [eax+34]
  mov eax,[ebx+0C]
  jmp return

aob_buy_item:
  jmp newmem
  nop
return:
registersymbol(aob_buy_item)

[DISABLE]

aob_buy_item:
  db D9 58 34 8B 43 0C

unregistersymbol(bForFree)
unregistersymbol(pCash)
unregistersymbol(aob_buy_item)
dealloc(bForFree)
dealloc(pCash)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Market:BuyMarketItem+384

Market:BuyMarketItem+36a: D9 40 34        - fld dword ptr [eax+34]
Market:BuyMarketItem+36d: D9 47 34        - fld dword ptr [edi+34]
Market:BuyMarketItem+370: 8B 4D 0C        - mov ecx,[ebp+0C]
Market:BuyMarketItem+373: 51              - push ecx
Market:BuyMarketItem+374: DB 04 24        - fild dword ptr [esp]
Market:BuyMarketItem+377: D9 1C 24        - fstp dword ptr [esp]
Market:BuyMarketItem+37a: D9 04 24        - fld dword ptr [esp]
Market:BuyMarketItem+37d: 83 C4 04        - add esp,04
Market:BuyMarketItem+380: DE C9           - fmulp st(1),st(0)
Market:BuyMarketItem+382: DE E9           - fsubp st(1),st(0)
// ---------- INJECTING HERE ----------
Market:BuyMarketItem+384: D9 58 34        - fstp dword ptr [eax+34]
// ---------- DONE INJECTING  ----------
Market:BuyMarketItem+387: 8B 43 0C        - mov eax,[ebx+0C]
Market:BuyMarketItem+38a: 3D 03 00 00 00  - cmp eax,00000003
Market:BuyMarketItem+38f: 75 23           - jne Market:BuyMarketItem+3b4
Market:BuyMarketItem+391: D9 47 34        - fld dword ptr [edi+34]
Market:BuyMarketItem+394: 8B 45 0C        - mov eax,[ebp+0C]
Market:BuyMarketItem+397: 50              - push eax
Market:BuyMarketItem+398: DB 04 24        - fild dword ptr [esp]
Market:BuyMarketItem+39b: D9 1C 24        - fstp dword ptr [esp]
Market:BuyMarketItem+39e: D9 04 24        - fld dword ptr [esp]
Market:BuyMarketItem+3a1: 83 C4 04        - add esp,04
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>217991</ID>
          <Description>"Buy for free ?"</Description>
          <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:No
1:Yes
</DropDownList>
          <LastState Value="1" RealAddress="2AE31008"/>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF80FF</Color>
          <VariableType>Byte</VariableType>
          <Address>bForFree</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>217992</ID>
          <Description>"-------"</Description>
          <LastState Value="" RealAddress="00000000"/>
          <Color>808080</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>217993</ID>
          <Description>"Buy an item for the Money value to update"</Description>
          <LastState Value="" RealAddress="00000000"/>
          <Color>008080</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>217994</ID>
          <Description>"Money"</Description>
          <LastState Value="305881.4688" RealAddress="3701B854"/>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Float</VariableType>
          <Address>pCash</Address>
          <Offsets>
            <Offset>34</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
</CheatTable>


Edit 1 : Here is another script that allow to consume items for free to warp/upgrade/etc

As usual you still need to have the number of item required but they will not be used.
In case of drones for examples you only need one drone part in your inventory to use the feature (even if you have 10 drones) but every time you recall your drones you will get the number of drones in drone parts added to your inventory.
In case of warping you sill need the same required amount of Energy Cells but they won't be used.
For cooling that require items you also only need to have one.
I have not tried every possible way an item can be used so there may be some unusual consequences from using it, so always make a backup of your save before activating it and immediately try everything possible to see if it works well for you.


Free Item Consume (Warp, Upgrade, .... )

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>218109</ID>
      <Description>"Free Item Consume (Warp, Upgrade, .... )"</Description>
      <LastState/>
      <Color>FFFF00</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Star Valor.exe
  Version: 
  Date   : 2024-08-12
  Author : acecel

  This script does blah blah blah
}

[ENABLE]

aobscanregion(aob_warp_use_cell,CargoSystem:ConsumeItem+9f,CargoSystem:ConsumeItem+c7,89 43 18 33 FF EB) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
//  mov [ebx+18],eax
  xor edi,edi
  jmp return

aob_warp_use_cell:
  jmp newmem
return:
registersymbol(aob_warp_use_cell)

[DISABLE]

aob_warp_use_cell:
  db 89 43 18 33 FF

unregistersymbol(aob_warp_use_cell)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: CargoSystem:ConsumeItem+ad

CargoSystem:ConsumeItem+93: 85 C0                 - test eax,eax
CargoSystem:ConsumeItem+95: 74 29                 - je CargoSystem:ConsumeItem+c0
CargoSystem:ConsumeItem+97: 8B 43 20              - mov eax,[ebx+20]
CargoSystem:ConsumeItem+9a: 3D FE FF FF FF        - cmp eax,FFFFFFFE
CargoSystem:ConsumeItem+9f: 7F 1F                 - jg CargoSystem:ConsumeItem+c0
CargoSystem:ConsumeItem+a1: 8B 43 18              - mov eax,[ebx+18]
CargoSystem:ConsumeItem+a4: 3B C7                 - cmp eax,edi
CargoSystem:ConsumeItem+a6: 7C 0C                 - jl CargoSystem:ConsumeItem+b4
CargoSystem:ConsumeItem+a8: 8B 43 18              - mov eax,[ebx+18]
CargoSystem:ConsumeItem+ab: 2B C7                 - sub eax,edi
// ---------- INJECTING HERE ----------
CargoSystem:ConsumeItem+ad: 89 43 18              - mov [ebx+18],eax
// ---------- DONE INJECTING  ----------
CargoSystem:ConsumeItem+b0: 33 FF                 - xor edi,edi
CargoSystem:ConsumeItem+b2: EB 0C                 - jmp CargoSystem:ConsumeItem+c0
CargoSystem:ConsumeItem+b4: 8B 43 18              - mov eax,[ebx+18]
CargoSystem:ConsumeItem+b7: 2B F8                 - sub edi,eax
CargoSystem:ConsumeItem+b9: C7 43 18 00 00 00 00  - mov [ebx+18],00000000
CargoSystem:ConsumeItem+c0: 46                    - inc esi
CargoSystem:ConsumeItem+c1: 8B 45 08              - mov eax,[ebp+08]
CargoSystem:ConsumeItem+c4: 8B 40 0C              - mov eax,[eax+0C]
CargoSystem:ConsumeItem+c7: 8B C8                 - mov ecx,eax
CargoSystem:ConsumeItem+c9: 39 09                 - cmp [ecx],ecx
}
</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
</CheatTable>
Last edited by acecel on Wed Aug 14, 2024 5:33 am, edited 2 times in total.

acecel
Expert Cheater
Expert Cheater
Posts: 964
Joined: Sun Apr 09, 2017 1:32 am
Reputation: 163

Re: Star Valor

Post by acecel »

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 :D , 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 :mrgreen:

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.
Last edited by acecel on Wed Aug 14, 2024 5:50 am, edited 1 time in total.

acecel
Expert Cheater
Expert Cheater
Posts: 964
Joined: Sun Apr 09, 2017 1:32 am
Reputation: 163

Re: Star Valor

Post by acecel »

I also added another script to my previous post :

Here is another script that allow to consume items for free to warp/upgrade/etc

As usual you still need to have the number of item required but they will not be used.
In case of drones for examples you only need one drone part in your inventory to use the feature (even if you have 10 drones) but every time you recall your drones you will get the number of drones in drone parts added to your inventory.
In case of warping you sill need the same required amount of Energy Cells but they won't be used.
For cooling that require items you also only need to have one.
I have not tried every possible way an item can be used so there may be some unusual consequences from using it, so always make a backup of your save before activating it and immediately try everything possible to see if it works well for you.


Free Item Consume (Warp, Upgrade, .... )

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>218109</ID>
      <Description>"Free Item Consume (Warp, Upgrade, .... )"</Description>
      <LastState/>
      <Color>FFFF00</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Star Valor.exe
  Version: 
  Date   : 2024-08-12
  Author : acecel

  This script does blah blah blah
}

[ENABLE]

aobscanregion(aob_warp_use_cell,CargoSystem:ConsumeItem+9f,CargoSystem:ConsumeItem+c7,89 43 18 33 FF EB) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
//  mov [ebx+18],eax
  xor edi,edi
  jmp return

aob_warp_use_cell:
  jmp newmem
return:
registersymbol(aob_warp_use_cell)

[DISABLE]

aob_warp_use_cell:
  db 89 43 18 33 FF

unregistersymbol(aob_warp_use_cell)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: CargoSystem:ConsumeItem+ad

CargoSystem:ConsumeItem+93: 85 C0                 - test eax,eax
CargoSystem:ConsumeItem+95: 74 29                 - je CargoSystem:ConsumeItem+c0
CargoSystem:ConsumeItem+97: 8B 43 20              - mov eax,[ebx+20]
CargoSystem:ConsumeItem+9a: 3D FE FF FF FF        - cmp eax,FFFFFFFE
CargoSystem:ConsumeItem+9f: 7F 1F                 - jg CargoSystem:ConsumeItem+c0
CargoSystem:ConsumeItem+a1: 8B 43 18              - mov eax,[ebx+18]
CargoSystem:ConsumeItem+a4: 3B C7                 - cmp eax,edi
CargoSystem:ConsumeItem+a6: 7C 0C                 - jl CargoSystem:ConsumeItem+b4
CargoSystem:ConsumeItem+a8: 8B 43 18              - mov eax,[ebx+18]
CargoSystem:ConsumeItem+ab: 2B C7                 - sub eax,edi
// ---------- INJECTING HERE ----------
CargoSystem:ConsumeItem+ad: 89 43 18              - mov [ebx+18],eax
// ---------- DONE INJECTING  ----------
CargoSystem:ConsumeItem+b0: 33 FF                 - xor edi,edi
CargoSystem:ConsumeItem+b2: EB 0C                 - jmp CargoSystem:ConsumeItem+c0
CargoSystem:ConsumeItem+b4: 8B 43 18              - mov eax,[ebx+18]
CargoSystem:ConsumeItem+b7: 2B F8                 - sub edi,eax
CargoSystem:ConsumeItem+b9: C7 43 18 00 00 00 00  - mov [ebx+18],00000000
CargoSystem:ConsumeItem+c0: 46                    - inc esi
CargoSystem:ConsumeItem+c1: 8B 45 08              - mov eax,[ebp+08]
CargoSystem:ConsumeItem+c4: 8B 40 0C              - mov eax,[eax+0C]
CargoSystem:ConsumeItem+c7: 8B C8                 - mov ecx,eax
CargoSystem:ConsumeItem+c9: 39 09                 - cmp [ecx],ecx
}
</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
</CheatTable>

Post Reply

Who is online

Users browsing this forum: dabui, Epilogue8560, Google [Bot], Google Adsense [Bot], grifiths, Jetstream17, MalumUmbra