Or google flight controls: pitch, yaw, roll.
WoW implements pitch (upwards/downwards factin) and yaw (which is just heading). Roll would be... interesting.
Or google flight controls: pitch, yaw, roll.
WoW implements pitch (upwards/downwards factin) and yaw (which is just heading). Roll would be... interesting.
Don't believe everything you think.
You can actually get a roll-like effect with editing bone flags. (It actually some weird billboarding then. Pretty funny. Just edit the root bone and try a bit. Got pretty nice results.)
Of course that's not real roll.
This is one of those posts I can read over and over again and I still find new things in it and all those smalle details I have been missing before.
Anyways this post has been really helpful and I want to learn from it. So far I am trying to make this work but once again I am facing my own stupidty.
I included Shynd's BM and replaced some of those Wowreader commands so it would fit BM.
What I dont get is what does WowReader.SetProcess("Wow", "read") do ? I mean okay I am pretty sure that it tells the class which process to open and so on but I am just not completely sure how to handle this ? does this set debug priveleges as well ?
I know this might be stupid and I am sorry if it is but thats just me
-Azzie
I am facing some new problems and I have no idea why they are caused.
It seems that whenever I call this
I get this exceptionCode:objectManagerBase = WowReader.ReadUInt((WowReader.ReadUInt(staticClientConnection) + objectManagerOffset));
The adresses I use are still the same as in the guide************** Exception Text **************
System.Exception: ReadUInt failed.
at Magic.SMemory.ReadUInt(IntPtr hProcess, UInt32 dwAddress, Boolean bReverse)
at Magic.BlackMagic.ReadUInt(UInt32 dwAddress, Boolean bReverse)
at Magic.BlackMagic.ReadUInt(UInt32 dwAddress)
at FishBot.ObjectManager.LoadAddresses() in E:\Fishbot\FishBot\ObjectManager.cs:line 33
at FishBot.Form1.Attach_Click(Object sender, EventArgs e) in E:\Fishbot\FishBot\Form1.cs:line 23
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
I havent looked up the new ones since it really won't matter if I don't get this ObjectManager working first.Code:private static uint staticClientConnection = 0x011CB310; // client connection, same address every boot private const uint objectManagerOffset = 0x28A4;
ReadUInt works if I am only reading a normal static adress but as soon as I use the above code everything crashes.
I dunno what might be causing this because even if the adress and offset would be wrong it woul just read some jibberish, right ?
-Azrael
Not sure why it's not working however your addresses and offsets are out of date I think and you need them to be up to date for it to work I would have thought... I'd check over the sticky in the memory editing section for the newest ones. I think its called "3.1.3 info dump" or something similar.
Quarters.
http://www.mmowned.com/forums/wow-me...-patterns.html
Though it deals with patterns, I suggest reading it. It contains 3.1.3's statics too, anyway.
Sounds like you made ObjectManager static. Check for the 'static' keyword in the class definition and, really, in any method it contains.
So everything with this worked fine so far. There is only one thing that bothers me atm.
LocalPlayer is always null.
I can find the local Player in the list but it does not safe the LocalPlayer at populating the list.
As Local Guid Offset I am using 0xC0 which I have looked up at several places and seems to be up to date.Code:if (CurrentObject.Type == 4) { // a player PlayerObjectList.Add(CurrentObject.Guid, new PlayerObject(CurrentObject.BaseAddress)); if (CurrentObject.Guid == localGuid) // it is the local player { LocalPlayer = PlayerObjectList[localGuid]; } }
The ObjectManager works fine beside that so I am getting ObjectManagerBase and so on.Code:localGuid = WowReader.ReadUInt(objectManagerBase + localGuidOffset);
If anyone could enlighten me ?
-Azrael
you may want to read the GUID as an UInt64.
Edit: nvm, already found my answer.
Any hints where I could start reversing to find position-offsets myself?
Last edited by flo8464; 07-17-2009 at 10:02 AM.