[Request] Symphony of War: The Nephilim Saga

Ask about cheats/tables for single player games here
Kou-Hime
Noobzor
Noobzor
Posts: 13
Joined: Sat Sep 05, 2020 12:18 pm
Reputation: 4

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

Post by Kou-Hime »

AlexS wrote:
Wed Jan 10, 2024 3:32 pm
(Google translation)

You can change statistics during the game by adding the required number to each value using a script with a filter.
Here is a screenshot of the latest (1.10.22) version of the game, this is the first move in the game, maximum statistics values:
Spoiler
Image
With these values, you can fulfill all additional conditions in battles and receive an “S” rating on the highest difficulty of the game.

Using scripts, you can also change the amount of gold, the number of faction points, the amount of resources, arena medals and other consumable items.
Screenshot:
Spoiler
Image
You can also edit the coordinates of fighters in battle, endless moves and much more...
Can you give me CE please?

AlexS
Expert Cheater
Expert Cheater
Posts: 322
Joined: Sun Apr 08, 2018 3:46 pm
Reputation: 192

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

Post by AlexS »

Kou-Hime wrote:
Thu Jan 11, 2024 12:47 pm
Can you give me CE please?
(Google translation)

I am not distributing this program. You can freely download the latest public version of CE (7.5) from the download page of the official website.
Link: [Link]

Kou-Hime
Noobzor
Noobzor
Posts: 13
Joined: Sat Sep 05, 2020 12:18 pm
Reputation: 4

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

Post by Kou-Hime »

up....

Kou-Hime
Noobzor
Noobzor
Posts: 13
Joined: Sat Sep 05, 2020 12:18 pm
Reputation: 4

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

Post by Kou-Hime »

up....

nillmand2
Expert Cheater
Expert Cheater
Posts: 96
Joined: Sat Dec 08, 2018 12:44 pm
Reputation: 7

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

Post by nillmand2 »

are you able to post the table/script you were using for that stats stuff AlexS?

AlexS
Expert Cheater
Expert Cheater
Posts: 322
Joined: Sun Apr 08, 2018 3:46 pm
Reputation: 192

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

Post by AlexS »

nillmand2 wrote:
Wed Jan 24, 2024 9:46 am
are you able to post the table/script you were using for that stats stuff AlexS?
(Google translation)

It's premature. The table needs to be tested first.

nillmand2
Expert Cheater
Expert Cheater
Posts: 96
Joined: Sat Dec 08, 2018 12:44 pm
Reputation: 7

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

Post by nillmand2 »

Ahh okay, thanks for the reply.

User avatar
Rienfleche
Expert Cheater
Expert Cheater
Posts: 147
Joined: Sun May 15, 2022 6:50 am
Reputation: 55

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

Post by Rienfleche »

pls update Zero Capacity and Turn Symphony Of War v1.10.22

Sword X
Expert Cheater
Expert Cheater
Posts: 91
Joined: Fri Jun 18, 2021 11:27 am
Reputation: 4

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

Post by Sword X »

Rienfleche wrote:
Sun Jan 28, 2024 12:40 pm
pls update Zero Capacity and Turn Symphony Of War v1.10.22
Of course, I would like to update it, but we must understand that the game is not in demand

Kou-Hime
Noobzor
Noobzor
Posts: 13
Joined: Sat Sep 05, 2020 12:18 pm
Reputation: 4

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

Post by Kou-Hime »

up

mankkemot
What is cheating?
What is cheating?
Posts: 2
Joined: Tue Mar 26, 2024 1:25 am
Reputation: 0

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

Post by mankkemot »

are there any possible for new update?

Sword X
Expert Cheater
Expert Cheater
Posts: 91
Joined: Fri Jun 18, 2021 11:27 am
Reputation: 4

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

Post by Sword X »

You don't have to wait. I've been waiting for a normal cheat table for over a year now.

