Pumpkin Days 1.01 PROPER (Feb 10build) +12 Plus Inventory Editor *Updated*

Upload your cheat tables here (No requests)
User avatar
SunBeam
Administration
Administration
Posts: 4817
Joined: Sun Feb 04, 2018 7:16 pm
Reputation: 4436

Re: Pumpkin Days 1.01 +12 Plus Inventory Editor

Post by SunBeam »

gideon25 wrote:
Mon Feb 15, 2021 1:50 am
Just wondering if there was a way to make it so it could survive an update?
You will have to use the internal FName::FName function to feed a static string and get the FName id associated to it by the Engine.

This function: public: __cdecl FName::FName(wchar_t const * __ptr64,enum EFindName) __ptr64

Code: Select all

00007FF6D4F5F6E0 | 40:53              | PUSH RBX
00007FF6D4F5F6E2 | 48:83EC 30         | SUB RSP,30
00007FF6D4F5F6E6 | 48:8BD9            | MOV RBX,RCX
00007FF6D4F5F6E9 | 48:85D2            | TEST RDX,RDX
00007FF6D4F5F6EC | 74 21              | JE pumpkinonline-win64-shipping.7FF6D4F5F70F
00007FF6D4F5F6EE | 45:8BC8            | MOV R9D,R8D
00007FF6D4F5F6F1 | C74424 28 FFFFFFFF | MOV DWORD PTR SS:[RSP+28],FFFFFFFF
00007FF6D4F5F6F9 | 45:33C0            | XOR R8D,R8D
00007FF6D4F5F6FC | C64424 20 01       | MOV BYTE PTR SS:[RSP+20],1
00007FF6D4F5F701 | E8 7AE9FFFF        | CALL <pumpkinonline-win64-shipping.private: void __cdecl FName::Init(wchar_t const * __ptr64,int,enum EFindName,bool,int) __ptr64>
00007FF6D4F5F706 | 48:8BC3            | MOV RAX,RBX
00007FF6D4F5F709 | 48:83C4 30         | ADD RSP,30
00007FF6D4F5F70D | 5B                 | POP RBX
00007FF6D4F5F70E | C3                 | RET
00007FF6D4F5F70F | 33C0               | XOR EAX,EAX
00007FF6D4F5F711 | 48:894424 40       | MOV QWORD PTR SS:[RSP+40],RAX
00007FF6D4F5F716 | 48:8901            | MOV QWORD PTR DS:[RCX],RAX
00007FF6D4F5F719 | 48:8BC3            | MOV RAX,RBX
00007FF6D4F5F71C | 48:83C4 30         | ADD RSP,30
00007FF6D4F5F720 | 5B                 | POP RBX
00007FF6D4F5F721 | C3                 | RET
In CE form:

Code: Select all

PumpkinOnline-Win64-Shipping.exe+52F6E0 - 40 53                 - push rbx
PumpkinOnline-Win64-Shipping.exe+52F6E2 - 48 83 EC 30           - sub rsp,30 { 48 }
PumpkinOnline-Win64-Shipping.exe+52F6E6 - 48 8B D9              - mov rbx,rcx
PumpkinOnline-Win64-Shipping.exe+52F6E9 - 48 85 D2              - test rdx,rdx
PumpkinOnline-Win64-Shipping.exe+52F6EC - 74 21                 - je PumpkinOnline-Win64-Shipping.exe+52F70F
PumpkinOnline-Win64-Shipping.exe+52F6EE - 45 8B C8              - mov r9d,r8d
PumpkinOnline-Win64-Shipping.exe+52F6F1 - C7 44 24 28 FFFFFFFF  - mov [rsp+28],FFFFFFFF { -1 }
PumpkinOnline-Win64-Shipping.exe+52F6F9 - 45 33 C0              - xor r8d,r8d
PumpkinOnline-Win64-Shipping.exe+52F6FC - C6 44 24 20 01        - mov byte ptr [rsp+20],01 { 1 }
PumpkinOnline-Win64-Shipping.exe+52F701 - E8 7AE9FFFF           - call PumpkinOnline-Win64-Shipping.exe+52E080
PumpkinOnline-Win64-Shipping.exe+52F706 - 48 8B C3              - mov rax,rbx
PumpkinOnline-Win64-Shipping.exe+52F709 - 48 83 C4 30           - add rsp,30 { 48 }
PumpkinOnline-Win64-Shipping.exe+52F70D - 5B                    - pop rbx
PumpkinOnline-Win64-Shipping.exe+52F70E - C3                    - ret
PumpkinOnline-Win64-Shipping.exe+52F70F - 33 C0                 - xor eax,eax
PumpkinOnline-Win64-Shipping.exe+52F711 - 48 89 44 24 40        - mov [rsp+40],rax
PumpkinOnline-Win64-Shipping.exe+52F716 - 48 89 01              - mov [rcx],rax
PumpkinOnline-Win64-Shipping.exe+52F719 - 48 8B C3              - mov rax,rbx
PumpkinOnline-Win64-Shipping.exe+52F71C - 48 83 C4 30           - add rsp,30 { 48 }
PumpkinOnline-Win64-Shipping.exe+52F720 - 5B                    - pop rbx
PumpkinOnline-Win64-Shipping.exe+52F721 - C3                    - ret
^ That's from latest Steam build.

