Jump to content

Playerbot (archive)


Recommended Posts

there's no reason why it WOULD be a negative thing so IMO just go ahead and do it now :P

my next idea is to make it completely standalone (use it's own functions) so that compiling wont be broken when mangos changes stuff.... but this requires some kind of information bridge between both which would decrease performance i guess

Link to comment
Share on other sites

  • Replies 1.8k
  • Created
  • Last Reply

Top Posters In This Topic

Hi Guys,

As promised I've just merged the portal code with the blueboy code. I've also updated both repos with the latest MaNGOS[10199].

portal will continue to be for development use only

EDIT: The code on both repos compiles and runs without issue

Hope this helps

Link to comment
Share on other sites

I tried to make a server on different computer and vmware. And it is still the same thing as in local. No difference whatsoever. Bots are extremely laggy. Even 1 bot makes problems. When I add 2 or 3, then strange things start to happen. Death Knight is absolutely the worst. Druid is great and shaman also. Warrior is kinda good and rogue is simillar to warrior. But DK... NIGHTMARE. I don't know what to do anymore to fix this.

Am I doing something horribly wrong?

Link to comment
Share on other sites

I tried to make a server on different computer and vmware. And it is still the same thing as in local. No difference whatsoever. Bots are extremely laggy. Even 1 bot makes problems. When I add 2 or 3, then strange things start to happen. Death Knight is absolutely the worst. Druid is great and shaman also. Warrior is kinda good and rogue is simillar to warrior. But DK... NIGHTMARE. I don't know what to do anymore to fix this.

Am I doing something horribly wrong?

Hi,

I would forget about 'vmware' altogether. Do as brunogcar suggests and get yourself a linux distro and bang that on the computer.

I use;

OpenSuSe 11.2

MySQL 5.1.36 server

and of course GNU C/C++ compiler.

I get no lag at all. I will PM shortly.

Cheers

Link to comment
Share on other sites

I know Linux enough to use it properly, but setting up stuff like sql, server, etc... I think it is a bit out of my league. There are tutors, I know, but with my luck I'll get pwned again.

Hi,

When I first built my server I used the following reference, that shows you step by step how to configure OpenSuSe with MySQL & Apache.

http://www.howtoforge.com/perfect-server-opensuse-11.2-x86_64-ispconfig-3

hope this helps

Link to comment
Share on other sites

Blueboy, I'm getting this error in PlayerbotMgr.cpp since all of the roll changes:

1[/size]

Hi,

Thanks for the info. I'm just testing playerbot with MaNGOS[10218].

They have indeed changed the parameters passed to the function CountRollVote.

-        bool CountRollVote(ObjectGuid const& playerGUID, ObjectGuid const& lootedTarget, uint32 itemSlot, RollVote vote); 
+        bool CountRollVote(Player* player, ObjectGuid const& lootedTarget, uint32 itemSlot, RollVote vote); 

In PlayerbotMgr.cpp the function no longer passes the player's GUID, but just a pointer to the player.

Before

 group->CountRollVote(bot->GetGUID(), Guid, NumberOfPlayers, RollVote(choice));

After

 group->CountRollVote(bot, Guid, NumberOfPlayers, RollVote(choice));

I will update the repos once I have finished testing it

EDIT: I have checked out playerbot with MaNGOS[10219] & SD2[1742]. It compiles and runs without issue.

Hope this helps

Link to comment
Share on other sites

Hiya, just compiled latest revisions of Mangos, Auctionhouse and Playerbot, and the last line of start up is below:

Playerbot: Unable to open configuration file. Database will be unaccessible. Configuration values will use default.

Playerbot: Configuration file version doesn't match expected version. Some config variables may be wrong or missing.

What am i missing? o_O

Link to comment
Share on other sites

Hiya, just compiled latest revisions of Mangos, Auctionhouse and Playerbot, and the last line of start up is below:

What am i missing? o_O

Hi,

You maybe aware that we recently merged the development repo portal with the main blueboy repo. It is advised that you do a fresh playerbot install and do not re-use old files (i.e any pre-configured 'conf' files) All playerbot configuration is now done in a separate file called 'playerbot.conf'. If your compiling under linux this will be copied to the 'etc' directory in your binaries as 'playerbot.conf.dist'. This will need to be renamed and configure, otherwise the MaNGOS daemon will not find the info as the server loads. If you are compiling under windows, then you will need to copy the file 'playerbot.conf.dist' from the source 'playerbot' folder, to the location where you keep your other 'conf' files, renamed and configured as above.

Please specify the actual version of code being used. Certainly, MaNGOS is changing all the time and what might be the 'latest' to you, might not be when I try to test the code.

I am presently testing playerbot from blueboy with,

MaNGOS[10246]

SD2[1749]

auctionhousebot[Naicisum]

EDIT: I have now tested the build and it compiles and runs without issue

They have made changes in Chat.cpp (MaNGOS[10242]+) that breaks the playerbot and auctionhousebot patches. I will update the playerbot code shortly. I do not provide support for auctionhousebot, but where the conflict occurs compare the new Chat.cpp with the patch and replace the lower 3 line pattern

before

diff --git a/src/game/Chat.cpp b/src/game/Chat.cpp
index 9750696..d6f3765 100644
--- a/src/game/Chat.cpp
+++ b/src/game/Chat.cpp
@@ -697,6 +697,7 @@ ChatCommand * ChatHandler::getCommandTable()
        { "cometome",       SEC_ADMINISTRATOR,  false, &ChatHandler::HandleComeToMeCommand,            "", NULL },
        { "damage",         SEC_ADMINISTRATOR,  false, &ChatHandler::HandleDamageCommand,              "", NULL },
        { "combatstop",     SEC_GAMEMASTER,     false, &ChatHandler::HandleCombatStopCommand,          "", NULL },
+        { "ahbotoptions",   SEC_ADMINISTRATOR,  true,  &ChatHandler::HandleAHBotOptionsCommand,        "", NULL },
        { "flusharenapoints",SEC_ADMINISTRATOR, false, &ChatHandler::HandleFlushArenaPointsCommand,    "", NULL },
        { "repairitems",    SEC_GAMEMASTER,     true,  &ChatHandler::HandleRepairitemsCommand,         "", NULL },
        { "waterwalk",      SEC_GAMEMASTER,     false, &ChatHandler::HandleWaterwalkCommand,           "", NULL },

After

diff --git a/src/game/Chat.cpp b/src/game/Chat.cpp
index 9750696..d6f3765 100644
--- a/src/game/Chat.cpp
+++ b/src/game/Chat.cpp
@@ -697,6 +697,7 @@ ChatCommand * ChatHandler::getCommandTable()
        { "cometome",       SEC_ADMINISTRATOR,  false, &ChatHandler::HandleComeToMeCommand,            "", NULL },
        { "damage",         SEC_ADMINISTRATOR,  false, &ChatHandler::HandleDamageCommand,              "", NULL },
        { "combatstop",     SEC_GAMEMASTER,     false, &ChatHandler::HandleCombatStopCommand,          "", NULL },
+        { "ahbotoptions",   SEC_ADMINISTRATOR,  true,  &ChatHandler::HandleAHBotOptionsCommand,        "", NULL },
        { "flusharenapoints",SEC_ADMINISTRATOR, false, &ChatHandler::HandleFlushArenaPointsCommand,    "", NULL },
        { "repairitems",    SEC_GAMEMASTER,     true,  &ChatHandler::HandleRepairitemsCommand,         "", NULL },
        { "stable",         SEC_ADMINISTRATOR,  false, &ChatHandler::HandleStableCommand,              "", NULL },

Hope this helps

Link to comment
Share on other sites

I need if it could be done please by some. patch for core 10254 I would used 10246. but the DB i use just came out for core 10254 o.O I don't like to play with out this playbot, used it once and fell in love with it

Lol never mind patch applyed ok to core 10254, now let's see if it builds

Compile ok, Now if i just had the AH Bot patch working i be all set :D

Link to comment
Share on other sites

I need if it could be done please by some. patch for core 10254 I would used 10246. but the DB i use just came out for core 10254 o.O I don't like to play with out this playbot, used it once and fell in love with it

Lol never mind patch applyed ok to core 10254, now let's see if it builds

Hi,

I'm presently testing the code on blueboy with MaNGOS[10267] and it compiles without issue. You should be O.K with MaNGOS[10254].

Please get back to me if you experience problems.

Cheers

Link to comment
Share on other sites

Hmm did the config file setting change ? Cause i don't have them in the config file anymore In older version i had

###################################################################################################################

# PLAYERBOTAI CONFIGURATION

#

# PlayerbotAI.DisableBots

# Disable the bot command and bot menu

# Default: 0 - off

# 1 - on

#

# PlayerbotAI.DebugWhisper

# Enable debug output by whispering master

# Default: 0 - off

# 1 - on

#

# PlayerbotAI.FollowDistanceMin

# PlayerbotAI.FollowDistanceMax

# Min. and Max. follow distance for bots

# Default: 0.5 / 1.0

#

# PlayerbotAI.MaxNumBots

# Limits the number of bots per account (Max 9)

# Default: 9

#

# PlayerbotAI.RestrictBotLevel

# Restrict the allowed bot level (Current Max 80)

# Default: 80

#

###################################################################################################################

PlayerbotAI.DisableBots = 0

PlayerbotAI.DebugWhisper = 0

PlayerbotAI.FollowDistanceMin = 0.5

PlayerbotAI.FollowDistanceMax = 1.0

PlayerbotAI.MaxNumBots = 9

PlayerbotAI.RestrictBotLevel = 80

2010-07-25 00:03:40 ERROR:Playerbot: Unable to open configuration file. Database will be unaccessible. Configuration values will use default.

2010-07-25 00:03:40 ERROR:Playerbot: Configuration file version doesn't match expected version. Some config variables may be wrong or missing.

using patch file from post 1376

Link to comment
Share on other sites

First off, wanna say how much I enjoy this core mod. Been using it a while now and love the progression it's gotten.

But if I could make a couple of suggestions. Add a confirmation from the bots that their combat order has been received or

some sort of system message (preferable) since I don't really see them following it to strictly nor do I know the command went through.

Second, for the love of all that's good and holy or even unholy, add a config option to turn OFF all the whispers. I'm tired of getting spammed from the screwballs. lol

Otherwise it's awesome, keep up the good work.

Link to comment
Share on other sites

First off, wanna say how much I enjoy this core mod. Been using it a while now and love the progression it's gotten.

But if I could make a couple of suggestions. Add a confirmation from the bots that their combat order has been received or

some sort of system message (preferable) since I don't really see them following it to strictly nor do I know the command went through.

Second, for the love of all that's good and holy or even unholy, add a config option to turn OFF all the whispers. I'm tired of getting spammed from the screwballs. lol

Otherwise it's awesome, keep up the good work.

Hi,

Glad you like playerbot. You can check that the bot(s) have acknowledged their combat orders as follows.

Example

Player Leaf rogue

bot1 onyx priest

bot2 lane warlock

bot3 dran warrior

bot4 hero hunter

1. invite the bot(s) to the player group.

2. /p orders

[Lane] Got no combat orders!

[Hero] Got no combat orders!

[Dran] Got no combat orders!

[Onyx] Got no combat orders!

3. Apply the following macros

.bot co onyx heal
.bot co hero tank
.bot co dran tank
.bot co lane assist leaf

4. /p orders

[Lane] I ASSIST Leaf

[Hero] I TANK

[Dran] I TANK

[Onyx] I HEAL

As far as whispers from the bot is concerned, if you silence the bot(s) it may stop useful info from the bot(s) :rolleyes: If you have any WoW addons installed on your client, such as 'QuestHelper' these may attempt to talk with the bot(s). As the bot(s) vocabulary is quite limited, you will then get spammed with the bot(s) telling you that they do not understand. In the case of 'QuestHelper' you can turn off party chat in the addon settings.

Hope this helps

Link to comment
Share on other sites

Ahhh, orders. I must have missed that someplace. Thanks a lot blueboy. Also, yes I do have a number of addons. Some of which I'm sure are causing them to get all confused. Thanks for the info. I appreciate it. Thank much, and again, keep up the good work. I really enjoy it.

Link to comment
Share on other sites

Just a quick question.. lol

Is anyone else having trouble with mage's as a bot, when I summon it, he just stays there and conjures water until he is out of mana, waits and carrys on until he is out of bag space o_O can I disable the spell.. or atleast somehow only make him cast it a few times? Kind of stops you from using mages as a bot ;) thanks

Link to comment
Share on other sites

Hello blueboy, i propose this little patch.

Purpose : make aknoledgement to commands.

Explanation : Actualy when you type command like ".bot co player tank" there is no confirmation from bot until we send it "orders" command.

Patch : The patch just add these function and olso send us error message if we forget to target assist/protect characters.

@@ -1866,12 +1866,15 @@ void PlayerbotAI::SetCombatOrderByStr( std::string str, Unit *target ) {
}

void PlayerbotAI::SetCombatOrder( CombatOrderType co, Unit *target ) {
-    if( (co == ORDERS_ASSIST || co == ORDERS_PROTECT) && !target )
+    if( (co == ORDERS_ASSIST || co == ORDERS_PROTECT) && !target ) {
+        TellMaster("Erf, you forget to target assist/protect characters!");
        return;
+    }
    if( co == ORDERS_RESET ) {
        m_combatOrder = ORDERS_NONE;
        m_targetAssist = 0;
        m_targetProtect = 0;
+               TellMaster("Orders are cleaned!");
        return;
    }
    if( co == ORDERS_PROTECT )
@@ -1882,6 +1885,7 @@ void PlayerbotAI::SetCombatOrder( CombatOrderType co, Unit *target ) {
        m_combatOrder = (CombatOrderType)(((uint32)m_combatOrder&(uint32)ORDERS_SECONDARY)|(uint32)co);
    else
        m_combatOrder = (CombatOrderType)(((uint32)m_combatOrder&(uint32)ORDERS_PRIMARY)|(uint32)co);
+    SendOrders( *GetMaster() );
}

void PlayerbotAI::SetMovementOrder( MovementOrderType mo, Unit *followTarget ) {

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • 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