mankkemot
What is cheating?
What is cheating?
Posts: 2
Joined: Tue Mar 26, 2024 1:25 am
Reputation: 0

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

Post by mankkemot »

just hoping for faction exp cheat hahaa

Sword X
Expert Cheater
Expert Cheater
Posts: 91
Joined: Fri Jun 18, 2021 11:27 am
Reputation: 4

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

Post by Sword X »

And I was counting on infinite moves.

User avatar
RMLSNK
Cheater
Cheater
Posts: 40
Joined: Sat Oct 28, 2023 8:05 pm
Reputation: 43

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

Post by RMLSNK »

base game: no dlc: (idk if that affects anything so putting that up there).

Patch 1.10.22: Steam

Want any item in the game? Want 100 of those items? well, I made this. On a side note, save before using, just in case you crash if you accidentally buy a nil value. Items won't update (visually only) until you refresh the trade screen. But this is visual only, you can still buy it. Please be sure to upvote if this helps. Took a little while to get these values.

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>14437</ID>
      <Description>"Items"</Description>
      <Options moHideChildren="1" moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1" moAllowManualCollapseAndExpand="1"/>
      <LastState Value="" RealAddress="200F1B23038"/>
      <ShowAsSigned>0</ShowAsSigned>
      <GroupHeader>1</GroupHeader>
      <Address>"x64-msvcrt-ruby240.dll"+002F20E0</Address>
      <Offsets>
        <Offset>8</Offset>
        <Offset>18</Offset>
        <Offset>0</Offset>
        <Offset>20</Offset>
        <Offset>3E0</Offset>
        <Offset>18</Offset>
        <Offset>8</Offset>
        <Offset>0</Offset>
        <Offset>14F8</Offset>
        <Offset>10</Offset>
      </Offsets>
      <CheatEntries>
        <CheatEntry>
          <ID>14511</ID>
          <Description>"Amount Available"</Description>
          <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:Out of Stock
1:x1
2:x2
5:x5
10:x10
25:x25
50:x50
100:x100
</DropDownList>
          <LastState Value="1" RealAddress="200F1B23048"/>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Custom</VariableType>
          <CustomType>RPG VX type</CustomType>
          <Address>+10</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>14438</ID>
          <Description>"Type "</Description>
          <Options moHideChildren="1" moAllowManualCollapseAndExpand="1"/>
          <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">6514822:Resources
6529158:Gear
7200902:Purchased!
</DropDownList>
          <LastState Value="6514822" RealAddress="200F1B23038"/>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Custom</VariableType>
          <CustomType>RPG VX type</CustomType>
          <Address>+0</Address>
          <CheatEntries>
            <CheatEntry>
              <ID>14513</ID>
              <Description>"Highly recommended to tick either Resources or Gear (Not Both)."</Description>
              <LastState Value="" RealAddress="00000000"/>
              <Color>7171FF</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
            <CheatEntry>
              <ID>14440</ID>
              <Description>"Resources"</Description>
              <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:[Avoid This Value]
