Jump to content

[Two] Playerbot (WotLK)


Guest blueboy_

Recommended Posts

i whisper to the bot "assist <playername>"

I see what you were doing now. Your trying to get the hunter to assist the player. That's fine

/s .bot co <botname> assist <player>

but a player does not have any fix orders. If the player joins in combat, the hunter will tend to assist as a melee dps. Also if the hunter is your only bot, it maybe the center of attention during the attack (highest threat). In which case it will resort to melee combat. Try including a tank bot and a healer bot to your party.

You may well be correct, the AI code on the 'new-ai' is quite fluid at present and the ranged attack maybe messed up. Just a few ideas, let me know if it helps ;)

Link to comment
Share on other sites

  • Replies 101
  • Created
  • Last Reply

Top Posters In This Topic

These are the constellations I tried:

Playing tank + Bot firemage assisting tank and Bot hunter assisting firemage

Playing firemage + Bot tank and Bot hunter assisting player

Playing firemage + Bot tank and Bot hunter assisting tank

None have worked. :( The huntress is still not attacking with her bow.

A few things occured to me:

  • While playing the tank, I got an int buff from the mage. Nothing serious but it is wasteful
  • The firemage got oom after a few seconds - just standing there and waiting for mana oO
  • As I played the firemage it seemed to me that the tank is not using any spells. (I let him start the fight with an attack command - maybe that is the problem)
  • Also the tank has got problems maintaining the aggro (but this could easily be, because of me *cast all the spells :D* and/or the level differences (tank: 65, mage: 71))
Link to comment
Share on other sites

O.K. so there may well be problems in the portal code.

The huntress is still not attacking with her bow

How close is the huntress to the victim as combat starts? In close combat, ranged attackers will change to melee attack for self protection. I'm sure you have tried attacking a target from a distance, also without success. This prompted us to improve the code in the new-ai branch.

Thanks for the feedback ;)

@EDIT Remove reference to portalone code, when I should have been talking about portal new-ai code. Sorry my bad ;)

Link to comment
Share on other sites

How close is the huntress to the victim as combat starts? In close combat, ranged attackers will change to melee attack for self protection. I'm sure you have tried attacking a target from a distance, also without success.

Yes, I did. What I havent tried yet, is to command her directly to attack sth. But I dont think this would help. Either she would stand where she is or she would run to close range. Its btw only a matter of normal attacking - the spells (like arcane arrow) work.

Link to comment
Share on other sites

Hello all,

I've just started learning how to compile my own core and setup my SQL server and stuff for WotLK 3.3.5a and it's all working fine so far.

I used playerbot on someone's repack a while back and my friends and I had a blast with it! I've been reading about it all and trying to integrate it with my server but I just can't seem to figure it out.

Could somebody please give me a simple tutorial/breakdown on how to patch it into my server and such.

Thanks!

-Nooblord

Link to comment
Share on other sites

That merge conflict means the Playerbot repo is a few revisions behind the MaNGOS repo.

You can resolve any conflicts by hand, using git mergetool command or roll back your MaNGOS repo to the same revision as Playerbot, do the merge, then fast-forward your MaNGOS back to the current revision.

Hate to say it, but learning how to properly patch your core means learning a few advanced Git commands and being comfortable with code tinkering. On the other hand, it opens up a world of possibilities by allowing you to add whatever features and customizations you like.

Keep at it! It's worth the trouble. :D

Link to comment
Share on other sites

Hi Nooblord,

Sorry for the delay in replying to your question, but I have been busy working on a playerbot port for MaNGOS one.

Unfortunately this merge issue with "src/shared/revision_sql.h" will occur everytime the core or playerbot updates it's sql files. It's simple to fix and I will illustrate this with the current merge (remove text in red and reorganize text in green)

revision_sql.h with conflicts

#ifndef __REVISION_SQL_H__

#define __REVISION_SQL_H__

<<<<<<< HEAD

#define REVISION_DB_CHARACTERS "required_11785_02_characters_instance"

#define REVISION_DB_MANGOS "required_12091_01_mangos_spell_template"

