Page 17 of 20

Re: Sword Art Online Last Recollection (Steam). Working for 1.03

Posted: Sat Oct 14, 2023 5:42 pm
by XVoid
There was a script on Lycoris' cheat table that made the timing for branch skills like Shine Circular much easier. Would it be possible to create a script like that for this game?

Re: Sword Art Online Last Recollection (Steam). Working for 1.03

Posted: Sun Oct 15, 2023 2:45 am
by a_busy_man
XVoid wrote:
Sat Oct 14, 2023 5:42 pm
There was a script on Lycoris' cheat table that made the timing for branch skills like Shine Circular much easier. Would it be possible to create a script like that for this game?
Maybe if we find the process that affects it. Despite being a sequel, it uses another engine, so things work very different internally.

Re: Sword Art Online Last Recollection (Steam). Working for 1.03

Posted: Sun Oct 15, 2023 7:57 am
by Rienfleche
using this, how to make hard coded quantity for Medicine to x9 (Max for medicine) and food/ Material to x9999 (Max for Material/Food)
it's very good to hardcoded for vessel, if not you need that farming that for ages (3 for weapon awakening and 300 for last skill / weapon divine beast 2500 i heard)

update, it's seem i found it, but please check it, this my first script with this stuff (cmp and jump stuff)
Spoiler
{ Game : sao_lr-Win64-Shipping.exe
Version:
Date : 2023-10-07
Author : Rienfleche

This script Make Medicine to x9, Food to x9999, and Vessel to x9999
}

[ENABLE]

aobscanmodule(Items,sao_lr-Win64-Shipping.exe,66 89 5F 50 E9 40 FD FF FF) // should be unique
alloc(newmem,$1000,Items)

label(code)
label(return)
label(Medicine)
label(Food)
label(Material)

newmem:
cmp word ptr [rdi+2],#356
je Medicine
cmp word ptr [rdi+2],#358
je Food
cmp word ptr [rdi+2],#376
je Material
jmp code

Medicine:
cmp bx,#9
je code
mov bx,#9
jmp code

Material:
cmp bx,#9999
je code
mov bx,#9999
jmp code

Food:
cmp bx,#9999
je code
mov bx,#9999
jmp code

code:
mov [rdi+50],bx
jmp sao_lr-Win64-Shipping.exe+11D5AAA
jmp return

Items:
jmp newmem
nop 4
return:
registersymbol(Items)

[DISABLE]

Items:
db 66 89 5F 50 E9 40 FD FF FF

unregistersymbol(*)
dealloc(*)

{
// ORIGINAL CODE - INJECTION POINT: sao_lr-Win64-Shipping.exe+11D5D61

sao_lr-Win64-Shipping.exe+11D5D37: 0F B7 4F 50 - movzx ecx,word ptr [rdi+50]
sao_lr-Win64-Shipping.exe+11D5D3B: 44 8B C5 - mov r8d,ebp
sao_lr-Win64-Shipping.exe+11D5D3E: 88 44 24 38 - mov [rsp+38],al
sao_lr-Win64-Shipping.exe+11D5D42: 8B D3 - mov edx,ebx
sao_lr-Win64-Shipping.exe+11D5D44: C6 44 24 30 3E - mov byte ptr [rsp+30],3E
sao_lr-Win64-Shipping.exe+11D5D49: C6 44 24 28 3D - mov byte ptr [rsp+28],3D
sao_lr-Win64-Shipping.exe+11D5D4E: 48 89 74 24 20 - mov [rsp+20],rsi
sao_lr-Win64-Shipping.exe+11D5D53: E8 B8 10 EF FF - call sao_lr-Win64-Shipping.exe+10C6E10
sao_lr-Win64-Shipping.exe+11D5D58: 66 89 6F 50 - mov [rdi+50],bp
sao_lr-Win64-Shipping.exe+11D5D5C: E9 49 FD FF FF - jmp sao_lr-Win64-Shipping.exe+11D5AAA
// ---------- INJECTING HERE ----------
sao_lr-Win64-Shipping.exe+11D5D61: 66 89 5F 50 - mov [rdi+50],bx
// ---------- DONE INJECTING ----------
sao_lr-Win64-Shipping.exe+11D5D65: E9 40 FD FF FF - jmp sao_lr-Win64-Shipping.exe+11D5AAA
sao_lr-Win64-Shipping.exe+11D5D6A: CC - int 3
sao_lr-Win64-Shipping.exe+11D5D6B: CC - int 3
sao_lr-Win64-Shipping.exe+11D5D6C: CC - int 3
sao_lr-Win64-Shipping.exe+11D5D6D: CC - int 3
sao_lr-Win64-Shipping.exe+11D5D6E: CC - int 3
sao_lr-Win64-Shipping.exe+11D5D6F: CC - int 3
sao_lr-Win64-Shipping.exe+11D5D70: 40 53 - push rbx
sao_lr-Win64-Shipping.exe+11D5D72: 41 56 - push r14
sao_lr-Win64-Shipping.exe+11D5D74: 41 57 - push r15
}
Spoiler
a_busy_man wrote:
Tue Oct 10, 2023 6:08 am
Rienfleche wrote:
Tue Oct 10, 2023 5:41 am
That where i am worried too, if it affect key items but i am clueless how to make that cmp script.
So after this cmp it only affect food and items right?
Can you teach me how to make that cmp for items?