1:--
2:                    [ Codex and Tokens ]
3:XP Codex
4:CP Codex
5:Bronze Arena Token
6:Silver Arena Token
7:Gold Arena Token
8:Platinum Arena Token
9:Proof of Merit
-:                    [ Resources ]
10:Iron
11:--
12:Obsidian
13:Sunstone
14:Gems
15:Pyrocite
16:Horses
17:Tech Points
-:                    [ Consumables ]
18:Donari Chronicle
19:Mint Leaves of Magic
20:Roast Beef of Might
21:Apple of Agility
22:Salmon of Health
23:Medal of Valor
24:                    [ Affinities ]
25:Affinity: Earth
26:Affinity: Water
27:Affinity: Lightning
28:Affinity: Fire
29:Affinity: Dark
30:Affinity: Light
31:                    [ Tomes ]
32:Book of Unlife
33:Defiled Donari Tome
34:Mark of the Risen
35:Primal Tome
36:--
37:--
38:--
39:--
40:--
41:--
42:--
43:--
44:--
45:--
46:--
47:                    [ Traits ]
48:Trait: Scavenger
49:Trait: Garrison
50:Trait: Bodyguard
51:Trait: Vengeance
52:Trait: Overpower
53:Trait: Imposing
54:Trait: Unassuming
55:Trait: Resolve
56:Trait: Unscathed
57:Trait: Precision
58:Trait: Assassin's Heart
59:Trait: Archer Captain
60:Trait: Soldier Captain
61:Trait: Knight Captain
62:Trait: Concentration
63:Trait: Disarm
64:Trait: Lithe Assault
65:Trait: Assassin's Reaper
66:Trait: Bowmanship
67:Trait: Dragonslayer
68:Trait: Warrior's Hubris
69:Trait: Challenger
70:Trait: Executioner
71:Trait: Healing Attuned
72:Trait: Cold-Blooded
73:Trait: Beacon
74:Trait: Arcane Barrier
75:Trait: Arcane Might
76:Trait: Arcane Speed
77:Trait: Arcane Vigor
78:Trait: Counterattack
79:Trait: Desperation
80:Trait: Immortal Spirit
81:Trait: Smite
82:Trait: Shock and Awe
83:Trait: Bloodlust
84:Trait: Silver-Tongued
85:Trait: Treasure Hunter
86:Trait: Tundra Warrior
87:Trait: Desert Warrior
88:--
89:--
90:Trait: Benevolent
91:Trait: Liberator
92:Trait: Rally
93:Trait: Barricade
94:Trait: Pacifist
95:Trait: Wide Guard
96:Trait: Raid Captain
</DropDownList>
              <LastState Value="52" RealAddress="200F1B23040"/>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Custom</VariableType>
              <CustomType>RPG VX type</CustomType>
              <Address>+8</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>14436</ID>
              <Description>"Gear"</Description>
              <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:[Avoid This Value]
