is blizzard that uninterested in botting, that you don't hide your name in the video? O.o
is blizzard that uninterested in botting, that you don't hide your name in the video? O.o
Lol mean. Just **** blIZZard xD
You are right. I will delete this small demo.
I will upload a big demo with entire map clear, handeling various skills including elites skills, portal, tps, and I will put my fu***** in big letters in the middle of the screen.
Hey enigma i am having some bugs while getting players word position.
This code:
will sometimes crash my script throwing an exception that couldn't get the data in the float[] coords line.Code:if (Engine.Current.LocalData.x00_IsActorCreated != 0) { var player = ActorCommonDataHelper.GetLocalAcd(); float[] coords = { player.x0D0_WorldPosX, player.x0D4_WorldPosY, player.x0D8_WorldPosZ }; return coords; }
I tried also this as a debug
but again IsPlayerDataCreated returns true but it crashes when getting world positions.Code:if (Engine.Current.LocalData.x34_IsPlayerDataCreated != 0) { var player = ActorCommonDataHelper.GetLocalAcd(); float[] coords = { player.x0D0_WorldPosX, player.x0D4_WorldPosY, player.x0D8_WorldPosZ }; return coords;
Is there a workaround for this?
This as well will sometimes throw me an exception:
however i didn't pay attention yet. I will pay attention next time and give a feedback about the exceptions in both cases.Code:Enigma.D3.Helpers.AttributeHelper.GetAttributeValue(ActorCommonDataHelper.GetAcd(_GUID), Enigma.D3.Enums.AttributeId.ItemQualityLevel)
Why don't you just look at the stacktrace?
Is there a way to check a text on screen with this framework, anyone knows?
I already created one with memory read but there is already a way please let me know someone.
Example: check the text, You are already at full Life, which appears when we use healing potions while at full hp
Here you go:
Code:public static bool CheckTextVUI(string standarvalue, string texttocheckfor, int bucket = 731) { int Ptr1 = Engine.Current.Memory.Read<int>(0x01CE3814); //offset objmanager 2.0.6 = 0x01CE3814 int Ptr2 = Engine.Current.Memory.Read<int>(Ptr1 + 0x984); int Ptr3 = Engine.Current.Memory.Read<int>(Ptr2 + 0x0); int BOffset = Engine.Current.Memory.Read<int>(Ptr3 + 0x10); int UIPointer = Engine.Current.Memory.Read<int>(BOffset + (bucket * 0x4)); while (UIPointer != 0) { int tPtr = Engine.Current.Memory.Read<int>(UIPointer + 0x10); int Visibility = Engine.Current.Memory.Read<int>(tPtr + 0x24) & 0x4; if (Visibility == 4) //if visible { byte[] Name = Engine.Current.Memory.ReadBytes(tPtr + 0x38, 1024); if (Encoding.Default.GetString(Name).Contains(standarvalue)) { byte[] text = Engine.Current.Memory.ReadBytes(Engine.Current.Memory.Read<int>(tPtr + 0xa58), 1024); if (Encoding.Default.GetString(text).Contains(texttocheckfor)) { //Console.WriteLine(Encoding.Default.GetString(text).Substring(0, texttocheckfor.Length)); return true; } } } UIPointer = Engine.Current.Memory.Read<int>(UIPointer); } return false; }
Last edited by ileandros; 07-12-2014 at 07:29 AM.
Your posts are always fun :P
x984 is UIManager (what you call Ptr2)
x0 is Controls (what you call Ptr 3)
x10 is UIMap (what you call BOffset)
So my question to you: Why don't you just find the the name of the control that you're trying to read with that code, look it up in UIMap and deference it as a TextUIControl?
Well i know what they are, i just translated my old code and left it for the moment. I have no use of it for now that is why i am not changing it for now. My framework is not the same as this one so translating it is a little bit difficult. Since i don't know this framework.
And as for your question, you mean to get the name of the control, and loop through the uimap to see if it is there + visible?
Basically this is what the code above is doing, more or less.
I am sorry if i am not understanding you right
P.S. I am looking for a damn hour and cant find this. Is there a way to get the Act name? Like Act1,2,3 etc... Fu*** my knowledge![]()
Last edited by ileandros; 07-12-2014 at 10:31 AM.
Code:Engine.Current.ObjectManager.x984_UI.x0000_Controls.x10_Map[controlName].Dereference<TextUIControl>().xA58_Text
It does not do the same. You explicitly tell it what bucket to search while I calculate what bucket it belongs to (it is not a constant). You can simply get the control like azgul showed and check the text value:
Are you even trying!? Ctrl+F, search the project for "Act", you'll find ActId in LocalData... It polls it from Storage.x2C (this value is more accurate, LocalData is cleared with 0xCD before every update). You'll have to translate it to text yourself, 0 = Act1, 100 = Act2 and so on.
I know how to find the act. I was just wondering if there was a way to return a string such as Act1,2,3 etc...
In my framework i was returning a string with the act. Then i switched to map id.
Anyway this is what i did about the act
As for the Checktextvalue function, i didn't want to work on this yet because i dont really need it for the moment but i gave it a try.Code:public static int GetAct() { int actID = Engine.Current.MapActId; int Act = 0; switch (actID) { case 0: Act = 1; break; case 100: Act = 2; break; case 200: Act = 3; break; case 300: Act = 4; break; case 400: Act = 5; break; } return Act; }
My only problem was that i could not convert TextUiControl to UIControl to be able to check it's visibility. And dunno if it is possible so i create a new UIControl then check its visibilityCode:public static bool CheckTextvalueUI(string texttocheckfor, int visibility = 1) { string Text = Engine.Current.ObjectManager.x984_UI.x0000_Controls.x10_Map["Root.TopLayer.error_notify.error_text"].Dereference<TextUIControl>().xA58_Text; if (Text.Contains(texttocheckfor)) { if (visibility == 1) { UIControl visible = Engine.Current.ObjectManager.x984_UI.x0000_Controls.x10_Map["Root.TopLayer.error_notify.error_text"].Dereference<UIControl>(); if (((visible.x024_Visibility >> 2) & 1) == 1) { //Console.WriteLine("Visibility set to " + visibility + " |Text: " + Text); return true; } else { return false; } } else { if (visibility == 0) { //Console.WriteLine("Visibility set to " + visibility + " |Text: " + Text); return true; } } return true; } else { return false; } }
You know what? You don't need to write anymore in here. You clearly don't quality to be in this section of the forum as you don't even understand basic object oriented programming, TextUIControl inherits from UIControl... And why do you keep asking for things you're not needing or not going to use... I won't be replying to you anymore, just forget about it. Sorry but I just don't have the energy for it.
http://www.ownedcore.com/forums/diab...e-posting.html (Memory Editing Section rules! (READ BEFORE POSTING))
Are you stupid or what? Who forced you to reply to me? And who the f*** told you that i am asking you?
A simple question was asked and YOU asked ME to post what i have, AND SO I DID.
I have problems expressing myself because i don't know the framework, but you clearly have mental problems and problems understanding english.
I know where TextUIControl inherits from but the one returns a string and the other an id which you can still handle. I dont want to know how to convert it, i dont give a shit. I just did it my way. And that is all. If you dont like it, well it is your problem. I didn't ask about your help.
Dont overact brother.