Jump to content

[One] Playerbot (TBC)


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 Development 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

  • 5 weeks later...

I so wish I would have found this 2 months ago, because I spent about 3 days getting playerbots to work in mangos-one... pulling the code from blueboy's playerbots repo. Thanks for updating this. I never could get them to talk to me... they would follow, cast, join party, attack.... but they just would not talk... (asking them help, or saying follow, or anything never got a response.)

Thanks again. This is awesome!

EDIT: just noticed last update was 3 months ago... how would I go about merging portalone with mangosone for all the recent updates?

Link to comment
Share on other sites

I just want to write a idea, i don't know if mangos devs and blueboy agrees, but have you ever talked about putting playerbot (playerAI) into mangos?

You think why? it has no sense on Blizzlike servers?

Wrong, i tell you why.

PvE Mindcontroll is not working correctly on mangos (NPC controlls Player),

the controlled player should act like a Real Player but Attacking the Raid, and healing the NPCs.

Thats something that the Playerbot AI does.

(probably playerbot can do more things but also this functionalitiy)

why mangos is not using playerAI to script mindcontroll?

Note: That's not my idea, i got it from other devs, i have only wrote it here cause i think it could be interesting for mangos.

Link to comment
Share on other sites

I just want to write a idea, i don't know if mangos devs and blueboy agrees, but have you ever talked about putting playerbot (playerAI) into mangos?

You think why? it has no sense on Blizzlike servers?

Wrong, i tell you why.

PvE Mindcontroll is not working correctly on mangos (NPC controlls Player),

the controlled player should act like a Real Player but Attacking the Raid, and healing the NPCs.

Thats something that the Playerbot AI does.

(probably playerbot can do more things but also this functionalitiy)

why mangos is not using playerAI to script mindcontroll?

Note: That's not my idea, i got it from other devs, i have only wrote it here cause i think it could be interesting for mangos.

I remember awhile back this same thing being mentioned, and I agree... Thanks for updating. I was just about to make a diff file from a revision of mangosone done about 3 months ago, to get a diff to patch the latest, and thought to myself... lemme check portalone repo. and boom! 13 hours ago merged. nice job!

we still need +rep capabilities... cuz I would plus rep the hell outta blueboy and a few others.

just one quick question... is this one the new ai? I may have read it up higher, but I forgot, and while writing a reply, you can't scroll up to see the previous messages :(

Thanks again blueboy. been envying you for 4 or 5 years now... wish I had your knowledge.

Link to comment
Share on other sites

I just want to write a idea, i don't know if mangos devs and blueboy agrees, but have you ever talked about putting playerbot (playerAI) into mangos?

You think why? it has no sense on Blizzlike servers?

Wrong, i tell you why.

PvE Mindcontroll is not working correctly on mangos (NPC controlls Player),

the controlled player should act like a Real Player but Attacking the Raid, and healing the NPCs.

Thats something that the Playerbot AI does.

(probably playerbot can do more things but also this functionalitiy)

why mangos is not using playerAI to script mindcontroll?

Note: That's not my idea, i got it from other devs, i have only wrote it here cause i think it could be interesting for mangos.

You are right desteny, but maby the playerbot implementation will not be complete, just add in required parts to make npc MC work:) Tho it would be a good addition to add playerbot for testing purposes:)

Regards

Link to comment
Share on other sites

PvE Mindcontroll is not working correctly on mangos (NPC controlls Player),

the controlled player should act like a Real Player but Attacking the Raid, and healing the NPCs.

You have over-positive view about wow work in this case. Controlled player _don't_ act as player. For example, controlled player can't cast spells. and many other things. it's not more advanced as melee attacking guardian.
Link to comment
Share on other sites

You have over-positive view about wow work in this case. Controlled player _don't_ act as player. For example, controlled player can't cast spells. and many other things. it's not more advanced as melee attacking guardian.

First of all, I fully agree that mind controlled players don't act as real players, skill/intelligence wise.