1:--
2:                    [ Swords ]
3:Steel Arming Sword
4:Elegant Blade
5:Flame Saber
6:Steelshatter
7:Excalibur
8:Sin Credo
9:                    [ Great Swords ]
10:Steel Greatsword
11:Giant's Thresher
12:Kesh's Daikatana
13:Dragon Slayer
14:Balmung
15:--
16:                    [ Polearms ]
17:Sayunaari War Pike
18:Crystal Lance
19:Fang of Duros
20:--
21:                    [ Daggers ]
22:Eskandar's Karambit
23:Obsidian Edge
24:Zero Point Blade
25:--
26:                    [ Maces ]
27:Acolyte's Mace
28:Crusader's Mace
29:Refuge
30:--
31:                    [ Bows ]
32:Guerilla Bow
33:Trueshot Bow
34:Ataraxia
35:Heartseeker
36:Obsidian Arquebus
37:--
38:--
39:--
40:--
41:--
42:--
43:--
44:--
45:                    [ Mage Gear ]
46:Donari Staff
47:--
48:Blood Staff
49:Apprentice Spellbook
50:Grandmaster Spellbook
51:Auraweave Cloak
52:Cyrene's Regalia
53:--
54:                    [ Military ]
55:Sergeant's Uniform
56:Officer's Regalia
57:--
58:--
59:                    [ Light Armor ]
60:Scout's Gear
61:Guerilla Armor
62:Shinobi Gi
63:Blademaster's Armor
64:Landis's Mirage
65:--
66:--
67:                    [ Heavy Armor ]
68:Steel Plate Armor
69:Donari Armor
70:Dragonscale Armor
71:Imperial Battle Armor
72:Obsidian Plate Armor
73:St. Teresa's Tiara
74:                    [ Shields ]
75:Hulking Pavise
76:Aldor's Tower Shield
77:St. Teresa's Bulwark
78:--
79:--
80:                    [ Halloween 2022 ]
81:Skull of Rowdain
82:--
83:--
84:--
85:--
86:--
87:--
88:--
89:--
90:--
91:                    [ Accessories ]
92:Puffin Feather Amulet
93:Ruby Ring
94:Emerald Ring
95:Sapphire Ring
96:Ribbon
97:Kesh's Toolkit
98:Noisy Cricket
99:Boots of Tyranny
100:Imperial War Banner
101:Everlasting Potion
102:Jade Figurine
103:Iblis Family Signet
104:Donar's Treatise of War
105:Soha's Blood Shard
106:Landis's Fixed Dice
107:Genbu Shell Fragment
108:Temporal Modulator
109:Black Belt
110:Cloak of Cunning
111:Ace of Spaces
112:Essence of Embor
113:Belinda's Field Kit
114:Signet of Wrath
115:Firewalker Boots
116:--
117:                    [ Legends ]
118:Shadowchaster Boots
119:Gilded Clover
120:Mercurial Shoes
121:Caladori Charm
122:Fitch Farm Rancher Hat
123:Grothnor Lich's Skull
124:Spencer's Spectacles
125:Aetherium Gemstone
126:Sunset Bay Theatre Mask
127:--
128:--
129:Warfarer's Boots
130:Duelist's Contract
131:Do-It-Yourself Bandage
132:Emperor's Missive
133:Donari Charm
134:Commoner's Goblet
135:Tailored Great Helm
136:Thorny Charm
</DropDownList>
              <LastState Value="52" RealAddress="200F1B23040"/>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Custom</VariableType>
              <CustomType>RPG VX type</CustomType>
              <Address>+8</Address>
              <Hotkeys>
                <Hotkey>
                  <Action>Increase Value</Action>
                  <Keys>
                    <Key>6</Key>
                  </Keys>
                  <Value>1</Value>
                  <ID>0</ID>
                </Hotkey>
                <Hotkey>
                  <Action>Decrease Value</Action>
                  <Keys>
                    <Key>5</Key>
                  </Keys>
                  <Value>1</Value>
                  <ID>1</ID>
                </Hotkey>
              </Hotkeys>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
</CheatTable>
and this is a "turns taken" script.
Spoiler

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>14538</ID>
      <Description>"Turns Taken"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1" moAllowManualCollapseAndExpand="1"/>
      <LastState Value="" Activated="1" RealAddress="00000000"/>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>14518</ID>
          <Description>"Turns Taken"</Description>
          <Options moHideChildren="1" moAllowManualCollapseAndExpand="1"/>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : SymphonyOfWar.exe
  Version: 1.10.2
  Date   : 2024-04-14
  Author : RMLSNEK
}

[ENABLE]

aobscanmodule(TurnsTakenScript,x64-msvcrt-ruby240.dll,48 83 3C C3 34 0F)
alloc(newmem,$1000,TurnsTakenScript)

label(code GetTurns GetTurnsOffset)
label(return)

newmem:

code:
  //cmp [rbx+rax*8],(int)21
  cmp [rbx+rax*8]+158],(int)30306572
  je TurnsTaken

  //Engage Normal Route
  cmp qword ptr [rbx+rax*8],34
  jmp return

TurnsTaken:
  mov [GetTurns],rbx
  mov [GetTurnsOffset],rax

  //Engage Normal Route
  cmp qword ptr [rbx+rax*8],34
  jmp return

GetTurns:
dq 0

GetTurnsOffset:
dq 0

TurnsTakenScript:
  jmp newmem

return:
registersymbol(TurnsTakenScript GetTurns GetTurnsOffset)

[DISABLE]

TurnsTakenScript:
  db 48 83 3C C3 34

unregistersymbol(TurnsTakenScript GetTurns GetTurnsOffset)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: x64-msvcrt-ruby240.rb_ivar_defined+120

