Jump to content

[Two] Playerbot (WotLK)


Guest blueboy_

Recommended Posts

What is Playerbot?

It lets you add additional characters from your account (normally upto 9), as bots that you control.

The bots assist in all aspects of normal game play, combat, trading, questing and much much more….

Sorry they can't make coffee yet :(

More Information: Playerbot Wiki

Source: Playerbot Release Code

Playerbot Test Code

Report bugs: Playerbot Issues

(If possible)

Additional Links: Playerbot Forum

This is a community project and all contributions are welcome. I would like to acknowledge the hard work of all

those who have previously contributed and made Playerbot what it is today

Link to comment
Share on other sites

  • Replies 101
  • Created
  • Last Reply

Top Posters In This Topic

Just how smart are the bots? If we say you PvP With them, are they useless or are they somewhat ok? I guess (except for movement) it should be quite easy to write 1v1 AI that kicks everyones ass ;P (Lets say a rogue that will kick all attacks it should kick etc...) ;)

Link to comment
Share on other sites

The bots are pretty good, but a bot that kicks everyones ass, has no master and that touches on autonomy. I attempted to achieve a self fighting bot for FFA (free for all) arenas, without success. I did get the bots to turn hostile to the master and indeed they attacked. Problem was that I couldn't stop them attacking once they had started :lol:

This would certainly be a challenging project for someone who's interested. It shouldn't be too long before working arenas are a reality on MaNGOS (I know R2 have had some success here). When it does, I have the code to get bots into arenas, fight as a team and then exit properly at the end.

Link to comment
Share on other sites

These are commands to be typed into chat. Most bot commands are told to the bot itself (in a whisper or - when the bot is in your group - party chat) but a few commands mimic the MaNGOS GM command structure.

In this case, after the bot has been added of course, you can give the bot a general set of rules to follow (it also helps tell other bots how to treat this first bot). In the command you listed, the following 'code' is used: "<" and ">" mark a required variable, where "|" means 'OR' meaning you pick one.

co is the same as combatorder, either can be used. combatorder is more descriptive, while 'co' is shorter. The rest should be self-explanatory.

examples:

".bot co Beefcake tank"

".bot co Healbot heal"

".bot co blackstabbath assist beefcake"

".bot co loladin protect healbot"

<edit> Oh, it's probably a good idea to put these commands and other bot commands in a macro. </edit>

Link to comment
Share on other sites

These are commands to be typed into chat. Most bot commands are told to the bot itself (in a whisper or - when the bot is in your group - party chat) but a few commands mimic the MaNGOS GM command structure.

In this case, after the bot has been added of course, you can give the bot a general set of rules to follow (it also helps tell other bots how to treat this first bot). In the command you listed, the following 'code' is used: "<" and ">" mark a required variable, where "|" means 'OR' meaning you pick one.

co is the same as combatorder, either can be used. combatorder is more descriptive, while 'co' is shorter. The rest should be self-explanatory.

examples:

".bot co Beefcake tank"

".bot co Healbot heal"

".bot co blackstabbath assist beefcake"

".bot co loladin protect healbot"

<edit> Oh, it's probably a good idea to put these commands and other bot commands in a macro. </edit>

Alright, thanks =)

Link to comment
Share on other sites

I have a problem:

Currently Im leveling my paladin (tank). I let my main, a huntress, assist him. But all she does ist walking besides me - even when I attack sth. She attacks too, but because she is always walking so close to me, she attacks meele. As a huntress?!

Is there some kind of option or command that lets her leaving some distance between me (the tank) and herself? I already did a dungeon and its really annoying. Sometimes she doesnt even do anything. She just stands beside me while Im getting my ass kicked... Srsly! xD

Link to comment
Share on other sites

Hi,

Thanks for the feedback. We are aware of this issue and we're currently looking for a solution. The bug has been posted here, https://github.com/blueboy/portal/issues/10 A lot of changes have been made to the combat AI recently and it might take awhile to locate the cause. When I have more information I will post to the issue section on github.

Cheers

Link to comment
Share on other sites

@Svarr I have made some changes to the code that I hope resolves the issue your getting. The revised code is on our new-ai branch https://github.com/blueboy/portal/tree/new-ai and you'll find more information on this patch here https://github.com/blueboy/portal/issues/10 Please let us know if helps in anyway.

@UnkleNuke Always a pleasure to talk with you ;)

Link to comment
Share on other sites

Not to interrupt, but I just wanted to thanks you guys for the work you are doing. The bots are coming along really well. I can't tell you how much I've been hoping someone would work on such a project. Awesome job!

I'll just keep lurking and following along now. :)

One question; would you suggest that we should be testing on the new-ai branch (as I expect we should), or the master branch?

Thanks again!

Link to comment
Share on other sites

Glad you enjoy playerbot. The code on the portal master is more stable, but lacks many of the features currently being tested on the new-ai branch. We endeavour to fix issues quickly, so yes we would encourage you to test the new-ai code so we can then merge this code into the master ;)

