Jump to content

blueboy

Members
  • Posts

    723
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Everything posted by blueboy

  1. blueboy

    MMaps Redux

    Hi, I just wanted to to thank all the mmap team for their hard work and rapid response to issues posted. I can confirm, that the revised code now compiles without any errors or warnings on *nix Thanks again
  2. blueboy

    MMaps Redux

    Hi, I'm afraid the latest code does not compile on *nix sytems. I'm getting the following errors I'm running OpenSuse 11.3 gcc 4.5-4.2 MaNGOS[10797] I thought you should know Cheers
  3. Hi, This is not an issue as such. Collison happens in the normal game. As a player (without playerbot) try to run through an NPC character and see. It is possible to make terrain (ground & buildings) solid because they are fixed or static. Players, pets NPC and bots are dynamic and it is difficult to predict with any certainty where one object will be in relation to another, at any instances (something like Heisenberg's Uncertainty Principle) :cool: In other words collison is inevitable. The config option, # PlayerbotAI.FollowDistanceMin # PlayerbotAI.FollowDistanceMax # Min. and Max. follow distance for bots # Default: 0.5 / 1.0 is used to control bot crowding about the player and does not prevent collison Hope this helps
  4. Thanks, I was already aware of this. They have moved the location of 'vmap' code in the core. I have updated the portal code to compensate for this, but will wait a little time before I change the blueboy code. Just in case they decide to change it back :rolleyes: The code on portal compiles and runs fine on *nix sytems. I have not tried it yet on Windows. If you do experience problems, can you post details. If you are using 'mmaps', then at present this code does not work. I'm sure it won't be long before the mmap team fixes this issue. Hope this helps
  5. Hi DuB, bot movement is already as good as pet movement. Also, if you have mmaps installed properly, I'm surprised you have not noticed bots making full use of pathfinding. There are some issues with bot movement true, that kyle1 has already mentioned and these will be sorted out in time. EDIT: Maybe the "jumpin around like crazies" is caused by a network lag. If you have any of the following, * large number of users connected to your server * poor internet connection * without a dedicated server (i.e running server and client on the same machine) they will cause jerky behaviour generally. Cheers
  6. Hi, I would like to help you and I understand that English might not be your first language. I gather you want instructions on how to merge from the repos. The following link will get you started https://github.com/playerbot/mangos/wiki 1. To get playerbot code git clone git://github.com/blueboy/mangos.git master cd mangos 2. To merge with the latest MaNGOS git remote add mangos git://github.com/mangos/mangos.git git pull mangos master Hope this helps
  7. Eh? :rolleyes: Too cryptic! A please would be nice If your asking whether we post ready made patches for you to download, the answer is no. Either merge the code from either of the repos https://github.com/blueboy/mangos or https://github.com/blueboy/portal or you can create a standalone patch from these. A script to do this has been posted many times in this forum. You've just got to look :cool: The current code should be fine with MaNGOS[10746]. If not, let us know Hope this helps
  8. What's the problem, I've looked at your repo and you appear to have pushed the merge successfully Please get back to me
  9. Hi Guys, Yes I was aware of this issue when I was testing Ambal's new map system. The conflict occurs with an old fix I applied a long time ago, to improve the calculation of ground height UpdateGroundPositionZ(float x, float y, float &z). My fix is not needed now with the new map system, so it has been removed. I have updated both repos accordingly. @conan513 I have looked at PlayerbotPaladinAI.cpp and I can't see any problems with the code. The crash on your system appears to occur during the conversion of a unsigned 16bit integer to an unsigned 32bit integer GetUInt32Value. This conversion is used throughout the code in general (MaNGOS and mods) and does not cause an issue to my knowledge. I would welcome comments from other Windows users, 32bit and 64bit users. It maybe an incompatiblity issue with 64bit systems. Hope this helps
  10. Hi Ambal, I promise this is the last of the compile issues. CXX hellfire_peninsula.lo ../../../../src/bindings/ScriptDev2/scripts/outland/hellfire_peninsula.cpp: In member function void npc_demoniac_scryerAI::DoSpawnButtress(): ../../../../src/bindings/ScriptDev2/scripts/outland/hellfire_peninsula.cpp:266:49: error: class Map has no member named GetHeight Sorry about this but ScriptDev2 doesn't like your patch. I have traced the problem through to the removal of the function GetHeight(), declared in the Map class (Map.h) and the function itself in Map.cpp. Until ScriptDev2 modifies their scripts not to use this, I suggest you put these back. EDIT: Yes I see what you mean. If you put GetHeight() back the compiler then complains that it can't find GetGrid(), and so forth .. CXX Map.o ../../../src/game/Map.cpp: In member function float Map::GetHeight(float, float, float, bool, float) const: ../../../src/game/Map.cpp:921:49: error: class Map has no member named GetGrid I'll be patient and wait for ScriptDev2 to change ..in the meantime here is a small patch I created for the above script diff --git a/src/bindings/ScriptDev2/scripts/outland/hellfire_peninsula.cpp b/src/bindings/ScriptDev2/scripts/outland/hellfire_peninsula.cpp index 4046105..f8bd6e7 100644 --- a/src/bindings/ScriptDev2/scripts/outland/hellfire_peninsula.cpp +++ b/src/bindings/ScriptDev2/scripts/outland/hellfire_peninsula.cpp @@ -263,7 +263,7 @@ struct MANGOS_DLL_DECL npc_demoniac_scryerAI : public ScriptedAI float fX, fY; m_creature->GetNearPoint2D(fX, fY, 5.0f, fAngle); - float fZ_Ground = m_creature->GetMap()->GetHeight(fX, fY, MAX_HEIGHT); + float fZ_Ground = m_creature->GetTerrain()->GetHeight(fX, fY, MAX_HEIGHT); uint32 uiTime = TIME_TOTAL - (m_uiSpawnButtressTimer * m_uiButtressCount); m_creature->SummonCreature(NPC_BUTTRESS, fX, fY, fZ_Ground, m_creature->GetAngle(fX, fY), TEMPSUMMON_TIMED_DESPAWN, uiTime); the compiler likes it, but someone will have to go to the outlands and see whether the script likes it UPDATE: O.K they have now removed the offending GetHeight() call in hellfire_peninsula.cpp ScriptDev2 [1873] Remove one GetHeight() and make less code, doing the same. So if you are using [1873]+ there is no need to apply the above patch Hope this helps
  11. Hi Ambal, That did the trick, Cheers only one more issue CXX GridMap.o ../../../src/game/GridMap.cpp: In constructor TerrainInfo::TerrainInfo(uint32): ../../../src/game/GridMap.cpp:634:45: error: urand was not declared in this scope make[4]: *** [GridMap.o] Error 1 I solved this by adding #include "Util.h" to GridMap.cpp Thanks for your help
  12. Hi, I get the following error during compilation of your latest code from https://github.com/Ambal/mangos with MaNGOS[10721] on a *nix box using gcc. CXX AchievementMgr.o In file included from ../../../src/game/../framework/Policies/Singleton.h:27:0, from ../../../src/game/../shared/MemoryLeaks.h:42, from ../../../src/game/../shared/Common.h:66, from ../../../src/game/AchievementMgr.cpp:19: ../../../src/game/../framework/Policies/ThreadingModel.h: In instantiation of ACE_Recursive_Thread_Mutex MaNGOS::ClassLevelLockable<MapManager, ACE_Recursive_Thread_Mutex>::si_mtx: ../../../src/game/../framework/Policies/ThreadingModel.h:136:25: instantiated from MaNGOS::ClassLevelLockable<T, MUTEX>::Lock::Lock() [with T = MapManager, MUTEX = ACE_Recursive_Thread_Mutex] ../../../src/game/../framework/Policies/SingletonImp.h:39:9: instantiated from static T& MaNGOS::Singleton<T, ThreadingModel, CreatePolicy, LifeTimePolicy>::Instance() [with T = MapManager, ThreadingModel = MaNGOS::ClassLevelLockable<MapManager, ACE_Recursive_Thread_Mutex>, CreatePolicy = MaNGOS::OperatorNew<MapManager>, LifeTimePolicy = MaNGOS::ObjectLifeTime<MapManager>] ../../../src/game/AchievementMgr.cpp:1121:85: instantiated from here ../../../src/game/../framework/Policies/ThreadingModel.h:152:76: error: MaNGOS::ClassLevelLockable<MapManager, ACE_Recursive_Thread_Mutex>::si_mtx has incomplete type I notice that your patch does make some changes in ThreadingModel.h. Hope this helps
  13. Hi Temporary, Like I said in my last post, both scripts would work. If you are unfamiliar with git, and the unix environment use git clone git://github.com/cyberium/mangos.git new_ahbot cd new_ahbot git checkout new_ahbot git diff master > ../ahbot.patch Understanding scripts and git is more involved, where do I start :rolleyes: Tells the system where to find the *nix bash shell utility. -x is bash debug option that echo each line of the script as it executes. will clone (every commit) the whole of the MaNGOS repository git://github.com/mangos/mangos.git to your harddrive, and place it in a folder cyberium. Now this is your local master branch (clean MaNGOS code set to the HEAD of the branch - latest code) Check this by typing git branch * master The git fetch command merges the remote branch ahbot from cyberium's repository, with a newly created local branch, also call ahbot. Then switch from the local master branch, to the newly created local ahbot branch Now --pretty=oneline is a 'git log' option that does what it says. It abbreviates the info for each commit on one line. Try entering and see The output is then piped (redirected) to the input of the grep utility (*nix search) that locates the first occurence of the search pattern and returns the associated hash in script variable $HASH echo the difference in code between the local ahbot branch from commit ($HASH) and directs the output to a file ahbot.patch Hope this helps
  14. Hi temporary, The number you refer to is the commit history hash and yes this is unique for each commit. I believe both the scripts will work, it's your choice which one you use. I like the script I posted because it is quite flexible. Is a clever script given to me by skinlayers that searches the commit history for the string pattern highlighted above (in single quotes) and returns the appropriate hash. This one looks for the first occurence of the characteristic MaNGOS commits version, with format [1****] If you wish to create a small patch that includes all changes in the code from a specific commit, select a unique string pattern in the commit history description and replace the hightlighed pattern above, with this string pattern. Example of a commit, obtained from 'git log' Use the string pattern solve all your, to characterise this commit and the script will return bd1aca465eae0b0bc5be5b4377642d596c4e2baa Hope this helps
  15. blueboy

    MMaps Redux

    Hi KAPATEJIb I was going to do the same, if Iowahc still had problems Cheers
  16. blueboy

    MMaps Redux

    I had exactly the same problem. Do as qsa suggests Using the precompiled AD.exe provided doesn't work. If possible compile both vmapExtractor3.exe & vmap_assembler.exe too. It might not be necessary to compile these but it only takes a few minutes, and you then know that all exec files are compatible. They all compile without issue, and cerstainly solved the issue for me. If you use gcc on *nix like me to develop, you can download a trial version of "Microsoft Visual C++ Express Edition" if you do not have a full version. If you still don't have any joy, contact me Hope this helps
  17. Hi Guys, Guess what? Yes, they have decided to change it back again :rolleyes: in MaNGOS commit [10688] Just in case they change their mind again, I will not update the repos for a day or two. In the meantime, change all instances of 'p_time' to 'update_diff' in Player.cpp. Hope this helps
  18. Hi, Are you getting this error at compile time or run time. I have just compiled the playerbot code with MaNGOS[10686] and had no problems. case CMSG_SPIRIT_HEALER_ACTIVATE: { // sLog.outDebug("SpiritHealer is resurrecting the Player %s",m_master->GetName()); for (PlayerBotMap::iterator itr = m_playerBots.begin(); itr != m_playerBots.end(); ++itr) { Player* const bot = itr->second; Group *grp = bot->GetGroup(); if (grp) grp->RemoveMember(bot->GetGUID(), 1); } return; } The error suggests that the second parameter being passed to RemoveMember is incorrect. In Group.h You will see that parameter 2 is an 'int' and there is no conversion required. What is 'RemoveMethod' ? I have searched the code (MaNGOS & Playerbot) and find no reference to it. Let me know.
  19. Have you got anymore information :rolleyes: For instance, a snippet of the error you are getting... O.K. The changes made in the MaNGOS commit [10677] have been reversed. So to correct the following compile error CXX Player.o ../../../src/game/Player.cpp: In member function virtual void Player::Update(uint32) ../../../src/game/Player.cpp:1498:33: error: update_diff was not declared in this scope ../../../src/game/Player.cpp:1500:34: error: update_diff was not declared in this scope In Player.cpp change all instances of 'update_diff' to 'p_time' and it will compile and run without issue. I will update both repos shortly Hope this helps
  20. Hi, I wasn't aware that auctionhousebot changed anything in 'contrib/dbcEditer/' I have checked and the script I gave you does create a patch containing changes to code in 'contrib/dbcEditer/' and this doesn't make any sense. The script should create a patch showing all changes in cyberium's repository since the last MaNGOS commit [10654]. Looking at cyberium's repository in the 'ahbot' branch it is clear that a change has occured. name age message /dbcEditer/ September 05, 2010 Fix for annoying encoding The contrib can contain binary files (precompiled code). 'git diff' by default does not handle these. If you want the patch to handle binary files then add --binary as an option. I don't think these changes have anything to do with auctionhousebot. My advice would be to remove the offending code from the patch you created before you apply it. Hope this helps
  21. Hi Guys, They have made some changes to the core that will cause a compilation error In Player.cpp change all instances of 'p_time' to 'update_diff' and it will compile and run without issue. I will be updating both repos shortly Hope this helps
  22. Hi, If it is any help I have a script to create the auctionhousebot patch from cyberium's github. #!/bin/bash -x git clone git://github.com/mangos/mangos.git cyberium cd cyberium git fetch git://github.com/cyberium/mangos.git ahbot:ahbot git checkout ahbot HASH=`git log --pretty=oneline | grep -m 1 '\\[1[0-9]\\{4\\}]' | cut -d " " -f 1` git diff $HASH > ahbot.patch Then to apply If no conflicts, run again without --check Understanding patch structure git patch are usually composed of two set of code patterns (3 line pattern), one above and one below the modification (lines begining with either a '-' or '+' symbol). You may get conflicts due to core changes. The only main conflict with playerbot is in World.cpp Example: (line numbers may differ) Initial patch from ahbot.patch @@ -1318,6 +1354,9 @@ void World::SetInitialWorldSettings() // Delete all characters which have been deleted X days before Player::DeleteOldCharacters(); + sLog.outString("Initialize AuctionHouseBot..."); + sAuctionBot.Initialize(); + sLog.outString( "WORLD: World initialized" ); uint32 uStartInterval = getMSTimeDiff(uStartTime, getMSTime()); Initial MaNGOS code, 1317 to 1326 World.cpp 1316 uint32 nextGameEvent = sGameEventMgr.Initialize(); 1317 m_timers[WUPDATE_EVENTS].SetInterval(nextGameEvent); //depend on next event 1318 1319 // Delete all characters which have been deleted X days before 1320 Player::DeleteOldCharacters(); 1321 1322 sLog.outString( "WORLD: World initialized" ); 1323 1324 uint32 uStartInterval = getMSTimeDiff(uStartTime, getMSTime()); 1325 sLog.outString( "SERVER STARTUP TIME: %i minutes %i seconds", uStartInterval / 60000, (uStartInterval % 60000) / 1000 ); 1326} You see from the ahbot.patch that the upper & lower 3 line pattern matches the 3 lines in the game file World.cpp. Now after you apply playerbot, the MaNGOS code in World.cpp will change Revised MaNGOS code, 1332 to 1339 World.cpp 1331 //Check playerbot config file version 1332 if (botConfig.GetIntDefault("ConfVersion", 0) != PLAYERBOT_CONF_VERSION) 1333 sLog.outError("Playerbot: Configuration file version doesn't match expected version. Some config variables may be wrong or missing."); 1334 1335 sLog.outString( "WORLD: World initialized" ); 1336 1337 uint32 uStartInterval = getMSTimeDiff(uStartTime, getMSTime()); 1338 sLog.outString( "SERVER STARTUP TIME: %i minutes %i seconds", uStartInterval / 60000, (uStartInterval % 60000) / 1000 ); 1339} You will now have to copy and paste the upper 3 line pattern from the above revised World.cpp, to replace that in the ahbot.patch, thus Final (working) patch from ahbot.patch @@ -1318,6 +1354,9 @@ void World::SetInitialWorldSettings() if (botConfig.GetIntDefault("ConfVersion", 0) != PLAYERBOT_CONF_VERSION) sLog.outError("Playerbot: Configuration file version doesn't match expected version. Some config variables may be wrong or missing."); + sLog.outString("Initialize AuctionHouseBot..."); + sAuctionBot.Initialize(); + sLog.outString( "WORLD: World initialized" ); uint32 uStartInterval = getMSTimeDiff(uStartTime, getMSTime()); N.B When you paste the 3 line pattern, always add a space at the start of each line of the pattern, or the patch will be corrupt. Hope this helps
  23. blueboy

    MMaps Redux

    and 2 more conflicts in Unit.cpp and WaypointMovementGenerator.cpp, can somone help me? Hi, I found the only conflicts were due to the core changes, renaming canFly() to CanFly() canSwim() to CanSwim() canWalk() to CanWalk() Conflicts are normally divided into two blocks of code. One to keep and the other to delete. From the changes I have mentioned above, you decide which one to remove. Hope this helps
  24. blueboy

    MMaps Redux

    Hi qsa It works a treat now I built a new server with your latest changes and I can confirm that pets, minions and companions all follow their owner, unless ordered to stay. Even with playerbot Thanks very much
  25. Hi BThallid, Sorry for the misunderstanding with your patch, it was my bad. I have now tested the code with all types of pick and your right IsTotemCategoryCompatiableWith() used by HasItemTotemCategory(), does check that the pick can be used to mine. I will update portal ASAP. Would you like to be added as a collaborator to the playerbot project. You can then push your own changes without further confusion, mostly by me Let us know
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use