Page 1 of 2

Vampyr [Steam]

Posted: Sat Oct 24, 2020 12:00 pm
by aSwedishMagyar
Made a table for Vampyr since IFireflyl gifted me the game (thanks again!).
Image
I saw some people were having trouble with XP but its pretty simple to figure out. When you gain XP both the 'Current XP' and the 'Total Xp' go up in value. When you unlock skills your 'Current Xp' gets the cost subtracted from it and your level is calculated using the difference between 'Total Xp' and 'Current Xp'. So if you want to give yourself more Xp, you need to modify both.

I have an option to add a set amount of Xp and another to multiply the Xp gained.

Update +1: I added a script to grab the inventory and weapons list of the player using breakpoints. To make it work, check "Inventory and Weapon Pointers", then check whichever/both of the Populate Scripts and enter your inventory. It will auto-create the pointerlists and organize them based off of Bag/Weapon Type and order. At least some of them do, the ingredients list is a little messed up but It has all the pointers there.
I figured this out while tracing back in the call structure after setting a break and trace on the "get Quantity" opcode since I was trying to find a base inventory address. I went back to the opcode that I'm currently using and found the "BASE" base address which held pointers to other pointers for each bag along with the quantity inside each bag as shown below:
Image

Re: Vampyr [Steam]

Posted: Sat Oct 24, 2020 8:28 pm
by Shadow_Wulfe
Awesome! Table works flawlessly.

Just out of curiosity, how did you manage to figure out what they were doing to make the XP?

Re: Vampyr [Steam]

Posted: Sun Oct 25, 2020 12:02 am
by aSwedishMagyar
I found the 'Current Xp' while upgrading skills and then did a dissect data structures and looked at addresses next to it to find the 'Total Xp'. Then I looked at what accesses the 'Total Xp' and found an area that subtracts the 'Current Xp' from it and calculates the Level of the player based off of that difference.
Shadow_Wulfe wrote:
Sat Oct 24, 2020 8:28 pm
...
Could you test this and see if it works as I intended it to?

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>86938</ID>
      <Description>"No Xp Cost"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{
	Game	: AVGame-Win64-Shipping.exe
	Version	: 4.15.1.0
	Date	: 2020-10-25
	Author	: aSwedishMagyar
}
[ENABLE]
aobscanmodule(noXpCost,AVGame-Win64-Shipping.exe,41 29 95 B4 04 00 00)
aobscanmodule(xpReturn,AVGame-Win64-Shipping.exe,45 01 85 B4 04 00 00)
registersymbol(noXpCost)
registersymbol(xpReturn)

noXpCost:
  add [r13+000004B0],edx

xpReturn:
  sub [r13+000004B0],r8d

[DISABLE]
noXpCost:
  db 41 29 95 B4 04 00 00

xpReturn:
  db 45 01 85 B4 04 00 00

unregistersymbol(noXpCost)
unregistersymbol(xpReturn)