Note that the code below is written for CE 7.1, as assigning a wchar param directly in executeCodeEx didn't work fine. There was some bug in the source-code, which was fixed in 7.2. So feel free to adjust the code to 7.2, if you like, by removing the allocateMemory+writeString+writeBytes+deAlloc at the bottom.

Code: Select all

local FName_FName = getAddressSafe( "FName_FName" )
if FName_FName ~= 0x0 then
  local p = allocateMemory( 256 )
  local s = p + 0x8
  writeString( s, key, true )
  writeBytes( s + #key * 2, 0 )
  local FName_id = executeCodeEx( 0, nil, FName_FName, p, s, 1 )
  if readInteger( FName_id ) ~= 0x0 then
    writeInteger( ConsoleKeys_Array_addr, readInteger( FName_id ) )
  end
  deAlloc( s )
end
How to accommodate the above to Pumpkin Days:

1) Find FName::FName by aob. Unfortunately, you can't do it in the traditional way, as there are 2 such functions and the ASM looks identical. So even if you were to use wildcards in the aob, you'd still get two of them. In the current build you may say "yeah, but out of the two results, the function I want is always the first result". So when the game updates and the order is switched, for some reason, by the compiler.. what will you do then? So.. you'll have to use Lua:

--> aob: 41B101488D15????????41B801000000488D0D????????E9

You will find about 1200 results, all identical in form, pointing to wrappers like this:

Image

You want the function appointed by the JMP, so from the result of the scan, you will have to do +0x17, then compute the destination of the JMP:

Image

Code: Select all

function aobScanEx( aob )
  -- thanks panraven for this function!
  -- https://forum.cheatengine.org/viewtopic.php?t=577536
  -- simplified for my needs
  local p, a, n, s, e = nil or '*X*W', nil or fsmNotAligned, nil or '0', getAddress( process ) or 0x0, ( getAddress( process ) + getModuleSize( process ) ) or 0xffffffffffffffff
  local ms = pb and createMemScan( pb ) or createMemScan()
  local fl = createFoundList( ms )
  ms.firstScan( soExactValue, vtByteArray, nil, aob, nil, s, e, p, a, n, true, false, false, false )
  ms.waitTillDone()
  fl.initialize()
  local result = nil
  if fl ~= nil and fl.getCount() > 0 then
    result = createStringlist()
    for i = 1, fl.getCount() do result.add( fl.getAddress( i - 1 ) ) end
  end
  fl.destroy()
  ms.destroy()
  return result
end

local aob_getFNameFName = "41B101488D15????????41B801000000488D0D????????E9"
local sl = aobScanEx( aob_getFNameFName )
local t = tonumber( sl[0], 16 ) -- we get the first occurrence from the scan list
t = t + 0x17 -- increment cursor to what was shown in the pic
t = t + readInteger( t + 0x1, true ) + 0x5 -- calculation of the JMP destination
unregisterSymbol( "FName_FName" )
registerSymbol( "FName_FName", t, true )
So at this point you have FName::FName registered as FName_FName and ready to use. All you gotta do now is retrieve it via getAddress( "FName_FName" ) when you want to use it.

Now this:

Code: Select all

[00008373] Tiger_Prawn
Would work like this:

Code: Select all

local name = "Tiger_Prawn"
local FName_FName = getAddressSafe( "FName_FName" )
if FName_FName ~= 0x0 then
  local p = allocateMemory( 256 ) -- from here, we start converting char to wchar
  local s = p + 0x8
  writeString( s, name, true )
  writeBytes( s + #name * 2, 0 ) -- till here
  local FName_id = executeCodeEx( 0, nil, FName_FName, p, s, 1 )
  if readInteger( FName_id ) ~= 0x0 then
    print( string.format( "id: 0x%08X", readInteger( FName_id ) ) )
  end
  deAlloc( s )
end
So it should write to console id: 0x00008373. Try it out and let me know ;)