Now, I'm not sure if you meant TBC (since we're in the TBC part of the forum), or were thinking about the priest's mind control in PvP, but I think desteny means "bosses that control players". And there, in general. they are a little smarter than "melee attacking". For instance, Lady Deathwhisper's Dominate Mind in ICC was usually an annoyance that required some crowd control. I played a warlock then, and when I was one of the targets, she always started using my Rain of Fire or something annoying like that. And there are many other examples of 'added fun' :P

Link to comment
Share on other sites

just one quick question... is this one the new ai? I may have read it up higher, but I forgot, and while writing a reply, you can't scroll up to see the previous messages sad

No this is based on the portal master code used with MaNGOS (wotlk). There are 'new-ai' equivalents for all the other cores, and I guess we should do the same for MaNGOS one. Leave it with me and I'll start on the port.

Hope this helps

Link to comment
Share on other sites

For instance, Lady Deathwhisper's Dominate Mind in ICC was usually an annoyance that required some crowd control. I played a warlock then, and when I was one of the targets, she always started using my Rain of Fire or something annoying like that. And there are many other examples of 'added fun'
Intresting. Maybe this is part of special boss scripting.
Link to comment
Share on other sites

When I was porting over an older version of playerbots, I ran into an issue with reviving. I fixed that issue. the bots in your playerbots revive in the same way; however, I did notice when you type 'help' the bot replies saying that 'follow' will revive them. I have tried to get them to revive with follow, and it does not work. maybe because the death timer did not finish for the bot, or maybe this is only if the bot refuses to revive normally. Just wanted to mention this.

Also, when you invite a bot to your party, for some strange reason the bot joins, then says "What? For a list of command, ask for 'help'."

other than those 2 things, I have seen no real problems with bots.

thanks again for updating portalone.

EDIT: bank doesn't work either...

Link to comment
Share on other sites

Thanks for testing the code and providing feedback, it's very important to us. I'm currently extracting mmaps for mangos-one, so it might be awhile before I get a chance to check these issues out for myself ;)

I promise I will find answers for all....

Could you give examples of the commands and the syntax used, so I can quickly get to the root cause.

Cheers

Link to comment
Share on other sites

Hello blueboy.

I love the work you are doing. Playerbot is such a unique feature and once I started using it I couldn't live without it!

There are two bugs I've been looking into from your AI code but can't yet figure it out. One is that whenever the bots need to drink something they will sit down for about a second, start drinking, get up, drink again, get up, lather rinse repeat. This error is most likely in PlayerbotAI::UseItem from what I can tell.

The second issue deals with buffs. For some reason certain classes (specifically warlock and occasionally paladin) will cast the same buffs and/or mana draining spells until they have no more mana. When I give the bots more mana they simply repeat the same pattern, effectively rendering the bot useless. So far I can't see a clear reason for this behavior.

If you can help me figure out where/why these errors are coming from I would gladly fix it!

Link to comment
Share on other sites

Thanks for testing the code and providing feedback, it's very important to us. I'm currently extracting mmaps for mangos-one, so it might be awhile before I get a chance to check these issues out for myself ;)

I promise I will find answers for all....

Could you give examples of the commands and the syntax used, so I can quickly get to the root cause.

Cheers

mmaps takes forever to extract, and to be honest, I haven't really seen much difference. creatures still "walk on their front legs with butts in the air" or bounce crazily all over the place. Bots seem to handle walking find, but they sometimes are standing halfway thru things, like the ramps in front of towers, if you are on ground level, so are they. not test in normal game areas.

On another note, just a quick bug report....

the sql is wrong. needs an extra 0 at the end. kept getting value doesn't equal column count.

I was trying to figure out why the bot didn't show on the guards...

correct SQL for 2.4.3:

INSERT INTO `gossip_menu_option` VALUES('0','16','0','GOSSIP_OPTION_BOT','99','1','0','0','0','0','0',NULL,'0','0','0','0','0','0','0','0','0','0');

Link to comment
Share on other sites

That is because condition systembis added psyan

Had to disable bots. Crash after Crash for various reason. still havent run a debug compile, but will do that in the morning. Also, now my trainers won't train, they just show playerbots. Tested on shaman trainers, rogue trainers and riding trainers. Playerbot menu appears with no option to train. :(