x64-msvcrt-ruby240.rb_ivar_defined+F6: E8 F5 36 FA FF        - call x64-msvcrt-ruby240.st_lookup
x64-msvcrt-ruby240.rb_ivar_defined+FB: 85 C0                 - test eax,eax
x64-msvcrt-ruby240.rb_ivar_defined+FD: 0F 84 5D FF FF FF     - je x64-msvcrt-ruby240.rb_ivar_defined+60
x64-msvcrt-ruby240.rb_ivar_defined+103: 48 8B 45 F8           - mov rax,[rbp-08]
x64-msvcrt-ruby240.rb_ivar_defined+107: 48 F7 03 00 20 00 00  - test [rbx],00002000
x64-msvcrt-ruby240.rb_ivar_defined+10E: 75 48                 - jne x64-msvcrt-ruby240.rb_ivar_defined+158
x64-msvcrt-ruby240.rb_ivar_defined+110: 8B 53 10              - mov edx,[rbx+10]
x64-msvcrt-ruby240.rb_ivar_defined+113: 48 39 D0              - cmp rax,rdx
x64-msvcrt-ruby240.rb_ivar_defined+116: 0F 83 44 FF FF FF     - jae x64-msvcrt-ruby240.rb_ivar_defined+60
x64-msvcrt-ruby240.rb_ivar_defined+11C: 48 8B 5B 18           - mov rbx,[rbx+18]
// ---------- INJECTING HERE ----------
x64-msvcrt-ruby240.rb_ivar_defined+120: 48 83 3C C3 34        - cmp qword ptr [rbx+rax*8],34
// ---------- DONE INJECTING  ----------
x64-msvcrt-ruby240.rb_ivar_defined+125: 0F 84 35 FF FF FF     - je x64-msvcrt-ruby240.rb_ivar_defined+60
x64-msvcrt-ruby240.rb_ivar_defined+12B: BE 14 00 00 00        - mov esi,00000014
x64-msvcrt-ruby240.rb_ivar_defined+130: E9 2D FF FF FF        - jmp x64-msvcrt-ruby240.rb_ivar_defined+62
x64-msvcrt-ruby240.rb_ivar_defined+135: 0F 1F 00              - nop dword ptr [rax]
x64-msvcrt-ruby240.rb_ivar_defined+138: 48 89 D9              - mov rcx,rbx
x64-msvcrt-ruby240.rb_ivar_defined+13B: 48 89 55 28           - mov [rbp+28],rdx
x64-msvcrt-ruby240.rb_ivar_defined+13F: E8 FC DA F1 FF        - call x64-msvcrt-ruby240.rb_obj_class
x64-msvcrt-ruby240.rb_ivar_defined+144: 48 8B 55 28           - mov rdx,[rbp+28]
x64-msvcrt-ruby240.rb_ivar_defined+148: 48 8B 40 18           - mov rax,[rax+18]
x64-msvcrt-ruby240.rb_ivar_defined+14C: 48 8B 08              - mov rcx,[rax]
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>14530</ID>
              <Description>"Amount"</Description>
              <LastState Value="5" RealAddress="29D17005A50"/>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Custom</VariableType>
              <CustomType>RPG VX type</CustomType>
              <Address>[GetTurns]+[GetTurnsOffset]*8-158</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>14536</ID>
          <Description>"Challenge Missions"</Description>
          <Options moHideChildren="1" moAllowManualCollapseAndExpand="1"/>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : SymphonyOfWar.exe
  Version: 1.10.2
  Date   : 2024-04-14
  Author : RMLSNEK
}

[ENABLE]

aobscanmodule(TurnsTakenObjScript,x64-msvcrt-ruby240.dll,48 8B 40 10 49 89 45 00)
alloc(newmem,$1000,TurnsTakenObjScript)

label(code GetTurnsObj)
label(return)

newmem:

code:
  cmp [rax+10],(int)40554764
  je TurnsTakenObj
  jmp returnroute

