May 5, 20178 yr Was trying to figure if a door is open with wrobot, its a barrier that you can cross after you kill a mob, i used WowGameObject.State in HB to check if it was open, is there anything in wrobot that gets me that info ? tried IsMDXCollidable , and sometimes it updates, sometimes it wont.
May 5, 20178 yr Hello, what you are looking for is a descriptor field. I researched a bit in my decompiler and have found in HB your "WowGameObject.State". It has "return (WoWGameObjectState) this.Bytes1[0];" in Wrobot it's "WoWGameObject.GOType" with "return (WoWGameObjectType) (Memory.WowMemory.Memory.ReadInt32(this.GetDescriptorAddress(Descriptors.GameObjectFields.Bytes1)) >> 8 & (int) byte.MaxValue);" but if you looking at the enum of "WoWGameObjectState"(HB) / "WoWGameObjectType(Wrobot)" you'll notice it's different. I guess you need to read with wrobot additional offset to get your information i think it can be: .Data0, .Data1 or .Data8 from WoWGameObject. So if you looking where it gets used you'll find WoWGameObject.LockEntry which looks very promising: ... switch (this.GOType) { case WoWGameObjectType.Door: case WoWGameObjectType.Button: return this.Data1; ... But i'm not sure(couldn't test it now) so you can try to compare some values with the door while open/closed. If it's still returning the not desired value you can try to return the other data what i mentioned above. I hope that helps a bit. Good Luck
May 5, 20178 yr Author tried those values, all of them stay at 0 , open or closed. the only one that actually changes is IsMDXCollidable, but most of the time it will stay true even after you cant collide with the barrier.
May 5, 20178 yr var door = ObjectManager.GetObjectWoWGameObject().FirstOrDefault(o => o.GOType == WoWGameObjectType.Door && o.GetDistance < 7 && o.CanOpen); if (door != null && door.IsValid) { Questing.Gather(door.Position, door.Entry); } you welcome
May 5, 20178 yr Author canopen always returns false, and im not trying to do anything with the door, just trying to figure something that changes when its open so i can move forward.
May 5, 20178 yr is canopen == false then this mean u can't interact with gameobject. you need to check can you pass? if TraceLine.TraceLineGo(PointBeyondGate) //NOPE. LINE COLLIDED SOMETHING else //YAY! Path is clear
Create an account or sign in to comment