on another note, most commands work (spell cast) but bank and equip are not working.

Link to comment
Share on other sites

For instance, Lady Deathwhisper's Dominate Mind in ICC was usually an annoyance that required some crowd control. I played a warlock then, and when I was one of the targets, she always started using my Rain of Fire or something annoying like that. And there are many other examples of 'added fun'

Intresting. Maybe this is part of special boss scripting.

not realy, i can tell you for sure that TBC PvE mindcontroll had a kind of generic player AI, not only on bossfights, also for example the trash mobs in TK (eye) or other 08:15 trashs had the ability to mindcontroll player.

the player used spells (don't know if only in a generic way, or related to skill and / or usecase)

but i can confirm for example that a player with heal spells had healed also enemy NPCs (not often but in fact)

the AI was not very not very smart, and not comparable with a real player AI, but in fact similar in the case of spell usage.

the movement was a bit like a guardian, thats right, and the aggro was maybe random or dependent on the controlling NPC aggro.

Link to comment
Share on other sites

Hi Guys,

I'll try to address each of your issues.

@lordpsyan

1. The follow command won't revive ?

I must apologize for the wording in the online help. The follow command will not directly revive bot(s), nor will it automatically teleport them. If the bot(s) are too far away from the player when you type

>/p follow (i.e beyond LOS)

then they are summoned by teleportation. Likewise, if the bot(s) die in combat and the player run to safety. The above command will teleport (only if beyond LOS) the bot(s) ghost and or corpse to the players location. The bot(s) will then need to wait until the death timer expires, before reviving as normal.

2. When invited, bot say "What? For a list of command, ask for 'help'." ?

I have tried inviting the bot(s) via the client menu command and by using (as used in macros)

>/s /invite [botname]

and I don't get this. If you inadvertently misspelt the command, then the bot chat handler will echo this message.

3. Bank not working?

This was not limited to the bank command. The actual issue was in getting the bot(s) to interact with the npcs. I have tweaked the code so the bot(s) do now interact, as the player moves within interaction distance of the npc. This will also effect commands (auction, buy, sell, quest & repair). I will make changes to the repo shortly.

4. I was trying to figure out why the bot didn't show on the guards...?

Instructions are included in 'botguy_readme.txt' and yes there is a fault in the 'mangos_botguy.sql' as LilleCarl quite rightly points out, I will also change this. Sorry, it's sometimes difficult to be everywhere at once, another reason why feedback from you guys is so important.

5. Playerbot menu appears with no option to train?

https://github.com/playerbot/mangos/wiki/Guide-to-use-Playerbot

There is no menu option to train bot(s) on the client. To get the bot(s) to train.

a. select appropriate trainer.

b. >skill learn

This will show all skills/spells that the bot(s) can learn in [HLINK] form.

c. >skill learn [HLINK][HLINK]...

6. The equip command is not working?

Yes it is, I have tried it. Take a look at the playerbot wiki to get the correct syntax for each of the commands.

7. Had to disable bots. Crash after Crash for various reason.

Keep us posted on this, I haven't had any problems myself, but crash dump info would be helpful.

@Froid

Both of the issues you have mentioned have been addressed in the 'new-ai code that I hope to port to playerbot for MaNGOS one repo soon ;)

Hope this helps

Link to comment
Share on other sites

  • 2 weeks later...

Hi Guys,

I'm implementing the 'new-ai' port in two stages. I have now completed the first stage, which will be a snapshot of the current features available on the portal master branch. All features have been tested and appear to work fine. I have adapted the 'talent' handler to work with the 2.4.3 client (Sorry no 'talent spec'). You can't select talent [HLINK]s from bot inspect window (unlike 3.3.5 client). To get around this, I have borrowed the 'skill' command approach, to select appropriate talents.

Command Description

talent -- Lists bot(s) unspent points & cost to reset

talent learn -- Lists available bot talents [TALENT LINK], as long as the bot(s) have unspent points.

talent learn [TALENT LINK] .. -- Learn selected talent [TALENT LINK] from 'talent learn' output

(shift click icon/link)

talent reset -- Resets all talents (Must visit a suitable class trainer to reset talents)

The second stage (coming shortly) will be to port across as many of the new features from the portal new-ai branch as I can.

I have pushed the changes to the new 'onenew-ai' branch and hope will try out the code and provide feedback ;)