Here's the run-down in my case:

Image

The id is 0x8370, as you can see.

BR,
Sun

How to use this cheat table?
  1. Install Cheat Engine
  2. Double-click the .CT file in order to open it.
  3. Click the PC icon in Cheat Engine in order to select the game process.
  4. Keep the list.
  5. Activate the trainer options by checking boxes or setting values from 0 to 1

Cristalis
Novice Cheater
Novice Cheater
Posts: 16
Joined: Wed Jul 15, 2020 12:30 pm
Reputation: 1

Re: Pumpkin Days 1.01 +12 Plus Inventory Editor

Post by Cristalis »

gideon25 wrote:
Sun Feb 14, 2021 4:18 pm
Everything Working?
Of the options I am using, yes!
I'm having a lot of fun with the jump option too.
gideon25 wrote:
Sun Feb 14, 2021 4:18 pm
... like I said there were so many of them.
That's right, the game has an exaggeration of objects scattered everywhere.

Thanks again

gideon25
Table Makers
Table Makers
Posts: 1389
Joined: Mon Mar 20, 2017 1:42 am
Reputation: 2303

Re: Pumpkin Days 1.01 +12 Plus Inventory Editor

Post by gideon25 »

SunBeam wrote:
Mon Feb 15, 2021 12:33 pm
gideon25 wrote:
Mon Feb 15, 2021 1:50 am
Just wondering if there was a way to make it so it could survive an update?
You will have to use the internal FName::FName function to feed a static string and get the FName id associated to it by the Engine.

This function: public: __cdecl FName::FName(wchar_t const * __ptr64,enum EFindName) __ptr64
etc..
Wow thats pretty complex for someone of my level! Especially since I don't know how to program in Lua (or any language)..but I will go thru the steps and figure it out just for the opportunity to learn JUST a little bit more because every little bit helps and eventually adds up. How would that go into a drop down list on the table though?

ALSO, even after I learn this, you are still saying that I would have to put this part in:
local name = "Tiger_Prawn" for each item name right?

I think the dropdown list already has hundreds of items in them..If I add anymore..Ugh. That sounds like a monster of a project..

User avatar
SunBeam
Administration
Administration
Posts: 4817
Joined: Sun Feb 04, 2018 7:16 pm
Reputation: 4436

Re: Pumpkin Days 1.01 +12 Plus Inventory Editor

Post by SunBeam »

gideon25 wrote:
Mon Feb 15, 2021 1:54 pm
I think the dropdown list already has hundreds of items in them..
You would just integrate my code into yours. All you need, really, is scanning for FName::FName up-front, so you find it. Then register its symbol, like I've shown you. Then turn that piece of code I posted last into a function and call it for each item in your drop-down.

Heuristically: on click item from drop down -> function GetIdFromName() using the code I posted -> id. Simple.

EDIT: Hmm, yeah, now that I look at your table, you're using only ASM. No Lua at all.

You can at least use what I posted to update the values you already have in the drop-downs. Run this in Lua (Memory View > Ctrl+L):

Code: Select all

function aobScanEx( aob )
  -- thanks panraven for this function!
  -- https://forum.cheatengine.org/viewtopic.php?t=577536
  -- simplified for my needs
  local p, a, n, s, e = nil or '*X*W', nil or fsmNotAligned, nil or '0', getAddress( process ) or 0x0, ( getAddress( process ) + getModuleSize( process ) ) or 0xffffffffffffffff
  local ms = pb and createMemScan( pb ) or createMemScan()
  local fl = createFoundList( ms )
  ms.firstScan( soExactValue, vtByteArray, nil, aob, nil, s, e, p, a, n, true, false, false, false )
  ms.waitTillDone()
  fl.initialize()
  local result = nil
  if fl ~= nil and fl.getCount() > 0 then
    result = createStringlist()
    for i = 1, fl.getCount() do result.add( fl.getAddress( i - 1 ) ) end
  end
  fl.destroy()
  ms.destroy()
  return result
end