newmem:
cmp word ptr [rdi+2],#358
je InfiniteFoodPotions
cmp word ptr [rdi+2],#356
je InfiniteFoodPotions
jmp code
The cmp is basically ordering to compare two factors, so you need to know what you want to compare. This is the equivalent of the classical "If" in high programmign languages. Meanwhile this is Assembly, which is a low-level progamming language and as such, it is harder for humans to understand than high-level programming language, but to edit memory like cheat engine does this is necesssary

cmp word ptr [rdi+2],#358

cmp is the order to compare
word means the type of the field to be compared if 2byte. byte would be for Byte, dword for 4 Byte, and qword for 8 Byte, although 4byte is the defualt, so you can omit the dword ptr if you are using 4 byte as the type. Don't forget to add the ptr after it.
rdi is one of the values stored in memory, in this particular function edit is always the Item ID (when you check a funciton you can click shw more to see what each thing means), and we know that Item ID +2 is the Item Type and that Item ID + 50 is the Item Quantity since we alreadey got those fields for our Highlight Item fields.

We also know that 358 and 336 are the values for Food and Potions, while the # is to make those number integer instead of hex, which would be the default otherwise.

Then we have je which means jump if equal if the cmp put previously has the two values being identical it executes this jump, so in our case, it is jumping to the function only when the Item Type is equal to the one for Food and Potions while on any other case it jmp which is jump without any conditionals to code which is the original unaltered code.

Note that this last jmp is very improtant, otherwise the script will continue reading from top to bottom and we don't want the values not following the conditions to trigger the function made for the Food and Potions to not diminish.

Re: Sword Art Online Last Recollection (Steam). Working for 1.03

Posted: Sun Oct 15, 2023 11:46 pm
by gradius12
would be nice if the hunt quest respawn timer would work on db bosses

finally max lvl 60 script cmp is at 358 and game completed now time to wait for dlc stuff

Re: Sword Art Online Last Recollection (Steam). Working for 1.03

Posted: Mon Oct 16, 2023 1:23 pm
by tedios
Is it just me or does the
a_busy_man's table 1 hit kill also start killing the player at rank 52+ (as max rank is 60 with medals), as soon as I've hit 53 all my party member also started being at 1 hit range?

Edit: Ah took a bit of reading and it seems to be a compare issue.

Re: Sword Art Online Last Recollection (Steam). Working for 1.03

Posted: Tue Oct 17, 2023 1:46 am
by acecel
Amazing table, thank you.

Re: Sword Art Online Last Recollection (Steam). Working for 1.03

Posted: Tue Oct 17, 2023 4:34 am
by a_busy_man
tedios wrote:
Mon Oct 16, 2023 1:23 pm
Is it just me or does the
a_busy_man's table 1 hit kill also start killing the player at rank 52+ (as max rank is 60 with medals), as soon as I've hit 53 all my party member also started being at 1 hit range?

