-
Contributor
Originally Posted by
cout00
server data field was a moved little bit. if you have a source code of this version exile core you can find a ServerData class and change this offset manualy like here
Code:
_cachedValue = new FrameCache<ServerDataOffsets>(() => serverData.M.Read<ServerDataOffsets>(serverData.Address + 32800));
and this static fields too
Code:
private static readonly int PlayerStashTabsOffset = Extensions.GetOffset((ServerDataOffsets x) => x.PlayerStashTabs) + 32800;
private static readonly int GuildStashTabsOffset = Extensions.GetOffset((ServerDataOffsets x) => x.GuildStashTabs) + 32800;
or you can try to patch assembly via dnspy or dotpeek or foody
if you dont have source code, but have source code of plugin you can do workaround somethink like this, but dont use it in production
Code:
public static class ExileCorePatchExtension {
class ServerCacheInstance {
public ServerData ServerData { get; }
FrameCache<ServerDataOffsets> _cachedValue;
public ServerDataOffsets ServerDataStruct => _cachedValue.Value;
public ServerCacheInstance(ServerData serverData) {
ServerData = serverData;
_cachedValue = new FrameCache<ServerDataOffsets>(() => serverData.M.Read<ServerDataOffsets>(serverData.Address + 32800));
}
public IList<InventoryHolder> PlayerInventories {
get {
long first = ServerDataStruct.PlayerInventories.First;
long last = ServerDataStruct.PlayerInventories.Last;
if (first == 0L) {
return new List<InventoryHolder>();
}
if (first == 0L || (last - first) / 32 > 1024) {
return new List<InventoryHolder>();
}
return ServerData.M.ReadStructsArray<InventoryHolder>(first, last, 32, ServerData).ToList();
}
}
}
static ServerCacheInstance serverCacheInstance;
public static IList<InventoryHolder> Patched_PlayerInventory(this ServerData serverData) {
if (serverCacheInstance == null)
serverCacheInstance = new ServerCacheInstance(serverData);
if (serverCacheInstance.ServerData != serverData)
serverCacheInstance = new ServerCacheInstance(serverData);
return serverCacheInstance.PlayerInventories;
}
}
now you can get a player inventory somethink like this
Code:
var flaskInventorie = GameController.IngameState.Data.ServerData.Patched_PlayerInventory().FirstOrDefault(a => a.Inventory.InventType == InventoryTypeE.Flask)?.Inventory;
but this working on my version exilecore, i dont give you a gurantee thats its will working on poehelper exilecore version
TYVM. I don't have PoeHelper sources, but I could fix GH offset.
GH Post (GameHelper: A light version of PoeHUD/Exile-Api)
-
Post Thanks / Like - 1 Thanks
jairevilasio (1 members gave Thanks to fearsome67 for this useful post)
-
Member
any chance you can post a compiled copy?
-
Contributor
Originally Posted by
MicN
any chance you can post a compiled copy?
Why? Go to the linked post, download attachment and just replace GameOffsets.dll. Seriously, bro? I really had to explain it to you?
-
Post Thanks / Like - 1 Thanks
jairevilasio (1 members gave Thanks to fearsome67 for this useful post)
-
Member
Originally Posted by
fearsome67
Why? Go to the linked post, download attachment and just replace GameOffsets.dll. Seriously, bro? I really had to explain it to you?
Sorry misread, thought the changes was for poehelper, and can't compile that one.
-
Contributor
Fixed offsets for PoeHelper
Just replace GameOffsets.dll in PH main folder
GameOffsetsPH.zip
-
Post Thanks / Like - 8 Thanks
-
Active Member
Originally Posted by
fearsome67
Fixed offsets for PoeHelper
Just replace GameOffsets.dll in PH main folder
GameOffsetsPH.zip
It works great for those Flask, thank you very much. Didn't help with the skills tho.
-
Member
Originally Posted by
fearsome67
Fixed offsets for PoeHelper
Just replace GameOffsets.dll in PH main folder
GameOffsetsPH.zip
Thanks for taking the time to do this.
As a developer who would like to help out on updating offsets when needed, but no clue about things like this (web dev). You got any tips on finding new offsets when changes like this happens?
-
Post Thanks / Like - 1 Thanks
insaneclimax (1 members gave Thanks to SuhzWarmane for this useful post)
-
Contributor
Originally Posted by
camapxam
It works great for those Flask, thank you very much. Didn't help with the skills tho.
Fixed offsets for Copilot skills
GameOffsetsPH_2.zip
Originally Posted by
SuhzWarmane
Thanks for taking the time to do this.
As a developer who would like to help out on updating offsets when needed, but no clue about things like this (web dev). You got any tips on finding new offsets when changes like this happens?
I got no idea how to find offsets xD I just used info from cout00 post
Last edited by fearsome67; 02-05-2023 at 06:04 PM.
-
Post Thanks / Like - 9 Thanks
-
Member
Originally Posted by
fearsome67
Fixed offsets for Copilot skills
GameOffsetsPH_2.zip
I got no idea how to find offsets xD I just used info from cout00
post
Thank you mate! you are the man!
-
Active Member
I checked the Offset and i think Including the GuildName offset in the ServerData Offset moved 0x20 up. I Only try`d to find changes but i couldnt check the party stuff ^^
the other offset seems to be okay but i dont check every single offset only the InGameData, InGameState, InGameUI and ServerData
-
Member
Originally Posted by
fearsome67
Fixed offsets for Copilot skills
GameOffsetsPH_2.zip
I got no idea how to find offsets xD I just used info from cout00
post
you are awesome bro
-
Member
Originally Posted by
fearsome67
THX, you are really awesome!
-
★ Elder ★
Pushed offset fixes to the poehelper repo. Link is in top post.
-
Post Thanks / Like - 5 Thanks
-
Member
Originally Posted by
TehCheat
Pushed offset fixes to the poehelper repo. Link is in top post.
Thank you dude! Much appreciated! <3
-
Member