-- this returns the FName id or 0
function GetIdFromFName( strName )
  local id = 0
  local FName_FName = getAddressSafe( "FName_FName" )
  local p = allocateMemory( 256 ) -- from here, we start converting char to wchar
  local s = p + 0x8
  writeString( s, strName, true )
  writeBytes( s + #strName * 2, 0 ) -- till here
  local FName_id = executeCodeEx( 0, nil, FName_FName, p, s, 1 )
  if readInteger( FName_id ) ~= 0x0 then
    id = readInteger( FName_id )
  end
  deAlloc( s )
  return id
end

local aob_getFNameFName = "41B101488D15????????41B801000000488D0D????????E9"
local sl = aobScanEx( aob_getFNameFName )
local t = tonumber( sl[0], 16 ) -- we get the first occurrence from the scan list
t = t + 0x17 -- increment cursor to what was shown in the pic
t = t + readInteger( t + 0x1, true ) + 0x5 -- calculation of the JMP destination
unregisterSymbol( "FName_FName" )
registerSymbol( "FName_FName", t, true )

dressesArr = {
  "Butterfly_Summer_Dress",
  "Cheongsam_Dress_Black",
  "Cheongsam_Dress_Blue",
  "Cheongsam_Dress_Coffee",
  "Cheongsam_Dress_Dark_Blue",
  "Cheongsam_Dress_Dark_Green",
  "Cheongsam_Dress_Grey",
  "Cheongsam_Dress_Light_Blue",
  "Cheongsam_Dress_Pink",
  "Cheongsam_Dress_Purple",
  "Cheongsam_Dress_Red",
  "Cheongsam_Dress_Yellow",
  "Cheongsam_Dress_Blend_Purple",
  "Chocolate_Lolita_Dress",
  "Collared_Dress_Black",
  "Collared_Dress_Blue",
  "Collared_Dress_Brown",
  "Collared_Dress_Coffee",
  "Collared_Dress_Dark_Blue",
  "Collared_Dress_Dark_Brown",
  "Collared_Dress_Dark_Green",
  "Collared_Dress_Dark_Red",
  "Collared_Dress_Green",
  "Collared_Dress_Light_Blue",
  "Collared_Dress_Magenta",
  "Collared_Dress_Orange",
  "Collared_Dress_Pink",
  "Collared_Dress_Pink_Fans",
  "Collared_Dress_Purple",
  "Collared_Dress_Grey",
  "Collared_Dress_White",
  "Collared_Dress_Yellow",
  "Collared_Dress_ZigZags_Blue",
  "Collared_Dress_Red",
  "Collared_Dress_Blend_Bunny",
  "Collared_Dress_Blend_Orange",
  "Collared_Dress_Blend_Pink",
  "Collared_Dress_Blend_Green_Lime",
  "Collared_Dress_Blend_Blue",
  "Collared_Dress_Blend_Dark_Red",
  "Collared_Dress_Blend_Dark_Green",
  "Collared_Dress_Blend_Dark_Blue",
  "Collared_Dress_Blend_Black",
  "Collared_Dress_Blend_Light_Blue",
  "Collared_Dress_Blend_Brown",
  "Goth_Cheongsam_Dress",
  "Goth_Dress_Sleeveless_Dark_Blue",
  "Goth_Dress_Sleeveless_Dark_Green",
  "Goth_Dress_Sleeveless_Black",
  "Gothic_Lolita_Dress",
  "Holiday_Lolita_Dress",
  "Holiday_Peasant_Dress",
  "JackLatern_Lolita_Dress",
  "Lolita_Dress_Black",
  "Lolita_Dress_Light_Blue",
  "Lolita_Dress_Pink",
  "Lolita_Dress_Red",
  "Lolita_Dress_White",
  "Mint_Lolita_Dress",
  "Nightly_walk_Cheongsam_Dress",
  "Orchid_Mantis_Peasant_Dress",
  "Paint_Splatter_Summer_Dress",
  "Pastel_Clouds_Cheongsam_Dress",
  "Pastel_Goth_Lolita_Dress",
  "Patchwork_Peasant_Dress",
  "Paw_Print_Collared_Dress",
  "Peasant_Dress_Blue",
  "Peasant_Dress_Baby_Blue",
  "Peasant_Dress_Black",
  "Peasant_Dress_Dark_Red",
  "Peasant_Dress_Dark_Blue",
  "Peasant_Dress_Dark_Grey",
  "Peasant_Dress_Grey",
  "Peasant_Dress_Green",
  "Peasant_Dress_Orange",
  "Peasant_Dress_Purple",
  "Peasant_Dress_Pink",
  "Peasant_Dress_Roses",
  "Peasant_Dress_Red",
  "Poppy_Garden_Collared_Dress",
  "Pumpkin_Lolita_Dress",
  "Punk_Dress_Black",
  "Punk_Peasant_Dress",
  "Sleevess_Dress_Band_Blue",
  "Sporty_Summer_Dress",
  "Spring_Breeze_Collared_Dress",
  "Star_Lolita_Dress",
  "Summer_Dress_Black",
  "Summer_Dress_Blue",
  "Summer_Dress_Brown",
  "Summer_Dress_Light_Blue",
  "Summer_Dress_Orange",
  "Summer_Dress_Pink",
  "Summer_Dress_Purple",
  "Summer_Dress_Red",
  "Summer_Dress_White",
  "Summer_Dress_Yellow",
  "Summer_Floral_Collared_Dress_White",
  "Summer_Floral_Collared_Dress",
  "Sunflower_Summer_Dress",
  "Tentacles_Peasant_Dress",
  "Trans_Pride_Cheongsam_Dress",
  "V_Neck_Dress_Blue",
  "V_Neck_Dress_Black",
  "V_Neck_Dress_Coffee",
  "V_Neck_Dress_Crazy_Floral",
  "V_Neck_Dress_Dark_Brown",
  "V_Neck_Dress_Dark_Green",
  "V_Neck_Dress_Dark_Blue",
  "V_Neck_Dress_Dark_Red",
  "V_Neck_Dress_Grey",
  "V_Neck_Dress_Green",
  "V_Neck_Dress_Light_Blue",
  "V_Neck_Dress_Magenta",
  "V_Neck_Dress_Orange",
  "V_Neck_Dress_Pink",
  "V_Neck_Dress_Purple",
  "V_Neck_Dress_Red",
  "V_Neck_Dress_Short",
  "V_Neck_Dress_White",
  "V_Neck_Dress_Yellow",
  "Watermelon_Dress",
  "Wedding_Dress_Cute_Purple",
  "Wedding_Dress_Cute_Red",
  "Wedding_Dress_Cute_Sky_Blue",
  "Wedding_Dress_Cute_White",
  "Wedding_Dress_Cute_Green",
  "Wedding_Dress_Cute_Grey",
  "Wedding_Dress_Cute_Yellow",
  "Wedding_Dress_Cute_Black",
  "Wedding_Dress_Cute_Pink",
  "Wedding_Dress_Modest_Red",
  "Wedding_Dress_Modest_Yellow",
  "Wedding_Dress_Modest_White",
  "Wedding_Dress_Modest_Sky_Blue",
  "Wedding_Dress_Modest_Purple",
  "Wedding_Dress_Modest",
  "Wedding_Dress_Modest_Pink",
  "Wedding_Dress_Modest_Grey",
  "Wedding_Dress_Modest_Green",
  "Wedding_Dress_Modest_Black",
  "Wedding_Dress_Spicy_Yellow",
  "Wedding_Dress_Spicy_White",
  "Wedding_Dress_Spicy_Sky_Blue",
  "Wedding_Dress_Spicy_Red",
  "Wedding_Dress_Spicy_Purple",
  "Wedding_Dress_Spicy_Pink",
  "Wedding_Dress_Spicy_Grey",
  "Wedding_Dress_Spicy_Green",
  "Wedding_Dress_Spicy_Black",
  "Witch_Lolita_Dress",
  "Witch_Peasant_Dress"
}

for i = 1, #dressesArr do
  j = GetIdFromFName( dressesArr[i] )
  print( string.format( "%08X:%s", j, dressesArr[i] ) )
end
Result:
000071EE:Butterfly_Summer_Dress
000072CC:Cheongsam_Dress_Black
000072CD:Cheongsam_Dress_Blue
000072CE:Cheongsam_Dress_Coffee
000072CF:Cheongsam_Dress_Dark_Blue
000072D0:Cheongsam_Dress_Dark_Green
000072D1:Cheongsam_Dress_Grey
000072D2:Cheongsam_Dress_Light_Blue
000072D3:Cheongsam_Dress_Pink
000072D4:Cheongsam_Dress_Purple
000072D5:Cheongsam_Dress_Red
000072D6:Cheongsam_Dress_Yellow
00013B96:Cheongsam_Dress_Blend_Purple
0000730F:Chocolate_Lolita_Dress
00007388:Collared_Dress_Black
00007389:Collared_Dress_Blue
0000738A:Collared_Dress_Brown
0000738B:Collared_Dress_Coffee
0000738C:Collared_Dress_Dark_Blue
0000738D:Collared_Dress_Dark_Brown
0000738E:Collared_Dress_Dark_Green
0000738F:Collared_Dress_Dark_Red
00007390:Collared_Dress_Green
00007392:Collared_Dress_Light_Blue
00007393:Collared_Dress_Magenta
00007394:Collared_Dress_Orange
00007395:Collared_Dress_Pink
00007396:Collared_Dress_Pink_Fans
00007397:Collared_Dress_Purple
00007391:Collared_Dress_Grey
00007399:Collared_Dress_White
0000739A:Collared_Dress_Yellow
0000739B:Collared_Dress_ZigZags_Blue
00007398:Collared_Dress_Red
00013B7D:Collared_Dress_Blend_Bunny
00019486:Collared_Dress_Blend_Orange
00019487:Collared_Dress_Blend_Pink
00019488:Collared_Dress_Blend_Green_Lime
00015FA7:Collared_Dress_Blend_Blue
00019489:Collared_Dress_Blend_Dark_Red
0001948A:Collared_Dress_Blend_Dark_Green
0001948B:Collared_Dress_Blend_Dark_Blue
0001948C:Collared_Dress_Blend_Black
00015FA9:Collared_Dress_Blend_Light_Blue
00015FA8:Collared_Dress_Blend_Brown
000077C7:Goth_Cheongsam_Dress
0001948D:Goth_Dress_Sleeveless_Dark_Blue
0001948E:Goth_Dress_Sleeveless_Dark_Green
0001948F:Goth_Dress_Sleeveless_Black
000077C8:Gothic_Lolita_Dress
00007896:Holiday_Lolita_Dress
00007897:Holiday_Peasant_Dress
00007926:JackLatern_Lolita_Dress
000079FB:Lolita_Dress_Black
000079FC:Lolita_Dress_Light_Blue
000079FD:Lolita_Dress_Pink
000079FE:Lolita_Dress_Red
000079FF:Lolita_Dress_White
00007AD1:Mint_Lolita_Dress
00007B51:Nightly_walk_Cheongsam_Dress
00007BAD:Orchid_Mantis_Peasant_Dress
00007BE1:Paint_Splatter_Summer_Dress
00007C84:Pastel_Clouds_Cheongsam_Dress
00007C85:Pastel_Goth_Lolita_Dress
00007C86:Patchwork_Peasant_Dress
00007C88:Paw_Print_Collared_Dress
00007CB2:Peasant_Dress_Blue
00007CB0:Peasant_Dress_Baby_Blue
00007CB1:Peasant_Dress_Black
00013BB4:Peasant_Dress_Dark_Red
00013BB3:Peasant_Dress_Dark_Blue
00019490:Peasant_Dress_Dark_Grey
00007CB4:Peasant_Dress_Grey
00007CB3:Peasant_Dress_Green
00007CB5:Peasant_Dress_Orange
00007CB7:Peasant_Dress_Purple
00007CB6:Peasant_Dress_Pink
00013BB6:Peasant_Dress_Roses
00007CB8:Peasant_Dress_Red
00007D7A:Poppy_Garden_Collared_Dress
00007DF0:Pumpkin_Lolita_Dress
00007DFB:Punk_Dress_Black
00007DFC:Punk_Peasant_Dress
00019491:Sleevess_Dress_Band_Blue
00008123:Sporty_Summer_Dress
00008127:Spring_Breeze_Collared_Dress
0000812E:Star_Lolita_Dress
000081CB:Summer_Dress_Black
000081CC:Summer_Dress_Blue
000081CD:Summer_Dress_Brown
000081CE:Summer_Dress_Light_Blue
000081CF:Summer_Dress_Orange
000081D0:Summer_Dress_Pink
000081D1:Summer_Dress_Purple
000081D2:Summer_Dress_Red
000081D3:Summer_Dress_White
000081D4:Summer_Dress_Yellow
000081D7:Summer_Floral_Collared_Dress_White
000081D6:Summer_Floral_Collared_Dress
000081DA:Sunflower_Summer_Dress
00008361:Tentacles_Peasant_Dress
000083BD:Trans_Pride_Cheongsam_Dress
0000843C:V_Neck_Dress_Blue
0000843B:V_Neck_Dress_Black
0000843D:V_Neck_Dress_Coffee
00019492:V_Neck_Dress_Crazy_Floral
0000843F:V_Neck_Dress_Dark_Brown
00008440:V_Neck_Dress_Dark_Green
0000843E:V_Neck_Dress_Dark_Blue
00008441:V_Neck_Dress_Dark_Red
00008443:V_Neck_Dress_Grey
00008442:V_Neck_Dress_Green
00008444:V_Neck_Dress_Light_Blue
00008445:V_Neck_Dress_Magenta
00008446:V_Neck_Dress_Orange
00008447:V_Neck_Dress_Pink
00008448:V_Neck_Dress_Purple
00008449:V_Neck_Dress_Red
0000C330:V_Neck_Dress_Short
0000844A:V_Neck_Dress_White
0000844B:V_Neck_Dress_Yellow
000084D1:Watermelon_Dress
000084DE:Wedding_Dress_Cute_Purple
000084DF:Wedding_Dress_Cute_Red
000084E0:Wedding_Dress_Cute_Sky_Blue
000084E1:Wedding_Dress_Cute_White
000084DB:Wedding_Dress_Cute_Green
000084DC:Wedding_Dress_Cute_Grey
000084E2:Wedding_Dress_Cute_Yellow
000084DA:Wedding_Dress_Cute_Black
000084DD:Wedding_Dress_Cute_Pink
000084E8:Wedding_Dress_Modest_Red
000084EB:Wedding_Dress_Modest_Yellow
000084EA:Wedding_Dress_Modest_White
000084E9:Wedding_Dress_Modest_Sky_Blue
000084E7:Wedding_Dress_Modest_Purple
0000C333:Wedding_Dress_Modest
000084E6:Wedding_Dress_Modest_Pink
000084E5:Wedding_Dress_Modest_Grey
000084E4:Wedding_Dress_Modest_Green
000084E3:Wedding_Dress_Modest_Black
000084F4:Wedding_Dress_Spicy_Yellow
000084F3:Wedding_Dress_Spicy_White
000084F2:Wedding_Dress_Spicy_Sky_Blue
000084F1:Wedding_Dress_Spicy_Red
000084F0:Wedding_Dress_Spicy_Purple
000084EF:Wedding_Dress_Spicy_Pink
000084EE:Wedding_Dress_Spicy_Grey
000084ED:Wedding_Dress_Spicy_Green
000084EC:Wedding_Dress_Spicy_Black
0000852B:Witch_Lolita_Dress
0000852C:Witch_Peasant_Dress
Adjust it for each drop-down you have in the table.

If you can't be arsed to learn Lua, then use the script above as a helper to manually update the table when the game updates :P

User avatar
Cake-san
Table Makers
Table Makers
Posts: 425
Joined: Sun Mar 26, 2017 4:32 pm
Reputation: 772

Re: Pumpkin Days 1.01v2 (Feb 1st build) +12 Plus Inventory Editor

Post by Cake-san »

Or just enumerate the item list that reside inside DataTable /Game/Blueprints/Data_Tables/Inventory_Items_Data.Inventory_Items_Data

Can get DataTable address by using StaticFindObjectAlgo(fullname) or using pointer address :InventoryItemsTable

I already shown you an example script & example table before you post your table though, don't know if you understand it or not.

I already update my example table to include a few fix & improvement :roll:

My basic ue algo version table already have FName::FName function since first posted which is FindStringFName(namestr) but worked a bit slower because it used rpm(ReadProcessMemory) :
Image

gideon25
Table Makers
Table Makers
Posts: 1389
Joined: Mon Mar 20, 2017 1:42 am
Reputation: 2303

Re: Pumpkin Days 1.01v2 (Feb 1st build) +12 Plus Inventory Editor

Post by gideon25 »

Very nice! Thanks you both! As soon as I get my hands on an updated version, now it will be MUCH, MUCH easier to update my inventory editor :)

