|
|
 |
 |
 |
 |
|
 |
 |
|
 |
 |
|
 |
|
Development::Bots Forum for bots. |
 |
|
 |

06-02-2008, 12:44 PM
|
Developer
|
|
Join Date: Jul 2007
Location: my own little world
Posts: 751
|
|
That sounds like some great work your're doing. If you can get the linkedlist thing to work that's awesome. I was getting too many zone crashes cuz dead bots were linked everywhere and ended up having code try and execute on bot objects that no longer existed when they got killed, especially when working 12 group raids(71 bots + me). I left live... i think the expansion after PoP and at that time I thought the raid limit was 12 groups. Before I set that hard limit I did some research into what the limit was and all I could find was that in later expansions they tried to move from 72 down to 48 max players in a raid. If you can find some info that says more than 72 is allowed it isn't hard to bump the constant up from 12.
Just thought I would take this opportunity to give credit to Magoth78 for this bot code he gave the community around build 992. reading some of the posts, it seems people think i wrote all of this stuff. I've just kind of maintained it through the latest builds and tried to figure out how to fix some of the crashes. C/C++ is not my strongest language so I may have made some poor design choices. I think some of the crashes came from bugs I introduced myself when trying to fix other things.
The #bot command structure was inherited from the original bot source, it definitly could use the reorg you are talking about. I have left most everything the same as Magoth78 coded it except where I fixed crashes and the big change to raids with the linkedlist or array decision, and fixing stat bonuses from items and adding AA's.
There was talk of merging the bot source into the emu source and that is when I did all the #IFDEF EQBOTS around all the bot source since the original source was not ifdef'd. The ifdefs would make it really easy to put into the main emu source tree, but I recommended against it at the time since the bot source was really crashing a lot. Now that it has stabalized some, maybe it might be ok, but since there is still some fluidity to the code, it seems easier to work on it this way than do code submission requests through the emu devs.
The next big issue is to complete separate spell lists in the database for bot casters. Some work has been done in this area but a lot more is needed and I just haven't got there since I'm more focused on code bugs than db updates.
I'm all for extra help from the community on the bot source. I don't own it, just trying to keep it going. Happy to work with anyone that wants to help out.
|
 |
|
 |

06-02-2008, 12:52 PM
|
Demi-God
|
|
Join Date: Jul 2006
Posts: 1,552
|
|
From memory, EQLive raids had a max of 72 players in the Raid UI. However, some zones (I believe) limited the number of entrees to specific numbers - i think PoTime was one of those? I'm sure there are more seasoned raiders out there that know more.
But 72 is the number I remember. You could zerg with 200 if you wanted, but only the 72 in the raid UI got credit/loot (unless of course the loot lockout timer expired yadda yadda)
As for the #ifdef work... I know I've said this before. Is it possible to move all BOT code external into it's own cpp/h files, and use #ifdef / #includes like the GuildWars system uses? There would be lots of #ifdef BOTS...do this... but maybe with a few nicely placed #includes, it could be less intrusive to the core - and can be easily switched off at compile time.
|

06-02-2008, 02:48 PM
|
Developer
|
|
Join Date: Jul 2007
Location: my own little world
Posts: 751
|
|
Quote:
Originally Posted by John Adams
As for the #ifdef work... I know I've said this before. Is it possible to move all BOT code external into it's own cpp/h files, and use #ifdef / #includes like the GuildWars system uses? There would be lots of #ifdef BOTS...do this... but maybe with a few nicely placed #includes, it could be less intrusive to the core - and can be easily switched off at compile time.
|
It is easily switched off at compile time now with the existing #ifdef EQBOTS I coded. It may be possible to move some, but not all bot code to it's own files. Not sure if that effort would make much of a difference.
|
 |
|
 |