Hope this helps

Link to comment
Share on other sites

  • 2 weeks later...
There are two bugs I've been looking into from your AI code but can't yet figure it out. One is that whenever the bots need to drink something they will sit down for about a second, start drinking, get up, drink again, get up, lather rinse repeat. This error is most likely in PlayerbotAI::UseItem from what I can tell.

As near as I can tell this is a long-standing bug. It's certainly not an error in UseItem but rather that the bot doesn't know it's drinking (and never checks for it). In short, the bot will see it needs mana, use a drink and end this 'update'. 2 seconds later in its next 'update' loop, it generally finds something else to do and does something to break the drinking.

This has been a blip on my radar for quite a while but more pressing issues keep popping up. I hope to get it to the new-ai branch after which it should trickle down to one/zero. My intended solution would be to have some sort of toggle (boolean) set after drinking and/or eating (you can do both simultaneously) which ignores everything except battle for 20 seconds (and when refined, however long the drink/food lasts).

Made an issue for it on the WotLK git. Should be the next thing that annoys me about instance runs right after I get the pull function working ;)

Link to comment
Share on other sites

  • 3 weeks later...

Hi Guys,

I'm pleased to say that I've finished the second stage of the 'new-ai' port to 'onenew-ai'.

This stage contains the following improvement/fixes:

  • Improved method to control ranged/melee combat based upon spell range. no need to force bots to follow master, they will endeavour to keep their distance from the target & use ranged spells. They will obviously melee if they pull the target.
  • Items bought by bots now uses the findNearbyCreature() process.
  • Fix to stop the 'craft' command from being interrupted.
  • Autoequipment now works with rolled on items, bought & created items
  • The bots were frequently inactive in combat and lootings was prolonged.
  • Bot with 'skinning' skill now skin quicker.
  • Hunter bot's pet feeding has now been fixed.
  • Hunter bot check for ranged weapon ammo now fixed.
  • Hunter bot spell auto shot is now working as expected
  • Multi-node taxi flight has been fixed.

Some of these fixes relate to posted issues and can be ported back to the 'portal/new-ai' branch

Hope you enjoy the changes and will provide feedback once you've had time to test it out.

Link to comment
Share on other sites

  • 2 months later...

The guide to build Playerbot did not work

#!/bin/bash -x

git clone git://github.com/mangos-one/server.git portal_one_patch

cd portal_one_patch

git fetch git://github.com/blueboy/portalone.git master:portalone

git checkout portalone

HASH=`git log --pretty=oneline | grep -m 1 '\\[s[0-9]\\{4\\}]' | cut -d " " -f 1`

Then it says "grep: invalid option -- m"

Please kindly help. Thanks!

Hi Guys,

I'm pleased to say that I've finished the second stage of the 'new-ai' port to 'onenew-ai'.

This stage contains the following improvement/fixes:

  • Improved method to control ranged/melee combat based upon spell range. no need to force bots to follow master, they will endeavour to keep their distance from the target & use ranged spells. They will obviously melee if they pull the target.
  • Items bought by bots now uses the findNearbyCreature() process.
  • Fix to stop the 'craft' command from being interrupted.
  • Autoequipment now works with rolled on items, bought & created items
  • The bots were frequently inactive in combat and lootings was prolonged.
  • Bot with 'skinning' skill now skin quicker.
  • Hunter bot's pet feeding has now been fixed.
  • Hunter bot check for ranged weapon ammo now fixed.
  • Hunter bot spell auto shot is now working as expected
  • Multi-node taxi flight has been fixed.

Some of these fixes relate to posted issues and can be ported back to the 'portal/new-ai' branch

Hope you enjoy the changes and will provide feedback once you've had time to test it out.

Link to comment
Share on other sites

Archived

This topic is now archived and is 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