Jump to content

Playerbot


Recommended Posts

Kennumen, do you know when you last pulled from either new-ai or skillbot?

build: Core (2012.02.18) + playerbot (2012.02.18) + playerbot.new-ai (2012.02.19) + playerbot.skillbot (2012.02.19). This includes the 2012.02.19 skillbot commit but excludes the latest 2012.02.20 push. SD2, UDB, ACID all updated to similar days.

The only other thing I could think of is I set sell.whiteitems to 0 (down from 10 and under your preferred 5). I avoided negative values because I could see that doing strange stuff but I don't see why 0 would give strange results or why this would affect selling of normal items at all (I'll set this at 5 anyway first chance I get). Might try and squeeze in a small debug session because without autosell and the starter bags (aka none) I find it borderline unplayable.

Thanks for testing on your end, at least :)

<edit> $%^&*

when copying over to the new playerbot.conf file I missed the SellGarbage = 1 variable.

Oh yes, I'm so uber...

Also, I've read your note on not using 0 (this time) so I'll use 5 for now and may test out 1 in a few days.</edit>

Link to comment
Share on other sites

  • Replies 799
  • Created
  • Last Reply

Top Posters In This Topic

@Kennumen,

Awesome! And I've rescanned the code and actually, I was probably being a bit overcautious when I warned against setting it to 0. It *should* be fine..

