

blueboy
Members-
Posts
723 -
Joined
-
Last visited
Never -
Donations
0.00 GBP
Content Type
Bug Tracker
Wiki
Release Notes
Forums
Downloads
Blogs
Events
Everything posted by blueboy
-
There is a patch file provided for this, and you just need to run it. I made a bash script to look for all available patches, to bind SD2 and MaNGOS together. You then re-run the script, specifying the file version. #!/bin/bash unset BRANCH unset PATCHES BRANCH=$1 PATCHES="/home/mangos/compile/mangos/src/bindings/ScriptDev2/patches/" [ ! -z "${BRANCH}" ] || { echo "available patches:>"; ls ${PATCHES}; exit 1 ; } patch -p1 < ${PATCHES}'MaNGOS-'${BRANCH}'-ScriptDev2.patch' I realise this does resolve your present issue, but I hope it helps
-
O.K this is what I use, prep the objdir for compilation #!/bin/bash autoreconf --install --force mkdir /home/mangos/compile/mangos/objdir mv build.sh /home/mangos/compile/mangos/objdir mv debug.sh /home/mangos/compile/mangos/objdir cd objdir, then run #!/bin/bash ../configure --prefix=/home/mangos/wow --sysconfdir=/home/mangos/wow/etc \\ --with-python \\ --enable-cli \\ --enable-ra \\ --datadir=/home/mangos/wow/data and then link with make How does your process compare. Sorry your both on Windows, obviously mine will be different. The errors suggest that the linker can not find the info it needs to build necessary libraries. It maybe caused by a missing config parameter, perhaps the location of your *.obj files. I can't imagine that you both have the same issue with your build process. Sorry, I'm mulling this over as I go along. Edit: Common thread is that your both using Windows 7, and Visual C 2008.
-
Oh boy, when it goes wrong it really goes wrong. I'm presently running MaNGOS[9280] with playerbot and auctionhouse mods ONLY. I have no compile or link errors. We need to determine if your build process differs. Let us know.
-
Hmmm, and this is with just auctionhousebot and playerbot installed? It works fine on my linux box. The only real difference between our systems, are the additional mods that you use. Your last point was interesting. I'm getting the same issue, if I summon several bots at once with macros. It's fine if you summon the bots, one at a time. I have only had this issue since upgrading my openssl to 0.9.8k. There seems to be a bottleneck. This is an issue that must be addressed.
-
Hi, Are you asking a question or answering one? I took a look at the MaNGOS changelog around version [9281]. I did notice that tomrus88 renamed all MOVEMENTFLAG_* to MOVEFLAG_* in his commits. I see that there are two occasions in the playerbot code where the MOVEMENTFLAG_FLYING is used. I will update the blueboy repo shortly, but in the meantime, please adjust manually before compiling MaNGOS[9281+] You will find the references in PlayerbotAI.cpp, In HandleBotOutgoingPacket() function, @line 546 m_bot->m_movementInfo.AddMovementFlag(MOVEMENTFLAG_FLYING); change to m_bot->m_movementInfo.AddMovementFlag(MOVEFLAG_FLYING); and @ line 558 m_bot->m_movementInfo.RemoveMovementFlag(MOVEMENTFLAG_FLYING); change to m_bot->m_movementInfo.RemoveMovementFlag(MOVEFLAG_FLYING); Thanks for the info, even though it was a bit cryptic. Cheers
-
Why do you wanted to manually order the bots to dismount? They should dismount automatically as the player does. I realise you have had problems with mounts, but I am sure your issue will be resolved if do as I suggested and use a 3.3.0 compatible database, with a newer SD2. It does not have to be PSMDB, I only suggested that one, as that's the one I use. I know that it works. Are you suggesting a 'dismount' command or an open command system using the macros command structure, e.g /point or /silly. Great idea, but the later would require a far more elaborate AI than playerbot has at present. I want to encourage users to develop the playerbot AI. If your weak at C++ thats O.K, this is a great place to learn and have fun at the same time. There is always help available. Cheers
-
Hi, I don't think I will be much help. As you are probably aware 'Visual C' does not like the use of 'unlink' @ 1127 in OS_NS_unistd.inl. I have looked at this line and it is referenced thus '::unlink'. Have you tried doing as it suggests and use '_unlink'. Have you contacted lighthouse. Check if there is an open ticket or report the issue yourself. Your error occurs in ACE_wrappers, a dependacy to the core. They will be the best people to help you. Sorry for being of little help
-
I understand, if your DB loads without issue thats great. Recently they upgraded the client to 3.3.0 and I was using a PSMDB that was only supposed to be compatible with 3.2.2a. It loaded, but there was lots missing. Give PSMDB a try and see how it compares to UDB. It may help. Getting the bots to 'emote', might sound like a good thing, but I am sure it would start to annoy after awhile! If you want to try creating a routine to do this, it maybe amusing to try out. You could try selecting emotes randomly (rambling bot :rolleyes:), or in response to something the player might be doing. Off the top of my head, I can't think of the opcode to do this, but I am sure it must be available. pseudo code setup opcode SMSG_OPCODE // details in Opcodes.cpp select a suitable emote data << emote send opcode packet (data) to client If you want this to be a continuous process, place a call to your routine in say UpdateAI() in PlayerbotAI.cpp. Have fun
-
Hi, I can immediately see that you have a discrepancy between the versions of MaNGOS and SD2/DB used. The DB is very old, and originally designed to work with WOW client 3.2.2a or earlier, while your using a later version of MaNGOS that works with WOW client 3.3.0a. I am amazed you got the server to load :rolleyes: I would suggest you use a newer DB & SD2. Try PSMDB wotLK (288) a recent release. http://svn.assembla.com/svn/psmdb_wotlk Version (288) is compatible with MaNGOS [9263] / SD2 [1556] & client 3.3.0a. This might resolve your present problems, and explain your recent server crashes too! terminate called after throwing an instance of 'std::logic-error' what(): basic_string::_S_construct NULL not valid might point more towards a problem with the database. I do not know much about 'DruidFlightForm' or 'DualSpec' mods, but I believe others use these, without issue. My present setup is as follows, OpenSUSE 11.2 32bit linux box MaNGOS [9280] SQL updates applied SD2[1556] PSMDB[288] playerbot[blueboy] latest auctionhousebot [Naicisum] latest autobroadcast[Xeross] old Make sure you have updated your 'realmd' and 'character' databases, with the relevant SQL updates. and I have no problems compiling or running. Try this setup first (with Ubuntu 9.10 32 bits on a dual core AMD) and then add your additional mods. Hope this helps
-
Hi, I'm glad your server has stopped crashing. About your mount issue. I have carried out tests using my son's guild. Half of the characters over level 20 have mounts. doc paladin no mount dopey priest no mount sneazy hunter no mount & pet sleepy rogue no mount happy mage no mount snowy priest mount bashful warlock mount & voidwalker grumpy warrior mount I have loaded each of these as the player and the rest as bots. Three have mounts and two have companions or pets. I repeatedly mounted and dismounted the player, and those who had mounts did the same without fail, each time. The warlock even swaps the mount for his voidwalker each time. There is code in playerbot to detect the movement speed of the player. If this doubles, which accounts for being mounted, the bot follows suit. If the movement speed then returns to normal (dismount), so does the bots. I'm sorry you are having problems with your system. Can you describe your system? Without any more info, I can not help you. I particularly need to know if you are using any other mods that might be conflicting with playerbot. The achievement info is displayed as bots are summoned, for the players benefit. I assume this is what annoys you. I do not think this info is shown to any other real players, but I might be wrong. Is this a big issue? If it is, then maybe you could direct this info to a different chat channel! Cheers
-
Hi, I think something else is causing your system to crash. I've just tried entering exactly what you have typed, and the server doesn't crash, but warns, Combat order protect and assist expect a target either by selection or by giving target player in command string! and I can't say that I have had problems with mounts. What other mods are you using? If you have a hunter or warlock bots, they can only have one active pet. The mount is classed as a pet! Please get back to me!
-
Yes, your using the wrong github repo. The main playerbot repo is out-of-date, we are presently using blueboy which works with the latest MaNGOS. Try this git clone git://github.com/mangos/mangos.git cd mangos git pull git://github.com/blueboy/mangos.git master Cheers
-
Hi Guys, Sorry for my absence. I have been busy with my inventory project. I was intrigued with erasure's suggestion that it would be nice if we could get the client to display graphically, the inventory for bots. I did find an opcode 'SMSG_OPEN_CONTAINER', but at present there is very little information about its use (format of the worldpacket). After scouring the internet, I did find the following, 0x113 SMSG_OPEN_CONTAINER GUID container // player GUID for backpack However, after many hours without success, I discounted this as a possibility. But feel free to explore this yourselves. My original intention was to display all inventory items for bot(s), and also display a summary of empty space remaining. I did create a patch to do this, but it was very messy. As you are aware, the scrolling feature of the 'General history log' on the client, is jerky to say the least. If you list all items for a particular bot, the information displayed will cease to be useful. There's far too much! I decided to only display the summary inventory information, for empty space. This will provide useful information about the bots free space, without the need for player/bot swapping. The new command is called 'free', info is included in 'bot_readme.txt' file. Essentially you have two options. 1. Display empty space for one bot. /w <bot name> free 2. Display empty space for bot party/group. /p free The command displays empty space in the main backpack, and all general purpose bags. It does not display space in specialist bags (e.g mining or herb bags). I have also added a function Item* PlayerbotAI::FindItem(uint32 ItemId) , that maybe useful for future developments. I have uploaded modified code to blueboy, and merged it with the latest MaNGOS. Hope you find it useful. Cheers
-
More or less. When I added the 'group loot roll' feature to playerbot, there was an annoying glitch that caught me out a few times, during play. If bots have full bags, they may still take part in rolls. If they win and can't collect their reward, the item is lost. If you as the player try to pick up the item from the corpse, the system will teases you ' item is still being rolled for'. As Sods Law dictates, the item will be just what you wanted. The trade feature just lists items that are tradable, and not all the items. You have no way to determine how full the bags are. I'm hoping that this 'bag' feature will give you enough warning, so you can visit a vendor, and that's where your 'buy' & 'sell' feature will come into its own. Cheers
-
Hi Guys, I propose to work on an inventory feature for the bots, which I feel is lacking from the present code. At anytime you will be able to determine the bot inventory, and available space, simply by using the command 'bag'. I will start this as soon as I have resolved the present issues that I have mentioned. Cheers
-
I attempted to run your code( saw the section that checked the bags). However I could not run it. Not the fault of your code, but I believe there might be a memory leak in MaNGOS[9232]. When I try to summon one or more bots, the server goes down like a brick, and there are absolutely no warnings. Very difficult to trace, I have tested MaNGOS[9218] and that is O.K. I will have to test them one by one up to MaNGOS[9232], until I find the offending commit. If any of you guys find issues yourselves, let me know, it might save me some time. Edit: I have now tested, MaNGOS[9224] O.K MaNGOS[9229] O.K // Need to add #include "ObjectAccessor.h" to Guild.h MaNGOS[9231] O.K // Need to add #include "ObjectAccessor.h" to Guild.h MaNGOS[9232] O.K // Need to add #include "ObjectAccessor.h" to Guild.h MaNGOS[9239] O.K What can I say. It looks like the crash, must have been a glitch in my system. I have now tested playerbot, auctionhousbot & autobroadcast up to the latest MaNGOS commit, without any faults.
-
Great to see your 'bot buy' patch is ready for testing. I'll try out on my next build. I guess 'bot sell' will be the next challenge. I was thinking that it might be useful if we get the bots to warn when their bags are full. It would certainly prevent 'group loot rolls' from being messed up. Great work, thanks for your contribution.
-
Hi Guys, Are any of you having issues compiling the core, after MaNGOS[9219]. I'm running linux (OpenSUSE 11.2) and the core build keeps failing, with the following error checking for OPENSSL... ../configure: line 16209: syntax error near unexpected token `elif' ../configure: line 16209: `elif test $pkg_failed = untried; then' My system uses openssl 0.9.8k, so I know that is correct. I have reported this issue, but would interested to know if it effects anyone else. Cheers
-
Here is the code straight from my server, else if ((text == "buy") || (text == "buy ") || (text.size() > 4 && text.substr(0, 4) == "buy ")) { const uint64 playerSelection = fromPlayer.GetSelection( ); Object* const pNpc = ObjectAccessor::GetObjectByTypeMask(*m_bot, playerSelection, TYPEMASK_UNIT|TYPEMASK_GAMEOBJECT); if (!pNpc) { SendWhisper ("Selected player is not an NPC I can talk to.", fromPlayer); return; } Creature *creature = GetPlayer()->GetNPCIfCanInteractWith(playerSelection,UNIT_NPC_FLAG_VENDOR); // sLog.outDebug("[PlayerbotAI] pNpc TypeId %u", pNpc->GetTypeId()); // sLog.outDebug("[PlayerbotAI] playerSelection is(GUID:%u)",uint32(GUID_LOPART(playerSelection))); std::ostringstream itemsOut; if (!creature) { SendWhisper ("Barf.", fromPlayer); return; } const VendorItemData* items = creature->GetVendorItems (); if (items->Empty()) { SendWhisper("This vendor does not have items I can buy.", fromPlayer); } for (uint64 index = 0; index < items->GetItemCount ();++index) { const VendorItem* vItem = items->GetItem(index); ItemPrototype const* pItemProto = ObjectMgr::GetItemPrototype(vItem->item); std::string itemName = pItemProto->Name1; ItemLocalization(itemName, pItemProto->ItemId); itemsOut << " |cffffffff|Hitem:" << pItemProto->ItemId << ":0:0:0:0:0:0:0" << "|h[" << itemName << "]|h|r"; if (creature->GetVendorItemCurrentCount(vItem) > 1) itemsOut << "x" << creature->GetVendorItemCurrentCount(vItem) << ' '; } ChatHandler ch(&fromPlayer); SendWhisper("Here are the items I can buy", fromPlayer); ch.SendSysMessage(itemsOut.str().c_str()); // SendWhisper("Buying!!!", fromPlayer); SendWhisper("I dont know how to do that yet!!!", fromPlayer); } Some vendors have more than one of an item for sale. A good example is 'Antonio Perelli' the traveling salesman who walks up and down the road just by the Eastvale Logging Camp, in Elwynn Forest. Try it. Hope this helps
-
Yeah, I am pleased that the code generally is behaving itself. I'm still waiting for an official DB, that supports 3.3.0 and clear all those nasty warnings, when the database loads. It shouldn't be long... Cheers
-
Hi klunk, Yes, all I really changed was the flag mentioned. I realise that the block of code was in a prototype stage, no problems. I did experience the jump back effect on one occasion. It only seemed to occur while fromPlayer. was being used to address the GetNPCIfCanInteractWith function (I changed this to GetPlayer()->), although it didn't make much sense. I did for the sake of testing, I added some additional code (on my server) to list the names and quantities of vendor items. If you would like this, let me know. No, I don't use gdb, I prefer to add my own flags 'sLog.outDebug' to monitor variables & pointers, in debugging. Thats just my choice! Cheers
-
Nice one! The development of the 'Valhalla Project' is very fluid at present. One commit its working, the next it is not. I just tried using a patch created from a later release of Valhalla, and the compiler bombed out saying forbidden use of variable name. I then traced this back to the vehicle patch. I might wait awhile before I use it. Cheers
-
Hi klunk, I got it working with a little adjustment. If the player selects a valid Vendor, and you type /p buy the bots will all list items they can buy, if not, they will whisper 'Barf'. else if ((text == "buy") || (text == "buy ") || (text.size() > 4 && text.substr(0, 4) == "buy ")) { const uint64 playerSelection = fromPlayer.GetSelection( ); Object* const pNpc = ObjectAccessor::GetObjectByTypeMask(*m_bot, playerSelection, TYPEMASK_UNIT|TYPEMASK_GAMEOBJECT); if (!pNpc) { SendWhisper ("Selected player is not an NPC I can talk to.", fromPlayer); return; } Creature *creature = GetPlayer()->GetNPCIfCanInteractWith(playerSelection, UNIT_NPC_FLAG_VENDOR); // Changed from TYPEMASK_UNIT sLog.outDebug("[PlayerbotAI] pNpc TypeId %u", pNpc->GetTypeId()); // TypeID from Object.h sLog.outDebug("[PlayerbotAI] playerSelection is (GUID:%u)",uint32(GUID_LOPART(playerSelection))); // 'guid' from 'creature' table. Then use 'id' to find 'entry' in 'creature_template' table if (text == "buy" || text =="buy ") { std::ostringstream itemsOut; if (!creature) { SendWhisper ("Barf.", fromPlayer); return; } const VendorItemData* items = creature->GetVendorItems (); if (items->Empty()) { SendWhisper("This vendor does not have items I can buy.", fromPlayer); } uint64 index = 0; for (index = 0; index < items->GetItemCount ();++index) { const VendorItem* item = items->GetItem(index); itemsOut << item->item << "|r"; } ChatHandler ch(&fromPlayer); SendWhisper("Here are the items I can buy", fromPlayer); ch.SendSysMessage(itemsOut.str().c_str()); // SendWhisper("Buying!!!", fromPlayer); } SendWhisper("I dont know how to do that yet!!!", fromPlayer); } Hope this helps
-
Hi klunk, I have copied the block of code, and will try it on my server. I find it better to see the issue first hand. Are you getting a real GUID value for 'playerSelection'? I presume you do, otherwise you would never get a 'pNpc', and it would exit in the if (!pNpc) { SendWhisper ("Selected player is not an NPC I can talk to.", fromPlayer); return; } each time. I'll get back to you.
-
Hi klunk, Sound like a good project. To locate and NPC such as a vendor. Do a database query on the WorldDatabase. Query the 'entry' field from the 'creature_template' table and cross reference this with the 'id' field from the 'creature' table. The 'creature' table then contains the x, y, z map locations for this NPC. The 'creature_template' table also contains the 'name' of the NPC. Hope this helps
Contact Us
To contact us
click here
You can also email us at [email protected]
Privacy Policy | Terms & Conditions

You can also email us at [email protected]
Privacy Policy | Terms & Conditions
Copyright © getMaNGOS. All rights Reserved.
This website is in no way associated with or endorsed by Blizzard Entertainment®
This website is in no way associated with or endorsed by Blizzard Entertainment®