Page 4 of 21

Re: [Request] Symphony of War: The Nephilim Saga

Posted: Mon Jun 13, 2022 9:49 am
by CopMuaDong
i have tried many ways but still failed, cant figure out how to change stats T_T

Re: [Request] Symphony of War: The Nephilim Saga

Posted: Mon Jun 13, 2022 10:47 am
by variante
Stats are stored in id-value pairs where id tells which stat, and value says how much. Stat bonuses for a character are stored in a dynamic array, meaning the number of entries depends on how many bonuses have been applied. The ids are stored differently in save (in @param_plus field above the character name) than in memory. As far as I know, the ids are as follows:
stat ids

Code: Select all

id (memory),id (save),name
1,0,HP
3,6,Morale
5,7,STR
7,8,Armor
9,9,MAG
11,10,LDR
13,11,SKL
15,12,Reputation
Not sure how values are encoded in the save. Also, stats are capped at 255, HP at 999.
big stats
Image

Re: [Request] Symphony of War: The Nephilim Saga

Posted: Mon Jun 13, 2022 11:09 am
by TeddyRiggs
+

Re: [Request] Symphony of War: The Nephilim Saga

Posted: Mon Jun 13, 2022 11:44 am
by Deed
variante wrote:
Mon Jun 13, 2022 10:47 am
Stats are stored in id-value pairs where id tells which stat, and value says how much. Stat bonuses for a character are stored in a dynamic array, meaning the number of entries depends on how many bonuses have been applied. The ids are stored differently in save (in @param_plus field above the character name) than in memory. As far as I know, the ids are as follows:
stat ids

Code: Select all

id (memory),id (save),name
1,0,HP
3,6,Morale
5,7,STR
7,8,Armor
9,9,MAG
11,10,LDR
13,11,SKL
15,12,Reputation
Not sure how values are encoded in the save. Also, stats are capped at 255, HP at 999.
big stats
Image
Interesting find... would it be possible to write up a simple instruction how to search for the stats with CE, for us less-savy peeps? :)

Re: [Request] Symphony of War: The Nephilim Saga

Posted: Mon Jun 13, 2022 11:58 am
by MegaMark
variante wrote:
Mon Jun 13, 2022 10:47 am
Stats are stored in id-value pairs where id tells which stat, and value says how much. Stat bonuses for a character are stored in a dynamic array, meaning the number of entries depends on how many bonuses have been applied. The ids are stored differently in save (in @param_plus field above the character name) than in memory. As far as I know, the ids are as follows:
stat ids

Code: Select all

id (memory),id (save),name
1,0,HP
3,6,Morale
5,7,STR
7,8,Armor
9,9,MAG
11,10,LDR
13,11,SKL
15,12,Reputation
Not sure how values are encoded in the save. Also, stats are capped at 255, HP at 999.
big stats
Image
Thanks for the hints, i hate rpgmaker lol

Re: [Request] Symphony of War: The Nephilim Saga

Posted: Mon Jun 13, 2022 1:16 pm
by CopMuaDong
variante wrote:
Mon Jun 13, 2022 10:47 am
Stats are stored in id-value pairs where id tells which stat, and value says how much. Stat bonuses for a character are stored in a dynamic array, meaning the number of entries depends on how many bonuses have been applied. The ids are stored differently in save (in @param_plus field above the character name) than in memory. As far as I know, the ids are as follows:
stat ids

Code: Select all

id (memory),id (save),name
1,0,HP
3,6,Morale
5,7,STR
7,8,Armor
9,9,MAG
11,10,LDR
13,11,SKL
15,12,Reputation
Not sure how values are encoded in the save. Also, stats are capped at 255, HP at 999.
big stats
Image
^^ Can you share the save file that has been adjusted to 999 HP - 255 stats ^^ thank you

Re: [Request] Symphony of War: The Nephilim Saga

Posted: Mon Jun 13, 2022 4:38 pm
by Nilaru
Has anyone found a working save editor?

Also, I would be happy to pay some money for a working save editor or trainer, even if all I could do with it is change the LDR values. Should I create a second request thread that is marked as PAID REQUEST ?

Re: [Request] Symphony of War: The Nephilim Saga

Posted: Tue Jun 14, 2022 2:10 am
by toydefenser
+1

Re: [Request] Symphony of War: The Nephilim Saga

Posted: Tue Jun 14, 2022 2:31 am
by TheRedFear
How do I find the saves? When I check the savedata folder the only thing in there is "steam_autocloud.vdf"

When I tried to drag that into saveeditor online it didn't work

Re: [Request] Symphony of War: The Nephilim Saga

Posted: Tue Jun 14, 2022 2:55 am
by Nilaru
TheRedFear wrote:
Tue Jun 14, 2022 2:31 am
How do I find the saves? When I check the savedata folder the only thing in there is "steam_autocloud.vdf"