The only math done with this value is as follows(and I've paraphrased it putting it into plain English)

if the items required level is less than the bot's level minus *config value here*

if (pProto->RequiredLevel < (m_bot->getLevel() - m_mgr->gConfigSellLevelDiff)

wow.. the code takes up just as much room as that did :lol:

As I recall, the thought behind warning NOT to, was to allow for any future additions of other quality items, which probably won't be an issue either.

So, as it stands you should be able to set the config setting (PlayerbotAI.SellAll.LevelDiff) to 0 if you like. This would cause the bot to sell all white and green items *up to* the bots level(gray is handled by the original code and is still as it was) negative setting would cause the bot to sell white and green items that are above the bots level by *config value* number of levels or lower.

AHH there was the issue... now I remember.. zero isnt so much an issue, it was negative numbers I was afraid of. (and just too lazy at the time to put in a zero check) If you used a negative number and the bot was level 1.. or low level period.. then you might wind up with issues when the return was negative or sell no items at all.

Zero should still be okay.

But as you found out, If the sellgarbage setting isn't set to 1, this code isn't called either. And that might get confusing so I'll be looking at a better way to set this probably.

Take Care!

Link to comment
Share on other sites

All the work you guys have been doing lately has left me breathless! It's all I can do just to keep my head above water, so to speak, let alone wrap my mind around the dizzying amount of code being produced these days. :o (we need a gasping for air smiley!)

By golly, I think you gentlemen just might reach the point where Playerbots can be fully autonomous! That would certainly be interesting, to turn WoW into an AI fishbowl, watching how the world and its inhabitants evolve. Academic exercises in Life aside, it most certainly gives me great hope this current team will make all the features dreamed of for so long into a reality.

I do wish a competent Lua and WoW API programmer comes along to complete the picture with a GUI interface that simplifies interacting with the bots. It's nearly enough to make me want to take a crack at it, but I'm not sure if my brain cells could handle the additional burden of learning two programming languages at once. The synapses aren't as limber as they once were.

Link to comment
Share on other sites

UnkleNuke,

Hey guy, take a look at the Addon thread Bruno started in the suggestions and ideas forum on Playerbot Forum.. Check out the addon studio, and theres even a new version of it.

It actually doesnt look like it would be very hard at all to create a simple addon. Give it go! (I just haven't had the time to play with it I've been so into coding side) :D

It comes with a tutorial built in by the way.

as for the autonomous bots.. I'm really hoping that Kennumen will get the worldsession issues worked out before I get to that point!! (hint hint ]:D )

Its certainly fun though!

Link to comment
Share on other sites

I'll be happy to look clueless here, by spouting whatever hare-brained ideas roll off the top of my skull. 8o

I do look in at the Playerbot Forums, from time to time, but I'll leave that place to those who really know what they're doing instead of cluttering it with my commentary. :lol:

Should I ever manage to master WoW's flavor of Lua, you can most certainly bet that the first, and probably only, addons I would want to create would be a GM helper and a Playerbot manager. However, don't hold your breath waiting for it... I move at the blazing speed of a snail juiced on sleeping pills!

Link to comment
Share on other sites

Feb, 24, 2012: Pushed to skillbot: Sorry for the delay , this one had me puzzled....

Variable Follow distance: Defaults to ON. You may turn it off using 'follow auto' .

Bots will begin at a fair distance behind the player.

Once you give them their combat orders, they will take their places according to the order given.

You can still adjust their follow distance using 'follow far' 'follow near'

'follow reset' should only be used for testing for now. Once given, you'll need to regive combat orders possibly. I only left it for some testing and will be removing it.

Bots will automatically gather to the player when an NPC is interacted with, and then return to their respective distances/positions.

Bots *should* not run past the player any more, unless you happen to turn around while they're trying to take their place behind you...

Again: this is now default. when you log a bot in , they will automatically assume these new positions/distances based on their combat orders

if you change their combat order, they will automatically change position/distance.

TIP: If you want to change the position of the healer(s) or non order bots are standing(the ones furthest back) simply give the

'follow' command by itself and it will cause those bots to randomize their position again. Keep doing it til they stand where you want them to in relation to you.

REMOVED: autocraft. It will be worked on in the branch craftbot to save some headaches.

If you have feedback, GREAT I need all I can get!:)

p.s.. for anyone that wants to continue using the basic functions of autocraft as it is at the moment, you can pull branch craftbot.

I'll make sure to give updates on any changes.

EDIT: sorry i gave the wrong branch for autocraft... its in branch craftbot NOT autocraft... sorry

Link to comment
Share on other sites

Feb, 24, 2012: Rush Update Pushed: Sorry guys, I just realized that about half of the stats were not being checked for new items during the ItemStatComparison..

Caster stats were okay, but the rest were only checking the stats

on the original item if there was one. Again, Sorry about this...

Also, it may be a little while before I update the ItemStatComparison section as I need to do alot more research, testing in that area

(I've been working on it, but I still need alot more study put into it, I've just been busy)

To be honest I can only stare at one section for so long before I have to tinker with something else. Otherwise I go nuts :lol:

Link to comment
Share on other sites

I've seen that a part of your work, Gitch, is exactly the same than Blueboy, except for spaces or tabs. Quite embarrassing when we try to compare differences.

I've merged Sharedbots with Autobots, with no correction at all. Autobots can then be created... but not summoned.

I simplified Sharedbots code, to search for Autobot account, and now I can add Autobots in my world.

I have to create the Autobot, only after that I can call him.

I also tried to give him xp, spells, I try to approach Yad's work (I used his code a long time ago, and it was delicious).

I'm not on Github, but maybe, if you think theses ideas are good, maybe I can show you...

Link to comment
Share on other sites

first I want to say "Please forgive me for the offtopic question"

Blueboy, do u still continue to update the minimanager git? or can u advise me to use a specific manager or site?

With respect,

Axxl

Not at all, I still actively use MiniManager myself. I only update if there is a problem, normally if they try to restructure the databases. If there is, let me know and I'll try to sort it out.

Cheers

Link to comment
Share on other sites

I've seen that a part of your work, Gitch, is exactly the same than Blueboy, except for spaces or tabs. Quite embarrassing when we try to compare differences. I've merged Sharedbots with Autobots, with no correction at all. Autobots can then be created... but not summoned. I simplified Sharedbots code, to search for Autobot account, and now I can add Autobots in my world. I have to create the Autobot, only after that I can call him. I also tried to give him xp, spells, I try to approach Yad's work (I used his code a long time ago, and it was delicious). I'm not on Github, but maybe, if you think theses ideas are good, maybe I can show you...

Hey Adam00,

thanks for the ideas!

Sure, alot of my code is based on blueboy and others code or wrapped around it in some fashion. However, I've not had anything to do with SharedBots so I wouldn't know anything about that or autobot. Skillbot is the branch I've pushed to, and while I've based my code on some existing code, if you see no differences other than spaces or tabs... I believe you have the wrong code =) For starters, blueboys functions are alot more complex and shorter and efficient and.... well you get the point :lol: Also I keep new-ai merged with skillbot to maintain compatibility. So you will find the new-ai code (short of the last few commits probably) in skillbot. Might want to check and verify you have the code from that branch.

Take Care!

**Edit**

Just another note to clarify... I'm not actively trying to create independant bots (although that I suppose is the ultimate goal) I'm focusing on automating existing functions in a way that an independant bot (should that day come) can make use of them without the players interaction with them. But first, its purely to enhance the players gameplay.. after all, its my game to play, not the bots :D

Also, as far as skillbot is concerned, I started it because my coding is so inferior to most of the guys here, I didn't want to mud up the main branches with my chicken scratch. However, If someone wants to rewrite/rethink any of it, please do!

Link to comment
Share on other sites

Gitch I've integrated your work in my project, and it seems to go well !

Only PlayerBotMgr.h and cpp were manually corrected, the rest is all of yours !

Ow...

This night the server got a bug (completely frozen...), I'm triyng to know why... and I'll give you details.

Link to comment
Share on other sites

I wish you luck Adam00 ! Keep us up to date if you work that out.