Cheers

Link to comment
Share on other sites

  • 4 weeks later...

I am updating the server right now. When I try to fetch the new-ai branch with tortoise, I get the quite common error msg:

fatal: [url]https://github.com/blueboy/portal/tree/new-ai/info/refs[/url] not found: did you run git update-server-info on the server?

git did not exit cleanly (exit code 128)

Git and Tortoise Git are fully up to date. So this should not be the issue.

Any ideas?

Link to comment
Share on other sites

Hi,

I know what you have done. You have copied the browser github link address for the new-ai branch. Git can't use

>git fetch https://github.com/blueboy/portal/tree/new-ai

fatal: https://github.com/blueboy/portal/tree/new-ai/info/refs not found: did you run git update-server-info on the server?

To use fetch to merge the 'new-ai' code into your local branch, do this

1. Setup a remote labelled 'portal'

>git remote add portal git://gitihub.com/blueboy/portal.git

2. Download the current status of all remote branches from the portal github ( Also re-use to update)

>git fetch portal

remote: Counting objects: 77037, done.

remote: Compressing objects: 100% (11225/11225), done.

remote: Total 75411 (delta 64891), reused 74553 (delta 64105)

Receiving objects: 100% (75411/75411), 36.97 MiB | 2.01 MiB/s, done.

Resolving deltas: 100% (64891/64891), completed with 1295 local objects.

From git://github.com/blueboy/portal

* [new branch] autobot -> portal/autobot

* [new branch] craftbot -> portal/craftbot

* [new branch] master -> portal/master

* [new branch] new-ai -> portal/new-ai

* [new branch] sharedbots -> portal/sharedbots

3. To merge 'new-ai' into the current branch

>git merge portal/new-ai

Hope this helps

Link to comment
Share on other sites

Hi,

I know what you have done. You have copied the browser github link address for the new-ai branch. Git can't use

>git fetch https://github.com/blueboy/portal/tree/new-ai

fatal: https://github.com/blueboy/portal/tree/new-ai/info/refs not found: did you run git update-server-info on the server?

To use fetch to merge the 'new-ai' code into your local branch, do this

1. Setup a remote labelled 'portal'

>git remote add portal git://gitihub.com/blueboy/portal.git

2. Download the current status of all remote branches from the portal github ( Also re-use to update)

>git fetch portal

remote: Counting objects: 77037, done.

remote: Compressing objects: 100% (11225/11225), done.

remote: Total 75411 (delta 64891), reused 74553 (delta 64105)

Receiving objects: 100% (75411/75411), 36.97 MiB | 2.01 MiB/s, done.

Resolving deltas: 100% (64891/64891), completed with 1295 local objects.

From git://github.com/blueboy/portal

* [new branch] autobot -> portal/autobot

* [new branch] craftbot -> portal/craftbot

* [new branch] master -> portal/master

* [new branch] new-ai -> portal/new-ai

* [new branch] sharedbots -> portal/sharedbots

3. To merge 'new-ai' into the current branch

>git merge portal/new-ai

Hope this helps

Why are you not a part of mangos team? You really are good! :D

Link to comment
Share on other sites

Why are you not a part of mangos team? You really are good! :D

.....SHOOSH!! Leave Him Be! He's doing God's Work where he is. :D

I'm still holding onto hope that Playerbot gets merged one day, Imagine the possibilities... when Vehicles and Battleground/Arenas start working, I'll be destroying my server under the load. I'll need his Awesome Bottery to rule my imaginary world....

Link to comment
Share on other sites

Hi,

I know what you have done. You have copied the browser github link address for the new-ai branch. Git can't use

>git fetch https://github.com/blueboy/portal/tree/new-ai

fatal: https://github.com/blueboy/portal/tree/new-ai/info/refs not found: did you run git update-server-info on the server?

To use fetch to merge the 'new-ai' code into your local branch, do this

1. Setup a remote labelled 'portal'

>git remote add portal git://gitihub.com/blueboy/portal.git

2. Download the current status of all remote branches from the portal github ( Also re-use to update)

>git fetch portal

remote: Counting objects: 77037, done.

remote: Compressing objects: 100% (11225/11225), done.

remote: Total 75411 (delta 64891), reused 74553 (delta 64105)

Receiving objects: 100% (75411/75411), 36.97 MiB | 2.01 MiB/s, done.

Resolving deltas: 100% (64891/64891), completed with 1295 local objects.

From git://github.com/blueboy/portal

* [new branch] autobot -> portal/autobot

* [new branch] craftbot -> portal/craftbot

* [new branch] master -> portal/master

* [new branch] new-ai -> portal/new-ai

* [new branch] sharedbots -> portal/sharedbots

3. To merge 'new-ai' into the current branch

>git merge portal/new-ai

Hope this helps

Thanks :D

Howtf was I supposed to know that?! xD

As I fetched the remote I had way less objects. Could this be because I already had fetched the master branch via Tortoise?