06-03-2008, 02:12 AM
|
Fire Beetle
|
|
Join Date: Mar 2006
Posts: 24
|
|
Quote:
Originally Posted by Congdar
That sounds like some great work your're doing. If you can get the linkedlist thing to work that's awesome. I was getting too many zone crashes cuz dead bots were linked everywhere and ended up having code try and execute on bot objects that no longer existed when they got killed, especially when working 12 group raids(71 bots + me).
|
Yeah, after switching to linked lists, I've had to catch and kill a lot of crash bugs - mostly related to me dealing with linked lists incorrectly, I believe. I need to build some test cases where I ensure the LinkedList and LinkedListIterator classes actually behave the way I think they do.
I've been doing a lot of what I see you've been doing (while comparing the older code with what you've been making) - adding checks to catch null pointers and finding the behavior that can result in creating them.
I'm still in awe of what Magoth78 put out - and how easy it is to follow the logic. Most of what I've done with the codebase to make it work the way I want is just simplifying commands and catching some stray crash bugs.
|
 |
|
 |

06-03-2008, 10:55 AM
|
Fire Beetle
|
|
Join Date: Mar 2006
Posts: 24
|
|
Quote:
Originally Posted by Congdar
Before I set that hard limit I did some research into what the limit was and all I could find was that in later expansions they tried to move from 72 down to 48 max players in a raid. If you can find some info that says more than 72 is allowed it isn't hard to bump the constant up from 12.
|
Quote:
Ulairi: Many players have expressed an interest in increasing the raid group size to over the 72 player limit to support larger guilds. Is it possable leadership advancement will aid in this?
Craig Knapp: As for now, we have no intentions of raising the raid group size.
|
From a dev chat log about The Serpent's Spine, I guess we can fairly call the limit 72. Smaller limits seem to be for various raid Tasks, which aren't really implemented yet.
|

06-03-2008, 08:32 PM
|
Fire Beetle
|
|
Join Date: Mar 2008
Location: Cincinnati
Posts: 9
|
|
Has anyone else noticed an issue with the bots not being able to keep agro? I played my wizard lastnight and had 2 bots (a warrior and a cleric), I would do #bot group order attack and send the warrior to tank the mob. I can see the warrior saying "taunting", I am waiting until the mobs are at least 80% before I cast and as soon as I cast my first spell the mob immediately runs to me. The warrior bot will run over and continue to attack and taunt but the mob never leaves me.
I have tried with other characters as well, with my ranger I can send in the warrior and if I am even standing close by not attacking I still catch agro. I can stand still not attacking at all and the warrior bot can never taunt the mob away.
|

06-03-2008, 08:42 PM
|
Developer
|
|
Join Date: Jul 2007
Location: my own little world
Posts: 751
|
|
Quote:
Originally Posted by Trynix
Has anyone else noticed an issue with the bots not being able to keep agro? I played my wizard lastnight and had 2 bots (a warrior and a cleric), I would do #bot group order attack and send the warrior to tank the mob. I can see the warrior saying "taunting", I am waiting until the mobs are at least 80% before I cast and as soon as I cast my first spell the mob immediately runs to me. The warrior bot will run over and continue to attack and taunt but the mob never leaves me.
I have tried with other characters as well, with my ranger I can send in the warrior and if I am even standing close by not attacking I still catch agro. I can stand still not attacking at all and the warrior bot can never taunt the mob away.
|
try a test... set your server rule and see if it helps:
Aggro:SmartAggroList = false
|

06-03-2008, 10:54 PM
|
Fire Beetle
|
|
Join Date: Mar 2008
Location: Cincinnati
Posts: 9
|
|
Quote:
Originally Posted by Congdar
try a test... set your server rule and see if it helps:
Aggro:SmartAggroList = false
|
After adding the rule my bots can now hold aggro. Thanks!
|

06-04-2008, 01:22 AM
|
Sarnak
|
|
Join Date: May 2008
Location: Midwest
Posts: 72
|
|
Just wanted to say thanks to those of you shepherding the bots code along. I've enjoyed using the bots quite a bit and, while not perfect, they are pretty darn good.
C++ isn't my best language either but if you need any help Congdar don't hesitate to throw me a PM.
|

06-24-2008, 05:53 PM
|
Discordant
|
|
Join Date: May 2006
Posts: 356
|
|
Emu0.7.0-1118-Source With Bot Code
For anyone interested, I have merged all of the 1118 Changes in with the BOT Code and have successfully compiled it under Debian Linux and Windows C++ 2005 Express. Here is the link for the files... The Makefiles have been setup to include the bot code for Linux compiles.
http://www.mediafire.com/?yzgwlxkgdgz
On another Note, The implementation of fear has caused the Bot code to really spam the so and so is under attack when the mob gets feared away so much that it really lags out the zone bad.
Just an FYI.
__________________
Random Segments of Code....
|
Thread Tools |
|
Display Modes |
Hybrid Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 05:39 PM.
|
|
 |
|
 |
|
|
|
 |
|
 |
|
 |