#define REVISION_DB_REALMD "required_10008_01_realmd_realmd_db_version"

=======

#define REVISION_DB_CHARACTERS "required_11785_02_characters_instance"

#define REVISION_DB_PLAYERBOTAI "required_5_playerbotai_auto_follow"

#define REVISION_DB_MANGOS "required_12012_01_mangos_spell_template"

#define REVISION_DB_REALMD "required_10008_01_realmd_realmd_db_version"

>>>>>>> new-ai

#endif // __REVISION_SQL_H__

The order of 'REVISION_DB' version is always the same.

characters

playerbot

mangos

realmd

Simply decide what has changed. You will see here that only the 'REVISION_DB_MANGOS' revision has changed. Use your editor to then update the file to look like this and save the changes

revision_sql.h fixed

#ifndef __REVISION_SQL_H__

#define __REVISION_SQL_H__

#define REVISION_DB_CHARACTERS "required_11785_02_characters_instance"

#define REVISION_DB_PLAYERBOTAI "required_5_playerbotai_auto_follow"

#define REVISION_DB_MANGOS "required_12091_01_mangos_spell_template"

#define REVISION_DB_REALMD

#endif // __REVISION_SQL_H__

Hope this helps

Link to comment
Share on other sites

Just a small note to make things easier:

I am pretty sure that there are possibilities to solve conflicts in favour for one side with git, maybe also for single files.

If this was so, maybe some small merge-helper script could do this, and these simple conflicts would show up no more for users.

Also you could add an own revision-file for playerbot, to prevent some conflicts.

But the main point why i write: Blueboy I sent you a PM ages ago :)

Link to comment
Share on other sites

Yeah,

Sorry I've just found it and sent you a reply. Sorry I thought you were notified by default, when someone sends you a PM, obviously not.

When we originally put playerbot version info into revision_sql.h file I could see the pitfalls. I agree that it might be a better idea to move this to a dedicated playerbot file. Much like we did when moved the playerbot mod info from mangosd.conf.dist to playerbot.conf.dist, to prevent conflicts. We'll have to have a think about this

Cheers ;)

Link to comment
Share on other sites

It would be best for you to speak with kennumen about this. I'm sure it would be possible, and I believe it maybe handled by the 'talent specs' feature, that he developed for playerbot. If you can't get his attention here, you might try the playerbot forum.

Hope this helps

Link to comment
Share on other sites

I read mention of PortalOne somewhere but this is the WotLK forum so I'll go on with the assumption that's the version we're talking about (if you're interested in PBAIOne, the same holds true except it's a bit more outdated (so anything I say may not be true for a few months) and it may be missing a feature or two). Everything I write below is in relation to the latest new-ai branch of the WotLK version.

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>

1) The command has been changed and is now [whisper] combat assist <target>

In-game help reflects this change. Of course, at the time of writing blueboy was correct, the new way is so far only for WotLK new-ai.

2) A ranged class [with a ranged weapon] should remain ranged regardless of who the assist target is. I doubt they would go back out of range after losing aggro, however (which is something they should do). The assist command is mainly for targetting purposes, not for movement. I always assumed it was an implicit 'protect' as well but I'm probably wrong about that, else why would there be a seperate protect command.

3) The assist command should work just fine regardless of whether the player or a bot is the target. Of course with a player or a bot with few settings, assumptions need to be made. Also, playerbot is at its best when grouped.

These are the constellations I tried:

Playing tank + Bot firemage assisting tank and Bot hunter assisting firemage

Playing firemage + Bot tank and Bot hunter assisting player

Playing firemage + Bot tank and Bot hunter assisting tank

None have worked. :( The huntress is still not attacking with her bow.

A few things occured to me:

  • While playing the tank, I got an int buff from the mage. Nothing serious but it is wasteful
  • The firemage got oom after a few seconds - just standing there and waiting for mana oO
  • As I played the firemage it seemed to me that the tank is not using any spells. (I let him start the fight with an attack command - maybe that is the problem)
  • Also the tank has got problems maintaining the aggro (but this could easily be, because of me *cast all the spells :D* and/or the level differences (tank: 65, mage: 71))

1) Is this on WotLK new-ai?

