Just dropping my table with two options here:
-Never decrease gold
-Never decrease stackable resources (i.e. items, also includes horses etc.)
Feel free to add those to your table @Hentai-san.
(Tech-scrolls are not included, they use a different system, I think they aren't even saved as resouce amount but as experience, more similar to gold.)
can you update sir tysm
How to use this cheat table?
Install Cheat Engine
Double-click the .CT file in order to open it.
Click the PC icon in Cheat Engine in order to select the game process.
Keep the list.
Activate the trainer options by checking boxes or setting values from 0 to 1
first-> sorry for english
second-> how to change resource and consumables(iron,horse,traits,affinity, exp and cp scrolls, etc) (not for tech point). best for new game(resource are storable ??)
-need at least 3 item
-set search for 4bytes
-search for number of item*2+1 ex. 3*2+1 --> 7
-use 1 of item
-search next scan 2*2+1 -->5
-use another 1
- search next scan 1*2+1 --> 3
- now you have one address
-change value of the address with the same formula. ex for 80 item, change value to 161 (80*2+1)
-now the new part i find( i think)
-see the address (mine is 22ED75F8B58)
-all the item you can edit are in this ""area""
-i change in memory scan option the "start" and "stop" in 22ED75F8000 and 22EE75F9000
-now i search for value of item. i have trait: precision, coldblood, exp scroll and fire affinity at 5
-search 5*2+1 --> 11 sometime can find more line of address than the number of items, sell one for each for go sure
-select all value 22ED75F8XXX and change to 161 for 80 item
-repeat
I've reworked aanpsx's item scripts to streamline the whole thing. One tiny script + id tables for the items/resources/artifacts I've obtained so far.
Most of aanpsx's scripts still work so head there if you need Unit stats scripts and the like.
Note: You'll need a custom 'RPG VX type'. If you don't have it follow these instructions ⟶
In the search area, right click drop down lists next to Value type and pick this one 'Define new custom type (Auto Assembler)' the auto assemble window will pop up, paste this script:
alloc(ConvertRoutine,1024)
alloc(ConvertBackRoutine,1024)
alloc(TypeName,256)
alloc(ByteSize,4)
alloc(UsesFloat,1)
alloc(CallMethod,1)
TypeName:
db 'RPG VX type',0
ByteSize:
dd 4
UsesFloat:
db 0 //Change to 1 if this custom type should be treated as a float
CallMethod:
db 1 //Remove or change to 0 for legacy call mechanism
//The convert routine should hold a routine that converts the data to an integer (in eax)
//function declared as: cdecl int ConvertRoutine(unsigned char *input, PTR_UINT address);
//Note: Keep in mind that this routine can be called by multiple threads at the same time.
ConvertRoutine:
//jmp dllname.functionname
[64-bit]
//or manual:
//parameters: (64-bit)
//rcx=address of input
//rdx=address
mov eax,[rcx] //eax now contains the bytes 'input' pointed to
shr eax, 1
ret
[/64-bit]
[32-bit]
//jmp dllname.functionname
//or manual:
//parameters: (32-bit)
push ebp
mov ebp,esp
//[ebp+8]=address of input
//[ebp+c]=address
//example:
mov eax,[ebp+8] //place the address that contains the bytes into eax
mov eax,[eax] //place the bytes into eax so it's handled as a normal 4 byte value
shr eax, 1
pop ebp
ret
[/32-bit]
//The convert back routine should hold a routine that converts the given integer back to a row of bytes (e.g when the user wats to write a new value)
//function declared as: cdecl void ConvertBackRoutine(int i, PTR_UINT address, unsigned char *output);
ConvertBackRoutine:
//jmp dllname.functionname
//or manual:
[64-bit]
//parameters: (64-bit)
//ecx=input
//rdx=address
//r8=address of output
//example:
shl ecx, 1
inc ecx
mov [r8],ecx //place the integer at the 4 bytes pointed to by r8
ret
[/64-bit]
[32-bit]
//parameters: (32-bit)
push ebp
mov ebp,esp
//[ebp+8]=input
//[ebp+c]=address
//[ebp+10]=address of output
//example:
push eax
push ebx
mov eax,[ebp+8] //load the value into eax
mov ebx,[ebp+10] //load the output address into ebx
shl eax, 1
inc eax
mov [ebx],eax //write the value into the address
pop ebx
pop eax
pop ebp
ret
[/32-bit]
then click OK and the option 'RPG VX type' will be available.
Has support for artifacts and items. Has most ids for artifacts and items.
As I mentioned elsewhere before, this script is probably injecting into display code. That's also one of the reasons item lists change after going between artifact listing screen and item listing screens. This means 4 things:
If you want to update the item pointers, set Update when loading inventory? to Update items then open one of the item screens in-game like [Organize Army > Use Items] or [Organize Army > Squad Operations > Use Items] or to update arena tokens, head to [Arena].
If you want to update the artifact pointers, set Update when loading inventory? to Update artifacts then open one of the artifact screens in-game like [Organize Army > Squad Operations > Artifacts] or [Marketplace > Sell Items].
After updating one of the lists once, set Update when loading inventory? to Don't update to avoid overriding the lists just in case.
You only need to update again if you gain new items or artifacts. Follow steps 1. or 2. again for that.
Also added a simple get by Id option, for when you don't want to go through the categories to find a single item. Just update the list you want first then set the item you want in Select By Id and then activate Load By Id and it will point to the correct item.
Credits again to aanpsx's for the original injection points.
SymphonyOfWarJustItems.ct
Hello there, I was wondering if you, or someone here, could answer a quick question. I input the "RPG VX type" assembly as instructed. it becomes a selectable option, but when i use it to scan, I receive an access violation error. After which, CE will either repeat the error a couple of times, or crash entirely.
Is this caused by the game having updated to 1.05.1?
or is it because the .CEA file created for the assembly is not stored in a specific, appropriate location?
Or is there some other gremlin in my PC causing trouble?
I've reworked aanpsx's item scripts to streamline the whole thing. One tiny script + id tables for the items/resources/artifacts I've obtained so far.
Most of aanpsx's scripts still work so head there if you need Unit stats scripts and the like.
Note: You'll need a custom 'RPG VX type'. If you don't have it follow these instructions ⟶
In the search area, right click drop down lists next to Value type and pick this one 'Define new custom type (Auto Assembler)' the auto assemble window will pop up, paste this script:
alloc(ConvertRoutine,1024)
alloc(ConvertBackRoutine,1024)
alloc(TypeName,256)
alloc(ByteSize,4)
alloc(UsesFloat,1)
alloc(CallMethod,1)
TypeName:
db 'RPG VX type',0
ByteSize:
dd 4
UsesFloat:
db 0 //Change to 1 if this custom type should be treated as a float
CallMethod:
db 1 //Remove or change to 0 for legacy call mechanism
//The convert routine should hold a routine that converts the data to an integer (in eax)
//function declared as: cdecl int ConvertRoutine(unsigned char *input, PTR_UINT address);
//Note: Keep in mind that this routine can be called by multiple threads at the same time.
ConvertRoutine:
//jmp dllname.functionname
[64-bit]
//or manual:
//parameters: (64-bit)
//rcx=address of input
//rdx=address
mov eax,[rcx] //eax now contains the bytes 'input' pointed to
shr eax, 1
ret
[/64-bit]
[32-bit]
//jmp dllname.functionname
//or manual:
//parameters: (32-bit)
push ebp
mov ebp,esp
//[ebp+8]=address of input
//[ebp+c]=address
//example:
mov eax,[ebp+8] //place the address that contains the bytes into eax
mov eax,[eax] //place the bytes into eax so it's handled as a normal 4 byte value
shr eax, 1
pop ebp
ret
[/32-bit]
//The convert back routine should hold a routine that converts the given integer back to a row of bytes (e.g when the user wats to write a new value)
//function declared as: cdecl void ConvertBackRoutine(int i, PTR_UINT address, unsigned char *output);
ConvertBackRoutine:
//jmp dllname.functionname
//or manual:
[64-bit]
//parameters: (64-bit)
//ecx=input
//rdx=address
//r8=address of output
//example:
shl ecx, 1
inc ecx
mov [r8],ecx //place the integer at the 4 bytes pointed to by r8
ret
[/64-bit]
[32-bit]
//parameters: (32-bit)
push ebp
mov ebp,esp
//[ebp+8]=input
//[ebp+c]=address
//[ebp+10]=address of output
//example:
push eax
push ebx
mov eax,[ebp+8] //load the value into eax
mov ebx,[ebp+10] //load the output address into ebx
shl eax, 1
inc eax
mov [ebx],eax //write the value into the address
pop ebx
pop eax
pop ebp
ret
[/32-bit]
then click OK and the option 'RPG VX type' will be available.
Has support for artifacts and items. Has most ids for artifacts and items.
As I mentioned elsewhere before, this script is probably injecting into display code. That's also one of the reasons item lists change after going between artifact listing screen and item listing screens. This means 4 things:
If you want to update the item pointers, set Update when loading inventory? to Update items then open one of the item screens in-game like [Organize Army > Use Items] or [Organize Army > Squad Operations > Use Items] or to update arena tokens, head to [Arena].
If you want to update the artifact pointers, set Update when loading inventory? to Update artifacts then open one of the artifact screens in-game like [Organize Army > Squad Operations > Artifacts] or [Marketplace > Sell Items].
After updating one of the lists once, set Update when loading inventory? to Don't update to avoid overriding the lists just in case.
You only need to update again if you gain new items or artifacts. Follow steps 1. or 2. again for that.
Also added a simple get by Id option, for when you don't want to go through the categories to find a single item. Just update the list you want first then set the item you want in Select By Id and then activate Load By Id and it will point to the correct item.
Credits again to aanpsx's for the original injection points.
SymphonyOfWarJustItems.ct
can u teach me how to use Rpg vx type sirr?? please
first-> sorry for english
second-> how to change resource and consumables(iron,horse,traits,affinity, exp and cp scrolls, etc) (not for tech point). best for new game(resource are storable ??)
-need at least 3 item
-set search for 4bytes
-search for number of item*2+1 ex. 3*2+1 --> 7
-use 1 of item
-search next scan 2*2+1 -->5
-use another 1
- search next scan 1*2+1 --> 3
- now you have one address
-change value of the address with the same formula. ex for 80 item, change value to 161 (80*2+1)
this work also in new game plus with blue sapphire? blue gem? item for buying unit and item from past game
So, I'm not sure if I'm missing something but there is not Update item box for me under the Update when opening inventory. I know the Game is frustrating to edit so I appreciate any and all guidance given.
I just want to say that cheat table SymphonyOfWar_SeiKur0_v2.1 works for the newest version of the game + DLC.
For example you can buy the unlimited number of the same artifact for memory fragments in the new game +