-
★ Elder ★
Was just gonna post. Update pushed. Seems to be working now.
-
Post Thanks / Like - 4 Thanks
-
Member
Thanks a lot Tehcheat. Keep up the great work.
-
Active Member
Last edited by datz; 06-14-2018 at 07:01 PM.
-
Member
That was quick thanks TehCheat!
-
Member
ty duuude btw is plugin updater still broken? cant update shit with it
-
Member
There is an issue with preload showing something that don't exist
"strange barrel new"
-
Originally Posted by
bartekai95
There is an issue with preload showing something that don't exist
"strange barrel new"
I added that based on someone feedback....if that’s not valid let me know....make sure it’s invalid for next 3-4 times...
-
Active Member
Originally Posted by
TehCheat
Was just gonna post. Update pushed. Seems to be working now.
Hi TehCheat,
Please also update PoEHUD for garena_tw.
Thank you.
-
Member
Originally Posted by
zaafar
I added that based on someone feedback....if that?s not valid let me know....make sure it?s invalid for next 3-4 times...
I've had it in all the instances I've been in in the sceptre of god.
Last edited by -AsS; 06-15-2018 at 09:42 AM.
-
Member
For all of those who are looking for a GarenaTW PoeHud, modify the InGameUIElements.cs and build yourself
Code:
using PoeHUD.Poe.Elements;
using System.Collections;
using System.Collections.Generic;
using PoeHUD.Poe.FilesInMemory;
using PoeHUD.Controllers;
using System;
using System.Linq;
using PoeHUD.Framework;
using System.Runtime.InteropServices;
using System.ComponentModel;
using System.Diagnostics;
namespace PoeHUD.Poe.RemoteMemoryObjects
{
public class IngameUIElements : RemoteMemoryObject
{
public SkillBarElement SkillBar => ReadObjectAt<SkillBarElement>(0xB60);
public SkillBarElement HiddenSkillBar => ReadObjectAt<SkillBarElement>(0xB68);
public PoeChatElement ChatBox => GetObject<PoeChatElement>(M.ReadLong(Address + 0xBE0, 0xAC0, 0xC38));
public Element QuestTracker => ReadObjectAt<Element>(0xC58);
public Element OpenLeftPanel => ReadObjectAt<Element>(0xC98);
public Element OpenRightPanel => ReadObjectAt<Element>(0xCA0);
public InventoryElement InventoryPanel => ReadObjectAt<InventoryElement>(0xCD0);
public Element TreePanel => ReadObjectAt<Element>(0xD00);
public Element AtlasPanel => ReadObjectAt<Element>(0xD08);
public Map Map => ReadObjectAt<Map>(0xD58);
public IEnumerable<ItemsOnGroundLabelElement> ItemsOnGroundLabels
{
get
{
var itemsOnGroundLabelRoot = ReadObjectAt<ItemsOnGroundLabelElement>(0xD60);
return itemsOnGroundLabelRoot.Children;
}
}
public Element GemLvlUpPanel => ReadObjectAt<Element>(0xFB0);
public ItemOnGroundTooltip ItemOnGroundTooltip => ReadObjectAt<ItemOnGroundTooltip>(0x1020);
public bool IsDndEnabled => M.ReadByte(Address + 0xf92) == 1;
public string DndMessage => M.ReadStringU(M.ReadLong(Address + 0xf98));
public List<Tuple<Quest, int>> GetUncompletedQuests
{
get
{
var stateListPres = M.ReadDoublePointerIntList(M.ReadLong(Address + 0x9e0));
return stateListPres.Where(x => x.Item2 > 0).Select(x => new Tuple<Quest, int>(GameController.Instance.Files.Quests.GetByAddress(x.Item1), x.Item2)).ToList();
}
}
public List<Tuple<Quest, int>> GetCompletedQuests
{
get
{
var stateListPres = M.ReadDoublePointerIntList(M.ReadLong(Address + 0x9e0));
return stateListPres.Where(x => x.Item2 == 0).Select(x => new Tuple<Quest, int>(GameController.Instance.Files.Quests.GetByAddress(x.Item1), x.Item2)).ToList();
}
}
public Dictionary<string, KeyValuePair<Quest, QuestState>> GetQuestStates
{
get
{
Dictionary<string, KeyValuePair<Quest, QuestState>> dictionary = new Dictionary<string, KeyValuePair<Quest, QuestState>>();
foreach (var quest in GetQuests)
{
if (quest == null) continue;
if (quest.Item1 == null) continue;
QuestState value = GameController.Instance.Files.QuestStates.GetQuestState(quest.Item1.Id, quest.Item2);
if (value == null) continue;
if (!dictionary.ContainsKey(quest.Item1.Id))
dictionary.Add(quest.Item1.Id, new KeyValuePair<Quest, QuestState>(quest.Item1, value));
}
return dictionary.OrderBy(x => x.Key).ToDictionary(Key => Key.Key, Value => Value.Value);
}
}
private List<Tuple<Quest, int>> GetQuests
{
get
{
var stateListPres = M.ReadDoublePointerIntList(M.ReadLong(Address + 0x9e0));
return stateListPres.Select(x => new Tuple<Quest, int>(GameController.Instance.Files.Quests.GetByAddress(x.Item1), x.Item2)).ToList();
}
}
}
}
-
Post Thanks / Like - 1 Thanks
toadskin (1 members gave Thanks to e094013 for this useful post)
-
Active Member
Originally Posted by
e094013
For all of those who are looking for a GarenaTW PoeHud, modify the InGameUIElements.cs and build yourself
Code:
using PoeHUD.Poe.Elements;
using System.Collections;
using System.Collections.Generic;
using PoeHUD.Poe.FilesInMemory;
using PoeHUD.Controllers;
using System;
using System.Linq;
using PoeHUD.Framework;
using System.Runtime.InteropServices;
using System.ComponentModel;
using System.Diagnostics;
namespace PoeHUD.Poe.RemoteMemoryObjects
{
public class IngameUIElements : RemoteMemoryObject
{
public SkillBarElement SkillBar => ReadObjectAt<SkillBarElement>(0xB60);
public SkillBarElement HiddenSkillBar => ReadObjectAt<SkillBarElement>(0xB68);
public PoeChatElement ChatBox => GetObject<PoeChatElement>(M.ReadLong(Address + 0xBE0, 0xAC0, 0xC38));
public Element QuestTracker => ReadObjectAt<Element>(0xC58);
public Element OpenLeftPanel => ReadObjectAt<Element>(0xC98);
public Element OpenRightPanel => ReadObjectAt<Element>(0xCA0);
public InventoryElement InventoryPanel => ReadObjectAt<InventoryElement>(0xCD0);
public Element TreePanel => ReadObjectAt<Element>(0xD00);
public Element AtlasPanel => ReadObjectAt<Element>(0xD08);
public Map Map => ReadObjectAt<Map>(0xD58);
public IEnumerable<ItemsOnGroundLabelElement> ItemsOnGroundLabels
{
get
{
var itemsOnGroundLabelRoot = ReadObjectAt<ItemsOnGroundLabelElement>(0xD60);
return itemsOnGroundLabelRoot.Children;
}
}
public Element GemLvlUpPanel => ReadObjectAt<Element>(0xFB0);
public ItemOnGroundTooltip ItemOnGroundTooltip => ReadObjectAt<ItemOnGroundTooltip>(0x1020);
public bool IsDndEnabled => M.ReadByte(Address + 0xf92) == 1;
public string DndMessage => M.ReadStringU(M.ReadLong(Address + 0xf98));
public List<Tuple<Quest, int>> GetUncompletedQuests
{
get
{
var stateListPres = M.ReadDoublePointerIntList(M.ReadLong(Address + 0x9e0));
return stateListPres.Where(x => x.Item2 > 0).Select(x => new Tuple<Quest, int>(GameController.Instance.Files.Quests.GetByAddress(x.Item1), x.Item2)).ToList();
}
}
public List<Tuple<Quest, int>> GetCompletedQuests
{
get
{
var stateListPres = M.ReadDoublePointerIntList(M.ReadLong(Address + 0x9e0));
return stateListPres.Where(x => x.Item2 == 0).Select(x => new Tuple<Quest, int>(GameController.Instance.Files.Quests.GetByAddress(x.Item1), x.Item2)).ToList();
}
}
public Dictionary<string, KeyValuePair<Quest, QuestState>> GetQuestStates
{
get
{
Dictionary<string, KeyValuePair<Quest, QuestState>> dictionary = new Dictionary<string, KeyValuePair<Quest, QuestState>>();
foreach (var quest in GetQuests)
{
if (quest == null) continue;
if (quest.Item1 == null) continue;
QuestState value = GameController.Instance.Files.QuestStates.GetQuestState(quest.Item1.Id, quest.Item2);
if (value == null) continue;
if (!dictionary.ContainsKey(quest.Item1.Id))
dictionary.Add(quest.Item1.Id, new KeyValuePair<Quest, QuestState>(quest.Item1, value));
}
return dictionary.OrderBy(x => x.Key).ToDictionary(Key => Key.Key, Value => Value.Value);
}
}
private List<Tuple<Quest, int>> GetQuests
{
get
{
var stateListPres = M.ReadDoublePointerIntList(M.ReadLong(Address + 0x9e0));
return stateListPres.Select(x => new Tuple<Quest, int>(GameController.Instance.Files.Quests.GetByAddress(x.Item1), x.Item2)).ToList();
}
}
}
}
Hi e094013,
Thanks for your sharing, but after I modify the InGameUIElements.cs file and save.
The PoEHUD is still not working on garena_tw.
Could you please help us check the offsets again? or tell us how to update the InGameUIElements.cs in the future?
-
Member
Originally Posted by
toadskin
Hi e094013,
Thanks for your sharing, but after I modify the InGameUIElements.cs file and save.
The PoEHUD is still not working on garena_tw.
Could you please help us check the offsets again? or tell us how to update the InGameUIElements.cs in the future?
In fact, TehCheat have teach us, the offset are just simply adding 0x8, my Poehud is just from the master branch with modified InGameUIEements.cs
Building the Poehud once again with release mode in VS will allow you to use the poehud in garenatw
I am not sure will Tehcheat do any update to the garena branch, but i assume that he is tired of updating two branch that is almost the same.
It really isnt that hard building your own one
-
Post Thanks / Like - 1 Thanks
toadskin (1 members gave Thanks to e094013 for this useful post)
-
Member
Originally Posted by
-AsS
I've had it in all the instances I've been in in the sceptre of god.
Yep, confirmed. " Strange barrel new " shows up in every instance. If strange barrel chest really apears, will It be shown twice or we're gona skip it couse of usual routine title pressence ?
-
Originally Posted by
Astorxxx
Yep, confirmed. " Strange barrel new " shows up in every instance. If strange barrel chest really apears, will It be shown twice or we're gona skip it couse of usual routine title pressence ?
reverted my change.
-
Member
Sound isn't displayed anymore when breach boss show up in a map.