gideon25
Table Makers
Table Makers
Posts: 1389
Joined: Mon Mar 20, 2017 1:42 am
Reputation: 2303

Re: Pumpkin Days 1.01v2 (Feb 1st build) +12 Plus Inventory Editor

Post by gideon25 »

Yondaime_Kazzy wrote:
Mon Feb 15, 2021 10:41 am
Maybe if you wish to continue updating it, you could add crops, ingredients and fish too? But only if you wish to keep updating it, I'm already super ecstatic with this what we have now!
are you using the steam or gog version? Also can you look at your PumpkinOnline-Win64-Shipping.exe file located in your main game folder \PumpkinOnline\Binaries\Win64. Right click on it, select properties and tell me the date it was MODIFIED. Thanks!

gideon25
Table Makers
Table Makers
Posts: 1389
Joined: Mon Mar 20, 2017 1:42 am
Reputation: 2303

Re: Pumpkin Days 1.01 +12 Plus Inventory Editor

Post by gideon25 »

SunBeam wrote:
Mon Feb 15, 2021 2:31 pm

Adjust it for each drop-down you have in the table.

If you can't be arsed to learn Lua, then use the script above as a helper to manually update the table when the game updates :P
Nice i got the newest version of the game and sure enough each item was +2 off from the one I had. The script worked great. One problem though and this is true of the Name dump file I did as well:
Image

