Jump to content

[Two] Playerbot (WotLK)


Guest blueboy_

Recommended Posts

Maybe this is a stupid question, but...

Did you apply the Playerbot SQL updates to your database? Check your database tables, especially 'commands'. Listed among all the usual GM and player commands should also be the bot commands. If not, you either missed a PB SQL or applied it incorrectly.

Link to comment
Share on other sites

  • Replies 101
  • Created
  • Last Reply

Top Posters In This Topic

There aren't any bot cmds in the command table of the mangos db. I think the /t commands are executed via script somehow (they arent GM commands).

But I updated the playerbot ai. The table playerbotai_db_version says "required_5_playerbotai_auto_follow". But this file isnt inside of the update sql folder. So I think its at the latest version.

Link to comment
Share on other sites

The combat orders command appears to be broken. It does look like you used it correctly. I've made an issue for it.

Manually applying talents is just fine. The GetSpec() function was intentionally designed to allow for this eventuality. The only difference is more micro-management but some people have the knowledge and desire to manually talent all their bots. Go ahead and avoid 'talent spec' in this case.

The latest PBAI is required_6, but that shouldn't account for the symptoms you're having. In all likelihood.

Link to comment
Share on other sites

I have just fetched and reinstalled everything but I have still got required_5_playerbotai_autofollow.

There is no r6 update file in the repo therefore it has to be required_5.

Maybe the required_6 belongs to another repo?

Edit: I just tried to start mangosd.exe but I got this:

2012-08-28 09:42:43 ERROR:SQL: SELECT required_6_playerbotai_combatorders FROM playerbotai_db_version LIMIT 1
2012-08-28 09:42:43 ERROR:query ERROR: Unknown column 'required_6_playerbotai_combatorders' in 'field list'
2012-08-28 09:42:43 ERROR:The table `playerbotai_db_version` in your [CHARACTER] database indicates that this database is out of date!
2012-08-28 09:42:43 ERROR:
2012-08-28 09:42:43 ERROR:  [A] You have: --> `5_playerbotai_auto_follow.sql`
2012-08-28 09:42:43 ERROR:
2012-08-28 09:42:43 ERROR:  [b] You need: --> `6_playerbotai_combatorders.sql`
2012-08-28 09:42:43 ERROR:
2012-08-28 09:42:43 ERROR:You must apply all updates after [A] to [b] to use mangos with this database.
2012-08-28 09:42:43 ERROR:These updates are included in the [sql/playerbotai] folder.
2012-08-28 09:42:43 ERROR:Please read the [doc/README.Playerbot] file for instructions on updating.

Lol, where do I get the next update file from?

I searched in here https://github.com/blueboy/portal/tree/new-ai/sql/playerbotai and of course in my downloaded repo at the same path.

Link to comment
Share on other sites

There's no need for you to check out a getspec function, I meant that internally it should get the spec dynamically from the way your bot's talent tree is built rather than check it's talent spec (which may or may not be set; not in your case). In other words, the internal workings were designed specifically to rely on information always present rather than the (possibly un-)set 'talent spec'. Long winded way of saying "don't worry, be happy". I think the manual way to add talents is "[whisper] talent add (TALENT)" but just use "help talent" to get a full explanation. If that is the (sub)command and you require it, "help talent add" may give an even more detailed explanation.

Really? When I look I see two files related to r6: https://github.com/blueboy/portal/tree/new-ai/sql/playerbotai

Okay, they weren't there and I was the culprit. Apparently 'git commit -a -m "comment"' does automatically add changed files, does automatically remove deleted files, but does not automatically add new files. My bad.

Link to comment
Share on other sites

There's no need for you to check out a getspec function, I meant that internally it should get the spec dynamically from the way your bot's talent tree is built rather than check it's talent spec (which may or may not be set; not in your case). In other words, the internal workings were designed specifically to rely on information always present rather than the (possibly un-)set 'talent spec'. Long winded way of saying "don't worry, be happy". I think the manual way to add talents is "[whisper] talent add (TALENT)" but just use "help talent" to get a full explanation. If that is the (sub)command and you require it, "help talent add" may give an even more detailed explanation.

I hope there is a way to get the talent spec function running. I would like to spare me the work of adding the talents manually one by one.^^

Hopefully the issue is solved when I have installed the update.

Really? When I look I see two files related to r6: https://github.com/blueboy/portal/tree/new-ai/sql/playerbotai

Okay, they weren't there and I was the culprit. Apparently 'git commit -a -m "comment"' does automatically add changed files, does automatically remove deleted files, but does not automatically add new files. My bad.