Then, as I tried to merge the new-ai branch, I had to solve some conflicts first. I did this with GitGUI. But as I tried to merge it again GitBash said it is already up to date.

I hope this is true and will start compiling now. *crossingfingers*

Edit:

ScriptDev2 compiling: failed

-_-'

Edit #2:

ScriptDev2 pulled again, compiling: success xD

Edit #3:

Update complete and successful. Everything is working.

I have only played a few minutes yet.

I have tested the behavior of the bot as a hunter in a fight (test dummy in darnassus). She is attacking only melee now. Even if I pull the mob away from her she just stands there in the position where you would get the "facing in the wrong direction" or "too far away" msg. She doesnt start to attack with her bow (she definitely got arrows). After a minute or so she runs back to the mob and attacks it.

A good thing is, that she finally leaves some space to the player while moving and afterwards. So theoretically range attacks would be possible from the beginning of a battle. Sometimes, when I stop walking, she glitches. It looks like she gets a command to move which is immediately taken back. So she is sometimes kind of twitching. But that is only an optical issue.

Link to comment
Share on other sites

Then, as I tried to merge the new-ai branch, I had to solve some conflicts first. I did this with GitGUI. But as I tried to merge it again GitBash said it is already up to date.

I hope this is true and will start compiling now. *crossingfingers*

Please remember if you have cloned the portal repo to your harddrive, you will already have the remotes setup (i.e no need to use fetch). I'm lazy, I don't bother updating existing code, I just do a clean 'clone' .

>git clone git://github.com/blueboy/portal.git

>git branch -a

* master

remotes/origin/HEAD -> origin/master

remotes/origin/autobot

remotes/origin/craftbot

remotes/origin/master

remotes/origin/new-ai

remotes/origin/sharedbots

Then to merge

>git merge origin/new-ai

Then to update the code, if you wish

>git fetch origin

To explain what happening for you. I will use the master branch as an example, using the 'fetch' approach

explained in my last post.

1. The merge..

>git merge portal/new-ai

2. Fix any conflicts and save file changes.

(If you get any conflicts you will need to fix and then commit them before the merge takes).

>git commit -a

(edit commit header, when the editor pops up and save changes).

3. Checks

>git status

# On branch master

# Your branch is ahead of 'origin/master' by 188 commits.

#

nothing to commit (working directory clean)

and or compare the commit history in your current branch, with that on the 'new-ai' branch.

>git log

If you try to merge again, you with no changes

> git merge portal/new-ai

Already up-to-date.

I need more info, to be able to help

ScriptDev2 compiling: failed

@Edit Nice one ;)

ScriptDev2 pulled again, compiling: success xD

Cheers

Link to comment
Share on other sites

Update complete and successful. Everything is working.

I have only played a few minutes yet.

I have tested the behavior of the bot as a hunter in a fight (test dummy in darnassus). She is attacking only melee now. Even if I pull the mob away from her she just stands there in the position where you would get the "facing in the wrong direction" or "too far away" msg. She doesnt start to attack with her bow (she definitely got arrows). After a minute or so she runs back to the mob and attacks it.

A good thing is, that she finally leaves some space to the player while moving and afterwards. So theoretically range attacks would be possible from the beginning of a battle. Sometimes, when I stop walking, she glitches. It looks like she gets a command to move which is immediately taken back. So she is sometimes kind of twitching. But that is only an optical issue.

I shamelessly quote myself in case this (3rd) Edit would be accidentally ignored^^

And I totally forgot to tell you that when i whisper to the bot "assist <playername>" I always get "What? For a list of commands...".

Link to comment
Share on other sites

Thanks for the feedback. We are aware of many of the issues you mention, but it's good (not really :( ) to see that other people getting twitching bots. This occurs particularly if the bots are very close to a terrain feature (i.e tree or fence) or on an incline. This effect I believe is related to the movement system in the core. The closer the bots are to the master, the smaller the effect. This issue is unfortunately aggravated by the new 'follow auto' feature in the 'new-ai' code. If you turn this feature off, the twitching stops. Currently we have no solution for this, but would welcome any help in resolving it.

To set combat orders for 'assist'

(Note: make sure you use '/s' say rather than '/w' whisper)

For a ranged assist, choose a bot that will hold back from the combat (i.e healer).

/s .bot co <bot name> assist <healer name>

For a dps assist, choose a bot the tank.

/s .bot co <bot name> assist <tank name>

Hope this helps

Link to comment
Share on other sites

To set combat orders for 'assist'

(Note: make sure you use '/s' say rather than '/w' whisper)

For a ranged assist, choose a bot that will hold back from the combat (i.e healer).

/s .bot co <bot name> assist <healer name>

For a dps assist, choose a bot the tank.

/s .bot co <bot name> assist <tank name>

Hope this helps

Actually no... I dont have any healer yet.^^

There is still the problem that the hunter does not do ranged attacks. Today I will try to unequip the axe and hope that she won't fight bare handed then... Maybe its just a broken script which should tell the bot when to use which weapon. (or something like this oO)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • 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