As you can see thats a Gold Hoe but it now uses the fname ID of a Meteor Hoe. I didn't know that was possible :/ So with this latest version all the items are +2 from their actual fnames :/ Anyway to get that script you posted to add +2 to the numbers before spitting them out? So instead of saying 00007891:Hoe_Meteor (like the fname it actually is) it would say 00007893:Hoe_Meteor?
Sorry to bother you with this! If I can get the script like that I could update everything now and in the future by just changing the amount it differs.

User avatar
Yondaime_Kazzy
Cheater
Cheater
Posts: 43
Joined: Sat Dec 09, 2017 11:08 pm
Reputation: 4

Re: Pumpkin Days 1.01v2 (Feb 1st build) +12 Plus Inventory Editor

Post by Yondaime_Kazzy »

gideon25 wrote:
Thu Feb 18, 2021 3:13 am
Yondaime_Kazzy wrote:
Mon Feb 15, 2021 10:41 am
Maybe if you wish to continue updating it, you could add crops, ingredients and fish too? But only if you wish to keep updating it, I'm already super ecstatic with this what we have now!
are you using the steam or gog version? Also can you look at your PumpkinOnline-Win64-Shipping.exe file located in your main game folder \PumpkinOnline\Binaries\Win64. Right click on it, select properties and tell me the date it was MODIFIED. Thanks!
I am using the steam version! And the date it was modified is the 2nd of February 2021! Hope it helped!

