From 62553bd9ce1fd303e9a3aef0e1f5ccd8e809076d Mon Sep 17 00:00:00 2001 From: Lady-Binary Date: Fri, 21 Aug 2020 13:20:00 +0000 Subject: [PATCH] new CHARBUFFS array closes #92 --- LOU/ClientStatus.cs | 38 ++++++++++++++++++++------------------ LOU/Utils.cs | 8 ++++---- LOU/Worker.cs | 36 +++++++++++++++++++++++++++++++++++- 3 files changed, 59 insertions(+), 23 deletions(-) diff --git a/LOU/ClientStatus.cs b/LOU/ClientStatus.cs index 48065e7..f8b65f2 100755 --- a/LOU/ClientStatus.cs +++ b/LOU/ClientStatus.cs @@ -16,42 +16,44 @@ public struct CharacterInfoStruct [ProtoMember(1)] public ulong? BACKPACKID; [ProtoMember(2)] - public int? CHARDIR; + public string[] CHARBUFFS; [ProtoMember(3)] - public bool? CHARGHOST; + public int? CHARDIR; [ProtoMember(4)] - public ulong? CHARID; + public bool? CHARGHOST; [ProtoMember(5)] - public string CHARNAME; + public ulong? CHARID; [ProtoMember(6)] - public float? CHARPOSX; + public string CHARNAME; [ProtoMember(7)] - public float? CHARPOSY; + public float? CHARPOSX; [ProtoMember(8)] - public float? CHARPOSZ; + public float? CHARPOSY; [ProtoMember(9)] - public string CHARSTATUS; + public float? CHARPOSZ; [ProtoMember(10)] - public double? CHARWEIGHT; + public string CHARSTATUS; [ProtoMember(11)] - public ulong? CHESTID; + public double? CHARWEIGHT; [ProtoMember(12)] - public string CHESTNAME; + public ulong? CHESTID; [ProtoMember(13)] - public ulong? HEADID; + public string CHESTNAME; [ProtoMember(14)] - public string HEADNAME; + public ulong? HEADID; [ProtoMember(15)] - public ulong? LEFTHANDID; + public string HEADNAME; [ProtoMember(16)] - public string LEFTHANDNAME; + public ulong? LEFTHANDID; [ProtoMember(17)] - public ulong? LEGSID; + public string LEFTHANDNAME; [ProtoMember(18)] - public string LEGSNAME; + public ulong? LEGSID; [ProtoMember(19)] - public ulong? RIGHTHANDID; + public string LEGSNAME; [ProtoMember(20)] + public ulong? RIGHTHANDID; + [ProtoMember(21)] public string RIGHTHANDNAME; } [ProtoMember(2)] diff --git a/LOU/Utils.cs b/LOU/Utils.cs index 4fc9712..f445744 100755 --- a/LOU/Utils.cs +++ b/LOU/Utils.cs @@ -46,7 +46,7 @@ public static Dictionary FindPanelByName(String name) } } - Log("Found total of " + FoundPanels.Count.ToString() + " panels."); + //Log("Found total of " + FoundPanels.Count.ToString() + " panels."); return FoundPanels; } @@ -69,7 +69,7 @@ public static Dictionary FindDynamicObjectsByName(String // break; //} } - Log("Found total of " + FoundObjects.Count.ToString() + " items."); + //Log("Found total of " + FoundObjects.Count.ToString() + " items."); return FoundObjects; } public static Dictionary FindDynamicObjectsByName(String name, ulong containerId) @@ -91,7 +91,7 @@ public static Dictionary FindDynamicObjectsByName(String // break; //} } - Log("Found total of " + FoundObjects.Count.ToString() + " items."); + //Log("Found total of " + FoundObjects.Count.ToString() + " items."); return FoundObjects; } public static ClientObject FindClientObject(ulong objectId) @@ -173,7 +173,7 @@ public static Dictionary FindPermanentObjectByName(String // break; //} } - Log("Found total of " + FoundPermanents.Count.ToString() + " permanents."); + //Log("Found total of " + FoundPermanents.Count.ToString() + " permanents."); return FoundPermanents; } public static ClientObject FindPermanentObject(int permanentId) diff --git a/LOU/Worker.cs b/LOU/Worker.cs index 3d8856b..a38179e 100755 --- a/LOU/Worker.cs +++ b/LOU/Worker.cs @@ -401,6 +401,7 @@ private void ProcessClientCommand(ClientCommand ClientCommand) this.FindButtonResults[i] = KFFEBNDBIPA; } + // Seems to be ToolTip Text string ELGLAFGJGAO = (string)Utils.GetInstanceField(KAAFKBBECEF, casted, "ELGLAFGJGAO"); if (ELGLAFGJGAO != null && ELGLAFGJGAO.ToLower().Contains(_buttonName.ToLower())) { @@ -1255,6 +1256,40 @@ private void UpdateClientStatus() // Character Info + ClientStatus.CharacterInfo.BACKPACKID = this.player?.GetEquippedObject("Backpack")?.DMCIODGEHCN; + + List Buffs = new List(); + FloatingPanel BuffBar = Utils.FindPanelByName("BuffBar")?.FirstOrDefault().Value; + if (BuffBar != null) + { + DynamicWindow window = BuffBar.GetComponent(); + if (window != null) + { + Type KAAFKBBECEF = AssemblyCSharp.GetType("KAAFKBBECEF"); + if (KAAFKBBECEF != null) + { + object HGBANEEHBLH = Utils.GetInstanceField(window, "HGBANEEHBLH"); + if (HGBANEEHBLH != null) + { + foreach (object o in (HGBANEEHBLH as IEnumerable)) + { + object casted = Convert.ChangeType(o, KAAFKBBECEF); + if (casted != null) + { + string ELGLAFGJGAO = (string)Utils.GetInstanceField(KAAFKBBECEF, casted, "ELGLAFGJGAO"); + if (!String.IsNullOrEmpty(ELGLAFGJGAO)) + { + Buffs.Add(ELGLAFGJGAO.Replace('\n', '|')); + } + } + + } + } + } + } + } + ClientStatus.CharacterInfo.CHARBUFFS = Buffs.ToArray(); + ClientStatus.CharacterInfo.CHARNAME = this.player?.EBHEDGHBHGI; ClientStatus.CharacterInfo.CHARID = this.player?.ObjectId; ClientStatus.CharacterInfo.CHARPOSX = this.player?.transform?.position.x; @@ -1272,7 +1307,6 @@ private void UpdateClientStatus() ClientStatus.CharacterInfo.CHARSTATUS = null; } ClientStatus.CharacterInfo.CHARGHOST = (bool?)this.player?.GetObjectProperty("IsDead"); - ClientStatus.CharacterInfo.BACKPACKID = this.player?.GetEquippedObject("Backpack")?.DMCIODGEHCN; if (this.player != null) {