busy with some issues of life (property purchase I HOPE, new job contract started (been out of work for 8 years!)

and tinkering with a couple other things related to playerbot. Hopefully be more active by the weekend guys.

(I'm sure you'll all enjoy the spam-free time!) 8o

Link to comment
Share on other sites

Client addon for blueboy/playerbot

Okay, this is very simple (and quite sloppy work) as I peeked at lua/xml and no nothing about it....

You can pull the addon from here:

https://github.com/Gitch/pbotaddon

(see HERE for infos on setting up a local repo) this is a client addon,(not mangos or Playerbot) so make adjustments to put it where you can get to it easily. e.g replace the repository name with pbotaddon etc instead of playerbot and Gitch instead of blueboy.

Actually.. I should have just checked with blueboy to see if it would be okay to include this in the playerbot repo. Wasn't thinking..

if it seems confusing just yell. drop a line here or on the Playerbot forum.

basic infos are in the README.txt file. I'll update it as changes are made..

At the moment it doenst handle summoning bots, maybe later (if its even possible).

basic switch settings and combat orders are included.

Crafting , well I'll be workin on that for a bit...

If someone else wants to take on the addon, by all means!

I'm just tinkering around and thought I'd see how the interest in it would be.

Take care!

Link to comment
Share on other sites

Feb, 29, 2012: Leap year Update! - Pushed: Can't do this again for a while! :lol:

Fix for 'quest list' and other quest command issues dealing with bots being too far away from NPC. Added distance reset to all quest commands.

now if you issue a quest command, the bots will all dogpile the npc and THEN carry out the command

same for 'skill learn'

Fix a code change to AutoEquip. My bad, A recent change left it impossible for the bot to compare items for autoequip IF neither item had

stats. (mainly affected the very low level partys).

Link to comment
Share on other sites

I actually misspoke in the previous post about the Update.

they actually gather to the player not NPC. this way they are in range to interact with the NPC. I copy pasted from my notes and forgot to change it..

Current, not pushed code, includes bots will search for quests in a temporarily larger radius when player gives quest commands such as 'list', and then reset their radius.

Quest auto accept will be available (bot will search for quest giver and accept all quests relevant to them) I did this to handle bots getting quests that the player may not

know about (class specific etc)

Link to comment
Share on other sites

March 6, 2012: Update Pushed: branch skillbot

I've been super cautious about this push... sorry for the delay. There will be some tidying up of code, but as far as I can tell, its ready for further

testing. If you have any probs, let me know.

New command: 'resumeorders' - </t botname OR /p > bot(s) will restore their previously saved combat orders. Orders are automatically saved to the DB when given.

This includes the resist and nodispel orders, which I'll also add to the addon menu when I get the chance.

You Must apply the playerbotai_characters_svdata_001.sql file located in the /sql/playerbotai directory of your git repo.

This will create a new table in the characters DB called playerbot_saved_data . Feel free to add more fields to the table if you like, only let it be

known so code can be changed to reflect it. (couple lines of code in playerbotMgr that would need changed for my part)

bots may repeat their orders twice sometimes.. I know and will look into it (it has to do with the double pass that happens if secondary orders exist)

If something goes wrong.. make sure you have all your bots logged in that are involved in other bots orders... They'll notify you they have no target.

New Sub command: 'quest fetch' - </t botname OR /p> bot(s) will automatically find and accept quests from the targeted questgiver (or any if close enough and no target)

I havent increased the search radius yet, but will be putting a temp larger radius in for this command soon, which will reset when they are done.

They'll go to the NPC and if there are any quests they can take, they will. This may help with quests which the player cannot see due to class/race etc.

Link to comment
Share on other sites

No no we are here, we follow your work, quietly... ;)

It's two weeks since i've mixed Auto and Sharedbots, the server is ok, sometimes it bugs (npcs move at 100X speed ^^), but it works.

The creation, ever if I tried lots of things, must be made separately from invitation...

First I create, then I add, then I invite.

Link to comment
Share on other sites

March 9, 2012: Pushed: branch skillbot

Change: command 'sell all' will now work as a toggle- give once to turn on, again to turn it off. It will stay on or off until you give the command again.

New command /t botname or /p - 'combat' valid subcommands are 'delay <0 - 10>' space between 'delay' and value.

this will set the bot(s) initial engage delay for combat. Allowing you to tweak them to your style.

Example: /t botmage combat delay 7 -botmage will wait for count of 7 before he nukes the enemy with a fireball from hell... officially gaining aggro...

Link to comment
Share on other sites

PlayerbotUI client Addon

You can pull the addon from here:

https://github.com/Gitch/pbotaddon

___________________________________________________________________________________________

March 9, 2012: Pushed

Added autoequip 'now' button to main menu

Added combat menu with sliders for adjustable combat engage delay (adjust then click the 'set' button)

requires latest skillbot push for combat commands.

Link to comment
Share on other sites

March 10, 2012: Pushed: Branch skillbot

New Command - 'skill fetch' - bot(s) will automatically learn available skills/spells from the targeted trainer if they have the money.

Fixed a major bug in ItemStatComparison that was comparing null stat slots and adding to item scores when it shouldn't... (not sure why it wasn't crashing)

Added code to FollowReset function that should force bots to get close enough before trying to interact with players current target(vendor/questgiver etc.)

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