Page 7 of 7

Re: Scarlet Nexus

Posted: Wed Jul 20, 2022 4:00 am
by TotzOnGaming
Can some add the option to "Ignore Crafting Requirements"? Thanks!

Re: Scarlet Nexus

Posted: Sat Oct 01, 2022 1:48 pm
by Jarkes
zachillios wrote:
Fri Jul 02, 2021 7:07 pm
dammy63 wrote:
Wed Jun 30, 2021 10:17 am
"ScarletNexus-Win64-Shipping.exe,41 0F B6 1C 06" is quest flag opcode.
00:undiscovered
02:in progress
03:can be achieved
04:complete
This was very helpful, thank you. Here's a comprehensive editor for quests:

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>88363</ID>
      <Description>"Quest Editor"</Description>
      <Options moHideChildren="1"/>
      <LastState Activated="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ScarletNexus-Win64-Shipping.exe
  Version: 
  Date   : 2021-07-02
  Author : zachw

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(QUEST_SCAN,ScarletNexus-Win64-Shipping.exe,41 0F B6 1C 06) // should be unique
alloc(newmem,$1000,QUEST_SCAN)
globalalloc(QUESTSCAN,4)
label(code)
label(return)

newmem:
push rax
lea rax,[r14+rax]
mov [QUESTSCAN],rax
pop rax
code:
  movzx ebx,byte ptr [r14+rax]
  jmp return

QUEST_SCAN:
  jmp newmem
return:
registersymbol(QUEST_SCAN)

[DISABLE]

QUEST_SCAN:
  db 41 0F B6 1C 06