{
// ORIGINAL CODE - INJECTION POINT: "AVGame-Win64-Shipping.exe"+43DEB8

"AVGame-Win64-Shipping.exe"+43DE95: 44 8B 04 06              -  mov r8d,[rsi+rax]
"AVGame-Win64-Shipping.exe"+43DE99: 48 8B 41 38              -  mov rax,[rcx+38]
"AVGame-Win64-Shipping.exe"+43DE9D: 44 8B 3C 06              -  mov r15d,[rsi+rax]
"AVGame-Win64-Shipping.exe"+43DEA1: 8B 44 24 24              -  mov eax,[rsp+24]
"AVGame-Win64-Shipping.exe"+43DEA5: 85 C0                    -  test eax,eax
"AVGame-Win64-Shipping.exe"+43DEA7: 0F 8E C5 00 00 00        -  jng AVGame-Win64-Shipping.exe+43DF72
"AVGame-Win64-Shipping.exe"+43DEAD: 41 8B D7                 -  mov edx,r15d
"AVGame-Win64-Shipping.exe"+43DEB0: 41 2B D0                 -  sub edx,r8d
"AVGame-Win64-Shipping.exe"+43DEB3: 3B C2                    -  cmp eax,edx
"AVGame-Win64-Shipping.exe"+43DEB5: 0F 4C D0                 -  cmovl edx,eax
// ---------- INJECTING HERE ----------
"AVGame-Win64-Shipping.exe"+43DEB8: 41 29 95 B4 04 00 00     -  sub [r13+000004B4],edx
// ---------- DONE INJECTING  ----------
"AVGame-Win64-Shipping.exe"+43DEBF: 49 8B 86 20 0D 00 00     -  mov rax,[r14+00000D20]
"AVGame-Win64-Shipping.exe"+43DEC6: 48 8B 8C 07 90 00 00 00  -  mov rcx,[rdi+rax+00000090]
"AVGame-Win64-Shipping.exe"+43DECE: 01 14 31                 -  add [rcx+rsi],edx
"AVGame-Win64-Shipping.exe"+43DED1: 49 8B 86 20 0D 00 00     -  mov rax,[r14+00000D20]
"AVGame-Win64-Shipping.exe"+43DED8: 48 8B 8C 07 90 00 00 00  -  mov rcx,[rdi+rax+00000090]
"AVGame-Win64-Shipping.exe"+43DEE0: 44 39 3C 0E              -  cmp [rsi+rcx],r15d
"AVGame-Win64-Shipping.exe"+43DEE4: 0F 85 80 00 00 00        -  jne AVGame-Win64-Shipping.exe+43DF6A
"AVGame-Win64-Shipping.exe"+43DEEA: 49 8B CD                 -  mov rcx,r13
"AVGame-Win64-Shipping.exe"+43DEED: E8 FE 5E 03 00           -  call AVGame-Win64-Shipping.exe+473DF0
"AVGame-Win64-Shipping.exe"+43DEF2: 49 8B 86 20 0D 00 00     -  mov rax,[r14+00000D20]
}
{
// ORIGINAL CODE - INJECTION POINT: "AVGame-Win64-Shipping.exe"+43DF77

"AVGame-Win64-Shipping.exe"+43DF51: 2B 51 34                 -  sub edx,[rcx+34]
"AVGame-Win64-Shipping.exe"+43DF54: E8 07 70 E1 00           -  call AVGame-Win64-Shipping.exe+1254F60
"AVGame-Win64-Shipping.exe"+43DF59: 48 8D 4D C0              -  lea rcx,[rbp-40]
"AVGame-Win64-Shipping.exe"+43DF5D: E8 AE E0 63 00           -  call AVGame-Win64-Shipping.exe+A7C010
"AVGame-Win64-Shipping.exe"+43DF62: 41 8B C4                 -  mov eax,r12d
"AVGame-Win64-Shipping.exe"+43DF65: E9 F6 FD FF FF           -  jmp AVGame-Win64-Shipping.exe+43DD60
"AVGame-Win64-Shipping.exe"+43DF6A: 41 BB 01 00 00 00        -  mov r11d,00000001
"AVGame-Win64-Shipping.exe"+43DF70: EB BB                    -  jmp AVGame-Win64-Shipping.exe+43DF2D
"AVGame-Win64-Shipping.exe"+43DF72: 45 85 C0                 -  test r8d,r8d
"AVGame-Win64-Shipping.exe"+43DF75: 7E B9                    -  jle AVGame-Win64-Shipping.exe+43DF30
// ---------- INJECTING HERE ----------
"AVGame-Win64-Shipping.exe"+43DF77: 45 01 85 B4 04 00 00     -  add [r13+000004B4],r8d
// ---------- DONE INJECTING  ----------
"AVGame-Win64-Shipping.exe"+43DF7E: 49 8B 86 20 0D 00 00     -  mov rax,[r14+00000D20]
"AVGame-Win64-Shipping.exe"+43DF85: 48 8B 8C 07 90 00 00 00  -  mov rcx,[rdi+rax+00000090]
"AVGame-Win64-Shipping.exe"+43DF8D: 44 89 24 0E              -  mov [rsi+rcx],r12d
"AVGame-Win64-Shipping.exe"+43DF91: EB 9D                    -  jmp AVGame-Win64-Shipping.exe+43DF30
"AVGame-Win64-Shipping.exe"+43DF93: CC                       -  int 3
"AVGame-Win64-Shipping.exe"+43DF94: CC                       -  int 3
"AVGame-Win64-Shipping.exe"+43DF95: CC                       -  int 3
"AVGame-Win64-Shipping.exe"+43DF96: CC                       -  int 3
"AVGame-Win64-Shipping.exe"+43DF97: CC                       -  int 3
"AVGame-Win64-Shipping.exe"+43DF98: CC                       -  int 3
}
</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
</CheatTable>


Re: Vampyr [Steam]

Posted: Thu Oct 29, 2020 2:36 am
by aSwedishMagyar
Updated and added some cool stuff.

Re: Vampyr [Steam]

Posted: Thu Oct 29, 2020 5:09 am
by UnfundedSaturn
aSwedishMagyar wrote:
Thu Oct 29, 2020 2:36 am
Updated and added some cool stuff.
Thanks bro work great

Re: Vampyr [Steam]

Posted: Thu Oct 29, 2020 6:07 pm
by Carriva
Thanks you

Re: Vampyr [Steam]

Posted: Sun Dec 20, 2020 2:39 am
by trias702
aSwedishMagyar wrote:
Thu Oct 29, 2020 2:36 am
Updated and added some cool stuff.
Any chance I could please, please trouble you to release a version of your excellent table for the GOG version of the game? I have tried to adapt your Steam table to the GOG version, but have had no luck as I'm a pretty green when it comes to Cheat Engine.