2) Which class is the tank? Also 6 levels is a big difference, and gear probably would be too. Frankly, it's not very reasonable to expect that tank to hold aggro. What talentspec is he?

3) The huntress does, of course, have ammo?

4) The mage who just stands there, does he have a wand? Does he have mana-regaining skills not on cooldown that are still not used? What do you expect him to do rather than 'stand there'?

Could somebody please give me a simple tutorial/breakdown on how to patch it into my server and such.

The easiest way by far is to just clone new-ai and compile. You'll be up to a month (generally less) out-of-date with MaNGOS core but it's super easy. It may not be the best way but it's a good way to get started.

without the use of macros, is it possible to make an elemental shaman that prioritizes it's damage spells over melee?

and do shadow priest bots work?

Quick look at the code - elemental shamans should be casting Flame Shock, Lava Burst, and Lightning Bolt in that order, prioritizing all spells over (but in addition to) melee. I believe Lightning Bolt is a spell with 1-2sec cast so during that time it shouldn't be meleeing at all. The elemental shaman is not built - by default, anyway - to stay at range.

The active spec is decided by the currently active talent tree, decided by how deep it runs (if each has 5 talents, the active 'tree' would be the first tab).

I don't see why face-melting shadow priests would be left out. I distinctly recall writing out their healing code and writing emergency healing back in.

Link to comment
Share on other sites

Sorry it was my fault. I was too focused on the portalone code and I 'jumped tracks' in the discussion. I've now edited the post http://getmangos.eu/bb/post/1609/#p1609. (post 29)

and thanks for the clarification on 'combat orders'. I've been working with the revised code and it works great ;)

The huntress is still not attacking with her bow

@Update I'm currently testing code (on portalone/onenew-ai code, sorry ;) ) that will help keep ranged bots at an appropriate distance from the target. If the ranged bot does attract the mob, only then does it resort to melee combat. Obviously if the bot is out of ammo, it will automatically switch to melee combat and not use it's bow.

Once I'm happy that it work properly, I'll let you guys test it out.

Hope this helps

Link to comment
Share on other sites

1) Is this on WotLK new-ai?

2) Which class is the tank? Also 6 levels is a big difference, and gear probably would be too. Frankly, it's not very reasonable to expect that tank to hold aggro. What talentspec is he?

3) The huntress does, of course, have ammo?

4) The mage who just stands there, does he have a wand? Does he have mana-regaining skills not on cooldown that are still not used? What do you expect him to do rather than 'stand there'?

1) Yes

2) Its a paladin.

3) Of course ;)

4) She's got a wand and a channeling spell for regaining mana, also there are mana potions/mana emerald.

1) The command has been changed and is now [whisper] combat assist <target>

In-game help reflects this change. Of course, at the time of writing blueboy was correct, the new way is so far only for WotLK new-ai.

2) A ranged class [with a ranged weapon] should remain ranged regardless of who the assist target is. I doubt they would go back out of range after losing aggro, however (which is something they should do). The assist command is mainly for targetting purposes, not for movement. I always assumed it was an implicit 'protect' as well but I'm probably wrong about that, else why would there be a seperate protect command.

3) The assist command should work just fine regardless of whether the player or a bot is the target. Of course with a player or a bot with few settings, assumptions need to be made. Also, playerbot is at its best when grouped.

These changes are made in the master branch right?

@blueboy: portalone/onenew-ai means playerbot for mangos one?

Which branch should I use now? Im confused... xD

Link to comment
Share on other sites

@blueboy: portalone/onenew-ai means playerbot for mangos one?

Which branch should I use now? Im confused... xD

All the changes that kennumen refers to are only on the portal/new-ai branch.

Eventually we will be merging this code into the portal/master branch, but not yet.

It's not that confusing.

Only playerbot for MaNGOS currently has a repository for release (tested) code.

https://github.com/playerbot/mangos

Beta test code (General)

The portalone/master (playerbot for MaNGOS one - tbc) is equivalent to portal/master (playerbot for MaNGOS - wotlk) branch.

