"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." - Martin Golding
"I cried a little earlier when I had to poop" - Sku
Im not scared, i just think people that dont want to should have the possibility to use it as well. Just a small missunderstanding on your side it seems
Sorry is this pather working with wow? or am I just dreamiing?
If you fix it, it will work.
Fantastic?
Here I am!![]()
@barthen: your adapted PPather code has been invaluable.. god bless GPL!
As far as I have been able to work with it, it looks like there are plenty of variations of PPather around. One of the guys working on BabBot pointed to me this one: https://openwow.net/svn/pather-lite/
which seems to be a very stripped down version of PPather. Basicly just the pathing code and nothing else. But I couldn't understand from which version of PPather it was taken.
It would be cool if someone took over the PPather code, stripped it of all the unnecessary fuss and fixed the outstanding bugs like those pointed out in this post and released it to the public. I have a member of the team currently working on nav meshes but having just one project that does it all would really be the best choice.
btw I'm still stuck with detecting on which continent the player.. as far as I could see, PPather needs to know which continent to work from in order to extract the data from the correct MPQ file. And again.. having something that does the extraction of all the needed stuff once and for all the first time you run your bot would really make things faster for those that have the hdd space to invest on (almost anyone)
Read the "RealZoneText" from memory or via GetRealZoneText() and get the "ContinentID" from DBFilesClient\AreaTable.dbc.
Code:Field ID Type Description 0 uint AreaID 1 uint Continent (refers to a WorldID) 2 uint Region (refers to an AreaID) 3 bitfield Flags 11 string Name
Problem solved.Code:public Mover(LocalPlayer Me) { const uint GetContinentName = 0x010A51F8; string contintentName = Game.wow.ReadUTF8String(GetContinentName, 40); ppather.Init(contintentName); this.Me = Me; mySpot.Update(Me.Location); Logger.logToFile("PPather started on " + contintentName + "."); }
In my copy, the offset lives in Offsets.cs but its simpler to illustrate like this.
Last edited by Hawker; 06-04-2009 at 01:55 AM.
I went for the code-injected way of doing it. I'm calling DoString with the following code: "SetMapToCurrentZone(); continent = GetCurrentMapContinent();"
And I read the continent variable and go through a switch as it's only 6 possible values apparently (not including battlegrounds / instances as I'm not really interested in them at the moment).
I could as well just dump the content of AreaTable.dbc and get a list in the bot code but I'm too lazy to do that atm
On the other hand, did anyone figure out if models are actually being misrotated along the Y axis or not?
Hey Tanis, yesterday I checked out the babbot source code and I think I found a bug in the wowplayer.cs file (in the function returning the continent name). You're returning "Outland" but I think the continent name should be "Expansion01".
I can't test it right now so maybe I'm mistaken.
By the way, has babbot a forum of its own?
https://apps.sourceforge.net/phpbb/babbot/index.php? , yes it has