unregistersymbol(QUEST_SCAN)
dealloc(newmem)
dealloc(QUESTSCAN)
{
// ORIGINAL CODE - INJECTION POINT: ScarletNexus-Win64-Shipping.exe+F7EB03

ScarletNexus-Win64-Shipping.exe+F7EAE1: 74 0A              - je ScarletNexus-Win64-Shipping.exe+F7EAED
ScarletNexus-Win64-Shipping.exe+F7EAE3: 48 8B 4C 24 30     - mov rcx,[rsp+30]
ScarletNexus-Win64-Shipping.exe+F7EAE8: E8 C3 97 44 00     - call ScarletNexus-Win64-Shipping.exe+13C82B0
ScarletNexus-Win64-Shipping.exe+F7EAED: 8B D7              - mov edx,edi
ScarletNexus-Win64-Shipping.exe+F7EAEF: 48 8B CE           - mov rcx,rsi
ScarletNexus-Win64-Shipping.exe+F7EAF2: E8 A9 2E 00 00     - call ScarletNexus-Win64-Shipping.exe+F819A0
ScarletNexus-Win64-Shipping.exe+F7EAF7: 84 C0              - test al,al
ScarletNexus-Win64-Shipping.exe+F7EAF9: 74 3C              - je ScarletNexus-Win64-Shipping.exe+F7EB37
ScarletNexus-Win64-Shipping.exe+F7EAFB: 48 8B 46 58        - mov rax,[rsi+58]
ScarletNexus-Win64-Shipping.exe+F7EAFF: 49 C1 E6 05        - shl r14,05
// ---------- INJECTING HERE ----------
ScarletNexus-Win64-Shipping.exe+F7EB03: 41 0F B6 1C 06     - movzx ebx,byte ptr [r14+rax]
// ---------- DONE INJECTING  ----------
ScarletNexus-Win64-Shipping.exe+F7EB08: 84 DB              - test bl,bl
ScarletNexus-Win64-Shipping.exe+F7EB0A: 75 26              - jne ScarletNexus-Win64-Shipping.exe+F7EB32
ScarletNexus-Win64-Shipping.exe+F7EB0C: 39 BE C0 00 00 00  - cmp [rsi+000000C0],edi
ScarletNexus-Win64-Shipping.exe+F7EB12: 7E 1E              - jle ScarletNexus-Win64-Shipping.exe+F7EB32
ScarletNexus-Win64-Shipping.exe+F7EB14: 48 85 ED           - test rbp,rbp
ScarletNexus-Win64-Shipping.exe+F7EB17: 74 19              - je ScarletNexus-Win64-Shipping.exe+F7EB32
ScarletNexus-Win64-Shipping.exe+F7EB19: 48 8D 55 78        - lea rdx,[rbp+78]
ScarletNexus-Win64-Shipping.exe+F7EB1D: 48 8B CE           - mov rcx,rsi
ScarletNexus-Win64-Shipping.exe+F7EB20: E8 DB 67 FF FF     - call ScarletNexus-Win64-Shipping.exe+F75300
ScarletNexus-Win64-Shipping.exe+F7EB25: 84 C0              - test al,al
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>88364</ID>
          <Description>"Status"</Description>
          <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">00:undiscovered
02:in progress
03:can be achieved
04:complete
</DropDownList>
          <LastState Value="03" RealAddress="1B50F598080"/>
          <ShowAsHex>1</ShowAsHex>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Byte</VariableType>
          <Address>QUESTSCAN</Address>
          <Offsets>
            <Offset>0</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
</CheatTable>
...So is this already incorporated into one of the cheat tables, or would I have to enter this manually? I honestly still don't understand how modifying pre-existing tables works...

Re: Scarlet Nexus

Posted: Wed Jan 11, 2023 10:43 am
by MancombSeepgood
I've updated the table to work with the most recent game version (1.08). I couldn't get the infinite items script to work, though, so if someone wants to have a go at that, feel free to check the original table (I've removed it from the updated version for the time being).

I've also added a bunch of new stuff, namely
  • Bond levels and values
  • An item editor, courtesy of the work posted by Acido and zachillios earlier in the thread - all credit goes to them
  • A quest editor, courtesy of zachillios' work earlier in the thread - all credit goes to them
Full credit for the original table goes to aSwedishMagyar - I just updated the pointers (which I couldn't have done without Cake-San's template).

Enjoy :).

Re: Scarlet Nexus

Posted: Sat Apr 22, 2023 12:28 pm
by JannaSnow
Is ignoring exchange items impossible? Cuz i haven't seen anyone do it

Re: Scarlet Nexus

Posted: Sat May 13, 2023 3:23 am
by Gaibaa
Does anyone know what I should change the damagecalcs to so that I do 0 crush damage? Trying to do the sidequest where I use a Psychokinesis finish but everytime I do it just removes all crush armor

Edit: nevermind, found the quest editor in the newest version that let me set it the quest to ready for turn in. So awesome. I'd delete this post but I can't figure out how lol

Re: Scarlet Nexus

Posted: Mon Jun 05, 2023 10:19 pm
by windgale
Quick question, I can't seem to get the "No Item Use Delay" option to work. It selects like normal but I still have a delay. Just wondering if anyone had ideas?

Re: Scarlet Nexus

Posted: Wed Sep 20, 2023 3:01 am
by XutaxKamay
I made a cheat table for v1.0.7 where you can get all items from the beginning by purchasing only one item in the first shop you encounter,
this can be modified to be called from hijacking a thread and looping through all items and calling the adding item function but if you don't want to do that you can just use this.
It can be also updated for v1.0.8 but since I don't have that version I can't do it.

You also need to use MancombSeepgood's cheat table to make this work. (because it depends on GEngine symbol)

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>89891</ID>
      <Description>"ItemList"</Description>
      <LastState Value="14266748" RealAddress="7FB89FA2B6E0"/>
      <ShowAsSigned>0</ShowAsSigned>
      <VariableType>8 Bytes</VariableType>
      <Address>GEngine</Address>
      <Offsets>
        <Offset>0</Offset>
        <Offset>938</Offset>
        <Offset>820</Offset>
        <Offset>50</Offset>
        <Offset>3D8</Offset>
        <Offset>80</Offset>
        <Offset>7A8</Offset>
      </Offsets>
    </CheatEntry>
    <CheatEntry>
      <ID>88852</ID>
      <Description>"All items after purchase"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ScarletNexus-Win64-Shipping.exe
  Version: 
  Date   : 2023-09-20
  Author : kamay

  This script does blah blah blah
}

define(address,"ScarletNexus-Win64-Shipping.exe"+1137B3D)
define(bytes,E8 7E 9E E7 FF)

{$lua}
local addressList = getAddressList()
local itemList = addressList.getMemoryRecordByDescription('ItemList')
local strDefine = "define(item_list_start, " .. ("%08X"):format(tostring(itemList.getCurrentAddress())) .. ")"
return strDefine
{$asm}

define(item_list_end,item_list_start+22E0)

[ENABLE]
registersymbol(item_list_start)
registersymbol(item_list_end)

assert(address,bytes)
alloc(newmem,$1000,"ScarletNexus-Win64-Shipping.exe"+1137B3D)

label(code)
label(return)

newmem:

code:
  mov rdx,item_list_start