Edit: Ah took a bit of reading and it seems to be a compare issue.
I have to update the table, but I haven't been able to play this week and I have lots of things to test from last posts. This 1Hit Kill shoudl work with all levels:
Spoiler
[ENABLE]

aobscanmodule(1HKill,$process,48 8B 10 48 85 D2 79 31) // should be unique
alloc(newmem,$1000,1HKill)

label(code)
label(return)

newmem:
cmp [rax+50],(int)302
jl code
cmp [rax+50],(int)344
jl CompareRank
cmp [rax+50],(int)360
jl CompareRank2
jmp 1HitKill

CompareRank:
cmp [rax+30],(int)24
jg code
jmp 1HitKill

CompareRank2:
cmp word ptr [rax+30],(int)70
jg code
jmp 1HitKill

1HitKill:
mov rdx,0
test rdx,rdx
jmp return

code:
mov rdx,[rax]
test rdx,rdx
jmp return

1HKill:
jmp newmem
nop
return:
registersymbol(1HKill)

[DISABLE]

1HKill:
db 48 8B 10 48 85 D2

unregistersymbol(*)
dealloc(*)

{
// ORIGINAL CODE - INJECTION POINT: sao_lr-Win64-Shipping.exe+114F15B

sao_lr-Win64-Shipping.exe+114F13E: CC - int 3
sao_lr-Win64-Shipping.exe+114F13F: CC - int 3
sao_lr-Win64-Shipping.exe+114F140: 48 89 5C 24 10 - mov [rsp+10],rbx
sao_lr-Win64-Shipping.exe+114F145: 48 89 74 24 18 - mov [rsp+18],rsi
sao_lr-Win64-Shipping.exe+114F14A: 57 - push rdi
sao_lr-Win64-Shipping.exe+114F14B: 48 83 EC 40 - sub rsp,40
sao_lr-Win64-Shipping.exe+114F14F: 48 8B 41 08 - mov rax,[rcx+08]
sao_lr-Win64-Shipping.exe+114F153: 48 8B F2 - mov rsi,rdx
sao_lr-Win64-Shipping.exe+114F156: 33 DB - xor ebx,ebx
sao_lr-Win64-Shipping.exe+114F158: 48 8B F9 - mov rdi,rcx
// ---------- INJECTING HERE ----------
sao_lr-Win64-Shipping.exe+114F15B: 48 8B 10 - mov rdx,[rax]
// ---------- DONE INJECTING ----------
sao_lr-Win64-Shipping.exe+114F15E: 48 85 D2 - test rdx,rdx
sao_lr-Win64-Shipping.exe+114F161: 79 31 - jns sao_lr-Win64-Shipping.exe+114F194
sao_lr-Win64-Shipping.exe+114F163: 0F B6 44 24 50 - movzx eax,byte ptr [rsp+50]
sao_lr-Win64-Shipping.exe+114F168: 45 33 C9 - xor r9d,r9d
sao_lr-Win64-Shipping.exe+114F16B: 88 44 24 38 - mov [rsp+38],al
sao_lr-Win64-Shipping.exe+114F16F: B9 E8 03 00 00 - mov ecx,000003E8
sao_lr-Win64-Shipping.exe+114F174: C6 44 24 30 3C - mov byte ptr [rsp+30],3C
sao_lr-Win64-Shipping.exe+114F179: 49 B8 FF FF FF FF FF FF FF 7F - mov r8,7FFFFFFFFFFFFFFF
sao_lr-Win64-Shipping.exe+114F183: C6 44 24 28 3D - mov byte ptr [rsp+28],3D
sao_lr-Win64-Shipping.exe+114F188: 48 89 5C 24 20 - mov [rsp+20],rbx
}

Re: Sword Art Online Last Recollection (Steam). Working for 1.03

Posted: Thu Oct 19, 2023 4:59 pm
by a_busy_man
Version 1.5 of the table released:

v.1.5 Update
  • Added Armor Dye with respective Sropdown
  • Fixed HP and SP related scripts to work even at 50+ Rank characters without issues nor affecting enemies wrongly.
  • Added Seal Power Type Static Pointerand its dropdown.
  • Added Infinite Food and Potions (Need at least 2 before use) script.
  • Added Tactical Arts Used Static Pointer.
  • Added Awakening Charges Don't Decrease script.
  • Added Medal Unlocking Scripts for Tactical Arts and Sword Skill 10000 Times.
  • Improved Dropdowns

Re: Sword Art Online Last Recollection (Steam). Working for 1.03

Posted: Thu Oct 19, 2023 6:01 pm
by lovelove12345
a_busy_man wrote:
Thu Oct 19, 2023 4:59 pm
Version 1.5 of the table released:

v.1.5 Update
  • Added Armor Dye with respective Sropdown
  • Fixed HP and SP related scripts to work even at 50+ Rank characters without issues nor affecting enemies wrongly.
  • Added Seal Power Type Static Pointerand its dropdown.
  • Added Infinite Food and Potions (Need at least 2 before use) script.
  • Added Tactical Arts Used Static Pointer.
  • Added Awakening Charges Don't Decrease script.
  • Added Medal Unlocking Scripts for Tactical Arts and Sword Skill 10000 Times.
  • Improved Dropdowns
Can you add the option to add items, key items?

Re: Sword Art Online Last Recollection (Steam). Working for 1.03

Posted: Thu Oct 19, 2023 7:17 pm
by a_busy_man
lovelove12345 wrote:
Thu Oct 19, 2023 6:01 pm
a_busy_man wrote:
Thu Oct 19, 2023 4:59 pm
Version 1.5 of the table released:

v.1.5 Update
  • Added Armor Dye with respective Sropdown
  • Fixed HP and SP related scripts to work even at 50+ Rank characters without issues nor affecting enemies wrongly.
  • Added Seal Power Type Static Pointerand its dropdown.
  • Added Infinite Food and Potions (Need at least 2 before use) script.
  • Added Tactical Arts Used Static Pointer.
  • Added Awakening Charges Don't Decrease script.
  • Added Medal Unlocking Scripts for Tactical Arts and Sword Skill 10000 Times.
  • Improved Dropdowns
Can you add the option to add items, key items?
For ordinary items, just change something you can buy in the shop for what you want. Key items are locked by default and can't be modified at all as of now. Maybe there is a way, but I don't have time to investigate it.

Re: Sword Art Online Last Recollection (Steam). Working for 1.03

Posted: Thu Oct 19, 2023 7:19 pm
by TheByteSize
Here is timer for Longer Wait Hunt and DB.
Script is set to 5 seconds respawn. If you have slow computer, you might want to increase it to 10.
Don't set it to 0.

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>116557</ID>
      <Description>"Fast Hunt Respawn + DB"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]

aobscanmodule(sao_lr_long_wait_hunt,$process,F3 0F 10 66 20 F3) // should be unique
alloc(newmem,$1000,sao_lr_long_wait_hunt)

label(code)
label(return)

newmem:
  mov [rsi+24],(float)5
code:
  movss xmm4,[rsi+20]
  jmp return

sao_lr_long_wait_hunt:
  jmp newmem
return:
registersymbol(sao_lr_long_wait_hunt)

[DISABLE]

sao_lr_long_wait_hunt:
  db F3 0F 10 66 20

unregistersymbol(sao_lr_long_wait_hunt)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: sao_lr-Win64-Shipping.exe+125243F

