Re: Doraemon Story of Seasons (Steam)
Posted: Mon Oct 21, 2019 2:47 pm
Hmm, my bad . So did it work ? If it doesn't work, I might have another clue... or if it does work I might have another problem
Community Cheat Tables of Cheat Engine
https://fearlessrevolution.com/
Hmm, my bad . So did it work ? If it doesn't work, I might have another clue... or if it does work I might have another problem
doesn't work
I see.
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>4610</ID>
<Description>"Easy Bug Catching"</Description>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
assert(BugController:Update,55 48 8B EC 56)
alloc(newmem2,2048,BugController:Update)
label(returnhere2)
getmonostruct(BugController)
getmonostruct(BugDataModel)
getmonostruct(BugMasterModel)
newmem2:
push rbp
mov rbp,rsp
push rsi
test rcx,rcx
je short @f
mov byte ptr[rcx+BugController.mIsStay],1
mov rsi,[rcx+BugController.mBugModel]
test rsi,rsi
je short @f
mov rsi,[rsi+BugDataModel.mBugData]
test rsi,rsi
je short @f
mov byte ptr[rsi+BugMasterModel.mIsRandomQuality],0
mov dword ptr[rsi+BugMasterModel.mQuality],#10
@@:
jmp returnhere2
BugController:Update:
jmp newmem2
returnhere2:
assert(BugPointController:GetBugData,55 48 8B EC 56)
aobscanregion(_GetMapName,TextUtility:GetMapName,TextUtility:GetMapName+50,49)
aobscanregion(_FarmPlayerControllerUpdate,FarmPlayerController:Update,FarmPlayerController:Update+50,49)
aobscanregion(_ListContains,FarmModel:AddCookingRecipe,FarmModel:AddCookingRecipe+50,49)
getmonostruct(MasterManager)
getmonostruct(BugMasterCollection)
getmonostruct(BugMasterModel)
getmonostruct(UserManager)
getmonostruct(UserModel)
getmonostruct(PicturebookModel)
getmonostruct(BugDataModel)
alloc(newmem,2048,BugPointController:GetBugData)
label(returnhere)
label(exit)
label(temp)
newmem:
push rbp
mov rbp,rsp
push rsi
lea rdx,[rdx]
test rdx,rdx
je long exit
mov [temp],rax
mov [temp+8],rbx
mov [temp+10],rcx
mov [temp+18],rdx
mov [temp+20],r8
mov [temp+28],r9
mov [temp+30],r10
mov [temp+38],r11
readmem(_FarmPlayerControllerUpdate,31)
mov rcx,[rax+UserManager.mUser]
mov rcx,[rcx+UserModel.mBugPicturebookModel]
mov [temp+60],rcx
mov rcx,[rcx+PicturebookModel.mItemIdList]
mov [temp+50],rcx
mov rcx,[temp+60]
sub rsp,30
mov r11,"PicturebookModel:OnBeforeSerialize"
call r11
add rsp,30
readmem(_GetMapName,31)
mov rbx,rax
mov rbx,[rbx+MasterManager.mBugMaster]
mov rbx,[rbx+BugMasterCollection.mBugDatas]
mov [temp+58],rbx
@@:
xor rax,rax
mov rbx,[temp+58]
mov al,[temp+40]
cmp al,[rbx+38]
jnl short @f
mov rbx,[rbx+28]
mov rbx,[rbx+20+rax*8]
add byte ptr[temp+40],01
mov [temp+48],rbx
mov rbx,dword ptr[rbx+BugMasterModel.mItemId]
mov rcx,[temp+50]
mov rax,rcx
mov rdx,rbx
sub rsp,20
cmp dword ptr [rax],00
reassemble(_ListContains)
call r11
add rsp,20
test eax,eax
jne short @b
mov rdx,[temp+18]
mov dword ptr[rdx+18],01
mov rbx,[temp+48]
mov rdx,[rdx+20]
mov [rdx+BugDataModel.mBugData],rbx
jmp short exit
@@:
xor rcx,rcx
mov rax,[temp+50]
mov rbx,[temp+58]
mov eax,dword ptr[rax+18]
cmp eax,dword ptr[rbx+38]
jnl short exit
mov byte ptr[temp+40],0
exit:
mov rax,[temp]
mov rbx,[temp+8]
mov rcx,[temp+10]
mov rdx,[temp+18]
mov r8,[temp+20]
mov r9,[temp+28]
mov r10,[temp+30]
mov r11,[temp+38]
lea rdx,[rdx]
jmp returnhere
temp:
dq 0 0 0 0 0 0 0 0 0 0 0 0 0 0
BugPointController:GetBugData:
jmp newmem
returnhere:
[DISABLE]
dealloc(newmem2)
BugController:Update:
//push rbp
//mov rbp,rsp
//push rsi
db 55 48 8B EC 56
dealloc(newmem)
BugPointController:GetBugData:
//push rbp
//mov rbp,rsp
//push rsi
db 55 48 8B EC 56
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatTable>
it worked, but the game crashed when i move to other areaCake-san wrote: βMon Oct 21, 2019 3:13 pmI see.
nope, there are no prerequisites...
Here try this, just paste it directly into CE:Code: Select all
<?xml version="1.0" encoding="utf-8"?> <CheatTable> <CheatEntries> <CheatEntry> <ID>4610</ID> <Description>"Easy Bug Catching"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] assert(BugController:Update,55 48 8B EC 56) alloc(newmem2,2048,BugController:Update) label(returnhere2) getmonostruct(BugController) getmonostruct(BugDataModel) getmonostruct(BugMasterModel) newmem2: push rbp mov rbp,rsp push rsi test rcx,rcx je short @f mov byte ptr[rcx+BugController.mIsStay],1 mov rsi,[rcx+BugController.mBugModel] test rsi,rsi je short @f mov rsi,[rsi+BugDataModel.mBugData] test rsi,rsi je short @f mov byte ptr[rsi+BugMasterModel.mIsRandomQuality],0 mov dword ptr[rsi+BugMasterModel.mQuality],#10 @@: jmp returnhere2 BugController:Update: jmp newmem2 returnhere2: assert(BugPointController:GetBugData,55 48 8B EC 56) aobscanregion(_GetMapName,TextUtility:GetMapName,TextUtility:GetMapName+50,49) aobscanregion(_FarmPlayerControllerUpdate,FarmPlayerController:Update,FarmPlayerController:Update+50,49) aobscanregion(_ListContains,FarmModel:AddCookingRecipe,FarmModel:AddCookingRecipe+50,49) getmonostruct(MasterManager) getmonostruct(BugMasterCollection) getmonostruct(BugMasterModel) getmonostruct(UserManager) getmonostruct(UserModel) getmonostruct(PicturebookModel) getmonostruct(BugDataModel) alloc(newmem,2048,BugPointController:GetBugData) label(returnhere) label(exit) label(temp) newmem: push rbp mov rbp,rsp push rsi lea rdx,[rdx] test rdx,rdx je long exit mov [temp],rax mov [temp+8],rbx mov [temp+10],rcx mov [temp+18],rdx mov [temp+20],r8 mov [temp+28],r9 mov [temp+30],r10 mov [temp+38],r11 readmem(_FarmPlayerControllerUpdate,31) mov rcx,[rax+UserManager.mUser] mov rcx,[rcx+UserModel.mBugPicturebookModel] mov [temp+60],rcx mov rcx,[rcx+PicturebookModel.mItemIdList] mov [temp+50],rcx mov rcx,[temp+60] sub rsp,30 mov r11,"PicturebookModel:OnBeforeSerialize" call r11 add rsp,30 readmem(_GetMapName,31) mov rbx,rax mov rbx,[rbx+MasterManager.mBugMaster] mov rbx,[rbx+BugMasterCollection.mBugDatas] mov [temp+58],rbx @@: xor rax,rax mov rbx,[temp+58] mov al,[temp+40] cmp al,[rbx+38] jnl short @f mov rbx,[rbx+28] mov rbx,[rbx+20+rax*8] add byte ptr[temp+40],01 mov [temp+48],rbx mov rbx,dword ptr[rbx+BugMasterModel.mItemId] mov rcx,[temp+50] mov rax,rcx mov rdx,rbx sub rsp,20 cmp dword ptr [rax],00 reassemble(_ListContains) call r11 add rsp,20 test eax,eax jne short @b mov rdx,[temp+18] mov dword ptr[rdx+18],01 mov rbx,[temp+48] mov rdx,[rdx+20] mov [rdx+BugDataModel.mBugData],rbx jmp short exit @@: xor rcx,rcx mov rax,[temp+50] mov rbx,[temp+58] mov eax,dword ptr[rax+18] cmp eax,dword ptr[rbx+38] jnl short exit mov byte ptr[temp+40],0 exit: mov rax,[temp] mov rbx,[temp+8] mov rcx,[temp+10] mov rdx,[temp+18] mov r8,[temp+20] mov r9,[temp+28] mov r10,[temp+30] mov r11,[temp+38] lea rdx,[rdx] jmp returnhere temp: dq 0 0 0 0 0 0 0 0 0 0 0 0 0 0 BugPointController:GetBugData: jmp newmem returnhere: [DISABLE] dealloc(newmem2) BugController:Update: //push rbp //mov rbp,rsp //push rsi db 55 48 8B EC 56 dealloc(newmem) BugPointController:GetBugData: //push rbp //mov rbp,rsp //push rsi db 55 48 8B EC 56 </AssemblerScript> </CheatEntry> </CheatEntries> </CheatTable>
Well, it's a progress.
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>4611</ID>
<Description>"Easy Bug Catching"</Description>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
assert(BugController:Update,55 48 8B EC 56)
alloc(newmem2,2048,BugController:Update)
label(returnhere2)
getmonostruct(BugController)
getmonostruct(BugDataModel)
getmonostruct(BugMasterModel)
newmem2:
push rbp
mov rbp,rsp
push rsi
test rcx,rcx
je short @f
mov byte ptr[rcx+BugController.mIsStay],1
mov rsi,[rcx+BugController.mBugModel]
test rsi,rsi
je short @f
mov rsi,[rsi+BugDataModel.mBugData]
test rsi,rsi
je short @f
mov byte ptr[rsi+BugMasterModel.mIsRandomQuality],0
mov dword ptr[rsi+BugMasterModel.mQuality],#10
@@:
jmp returnhere2
BugController:Update:
jmp newmem2
returnhere2:
assert(BugPointController:GetBugData,55 48 8B EC 56)
aobscanregion(_GetMapName,TextUtility:GetMapName,TextUtility:GetMapName+50,49)
aobscanregion(_FarmPlayerControllerUpdate,FarmPlayerController:Update,FarmPlayerController:Update+50,49)
//aobscanregion(_ListContains,FarmModel:AddCookingRecipe,FarmModel:AddCookingRecipe+50,49)
getmonostruct(MasterManager)
getmonostruct(BugMasterCollection)
getmonostruct(BugMasterModel)
getmonostruct(UserManager)
getmonostruct(UserModel)
getmonostruct(PicturebookModel)
getmonostruct(BugDataModel)
alloc(newmem,2048,BugPointController:GetBugData)
label(returnhere)
label(exit)
label(temp)
newmem:
push rbp
mov rbp,rsp
push rsi
lea rdx,[rdx]
test rdx,rdx
je long exit
mov [temp],rax
mov [temp+8],rbx
mov [temp+10],rcx
mov [temp+18],rdx
mov [temp+20],r8
mov [temp+28],r9
mov [temp+30],r10
mov [temp+38],r11
readmem(_FarmPlayerControllerUpdate,31)
mov rcx,[rax+UserManager.mUser]
mov rcx,[rcx+UserModel.mBugPicturebookModel]
mov [temp+60],rcx
mov rcx,[rcx+PicturebookModel.mItemIdList]
mov [temp+50],rcx
mov rcx,[temp+60]
sub rsp,30
mov r11,"PicturebookModel:OnBeforeSerialize"
call r11
add rsp,30
readmem(_GetMapName,31)
mov rbx,rax
mov rbx,[rbx+MasterManager.mBugMaster]
mov rbx,[rbx+BugMasterCollection.mBugDatas]
mov [temp+58],rbx
@@:
xor rax,rax
mov rbx,[temp+58]
mov al,[temp+40]
cmp al,[rbx+38]
jnl short @f
mov rbx,[rbx+28]
mov rbx,[rbx+20+rax*8]
add byte ptr[temp+40],01
mov [temp+48],rbx
mov rbx,dword ptr[rbx+BugMasterModel.mItemId]
/*
mov rcx,[temp+50]
mov rax,rcx
mov rdx,rbx
sub rsp,20
cmp dword ptr [rax],00
reassemble(_ListContains)
call r11
add rsp,20
test eax,eax
jne short @b
*/
mov rdx,[temp+18]
mov dword ptr[rdx+18],01
mov rbx,[temp+48]
mov rdx,[rdx+20]
mov [rdx+BugDataModel.mBugData],rbx
jmp short exit
@@:
xor rcx,rcx
mov rax,[temp+50]
mov rbx,[temp+58]
mov eax,dword ptr[rax+18]
cmp eax,dword ptr[rbx+38]
jnl short exit
mov byte ptr[temp+40],0
exit:
mov rax,[temp]
mov rbx,[temp+8]
mov rcx,[temp+10]
mov rdx,[temp+18]
mov r8,[temp+20]
mov r9,[temp+28]
mov r10,[temp+30]
mov r11,[temp+38]
lea rdx,[rdx]
jmp returnhere
temp:
dq 0 0 0 0 0 0 0 0 0 0 0 0 0 0
BugPointController:GetBugData:
jmp newmem
returnhere:
[DISABLE]
dealloc(newmem2)
BugController:Update:
//push rbp
//mov rbp,rsp
//push rsi
db 55 48 8B EC 56
dealloc(newmem)
BugPointController:GetBugData:
//push rbp
//mov rbp,rsp
//push rsi
db 55 48 8B EC 56
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatTable>
Code: Select all
[ENABLE]
assert("ItemSlotModel:TryAddItem",55)
aobscanregion(FarmPlayerController,FarmPlayerController:Update,FarmPlayerController:Update+50,48 8B C8 83 39 00)
registersymbol(FarmPlayerController)
alloc(newmem,2048,FarmPlayerController)
label(returnhere)
label(temp)
label(exit)
label(_getstore)
label(_UserManager)
registersymbol(_UserManager)
aobscanregion(_ConvertRateToSpeed,FarmPlayerController:ConvertRateToSpeed,FarmPlayerController:ConvertRateToSpeed+50,48 B8)
label(_player)
[_ConvertRateToSpeed+2]-20:
_player:
registersymbol(_player)
assert("FarmModel:AddCookingRecipe",55)
aobscanregion(_GetMapName,TextUtility:GetMapName,TextUtility:GetMapName+50,49)
getmonostruct(MasterManager)
getmonostruct(CookingRecipeMasterModel)
getmonostruct(UserManager)
getmonostruct(UserModel)
getmonostruct(PlayerModel)
getmonostruct(TimeModel)
getmonostruct(StaminaModel)
getmonostruct(InventoryModel)
getmonostruct(FarmModel)
getmonostruct(CookingToolModel)
registersymbol(UserManager.mUser)
registersymbol(UserModel.mPlayer)
registersymbol(UserModel.mTime)
registersymbol(UserModel.mInventory)
registersymbol(UserModel.mPlayTime)
registersymbol(PlayerModel.mStamina)
registersymbol(PlayerModel.mMoney)
registersymbol(TimeModel.mYear)
registersymbol(TimeModel.mSeason)
registersymbol(TimeModel.mDayOfWeek)
registersymbol(TimeModel.mDay)
registersymbol(TimeModel.mHour)
registersymbol(TimeModel.mMinute)
registersymbol(TimeModel.mSecond)
registersymbol(StaminaModel.mNow)
registersymbol(StaminaModel.mMax)
registersymbol(StaminaModel.mIsEmpty)
registersymbol(StaminaModel.mCanConsume)
registersymbol(StaminaModel.mTiredStateIndex)
registersymbol(InventoryModel.mLevel)
registersymbol(UserModel.mFarm)
registersymbol(FarmModel.mCookingTools)
registersymbol(CookingToolModel.mProficiency)
registersymbol(FarmModel.mBugPoints)
newmem:
mov [temp],rax
mov [temp+8],rbx
mov [temp+10],rcx
mov [temp+18],rdx
mov [temp+20],r8
mov [temp+28],r9
mov [temp+30],r10
mov [temp+38],r11
cmp byte ptr[_UserManager+8],1
jne short exit
@@:
mov rcx,[_UserManager]
test rcx,rcx
je short exit
mov rcx,[rcx+UserManager.mUser]
test rcx,rcx
je short exit
call _getstore
test rcx,rcx
je short exit
mov rdx,dword ptr[_UserManager+C]
mov r8,dword ptr[_UserManager+10]
mov r9,dword ptr[_UserManager+14]
sub rsp,30
mov r11,"ItemSlotModel:TryAddItem"
call r11
add rsp,30
mov byte ptr[_UserManager+8],0
test rax,rax
jne short exit
cmp byte ptr[_UserManager+9],1
je short exit
mov byte ptr[_UserManager+9],1
jmp short @b
exit:
cmp byte ptr[_UserManager+A],1
jne long @f
readmem(_GetMapName,31)
mov rbx,rax
xor rax,rax
mov rbx,[rbx+MasterManager.mCookingRecipeMaster]
mov rbx,[rbx+10]
mov al,[_UserManager+B]
xor rdx,rdx
mov dl,[rbx+38]
sub rdx,2
cmp al,dl
cmovb rax,[_UserManager+A]
mov [_UserManager+A],al
xor rax,rax
mov al,[_UserManager+B]
mov rbx,[rbx+28]
mov rdx,[rbx+rax*8+20]
test rdx,rdx
add byte ptr[_UserManager+B],01
je short @f
mov rdx,dword ptr[rdx+10]
mov rcx,[temp]
test rcx,rcx
je short @f
mov rcx,[rcx+UserManager.mUser]
test rcx,rcx
je short @f
mov rcx,[rcx+UserModel.mFarm]
test rcx,rcx
je short @f
sub rsp,30
mov r11,"FarmModel:AddCookingRecipe"
call r11
add rsp,30
@@:
mov rax,[temp]
mov rbx,[temp+8]
mov rcx,[temp+10]
mov rdx,[temp+18]
mov r8,[temp+20]
mov r9,[temp+28]
mov r10,[temp+30]
mov r11,[temp+38]
mov [_UserManager],rax
mov rcx,rax
cmp dword ptr [rcx],00
jmp returnhere
_getstore:
cmp byte ptr[_UserManager+9],0
jne short @f
mov rcx,[rcx+UserModel.mInventory]
ret
@@:
cmp byte ptr[_UserManager+9],1
jne short @f
mov rcx,[rcx+UserModel.mChest]
ret
@@:
cmp byte ptr[_UserManager+9],2
jne short @f
mov rcx,[rcx+UserModel.mRefrigerator]
ret
@@:
cmp byte ptr[_UserManager+9],3
jne short @f
mov rcx,[rcx+UserModel.mMaterialStorage]
ret
@@:
cmp byte ptr[_UserManager+9],4
jne short @f
mov rcx,[rcx+UserModel.mShippingBox]
ret
@@:
xor rcx,rcx
ret
_UserManager:
dq 0 0 0
temp:
dq 0 0 0 0 0 0 0 0 0
FarmPlayerController:
jmp newmem
nop
returnhere:
[DISABLE]
dealloc(newmem)
FarmPlayerController:
db 48 8B C8 83 39 00
//mov rcx,rax
//cmp dword ptr [rcx],00
unregistersymbol(FarmPlayerController)
unregistersymbol(_UserManager)
unregistersymbol(UserManager.mUser)
unregistersymbol(UserModel.mPlayer)
unregistersymbol(UserModel.mTime)
unregistersymbol(UserModel.mInventory)
unregistersymbol(UserModel.mPlayTime)
unregistersymbol(PlayerModel.mStamina)
unregistersymbol(PlayerModel.mMoney)
unregistersymbol(TimeModel.mYear)
unregistersymbol(TimeModel.mSeason)
unregistersymbol(TimeModel.mDayOfWeek)
unregistersymbol(TimeModel.mDay)
unregistersymbol(TimeModel.mHour)
unregistersymbol(TimeModel.mMinute)
unregistersymbol(TimeModel.mSecond)
unregistersymbol(StaminaModel.mNow)
unregistersymbol(StaminaModel.mMax)
unregistersymbol(StaminaModel.mIsEmpty)
unregistersymbol(StaminaModel.mCanConsume)
unregistersymbol(StaminaModel.mTiredStateIndex)
unregistersymbol(InventoryModel.mLevel)
unregistersymbol(UserModel.mFarm)
unregistersymbol(FarmModel.mCookingTools)
unregistersymbol(CookingToolModel.mProficiency)
unregistersymbol(FarmModel.mBugPoints)
unregistersymbol(_player)
still crashed, dudeCake-san wrote: βMon Oct 21, 2019 3:33 pmWell, it's a progress.
It crash because, it run code that's not yet initialized, to make it not crash you have to add cooking recipe, maybe
This should fix the crash but it will not read your bug picture book.
Just paste it directly into CEAnd more pointer for latest table - paste it into the script...Code: Select all
<?xml version="1.0" encoding="utf-8"?> <CheatTable> <CheatEntries> <CheatEntry> <ID>4611</ID> <Description>"Easy Bug Catching"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] assert(BugController:Update,55 48 8B EC 56) alloc(newmem2,2048,BugController:Update) label(returnhere2) getmonostruct(BugController) getmonostruct(BugDataModel) getmonostruct(BugMasterModel) newmem2: push rbp mov rbp,rsp push rsi test rcx,rcx je short @f mov byte ptr[rcx+BugController.mIsStay],1 mov rsi,[rcx+BugController.mBugModel] test rsi,rsi je short @f mov rsi,[rsi+BugDataModel.mBugData] test rsi,rsi je short @f mov byte ptr[rsi+BugMasterModel.mIsRandomQuality],0 mov dword ptr[rsi+BugMasterModel.mQuality],#10 @@: jmp returnhere2 BugController:Update: jmp newmem2 returnhere2: assert(BugPointController:GetBugData,55 48 8B EC 56) aobscanregion(_GetMapName,TextUtility:GetMapName,TextUtility:GetMapName+50,49) aobscanregion(_FarmPlayerControllerUpdate,FarmPlayerController:Update,FarmPlayerController:Update+50,49) //aobscanregion(_ListContains,FarmModel:AddCookingRecipe,FarmModel:AddCookingRecipe+50,49) getmonostruct(MasterManager) getmonostruct(BugMasterCollection) getmonostruct(BugMasterModel) getmonostruct(UserManager) getmonostruct(UserModel) getmonostruct(PicturebookModel) getmonostruct(BugDataModel) alloc(newmem,2048,BugPointController:GetBugData) label(returnhere) label(exit) label(temp) newmem: push rbp mov rbp,rsp push rsi lea rdx,[rdx] test rdx,rdx je long exit mov [temp],rax mov [temp+8],rbx mov [temp+10],rcx mov [temp+18],rdx mov [temp+20],r8 mov [temp+28],r9 mov [temp+30],r10 mov [temp+38],r11 readmem(_FarmPlayerControllerUpdate,31) mov rcx,[rax+UserManager.mUser] mov rcx,[rcx+UserModel.mBugPicturebookModel] mov [temp+60],rcx mov rcx,[rcx+PicturebookModel.mItemIdList] mov [temp+50],rcx mov rcx,[temp+60] sub rsp,30 mov r11,"PicturebookModel:OnBeforeSerialize" call r11 add rsp,30 readmem(_GetMapName,31) mov rbx,rax mov rbx,[rbx+MasterManager.mBugMaster] mov rbx,[rbx+BugMasterCollection.mBugDatas] mov [temp+58],rbx @@: xor rax,rax mov rbx,[temp+58] mov al,[temp+40] cmp al,[rbx+38] jnl short @f mov rbx,[rbx+28] mov rbx,[rbx+20+rax*8] add byte ptr[temp+40],01 mov [temp+48],rbx mov rbx,dword ptr[rbx+BugMasterModel.mItemId] /* mov rcx,[temp+50] mov rax,rcx mov rdx,rbx sub rsp,20 cmp dword ptr [rax],00 reassemble(_ListContains) call r11 add rsp,20 test eax,eax jne short @b */ mov rdx,[temp+18] mov dword ptr[rdx+18],01 mov rbx,[temp+48] mov rdx,[rdx+20] mov [rdx+BugDataModel.mBugData],rbx jmp short exit @@: xor rcx,rcx mov rax,[temp+50] mov rbx,[temp+58] mov eax,dword ptr[rax+18] cmp eax,dword ptr[rbx+38] jnl short exit mov byte ptr[temp+40],0 exit: mov rax,[temp] mov rbx,[temp+8] mov rcx,[temp+10] mov rdx,[temp+18] mov r8,[temp+20] mov r9,[temp+28] mov r10,[temp+30] mov r11,[temp+38] lea rdx,[rdx] jmp returnhere temp: dq 0 0 0 0 0 0 0 0 0 0 0 0 0 0 BugPointController:GetBugData: jmp newmem returnhere: [DISABLE] dealloc(newmem2) BugController:Update: //push rbp //mov rbp,rsp //push rsi db 55 48 8B EC 56 dealloc(newmem) BugPointController:GetBugData: //push rbp //mov rbp,rsp //push rsi db 55 48 8B EC 56 </AssemblerScript> </CheatEntry> </CheatEntries> </CheatTable>
Code: Select all
[ENABLE] assert("ItemSlotModel:TryAddItem",55) aobscanregion(FarmPlayerController,FarmPlayerController:Update,FarmPlayerController:Update+50,48 8B C8 83 39 00) registersymbol(FarmPlayerController) alloc(newmem,2048,FarmPlayerController) label(returnhere) label(temp) label(exit) label(_getstore) label(_UserManager) registersymbol(_UserManager) aobscanregion(_ConvertRateToSpeed,FarmPlayerController:ConvertRateToSpeed,FarmPlayerController:ConvertRateToSpeed+50,48 B8) label(_player) [_ConvertRateToSpeed+2]-20: _player: registersymbol(_player) assert("FarmModel:AddCookingRecipe",55) aobscanregion(_GetMapName,TextUtility:GetMapName,TextUtility:GetMapName+50,49) getmonostruct(MasterManager) getmonostruct(CookingRecipeMasterModel) getmonostruct(UserManager) getmonostruct(UserModel) getmonostruct(PlayerModel) getmonostruct(TimeModel) getmonostruct(StaminaModel) getmonostruct(InventoryModel) getmonostruct(FarmModel) getmonostruct(CookingToolModel) registersymbol(UserManager.mUser) registersymbol(UserModel.mPlayer) registersymbol(UserModel.mTime) registersymbol(UserModel.mInventory) registersymbol(UserModel.mPlayTime) registersymbol(PlayerModel.mStamina) registersymbol(PlayerModel.mMoney) registersymbol(TimeModel.mYear) registersymbol(TimeModel.mSeason) registersymbol(TimeModel.mDayOfWeek) registersymbol(TimeModel.mDay) registersymbol(TimeModel.mHour) registersymbol(TimeModel.mMinute) registersymbol(TimeModel.mSecond) registersymbol(StaminaModel.mNow) registersymbol(StaminaModel.mMax) registersymbol(StaminaModel.mIsEmpty) registersymbol(StaminaModel.mCanConsume) registersymbol(StaminaModel.mTiredStateIndex) registersymbol(InventoryModel.mLevel) registersymbol(UserModel.mFarm) registersymbol(FarmModel.mCookingTools) registersymbol(CookingToolModel.mProficiency) registersymbol(FarmModel.mBugPoints) newmem: mov [temp],rax mov [temp+8],rbx mov [temp+10],rcx mov [temp+18],rdx mov [temp+20],r8 mov [temp+28],r9 mov [temp+30],r10 mov [temp+38],r11 cmp byte ptr[_UserManager+8],1 jne short exit @@: mov rcx,[_UserManager] test rcx,rcx je short exit mov rcx,[rcx+UserManager.mUser] test rcx,rcx je short exit call _getstore test rcx,rcx je short exit mov rdx,dword ptr[_UserManager+C] mov r8,dword ptr[_UserManager+10] mov r9,dword ptr[_UserManager+14] sub rsp,30 mov r11,"ItemSlotModel:TryAddItem" call r11 add rsp,30 mov byte ptr[_UserManager+8],0 test rax,rax jne short exit cmp byte ptr[_UserManager+9],1 je short exit mov byte ptr[_UserManager+9],1 jmp short @b exit: cmp byte ptr[_UserManager+A],1 jne long @f readmem(_GetMapName,31) mov rbx,rax xor rax,rax mov rbx,[rbx+MasterManager.mCookingRecipeMaster] mov rbx,[rbx+10] mov al,[_UserManager+B] xor rdx,rdx mov dl,[rbx+38] sub rdx,2 cmp al,dl cmovb rax,[_UserManager+A] mov [_UserManager+A],al xor rax,rax mov al,[_UserManager+B] mov rbx,[rbx+28] mov rdx,[rbx+rax*8+20] test rdx,rdx add byte ptr[_UserManager+B],01 je short @f mov rdx,dword ptr[rdx+10] mov rcx,[temp] test rcx,rcx je short @f mov rcx,[rcx+UserManager.mUser] test rcx,rcx je short @f mov rcx,[rcx+UserModel.mFarm] test rcx,rcx je short @f sub rsp,30 mov r11,"FarmModel:AddCookingRecipe" call r11 add rsp,30 @@: mov rax,[temp] mov rbx,[temp+8] mov rcx,[temp+10] mov rdx,[temp+18] mov r8,[temp+20] mov r9,[temp+28] mov r10,[temp+30] mov r11,[temp+38] mov [_UserManager],rax mov rcx,rax cmp dword ptr [rcx],00 jmp returnhere _getstore: cmp byte ptr[_UserManager+9],0 jne short @f mov rcx,[rcx+UserModel.mInventory] ret @@: cmp byte ptr[_UserManager+9],1 jne short @f mov rcx,[rcx+UserModel.mChest] ret @@: cmp byte ptr[_UserManager+9],2 jne short @f mov rcx,[rcx+UserModel.mRefrigerator] ret @@: cmp byte ptr[_UserManager+9],3 jne short @f mov rcx,[rcx+UserModel.mMaterialStorage] ret @@: cmp byte ptr[_UserManager+9],4 jne short @f mov rcx,[rcx+UserModel.mShippingBox] ret @@: xor rcx,rcx ret _UserManager: dq 0 0 0 temp: dq 0 0 0 0 0 0 0 0 0 FarmPlayerController: jmp newmem nop returnhere: [DISABLE] dealloc(newmem) FarmPlayerController: db 48 8B C8 83 39 00 //mov rcx,rax //cmp dword ptr [rcx],00 unregistersymbol(FarmPlayerController) unregistersymbol(_UserManager) unregistersymbol(UserManager.mUser) unregistersymbol(UserModel.mPlayer) unregistersymbol(UserModel.mTime) unregistersymbol(UserModel.mInventory) unregistersymbol(UserModel.mPlayTime) unregistersymbol(PlayerModel.mStamina) unregistersymbol(PlayerModel.mMoney) unregistersymbol(TimeModel.mYear) unregistersymbol(TimeModel.mSeason) unregistersymbol(TimeModel.mDayOfWeek) unregistersymbol(TimeModel.mDay) unregistersymbol(TimeModel.mHour) unregistersymbol(TimeModel.mMinute) unregistersymbol(TimeModel.mSecond) unregistersymbol(StaminaModel.mNow) unregistersymbol(StaminaModel.mMax) unregistersymbol(StaminaModel.mIsEmpty) unregistersymbol(StaminaModel.mCanConsume) unregistersymbol(StaminaModel.mTiredStateIndex) unregistersymbol(InventoryModel.mLevel) unregistersymbol(UserModel.mFarm) unregistersymbol(FarmModel.mCookingTools) unregistersymbol(CookingToolModel.mProficiency) unregistersymbol(FarmModel.mBugPoints) unregistersymbol(_player)
Another wild guess should stop here, I think...
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>4611</ID>
<Description>"Easy Bug Catching"</Description>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
assert(BugController:Update,55 48 8B EC 56)
alloc(newmem2,2048,BugController:Update)
label(returnhere2)
getmonostruct(BugController)
getmonostruct(BugDataModel)
getmonostruct(BugMasterModel)
newmem2:
push rbp
mov rbp,rsp
push rsi
test rcx,rcx
je short @f
mov byte ptr[rcx+BugController.mIsStay],1
mov rsi,[rcx+BugController.mBugModel]
test rsi,rsi
je short @f
mov rsi,[rsi+BugDataModel.mBugData]
test rsi,rsi
je short @f
mov byte ptr[rsi+BugMasterModel.mIsRandomQuality],0
mov dword ptr[rsi+BugMasterModel.mQuality],#10
@@:
jmp returnhere2
BugController:Update:
jmp newmem2
returnhere2:
[DISABLE]
dealloc(newmem2)
BugController:Update:
//push rbp
//mov rbp,rsp
//push rsi
db 55 48 8B EC 56
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatTable>
it worked! thanks a lot dude hahaCake-san wrote: βMon Oct 21, 2019 4:05 pmAnother wild guess should stop here, I think...
Here, just a bare minimum easy bug catching , no bug spawning... just paste it directly into CE, if it crash I don't know what to sayCode: Select all
<?xml version="1.0" encoding="utf-8"?> <CheatTable> <CheatEntries> <CheatEntry> <ID>4611</ID> <Description>"Easy Bug Catching"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>[ENABLE] assert(BugController:Update,55 48 8B EC 56) alloc(newmem2,2048,BugController:Update) label(returnhere2) getmonostruct(BugController) getmonostruct(BugDataModel) getmonostruct(BugMasterModel) newmem2: push rbp mov rbp,rsp push rsi test rcx,rcx je short @f mov byte ptr[rcx+BugController.mIsStay],1 mov rsi,[rcx+BugController.mBugModel] test rsi,rsi je short @f mov rsi,[rsi+BugDataModel.mBugData] test rsi,rsi je short @f mov byte ptr[rsi+BugMasterModel.mIsRandomQuality],0 mov dword ptr[rsi+BugMasterModel.mQuality],#10 @@: jmp returnhere2 BugController:Update: jmp newmem2 returnhere2: [DISABLE] dealloc(newmem2) BugController:Update: //push rbp //mov rbp,rsp //push rsi db 55 48 8B EC 56 </AssemblerScript> </CheatEntry> </CheatEntries> </CheatTable>
Cake-san wrote: βSat Oct 12, 2019 5:52 amUpdate 7
More Pointers
- Try to fix problem where some peoples can't activate it (don't know if it's fixed or not, need someone to test it)
- Add Freeze time while indoor
- Add pointer for Fodder&Feed
- Add pointer for weather
Misc
- Separate Spawn bug that you don't yet caught script from Easy Bug Catching script & try to fix problem where some people can't activate it.
- Revamp GroundModel script, Set All Tile to script become more proper where you can auto watered your crops & you can clear your farm without losing your crops (had to activate Except... )