This commit is contained in:
Milxnor
2023-04-23 17:16:45 -04:00
parent b8275e37f8
commit b400954ab5
2 changed files with 9 additions and 4 deletions

View File

@@ -40,7 +40,8 @@ AFortPickup* AFortPickup::SpawnPickup(FFortItemEntry* ItemEntry, FVector Locatio
if (Addresses::PickupInitialize) if (Addresses::PickupInitialize)
{ {
static void (*SetupPickup)(AFortPickup * Pickup, __int64 ItemEntry, TArray<__int64> MultiItemPickupEntriesIGuess, bool bSplitOnPickup) static void (*SetupPickup)(AFortPickup * Pickup, __int64 ItemEntry, TArray<__int64> MultiItemPickupEntriesIGuess, bool bSplitOnPickup)
= decltype(SetupPickup)(Addresses::PickupInitialize); // Memcury::Scanner::FindPattern("48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 41 56 48 83 EC 20 80 B9 ? ? ? ? ? 45 0F B6 F1 49 8B E8").Get()); = decltype(SetupPickup)(Addresses::PickupInitialize);
TArray<__int64> MultiItemPickupEntriesIGuess{}; TArray<__int64> MultiItemPickupEntriesIGuess{};
SetupPickup(Pickup, __int64(ItemEntry), MultiItemPickupEntriesIGuess, false); SetupPickup(Pickup, __int64(ItemEntry), MultiItemPickupEntriesIGuess, false);
} }

View File

@@ -144,10 +144,14 @@ static inline uint64 FindObjectArray()
static inline uint64 FindPickupInitialize() static inline uint64 FindPickupInitialize()
{ {
if (Engine_Version == 420)
return Memcury::Scanner::FindPattern("48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 41 56 48 83 EC 20 80 B9 ? ? ? ? ? 45 0F B6 F1 49 8B E8").Get(); // 4.1
if (Engine_Version == 421)
return Memcury::Scanner::FindPattern("48 89 5C 24 ? 55 57 41 57 48 83 EC 30 80 B9 ? ? ? ? ? 41 0F B6").Get(); // 6.21
if (Engine_Version == 422)
return Memcury::Scanner::FindPattern("48 89 5C 24 ? 57 41 56 41 57 48 83 EC 30 80 B9 ? ? ? ? ? 45 0F B6 F1").Get(); // 7.30
if (Engine_Version == 423) if (Engine_Version == 423)
{ return Memcury::Scanner::FindPattern("48 89 5C 24 ? 57 41 56 41 57 48 83 EC 30 80 B9 ? ? ? ? ? 45 0F B6 F1 4D").Get(); // 8.51 & 10.40
return Memcury::Scanner::FindPattern("48 89 5C 24 ? 57 41 56 41 57 48 83 EC 30 80 B9 ? ? ? ? ? 45 0F B6 F1 4D").Get();
}
return 0; return 0;
} }