sao_lr-Win64-Shipping.exe+1252411: 7E 13                    - jle sao_lr-Win64-Shipping.exe+1252426
sao_lr-Win64-Shipping.exe+1252413: 49 8B 86 A0 00 00 00     - mov rax,[r14+000000A0]
sao_lr-Win64-Shipping.exe+125241A: 80 78 44 01              - cmp byte ptr [rax+44],01
sao_lr-Win64-Shipping.exe+125241E: 75 06                    - jne sao_lr-Win64-Shipping.exe+1252426
sao_lr-Win64-Shipping.exe+1252420: 41 0F 28 C1              - movaps xmm0,xmm9
sao_lr-Win64-Shipping.exe+1252424: EB 04                    - jmp sao_lr-Win64-Shipping.exe+125242A
sao_lr-Win64-Shipping.exe+1252426: 41 0F 28 C0              - movaps xmm0,xmm8
sao_lr-Win64-Shipping.exe+125242A: 48 8B 74 24 40           - mov rsi,[rsp+40]
sao_lr-Win64-Shipping.exe+125242F: F3 0F 10 3D 09 96 FB 02  - movss xmm7,[sao_lr-Win64-Shipping.exe+420BA40]
sao_lr-Win64-Shipping.exe+1252437: F3 0F 10 35 05 96 FB 02  - movss xmm6,[sao_lr-Win64-Shipping.exe+420BA44]
// ---------- INJECTING HERE ----------
sao_lr-Win64-Shipping.exe+125243F: F3 0F 10 66 20           - movss xmm4,[rsi+20]
// ---------- DONE INJECTING  ----------
sao_lr-Win64-Shipping.exe+1252444: F3 0F 10 4E 24           - movss xmm1,[rsi+24]
sao_lr-Win64-Shipping.exe+1252449: 0F 28 D4                 - movaps xmm2,xmm4
sao_lr-Win64-Shipping.exe+125244C: F3 0F 5C CC              - subss xmm1,xmm4
sao_lr-Win64-Shipping.exe+1252450: F3 0F 5D C8              - minss xmm1,xmm0
sao_lr-Win64-Shipping.exe+1252454: F3 41 0F 5F CA           - maxss xmm1,xmm10
sao_lr-Win64-Shipping.exe+1252459: F3 0F 58 D1              - addss xmm2,xmm1
sao_lr-Win64-Shipping.exe+125245D: 0F 2F D7                 - comiss xmm2,xmm7
sao_lr-Win64-Shipping.exe+1252460: 73 2C                    - jae sao_lr-Win64-Shipping.exe+125248E
sao_lr-Win64-Shipping.exe+1252462: 88 5C 24 38              - mov [rsp+38],bl
sao_lr-Win64-Shipping.exe+1252466: 0F 28 DF                 - movaps xmm3,xmm7
}
</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
</CheatTable>


Re: Sword Art Online Last Recollection (Steam). Working for 1.03

Posted: Fri Oct 20, 2023 12:22 pm
by gradius12
Seems like there was a big update today

Re: Sword Art Online Last Recollection (Steam). Working for 1.03

Posted: Fri Oct 20, 2023 3:00 pm
by TheByteSize
@busy-man,
in your highlight item script at:

Code: Select all

alloc(iBase,4)
that need to change to 8; I think you forgot.

Re: Sword Art Online Last Recollection (Steam). Working for 1.04

Posted: Sat Oct 21, 2023 5:38 am
by a_busy_man
Released version 2.0 of the table to be compatible with the 1.04 update of the game.

v.2.0 Update
  • Compatible with v1.04 update of the game.
  • Small fix to Highlighted Item
TheByteSize wrote:
Fri Oct 20, 2023 3:00 pm
@busy-man,
in your highlight item script at:

Code: Select all

alloc(iBase,4)
that need to change to 8; I think you forgot.
Thank you for pointing it out. Fixed on 2.0.
gradius12 wrote:
Fri Oct 20, 2023 12:22 pm
Seems like there was a big update today
Yeah, it caught me off-guard, but there is already update of the table. It should all work, but if something is broken and I didn't notice, please tell.

Re: Sword Art Online Last Recollection (Steam). Working for 1.04

Posted: Mon Oct 23, 2023 1:12 pm
by Green123nebula
The Quick respawn Hunt Quest option doesn't work for some quest like "Keepers of the Ceremonial Right" in the Alfie Falls Ruins, "They can't have the Greenbelt" in Volphon Drylands, "What Devours" in Voltrome Ravine. also the "Wall of Tranquility" item skill is still "Wakk of Tranquility" in the table.