When I tried to drag that into saveeditor online it didn't work
Save games are in \AppData\Roaming\Nephilim

I tried saveeditonline and it says the file is not supported

Re: [Request] Symphony of War: The Nephilim Saga

Posted: Tue Jun 14, 2022 4:31 am
by absorbbone
Nilaru wrote:
Tue Jun 14, 2022 2:55 am
TheRedFear wrote:
Tue Jun 14, 2022 2:31 am
How do I find the saves? When I check the savedata folder the only thing in there is "steam_autocloud.vdf"

When I tried to drag that into saveeditor online it didn't work
Save games are in \AppData\Roaming\Nephilim

I tried saveeditonline and it says the file is not supported
See @rinnioveraci post in page 2

Re: [Request] Symphony of War: The Nephilim Saga

Posted: Tue Jun 14, 2022 11:13 am
by latios507
I figured out how to change the tech tree point! You can't modify it directly though, but you can change the Faction Points ("FP") high enough so that you can earn tech tree points. After changing the FP points, you just need to engage in one of the 'Conversation' events / finish an Arena with at least some forced surrender enemy squad to get the FP / Finish a Story mission (any one of these would do) for the changes to take affect.

FP still uses the *2+1 formula but if you want to make your life simple, just add this code so that your Value Type is RPGVX & you don't have to key in the *2+1 formula. Refer to the prior post below
Spoiler
latios507 wrote:
Sun Jun 12, 2022 5:42 am
nos4r2 wrote:
Sun Jun 12, 2022 4:37 am
I think you can use this to add rpgm game value type so you can search directly for rpgm game no need to do calculation anymore

i want to give credit but i just can't remember who post it but i'm pretty sure i got it from this forum one of the mod? or admin post it here ( add mine age ago so can't really remember ) i edit mine and copy all of the code and repost here

Code: Select all

alloc(TypeName,256)
alloc(ByteSize,4)
alloc(PreferedAlignment, 4)
alloc(ConvertRoutine,1024)
alloc(ConvertBackRoutine,1024)

TypeName:
db 'RPG VX type',0

ByteSize:
dd 4

PreferedAlignment:
dd 1


//The convert routine should hold a routine that converts the data to an nteger (in eax)
//function declared as: stdcall int ConvertRoutine(unsigned char *input);

//Note: Keep in mind that this routine can be called by multiple threads at the same time.

ConvertRoutine:
[32-bit]
push ebp
mov ebp,esp
push ecx
mov ecx,[ebp+8]
[/32-bit]

//at this point ecx contains the address where the bytes are stored

//put the bytes into the eax register
mov eax,[ecx] //second fun fact, addressing with 32-bit registers doesn't work in 64-bit, it becomes a 64-bit automatically (most of the time)
shr eax,1 //shift right by 1 bit (divide by 2)

//and now exit the routine
[64-bit]
ret
[/64-bit]
[32-bit]
pop ecx
pop ebp
ret 4
[/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: stdcall void ConvertBackRoutine(int i, unsigned char *output);
ConvertBackRoutine:
[32-bit]
push ebp
mov ebp,esp
push edx //save the registers
push ecx
mov edx,[ebp+0c]
mov ecx,[ebp+08]
[/32-bit]

//at this point edx contains the address to write the value to
//and ecx contains the value

push eax
push edx


mov edx,[edx] //edx now contains the original value
and edx,1 //only save the first bit

mov eax,ecx //eax gets the user input value
shl eax,1 //shift left by 1 bit (multiply by 2)
or eax,edx //add the bits of the original value

pop edx
mov [edx],eax //write the new value into the old value
pop eax

[64-bit]
//everything is back to what it was, so exit
ret
[/64-bit]

[32-bit]
//cleanup first
pop ecx
pop edx
pop ebp
ret 8
[/32-bit]
Image
I'm sorry but how do you add this code into CE? That is indeed helpful since we don't have to add the *2+1 to our values

Thanks for sharing!

Edited:

Oh nvm, I figured it out. For those who are curious/lost just like me:
1) Start Symphony of War & CE, then select the process
2) Right Click on the 'Value Type' on the Right side of CE (just below the Scan Type)
3) Select 'Define new custom type (Auto Assembler)'
4) Paste the code above
5) ???
6) Profit. The Value type will display 'RPG VX Type' if you have done it correctly.
At this point, you can only get tech points through FPs. FPs ARE CUMULATIVE.

In other words, if you see for e.g. 57/250, it's NOT actually 57 points. It could be 157 (e.g. if you accumulated 100 FP before, you have to add it to your current value).
TL;DR Math.

It's a pain in the ass but this is what I did to scan the FP. To make your life simpler/easier, you should do it when you have a few conversation events so it's easier to make it work:

[*] Select Value type: RPG VX Type or you can use the 4 Bytes but you need to input *2+1

I'm using RPG VX Type as the value type to make the illustrations below simpler.

1) CE; Select Scan Type: Unknown Initial Value & Hit First Scan
2) In the game; go to supports > Conversation > Do the conversation events that you have. Once the event has ended, input how many FP points you earned during the event.
3) To do so, select Scan Type: Increased value by ... and input the FP points you earned (e.g. 5).
4) Hit Enter. Rinse and repeat with your other events until you can narrow down to just a single address or you're smart enough to guess the address from a list of addresses. I leave that to your judgement.
5) Once you figured out the address, just change it to a higher value & hit enter. Just open any menu (e.g. Marketplace) & exit to see the changes. See the Appendix section below
6) For the changes to take effect, you need to make the game 'think' that you have earned FP legitimately. You can either do any one of it:
- Start another conversation (if you have any spare ones) ~ the easiest
- Start an Arena Mission, try to Force surrender some enemy squad & finish it
- Start & finish another Chapter/Story Mission

Appendix section
Spoiler
Here's an example how it works since FP is a cumulative value. Notice that I have accumulated 3000 FP points previously (as shown in cheat engine), but the in-game is only showing 103 points. So I technically have 3103 FP (3000 FP previously accumulated + 103 FP shown on screen):

Image

Now let's say I want to change my in-game FP to 178 points, an increment of 78 points... so that means I have to key-in 3178 in the cheat Engine. and voila! it works :)

Image

Now, make the game 'think' that you earned FP legitimately. Here's the end result;

Image
I think it's possible to do it during Chapter missions too, where you get FP from seizing towns/structures but it's a bit pain in the ass to do so because you have to memorize how many FPs you earned then right click in-game > Organize to check the value.

Hopefully it helps other users & potential table makers. You can also edit item quantity in your inventory, it also uses *2+1 or like I said before, make your life easier by setting up that RPG VX Value type code. I really hope someone can make a proper table for this gem of a game. I'm just a newbie CE user, so this is as far as I can go since I'm not familiar on how to do the scanning so you can get the permanent address.

Re: [Request] Symphony of War: The Nephilim Saga

Posted: Tue Jun 14, 2022 12:29 pm
by owlet12345
latios507 wrote:
Tue Jun 14, 2022 11:13 am
I figured out how to change the tech tree point! You can't modify it directly though, but you can change the Faction Points ("FP") high enough so that you can earn tech tree points.

FP still uses the *2+1 formula but if you want to make your life simple, just add this code so that your Value Type is RPGVX & you don't have to key in the *2+1 formula. Refer to the prior post below
Spoiler
latios507 wrote:
Sun Jun 12, 2022 5:42 am
nos4r2 wrote:
Sun Jun 12, 2022 4:37 am
I think you can use this to add rpgm game value type so you can search directly for rpgm game no need to do calculation anymore

i want to give credit but i just can't remember who post it but i'm pretty sure i got it from this forum one of the mod? or admin post it here ( add mine age ago so can't really remember ) i edit mine and copy all of the code and repost here

Code: Select all

alloc(TypeName,256)
alloc(ByteSize,4)
alloc(PreferedAlignment, 4)
alloc(ConvertRoutine,1024)
alloc(ConvertBackRoutine,1024)

TypeName:
db 'RPG VX type',0

ByteSize:
dd 4

PreferedAlignment:
dd 1


//The convert routine should hold a routine that converts the data to an nteger (in eax)
//function declared as: stdcall int ConvertRoutine(unsigned char *input);

//Note: Keep in mind that this routine can be called by multiple threads at the same time.

ConvertRoutine:
[32-bit]
push ebp
mov ebp,esp
push ecx
mov ecx,[ebp+8]
[/32-bit]

//at this point ecx contains the address where the bytes are stored

//put the bytes into the eax register
mov eax,[ecx] //second fun fact, addressing with 32-bit registers doesn't work in 64-bit, it becomes a 64-bit automatically (most of the time)
shr eax,1 //shift right by 1 bit (divide by 2)

//and now exit the routine
[64-bit]
ret
[/64-bit]
[32-bit]
pop ecx
pop ebp
ret 4
[/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: stdcall void ConvertBackRoutine(int i, unsigned char *output);
ConvertBackRoutine:
[32-bit]
push ebp
mov ebp,esp
push edx //save the registers
push ecx
mov edx,[ebp+0c]
mov ecx,[ebp+08]
[/32-bit]

//at this point edx contains the address to write the value to
//and ecx contains the value

push eax
push edx


mov edx,[edx] //edx now contains the original value
and edx,1 //only save the first bit

mov eax,ecx //eax gets the user input value
shl eax,1 //shift left by 1 bit (multiply by 2)
or eax,edx //add the bits of the original value

pop edx
mov [edx],eax //write the new value into the old value
pop eax

[64-bit]
//everything is back to what it was, so exit
ret
[/64-bit]

[32-bit]
//cleanup first
pop ecx
pop edx
pop ebp
ret 8
[/32-bit]
Image
I'm sorry but how do you add this code into CE? That is indeed helpful since we don't have to add the *2+1 to our values

Thanks for sharing!

Edited:

Oh nvm, I figured it out. For those who are curious/lost just like me:
1) Start Symphony of War & CE, then select the process
2) Right Click on the 'Value Type' on the Right side of CE (just below the Scan Type)
3) Select 'Define new custom type (Auto Assembler)'
4) Paste the code above
5) ???
6) Profit. The Value type will display 'RPG VX Type' if you have done it correctly.
At this point, you can only get tech points through FPs. FPs ARE CUMULATIVE.