User avatar
SunBeam
Administration
Administration
Posts: 4817
Joined: Sun Feb 04, 2018 7:16 pm
Reputation: 4436

Re: Pumpkin Days 1.01 +12 Plus Inventory Editor

Post by SunBeam »

gideon25 wrote:
Thu Feb 18, 2021 4:15 am
So with this latest version all the items are +2 from their actual fnames :/
This is your visual deduction. I know it looks like it, but you shouldn't create a rule out of this. FName ids are dynamically assigned based on how the Engine initializes them. It may happen that the +2 logic you mentioned will fail in future updates. Really stick to using FName::FName which gets you the EXACT FName id for the string. Adjust the script I posted for each type (dresses, etc.) and run it whenever the game updates. Then just copy-paste the output to your memory record's right-click pane.

gideon25
Table Makers
Table Makers
Posts: 1389
Joined: Mon Mar 20, 2017 1:42 am
Reputation: 2303

Re: Pumpkin Days 1.01 PROPER (Feb 10build) +12 Plus Inventory Editor

Post by gideon25 »

Updated to Feb 10th 1.01 Proper

User avatar
Yondaime_Kazzy
Cheater
Cheater
Posts: 43
Joined: Sat Dec 09, 2017 11:08 pm
Reputation: 4

Re: Pumpkin Days 1.01 PROPER (Feb 10build) +12 Plus Inventory Editor