TurnsTakenObj:
  mov [GetTurnsObj],rax
  jmp returnroute

returnroute:
  //Engage Normal Route
  mov rax,[rax+10]
  mov [r13+00],rax
  jmp return

GetTurnsObj:
dq 0

TurnsTakenObjScript:
  jmp newmem
  nop 3

return:
registersymbol(TurnsTakenObjScript GetTurnsObj)

[DISABLE]

TurnsTakenObjScript:
  db 48 8B 40 10 49 89 45 00

unregistersymbol(TurnsTakenObjScript GetTurnsObj)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: x64-msvcrt-ruby240.st_lookup+6F

x64-msvcrt-ruby240.st_lookup+4A: 48 83 F8 FE        - cmp rax,-02
x64-msvcrt-ruby240.st_lookup+4E: 74 E5              - je x64-msvcrt-ruby240.st_lookup+35
x64-msvcrt-ruby240.st_lookup+50: 48 83 F8 FF        - cmp rax,-01
x64-msvcrt-ruby240.st_lookup+54: 0F 84 B6 00 00 00  - je x64-msvcrt-ruby240.st_lookup+110
x64-msvcrt-ruby240.st_lookup+5A: 48 8D 58 FE        - lea rbx,[rax-02]
x64-msvcrt-ruby240.st_lookup+5E: 4D 85 ED           - test r13,r13
x64-msvcrt-ruby240.st_lookup+61: 74 14              - je x64-msvcrt-ruby240.st_lookup+77
x64-msvcrt-ruby240.st_lookup+63: 49 8B 56 30        - mov rdx,[r14+30]
x64-msvcrt-ruby240.st_lookup+67: 48 8D 04 5B        - lea rax,[rbx+rbx*2]
x64-msvcrt-ruby240.st_lookup+6B: 48 8D 04 C2        - lea rax,[rdx+rax*8]
// ---------- INJECTING HERE ----------
x64-msvcrt-ruby240.st_lookup+6F: 48 8B 40 10        - mov rax,[rax+10]
// ---------- DONE INJECTING  ----------
x64-msvcrt-ruby240.st_lookup+73: 49 89 45 00        - mov [r13+00],rax
x64-msvcrt-ruby240.st_lookup+77: B8 01 00 00 00     - mov eax,00000001
x64-msvcrt-ruby240.st_lookup+7C: 48 83 C4 38        - add rsp,38
x64-msvcrt-ruby240.st_lookup+80: 5B                 - pop rbx
x64-msvcrt-ruby240.st_lookup+81: 5E                 - pop rsi
x64-msvcrt-ruby240.st_lookup+82: 5F                 - pop rdi
x64-msvcrt-ruby240.st_lookup+83: 41 5C              - pop r12
x64-msvcrt-ruby240.st_lookup+85: 41 5D              - pop r13
x64-msvcrt-ruby240.st_lookup+87: 41 5E              - pop r14
x64-msvcrt-ruby240.st_lookup+89: 41 5F              - pop r15
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>14537</ID>
              <Description>"Amount"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Custom</VariableType>
              <CustomType>RPG VX type</CustomType>
              <Address>[GetTurnsObj]+70</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>14539</ID>
              <Description>"View Mission Info to Update Value. If value is failed or completed. Then this will not show."</Description>
              <LastState Value="" RealAddress="00000000"/>
              <Color>7171FF</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
</CheatTable>


These tables use RPG VX value type. Thanks to Dark Byte Be sure to use it.
Spoiler
How to Use:
[Right Click on the "Value Type" selective bar and click "Define
new custom type (Auto Assembler)" . Delete everything inside this Script and paste the new script (from below). You can now select this value type to search for values.

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]
Last edited by RMLSNK on Tue Apr 16, 2024 2:15 pm, edited 4 times in total.

Post Reply

Who is online

Users browsing this forum: apop333, cedm237, HFF22