Alpha test code (Development)

The portalone/onenew-ai (playerbot for MaNGOS one - tbc) is equivalent to portal/new-ai (playerbot for MaNGOS - wotlk) branch.

Please note that the branches maybe equivalent, but the code is not identical, so the files are not transferable. That's why the branches are kept separate.

If you wish to use the latest features, I would recommend you use the respective 'Alpha test code'. Although the code might be a little buggy ;)

Hope this helps

Link to comment
Share on other sites

I did a test (admittedly a short one - 10 minutes or so) with a hunter and saw no problems. The hunter was always in melee attack posture but correctly shot arrows while out-of-range and never moved to within melee range but did switch to melee when he pulled aggro off of me and the mobs moved out of his ranged range into his melee range.

Again, this is the WotLK new-ai branch. Frankly portalone has it's own forum here and should be discussed in said topic.

Link to comment
Share on other sites

I pulled mangos and new-ai and recompiled it, just in case my version was old.

For me its still not possible to give combat orders. I tried it, as kennumen wrote, with e.g. "/w bot tank" but I got the "What? ..." message back. The same when I enter "/w bot assist myself" which is mentioned in the commandlist. When I enter the old command ".bot co botname tank" nothing happens at all, but this is most likely because of the changes.

At least I found the follow range commands xD

Edit:

I cant find a command to view what the bot has in his inventory. He repeatedly says "I could use a drink." but doesnt drink. I wanted to look if he even has anything to drink. Now I have to log out... xD

Edit #2:

Alright, she has drinks. Doesn't the bot eat and drink automatically?

Link to comment
Share on other sites

Yea, that's not the command. Try 'help' if you're stuck, or in this specific case 'help orders'. The correct command is thus '[whisper] orders combat tank'.

As for the bots inventory, I believe starting a trade is the easiest way. Eating/Drinking is very dysfunctional right now and as such I have opened an issue for this.

I should really put this on the wiki instead (or certainly not in anonymous post #49), but here's a quickstart tutorial as to how I use my playerbot party:

// Macro1 - logon
/s .bot add Beefcake
/s .bot add Celestius
/s .bot add Succubus
/s .bot add Healbot

// Macro2 - group invite, combat orders - right after logon - give them a second to log on
/invite Beefcake
/invite Celestius
/invite Succubus
/invite Healbot
/w Beefcake orders combat tank
/w Celestius orders combat assist Beefcake
/w Succubus orders combat assist Beefcake
/w Healbot orders combat heal

// Macro3 - talent specs - right after combat orders
/w Beefcake talent spec 9
/w Celestius talent spec 8
/w Succubus talent spec 5
/w Healbot talent spec 3

// Macro4 - logoff - in case you want to do it explicitly for some reason
/s .bot remove Beefcake
/s .bot remove Celestius
/s .bot remove Succubus
/s .bot remove Healbot

// Macro Utility - quest
/p quest
// Macro Utility - quest report
/p quest report

I also have a 'tank attack' and 'party attack' macro in case I don't want to pull. Hope to soon have a 'tank pull' replacing the tank attack :)

This is not a cure-all, just my most frequently used commands (put into macros for ease-of-frequent-use). Don't forget the "help" command and that it also works as "help command".

@Edit 2: bots should drink when under 30% mana, but again, it's bugged and drinking will only last a few seconds.

Link to comment
Share on other sites

Those commands doesnt work either. When I whisper "help orders" I get the infos, but when I try to give orders I get the message back, which usually comes when I just enter "orders". ("I have no orders. My combat delay is ..." - something like this) I tried it with assist and with tank.

The problem with drinking I have, is that she doesnt even start drinking.

Until now I havent used any talent specs, because I dont like templates. So I thought it would be enough to skill them how I want to while leveling. But the skillpoints will be resetted when I spawn them as bots, am I right?

Anyway. I used the "talent spec" command today for the first time. It didnt work. -_- I always get the msg "The talent spec has been set active but could not be applied. It appears something has gone awry."

And btw, isnt the fire talent spec for mages dd too?

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