Post by Yondaime_Kazzy »

gideon25 wrote:
Fri Feb 19, 2021 1:25 am
Updated to Feb 10th 1.01 Proper
I tested it out, and I still can't get a meteor watering can, unfortunately. Haven't tested the herbs and hybrids yet, but I'll do that after school!

gideon25
Table Makers
Table Makers
Posts: 1389
Joined: Mon Mar 20, 2017 1:42 am
Reputation: 2303

Re: Pumpkin Days 1.01 PROPER (Feb 10build) +12 Plus Inventory Editor

Post by gideon25 »

Yondaime_Kazzy wrote:
Fri Feb 19, 2021 11:49 am
gideon25 wrote:
Fri Feb 19, 2021 1:25 am
Updated to Feb 10th 1.01 Proper
I tested it out, and I still can't get a meteor watering can, unfortunately. Haven't tested the herbs and hybrids yet, but I'll do that after school!
What does it give you? Also, try other things too. If they still don't match up then zip up your PumpkinOnline-Win64-Shipping.exe file and PM me a link (google drive or zippyshare please). The one I have is modified Feb 1st..But I can test yours to see if thats the issue. In addition, pm me link of saved games. They are located in: [username]\AppData\Local\PumpkinOnline\Saved\SaveGames

Post Reply

Who is online

Users browsing this forum: Bing [Bot], CheatBlaze, daiuchu, Google [Bot], Google Adsense [Bot], Jetadawoot, jonaaa, KyleKatarn, mrblondie, rivajona, unreal2k3, warri0rheart