NumberXer0 wrote: ↑Thu Jan 17, 2019 9:45 pm
Hey Fantomas, you asked someone to send you a picture of the memory viewer to check out the NPC thing. Doesn't seem like they did, so here is mine.
[Link]
Not sure if it will be helpful or not.
Of course it is helpful!!!
In your case (do not know if it will be the same for the others), the value you need is under
Pathea.FavorSystemNs:FavorUtility:GetGradeName+1D, so the script should be like that:
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="28">
<CheatEntries>
<CheatEntry>
<ID>265</ID>
<Description>"SetNpcRelationship"</Description>
<Options moHideChildren="1"/>
<LastState/>
<Color>008000</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>define(address,Pathea.FavorSystemNs:FavorUtility:GetGradeName+1D)
define(bytes,48 63 56 2C 48 8B C8)
[ENABLE]
assert(address,bytes)
alloc(newmem,$100,Pathea.FavorSystemNs:FavorUtility:GetGradeName+1D)
label(code)
label(return)
globalalloc(setFavorGradeName_ptr,8)
newmem:
mov [setFavorGradeName_ptr],rsi
code:
movsxd rdx,dword ptr [rsi+2C]
mov rcx,rax
jmp return
address:
jmp newmem
nop
nop
return:
[DISABLE]
address:
db bytes
// movsxd rdx,dword ptr [rsi+2C]
// mov rcx,rax
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: Pathea.FavorSystemNs:FavorUtility:GetGradeName+1D
542DDAEC: 00 00 - add [rax],al
542DDAEE: 00 00 - add [rax],al
542DDAF0: 55 - push rbp
542DDAF1: 48 8B EC - mov rbp,rsp
542DDAF4: 56 - push rsi
542DDAF5: 57 - push rdi
542DDAF6: 48 83 EC 10 - sub rsp,10
542DDAFA: 48 8B F1 - mov rsi,rcx
542DDAFD: 48 8B 04 25 D0 C1 37 02 - mov rax,[0237C1D0]
542DDB05: 83 3E 00 - cmp dword ptr [rsi],00
// ---------- INJECTING HERE ----------
542DDB08: 48 63 56 2C - movsxd rdx,dword ptr [rsi+2C]
542DDB0C: 48 8B C8 - mov rcx,rax
// ---------- DONE INJECTING ----------
542DDB0F: 48 83 EC 20 - sub rsp,20
542DDB13: 83 38 00 - cmp dword ptr [rax],00
542DDB16: 49 BB 50 89 04 2A 00 00 00 00 - mov r11,Pathea.NpcRepositoryNs:NpcRepository:GetNpcData
542DDB20: 41 FF D3 - call r11
542DDB23: 48 83 C4 20 - add rsp,20
542DDB27: 48 8B F8 - mov rdi,rax
542DDB2A: 83 3E 00 - cmp dword ptr [rsi],00
542DDB2D: 48 63 4E 38 - movsxd rcx,dword ptr [rsi+38]
542DDB31: 48 83 EC 20 - sub rsp,20
542DDB35: 49 BB E0 6F 04 2A 00 00 00 00 - mov r11,Pathea.FavorSystemNs:FavorRelationshipData:GetRefData
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>266</ID>
<Description>"BaseAddress"</Description>
<LastState RealAddress="00000000"/>
<VariableType>String</VariableType>
<Length>0</Length>
<Unicode>0</Unicode>
<CodePage>0</CodePage>
<ZeroTerminate>1</ZeroTerminate>
<Address>setFavorGradeName_ptr</Address>
<Offsets>
<Offset>0</Offset>
</Offsets>
<CheatEntries>
<CheatEntry>
<ID>267</ID>
<Description>"NPC_Name"</Description>
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">4000006:Nora
4000008:Gale
4000011:Django
4000012:Sophie
4000033:Sonia
4000035:Phyllis
4000038:Aadit
4000040:Presley
4000052:Mei
4000053:Lucy
4000059:McDonald
4000063:Arlo
4000069:Pinky
</DropDownList>
<VariableType>4 Bytes</VariableType>
<Address>+2C</Address>
</CheatEntry>
<CheatEntry>
<ID>268</ID>
<Description>"mFavorValue"</Description>
<VariableType>4 Bytes</VariableType>
<Address>+34</Address>
</CheatEntry>
<CheatEntry>
<ID>269</ID>
<Description>"relationship"</Description>
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">1:Nemesis
2:Adversary
3:Stranger
4:Associate
5:Buddy
6:Friend
7:Good Friend
8:Best Friend
9:BFF
10:Girlfriend/Boyfriend
11:Sweetheart
12:Lover
13:Soulmate
14:Wife/Husband
15:Soulmate
16:Unhappy Wife/Husband
</DropDownList>
<VariableType>4 Bytes</VariableType>
<Address>+38</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
<UserdefinedSymbols/>
</CheatTable>
Or directly change it in my script (line 1 & 6 => +18 into +1D)