In other words, if you see for e.g. 57/250, it's NOT actually 57 points. It could be 157 (e.g. if you accumulated 100 FP before, you have to add it to your current value).
TL;DR Math.

It's a pain in the ass but this is what I did to scan the FP. To make your life simpler/easier, you should do it when you have a few conversation events so it's easier to make it work:

[*] Select Value type: RPG VX Type or you can use the 4 Bytes but you need to input *2+1

I'm using RPG VX Type as the value type to make the illustrations below simpler.

1) CE; Select Scan Type: Unknown Initial Value & Hit First Scan
2) In the game; go to supports > Conversation > Do the conversation events that you have. Once the event has ended, input how many FP points you earned during the event.
3) To do so, select Scan Type: Increased value by ... and input the FP points you earned (e.g. 5).
4) Hit Enter. Rinse and repeat with your other events until you can narrow down to just a single address or you're smart enough to guess the address from a list of addresses. I leave that to your judgement.
5) Once you figured out the address, just change it to a higher value & hit enter. Just open any menu (e.g. Marketplace) & exit to see the changes. See the Appendix section below
6) For the changes to take effect, you need to make the game 'think' that you have earned FP legitimately. You can either do any one of it:
- Start another conversation (if you have any spare ones) ~ the easiest
- Start an Arena Mission, try to Force surrender some enemy squad & finish it
- Start & finish another Chapter/Story Mission

Appendix section
Spoiler
Here's an example how it works since FP is a cumulative value. Notice that I have accumulated 3000 FP points previously (as shown in cheat engine), but the in-game is only showing 103 points. So I technically have 3103 FP (3000 FP previously accumulated + 103 FP shown on screen):

Image

Now let's say I want to change my in-game FP to 178 points, an increment of 78 points... so that means I have to key-in 3178 in the cheat Engine. and voila! it works :)

Image

Now, make the game 'think' that you earned FP legitimately. Here's the end result;

Image
I think it's possible to do it during Chapter missions too, where you get FP from seizing towns/structures but it's a bit pain in the ass to do so because you have to memorize how many FPs you earned then right click in-game > Organize to check the value.

Hopefully it helps other users & potential table makers. You can also edit item quantity in your inventory, it also uses *2+1 or like I said before, make your life easier by setting up that RPG VX Value type code. I really hope someone can make a proper table for this gem of a game. I'm just a newbie CE user, so this is as far as I can go since I'm not familiar on how to do the scanning so you can get the permanent address.
Hi do you know how to find stat values like in variante's post? I'm clueless at this point. Also, can you find and edit an item with only 1 quantity? Thanks.

Re: [Request] Symphony of War: The Nephilim Saga

Posted: Tue Jun 14, 2022 12:54 pm
by latios507
owlet12345 wrote:
Tue Jun 14, 2022 12:29 pm
Hi do you know how to find stat values like in variante's post? I'm clueless at this point. Also, can you find and edit an item with only 1 quantity? Thanks.
Nope, no idea how to use it. You need minimum 2 quantity to edit/find their addresses provided you know what is the address pattern. This usually requires you to find & edit another item beforehand.

e.g. if you managed to edit another item and it has an address of 2F3E6DS.. That means when you search for the item with quantity of 2, the address should also be something like 2F3E...

I don't know about Artefacts/equipment though, maybe that is only possible through save editor or something. I have not found any meaningful variables to edit nor know how to edit it, even after UnGzipping the .rvData2 & looking at it with the RPGMaker XV Cheat tool. That's because the items.rvdata2/Armor.rvdata2/weapon.rvdata2 is in another save.

I'm just as clueless as you without a guide

Re: [Request] Symphony of War: The Nephilim Saga

Posted: Tue Jun 14, 2022 1:44 pm
by nos4r2
Look like wm will release it soon? seem lots of people boost it let hope there some great option in there... xD

CH already gave up i think