If you have limited time, then perhaps a GOG version which just has the Add XP and Add Gold functions? Those are the main ones I'm interested in.

Re: Vampyr [Steam]

Posted: Sun Dec 20, 2020 3:07 am
by Shadow_Wulfe
The last version that I used worked with the GOG version. I paused on it because the achievements were not working after about halfway through the GOG version though.

Re: Vampyr [Steam]

Posted: Sun Dec 20, 2020 3:26 am
by trias702
Shadow_Wulfe wrote:
Sun Dec 20, 2020 3:07 am
The last version that I used worked with the GOG version. I paused on it because the achievements were not working after about halfway through the GOG version though.
Huh, that's very interesting. Did you use the two tables by SwedishMagyar in the OP? I tried the more recent of the two, from Oct 28, 2020, and it doesn't work with the (latest) GOG version, it gives an odd error when you first open the table, and neither the Add XP or Add Gold functions worked.

Any chance you could please try the same table with your GOG version and see if it's working?

Re: Vampyr [Steam]

Posted: Sun Dec 20, 2020 3:39 am
by trias702
Actually, it looks like you are right, some of the other functions do appear to be working. The ExpMult from the OP's table does indeed work correctly on my GOG version.

Odd that the other functions don't work though.

Re: Vampyr [Steam]

Posted: Mon Dec 21, 2020 1:01 pm
by aSwedishMagyar
trias702 wrote:
Sun Dec 20, 2020 3:39 am
Actually, it looks like you are right, some of the other functions do appear to be working. The ExpMult from the OP's table does indeed work correctly on my GOG version.

Odd that the other functions don't work though.
All of the options work. You just aren't paying attention, it says on the script itself that you need to enter the inventory for it to populate the EXP address. When you have done that and toggle the 'Add Xp' script, it will not update the out-of-menu display value until you earn Xp normally. Go into your inventory and you will see that it has added Xp.

Where did you see an option to 'Add Gold'?

Re: Vampyr [Steam]

Posted: Mon Dec 21, 2020 2:03 pm
by trias702
aSwedishMagyar wrote:
Mon Dec 21, 2020 1:01 pm
All of the options work. You just aren't paying attention, it says on the script itself that you need to enter the inventory for it to populate the EXP address. When you have done that and toggle the 'Add Xp' script, it will not update the out-of-menu display value until you earn Xp normally. Go into your inventory and you will see that it has added Xp.

Where did you see an option to 'Add Gold'?
I'm afraid that even when I follow your detailed instructions, it doesn't work. I can never get the AddXp script to toggle on, whenever I click it, I can see the red checkmark for a millisecond and then it goes away, meaning the script never turns on. Here is exactly what I do:

1) Load my Vampyr save game
2) Alt-tab, open Cheat Engine 7.2, select the Vampyr process, load your table, toggle on 'Get Base Xp' (red X appears successfully)
3) alt-tab back to game, open the inventory, alt tab back to Cheat Engine, try to toggle the 'Add Xp' box, but it turns itself off immediately
4) alt-tab back to game, close inventory, open inventory again, close inventory, alt-tab back, try again, 'Add Xp' does not stay toggled, alt-tab back, open inventory, leave it open, alt-tab, try again, 'Add Xp' refuses to toggle itself On
5) Toggle on the 'Xp Amount' box (stays toggled), even though 'Add Xp' is off, go back to game, try open and close inventory, nothing, makes no difference

Additionally, most of the other options in the table don't work, for example, Inf Health won't toggle at all, and if I right click on it, it says "error while scanning for AOBs: infHealth" (I can't read the rest because it is truncated). I get a similar error message "error while scanning for AOBs" for the following options: Inf Ammo, Modify Pickup Amount, Inf Trader Items, and No Trade Cost.

For Inventory and Weapon Pointers, I get error: "The array of byte named getBaseInventory could not be found"
For No Xp Cost, I get error: "The array of byte named xpReturn could not be found"


Finally, I apologise about the 'Add Gold', that was my mistake in reading too quickly when I first loaded your table, I thought I saw an Add Gold option, but it was Add Xp. When I meant that I would be keen to see "Add Gold" ported to the GOG version, I meant the "No Trade Cost" option. I apologise for my error.

Finally, I'm running the GOG version of the game: GOG version 1.1.5 (33897)

Re: Vampyr [epic]

Posted: Wed Apr 20, 2022 5:11 am
by Evor
Can you make a video explainer about this I had a hard time with this?

Re: Vampyr [Steam]

Posted: Fri Jun 24, 2022 6:46 pm
by Arash
Inventory and Weapons pointers crashed my game (Steam version) for some reason :(

Re: Vampyr [Steam]

Posted: Sun Oct 02, 2022 1:22 am
by Ciper_Oblivion
Mine too. The inventory pointers aren't working at all for me.