loop:
  push r8
  push r9
  push rdx
  push rcx
  sub rsp,100
  mov byte ptr[rsp+28],0
  mov byte ptr[rsp+20],0
  call ScarletNexus-Win64-Shipping.exe+FB19C0
  add rsp,100
  pop rcx
  pop rdx
  pop r9
  pop r8
  add rdx,8
  push rax
  mov rax,item_list_end
  cmp rdx,rax
  pop rax
  je return
  jmp loop

address:
  jmp newmem
return:

[DISABLE]

address:
  db bytes
  // call ScarletNexus-Win64-Shipping.exe+FB19C0

dealloc(newmem)
unregistersymbol(item_list_start)
unregistersymbol(item_list_end)

{
// ORIGINAL CODE - INJECTION POINT: ScarletNexus-Win64-Shipping.exe+1137B3D

ScarletNexus-Win64-Shipping.exe+1137B0A: 0F 8E CE 01 00 00        - jng ScarletNexus-Win64-Shipping.exe+1137CDE
ScarletNexus-Win64-Shipping.exe+1137B10: 49 63 06                 - movsxd  rax,dword ptr [r14]
ScarletNexus-Win64-Shipping.exe+1137B13: 41 B1 01                 - mov r9b,01
ScarletNexus-Win64-Shipping.exe+1137B16: 48 8B 97 38 09 00 00     - mov rdx,[rdi+00000938]
ScarletNexus-Win64-Shipping.exe+1137B1D: C6 44 24 28 00           - mov byte ptr [rsp+28],00
ScarletNexus-Win64-Shipping.exe+1137B22: C6 44 24 20 00           - mov byte ptr [rsp+20],00
ScarletNexus-Win64-Shipping.exe+1137B27: 48 8D 0C C5 00 00 00 00  - lea rcx,[rax*8+00000000]
ScarletNexus-Win64-Shipping.exe+1137B2F: 48 89 4D 77              - mov [rbp+77],rcx
ScarletNexus-Win64-Shipping.exe+1137B33: 48 03 D1                 - add rdx,rcx
ScarletNexus-Win64-Shipping.exe+1137B36: 48 8B 8F A8 03 00 00     - mov rcx,[rdi+000003A8]
// ---------- INJECTING HERE ----------
ScarletNexus-Win64-Shipping.exe+1137B3D: E8 7E 9E E7 FF           - call ScarletNexus-Win64-Shipping.exe+FB19C0
// ---------- DONE INJECTING  ----------
ScarletNexus-Win64-Shipping.exe+1137B42: 48 8D 05 EF 1D 8F 02     - lea rax,[ScarletNexus-Win64-Shipping.exe+3A29938]
ScarletNexus-Win64-Shipping.exe+1137B49: C7 45 C3 63 00 00 00     - mov [rbp-3D],00000063
ScarletNexus-Win64-Shipping.exe+1137B50: 48 89 45 A7              - mov [rbp-59],rax
ScarletNexus-Win64-Shipping.exe+1137B54: 48 8D 15 7D 34 81 02     - lea rdx,[ScarletNexus-Win64-Shipping.exe+394AFD8]
ScarletNexus-Win64-Shipping.exe+1137B5B: 33 C0                    - xor eax,eax
ScarletNexus-Win64-Shipping.exe+1137B5D: C7 45 C7 E8 03 00 00     - mov [rbp-39],000003E8
ScarletNexus-Win64-Shipping.exe+1137B64: 0F 57 C0                 - xorps xmm0,xmm0
ScarletNexus-Win64-Shipping.exe+1137B67: 48 89 45 AF              - mov [rbp-51],rax
ScarletNexus-Win64-Shipping.exe+1137B6B: 48 8D 4D 1F              - lea rcx,[rbp+1F]
ScarletNexus-Win64-Shipping.exe+1137B6F: 48 89 45 B7              - mov [rbp-49],rax
}
</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
</CheatTable>

Re: Scarlet Nexus

Posted: Wed Sep 20, 2023 11:36 pm
by XutaxKamay
Inf items auto assemble for v1.0.7

Code: Select all

{ Game   : ScarletNexus-Win64-Shipping.exe
  Version: 
  Date   : 2023-09-20
  Author : kamay

  This script does blah blah blah
}

define(address,"ScarletNexus-Win64-Shipping.exe"+FB1D9C)
define(bytes,42 8D 04 3F 89 44 24 60)

[ENABLE]

assert(address,bytes)
alloc(newmem,$1000,"ScarletNexus-Win64-Shipping.exe"+FB1D9C)

label(code)
label(return)

newmem:

code:
  mov eax,63
  mov [rsp+60],eax
  jmp return

address:
  jmp newmem
  nop 3
return:

[DISABLE]

address:
  db bytes
  // lea eax,[rdi+r15]
  // mov [rsp+60],eax

dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ScarletNexus-Win64-Shipping.exe+FB1D9C

ScarletNexus-Win64-Shipping.exe+FB1D82: E8 69 C3 3B 00  - call ScarletNexus-Win64-Shipping.exe+136E0F0
ScarletNexus-Win64-Shipping.exe+FB1D87: EB 9C           - jmp ScarletNexus-Win64-Shipping.exe+FB1D25
ScarletNexus-Win64-Shipping.exe+FB1D89: 8D 14 38        - lea edx,[rax+rdi]
ScarletNexus-Win64-Shipping.exe+FB1D8C: 3B CA           - cmp ecx,edx
ScarletNexus-Win64-Shipping.exe+FB1D8E: 7D 08           - jnl ScarletNexus-Win64-Shipping.exe+FB1D98
ScarletNexus-Win64-Shipping.exe+FB1D90: 44 8B F9        - mov r15d,ecx
ScarletNexus-Win64-Shipping.exe+FB1D93: 44 2B FF        - sub r15d,edi
ScarletNexus-Win64-Shipping.exe+FB1D96: EB 04           - jmp ScarletNexus-Win64-Shipping.exe+FB1D9C
ScarletNexus-Win64-Shipping.exe+FB1D98: 85 D2           - test edx,edx
ScarletNexus-Win64-Shipping.exe+FB1D9A: 78 6A           - js ScarletNexus-Win64-Shipping.exe+FB1E06
// ---------- INJECTING HERE ----------
ScarletNexus-Win64-Shipping.exe+FB1D9C: 42 8D 04 3F     - lea eax,[rdi+r15]
// ---------- DONE INJECTING  ----------
ScarletNexus-Win64-Shipping.exe+FB1DA0: 89 44 24 60     - mov [rsp+60],eax
ScarletNexus-Win64-Shipping.exe+FB1DA4: 41 89 44 24 08  - mov [r12+08],eax
ScarletNexus-Win64-Shipping.exe+FB1DA9: 3B C7           - cmp eax,edi
ScarletNexus-Win64-Shipping.exe+FB1DAB: 7E 0F           - jle ScarletNexus-Win64-Shipping.exe+FB1DBC
ScarletNexus-Win64-Shipping.exe+FB1DAD: 33 D2           - xor edx,edx
ScarletNexus-Win64-Shipping.exe+FB1DAF: 49 8B CE        - mov rcx,r14
ScarletNexus-Win64-Shipping.exe+FB1DB2: E8 F9 A3 00 00  - call ScarletNexus-Win64-Shipping.exe+FBC1B0
ScarletNexus-Win64-Shipping.exe+FB1DB7: 41 89 44 24 0C  - mov [r12+0C],eax
ScarletNexus-Win64-Shipping.exe+FB1DBC: 44 8B 64 24 20  - mov r12d,[rsp+20]
ScarletNexus-Win64-Shipping.exe+FB1DC1: 48 8B 54 24 38  - mov rdx,[rsp+38]
}

Re: Scarlet Nexus

Posted: Sat Dec 23, 2023 4:16 am
by gunculo
Does this work for the Microsoft Store version of Scarlet Nexus?

Re: Scarlet Nexus

Posted: Wed Feb 07, 2024 11:28 pm
by Harurun
gunculo wrote:
Sat Dec 23, 2023 4:16 am
Does this work for the Microsoft Store version of Scarlet Nexus?
on win store version.
enable box says
<<Failure determining what ScarletNexus-Win64-Shipping.exe+2B5E995 means>>
and i can't find way to say table look for -WinGDK- anywhere in script

item editor i was able to force it work once
by changing script
aobscanmodule(ItemAOB,ScarletNexus-Win64-Shipping.exe, to aobscanmodule(ItemAOB,ScarletNexus-WinGDK-Shipping.exe,
but after one time working
now it says

<<Error while scanning for AOB's : ItemAOB Error: Not all results found>>

and qest editor from 1.08 table
again. works if you rename -Win64- to -WinGDK- in script.
but i didn't tried if it actually works in game as i don't have unfinished sidequests at the moment

Re: Scarlet Nexus

Posted: Sun Mar 31, 2024 6:10 pm
by steerpike242
Was anything ever made to adjust the ingame time or a challenge editor like the quest editor?