xD Nice, then I can play WoW again (when I got GitGUI or GitBash to fetch the remote - fetching with GitGUI hadn't done anything o_O )

Edit:

It worked with GitBash. :D

I've got one question: Does the file "FULL_playerbotai_characters_r6.sql" contain all previous updates (so that it would be enough to only apply this file to update the db after a complete reinstallation)?

Edit #2:

I just tested the commands for combat orders and talent specs. They still dont work. :(

Regarding talent specs: Is it true, that the talent points get resetted after using the chars as bots? As I leveled the huntress for example, I skilled her of course. Then I used her as bot and the next time I logged on with her, the talent points weren't spent.

If this is done deliberately, is there a way to bypass this script (or whatever is doing it)?

OR What could be the reason why "something is gone awry"? Perhaps applie talent specs only at lvl 80?

Link to comment
Share on other sites

FULL is basically a reinstall. You'll be 100% certain it's right but you'll lose any saved settings (PBAI DB only) and any modifications you may have made to the DB structure.

Combat orders have been fixed but not pushed. See this issue.

Talents do not, of course, get magically reset if you use the character as a player bot. There might be a command to do so if you're near a trainer (see "help talent"). If talents have been set that aren't in the talent spec you've chosen, that could be causing issues. I don't recall how I coded it but that certainly raises a flag. At least I made it so that doesn't crash the server :)

Link to comment
Share on other sites

Combat orders have been fixed but not pushed. See this issue.
Awesome! You guys rule! :D
Talents do not, of course, get magically reset if you use the character as a player bot. There might be a command to do so if you're near a trainer (see "help talent"). If talents have been set that aren't in the talent spec you've chosen, that could be causing issues. I don't recall how I coded it but that certainly raises a flag. At least I made it so that doesn't crash the server :)
Nice. Then I might haven't saved the table for the talents, when I reinstalled mangos.

Edit:

This is a bit embarassing, but I now know why I got problems with the talent spec function. I thought that the talent points would be respent according to the chosen talent spec. But as you (kennumen) wrote, pb doesnt reset the points. In conclusion its quite obvious that pb cant applie the arcane dps mage talent spec to an mage with only 10 or so talent points spent on arcane and 55 spent on fire (I thought fire mages would be used as damage dealers). xD For I just applied the protection talent spec on my paladin and it worked just fine.

So next thing to do is going to the class trainer and resetting the talents...

Link to comment
Share on other sites

I just tested it, co works. :D Or it works IF the pull cmd is not useable yet. Because I still get the msg that there is no pb tank in the party.

This one is not so important to me, but the bots can't use flight mounts properly. I mostly use the .tele cmd to travel (yeah, I'm lazy) and the bots are at the latest then ported to my position, so this has time I think.

But the huntress is still not using her bow btw...

Link to comment
Share on other sites

The pull command is an on-going item (only started it a few weeks ago). Progress can be followed here, I'm generally (too) good at updating my progress. As you've discovered and stated, at this point there is no function in it for the end-user (or anyone, really).

PBAI mounts is not my area of expertise. I could see flying mounts being a problem. E.g. on the flying mount bombing run quest you get shortly after getting the flying mount. Used to be a staple daily for me :) You would like to have them along (in case you get dismounted). Do they 'go missing' or just follow you slowly on the ground. If the latter I would consider that a problem since they would go around aggroing tons of mobs. Anyway, log an issue on github and hopefully Blueboy will find some time for it eventually or I'll cave and take a look at it. My bots are level 14 parked before RFC until pull is working so level 70 (or did they change it to 60?) is still far off for me to get annoyed by it :P

As for the huntress - log an issue and one of us will get around to it. If hunters really aren't working that's a big issue, but as I recall I myself couldn't reproduce this bug. Anyway, log an issue and we'll see.

Link to comment
Share on other sites

  • 2 weeks later...

Release master

Problem during compiling:

[ 28%] Building C object dep/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_s_mp_sub.c.o
Linking CXX shared library libstorm.so
[ 28%] Built target storm
Scanning dependencies of target mangosscript
[ 28%] Building CXX object src/bindings/ScriptDev2/CMakeFiles/mangosscript.dir/ScriptMgr.cpp.o
In file included from /data/AI/mangos/src/bindings/ScriptDev2/include/sc_gossip.h:8:0,
                from /data/AI/mangos/src/bindings/ScriptDev2/include/precompiled.h:15,
                from /data/AI/mangos/src/bindings/ScriptDev2/ScriptMgr.cpp:5:
/data/AI/mangos/src/game/Player.h:57:1: error: expected unqualified-id before ‘<<’ token
/data/AI/mangos/src/game/Player.h:59:1: error: expected unqualified-id before ‘==’ token
In file included from /data/AI/mangos/src/bindings/ScriptDev2/include/sc_gossip.h:8:0,
                from /data/AI/mangos/src/bindings/ScriptDev2/include/precompiled.h:15,
                from /data/AI/mangos/src/bindings/ScriptDev2/ScriptMgr.cpp:5:
/data/AI/mangos/src/game/Player.h:63:1: error: expected unqualified-id before ‘>>’ token
In file included from /data/AI/mangos/src/bindings/ScriptDev2/include/sc_gossip.h:8:0,
                from /data/AI/mangos/src/bindings/ScriptDev2/include/precompiled.h:15,
                from /data/AI/mangos/src/bindings/ScriptDev2/ScriptMgr.cpp:5:
/data/AI/mangos/src/game/Player.h:1496:9: error: ‘PlayerMails’ does not name a type
/data/AI/mangos/src/game/Player.h:1497:9: error: ‘PlayerMails’ does not name a type
/data/AI/mangos/src/game/Player.h:1584:9: error: ‘PlayerMails’ does not name a type
/data/AI/mangos/src/game/Player.h:1585:9: error: ‘PlayerMails’ does not name a type
/data/AI/mangos/src/game/Player.h:2549:9: error: ‘PlayerMails’ does not name a type
/data/AI/mangos/src/game/Player.h: In member function ‘void Player::AddMail(Mail*)’:
/data/AI/mangos/src/game/Player.h:1580:36: error: ‘m_mail’ was not declared in this scope
/data/AI/mangos/src/game/Player.h: In member function ‘uint32 Player::GetMailSize()’:
/data/AI/mangos/src/game/Player.h:1581:39: error: ‘m_mail’ was not declared in this scope
make[2]: *** [src/bindings/ScriptDev2/CMakeFiles/mangosscript.dir/ScriptMgr.cpp.o] Error 1
make[1]: *** [src/bindings/ScriptDev2/CMakeFiles/mangosscript.dir/all] Error 2
make: *** [all] Error 2

Link to comment
Share on other sites

I agree with kennumen that your compile errors are due to residual 'merge conflict marker' ( '<<' & '==' & '>>') left in Player.h. As the online code was clean of such markers, you must have caused these yourself. If you do a merge that fails you must attend to the errors before compiling. 'git status' will list those files that need attention. Do not ignore these, as 'git' places markers in the files where the merge fails. Resolve the errors, remove the markers and save the changes.

Hope this helps

Link to comment
Share on other sites

Hi Guys,

While testing the code I've been frequently frustrated by breaks in the quest chain, so I've decided to integrate the 'gmguy' code into playerbot. The code is split in two sections, one half can only be accessed by the server admin with the 'gm' command and the other half is freely accessible by all users with the 'quest' command. This feature will be of particular use in code testing where it would be advantageous to progress quickly through the quest chain.

For admin

Can add or remove quests at will to & from a dedicated database table (playerbot_quest_data). They may wish to add problematic quests to the table and later remove these, should they be fixed.

Syntax:

  • gm quest add [Quest Hlink]..
  • gm quest del [Quest Hlink]..

Considerations:

I have included a filter in the incomming chat process stream to stop command spamming, regardless of whether you use individual 'whisper' or 'party' chat to send the command. After all, you only want to add or remove a quest entry once.

For users

Can auto-complete all quests added to playerbot_quest_data. All quest objectives will be completed automatically, allowing the player & bot to simply turn in the quest to receive the reward and continue to the next quest in the chain.

Syntax:

  • quest complete [Quest Hlink]..

Considerations:

If there is a problematic quest, it seems reasonable that all party members, including the playerbot master should auto-complete quests together. Here the request is processed for each member of the party/group, regardless of whether you use 'whisper' or 'party' chat to send the command. If for some reason you should wish some members of the party not to auto-complete, just temporarily remove them from the group.

I shall push this code shortly to the 'new-ai' branch.

Hope you find this feature useful and provide us with appropriate feedback.

Link to comment
Share on other sites

Nice. I've been dropping non-essential quests (haven't run across a quest series so far - that I know of) and completing essential ones (just the druid bear quest so far) with the mangos admin command ".quest complete [Quest Hlink]" (notice the dot). GMGuy would be super interesting if it wasn't just me on the server :)

Plus it's one less branch to maintain. Woot!

Link to comment
Share on other sites

Glad you like it ;) This code has been sitting on the Github site doing nothing for quite some time, and it had the restriction of only working for the active player. The integrated code is more versatile, working for bots too.

There are several quest series in the game. One that was broken being 'BuzzBox 411' in Darkshore. This quest requires you to slay and collect three thresher eyes. On my server, the threshers couldn't be killed. This quest then leads to several other BuzzBox quests, that can be completed normally.

The original idea behind 'gmguy' was to free up server admin's time, attending to players frequently experiencing problematic quests. Once the quest ids are added to the database, users can deal with these issues and without giving them gm privileges.

I must admit that I have received little response to the gmguy code, since it was requested a couple years ago. I have only recently updated it. Now that the code is in playerbot, I agree that it might be time to remove it. If anyone is still interested in using this code, shout out now or it will be gone...

Cheers

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