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

06-01-2008, 06:31 PM
|
Fire Beetle
|
|
Join Date: Mar 2006
Posts: 24
|
|
Why the change to a hard limit on the number of bot groups, out of curiosity?
I realize that if 12 groups isn't enough to take down something, a player's got more problems than just bot count, but why add the hard limit when you were running on a LinkedList before?
If the problem was not being able to iterate through raid groups, this is what I was using for that:
Code:
LinkedListIterator <Group *> gps(RaidGroups);
gps.Reset();
while(gps.MoreElements())
{
Group *gp = gps.GetData();
if(gp) {
// do some stuff here to your new group pointer
// ...
}
gps.Advance();
}
also adding new groups:
Code:
// with your new group "newgroup"
RaidGroups.Append(newgroup);
// then reset any interators going to it
|

06-01-2008, 11:32 PM
|
Developer
|
|
Join Date: Jul 2007
Location: my own little world
Posts: 751
|
|
that's not why I got away from the linkedlist, I just thought that 72 was the max raid in eq anyway.
|

06-01-2008, 11:33 PM
|
Developer
|
|
Join Date: Jul 2007
Location: my own little world
Posts: 751
|
|
I've updated the source and binaries for build 1110
|

06-02-2008, 08:28 AM
|
Discordant
|
|
Join Date: Apr 2006
Posts: 374
|
|
There was some discussion earlier in this thread about incorporating this into the main eqemu source as a rule or something. Is this still a possibility, or should we keep searching this 39 page thread for builds?
|

06-02-2008, 08:49 AM
|
Hill Giant
|
|
Join Date: May 2008
Location: sydney
Posts: 177
|
|
I noticed the bot entries were in my database when i first installed it although i couldn't figure out what they were for, so i assume it was half done. I've tried replacing my binaries with the ones listed but that just crashes my game so i am not sure how to proceed.
If there's a way to backup my characters and install a version like minilogin that i can solo on and use bots i'd be very interested! 
|

06-02-2008, 10:21 AM
|
Banned
|
|
Join Date: May 2008
Location: Reno baby YEAH LOL
Posts: 123
|
|
1 you need to check through the changelogs and enter the required mysql changes in it before trying to upgrade any of your binaries without those changes as soon as you try zoning in youll crash the bots work fine with minilogin just backup your character_ account, and inventory tables but you dont need to just run the needed mysql statements in the changelogs and itll work fine
|

06-02-2008, 10:22 AM
|
Banned
|
|
Join Date: May 2008
Location: Reno baby YEAH LOL
Posts: 123
|
|
heck atleast make a forum specificly for this as a alternate version or something hes right searching this thread is a bit of a pain in the ass.
|
 |
|
 |

06-02-2008, 11:43 AM
|
Fire Beetle
|
|
Join Date: Mar 2006
Posts: 24
|
|
Quote:
Originally Posted by Congdar
that's not why I got away from the linkedlist, I just thought that 72 was the max raid in eq anyway.
|
Ah, you may have a point there. Now that you mention it, I seem to remember them having that kind of limit, like the hate list depth, so people involved in stupidly huge raids weren't getting credit or something like that.
I've been working on command sets which operate on the entire raid (including loading and saving intact raids on a per-player basis) which used the linked list iterators heavily. ("#raid load fivegroup" loads the raid I saved as "fivegroup," complete with main tank and second tank flags).
Some of the stuff I've been doing (like adding a pacifist flag so the raid can't attack) I see you've already either been working on or finished.
This stuff still needs a bit of work though, although I think the new movement code for the bots I'm working on will be done in a week or so.
I've just integrated the code in your 1108 release into my codebase (but converted it all to linked list.)
When I update to your 1110 release, I'll switch back to arrays. Shouldn't set me back more than a few hours.
|
 |
|
 |
 |
|
 |

06-02-2008, 11:53 AM
|
Fire Beetle
|
|
Join Date: Mar 2006
Posts: 24
|
|
Gah, five minute edit rule strikes again.
Quote:
Originally Posted by BatCountry
I've been working on command sets which operate on the entire raid (including loading and saving intact raids on a per-player basis) which used the linked list iterators heavily. ("#raid load fivegroup" loads the raid I saved as "fivegroup," complete with main tank and second tank flags).
Some of the stuff I've been doing (like adding a pacifist flag so the raid can't attack) I see you've already either been working on or finished.
|
I've been simplifying the interface for a lot of commands ("#bot raid order task attack"? really?) to a #bot, #bot group, and #raid command structure, and I've stuck all of the commands into two separate included .h files ("botcommands.h" and "botraidcommands.h") which can be included in "commands.h" to make merging a bit easier, etc.
Let me know if you'd like to work together on this stuff or what things you're working on now so we're not duplicating work.
|
 |
|
 |

06-02-2008, 12:42 PM
|
Demi-God
|
|
Join Date: Jul 2006
Posts: 1,552
|
|
I would love to see the commands simplified and made more intuitive. Nice work!
|
 |
|
 |

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-02-2008, 02:54 PM
|
Developer
|
|
Join Date: Jul 2007
Location: my own little world
Posts: 751
|
|
Quote:
Originally Posted by BatCountry
I've been simplifying the interface for a lot of commands ("#bot raid order task attack"? really?) to a #bot, #bot group, and #raid command structure, and I've stuck all of the commands into two separate included .h files ("botcommands.h" and "botraidcommands.h") which can be included in "commands.h" to make merging a bit easier, etc.
|
#raid should be #bot raid
I think everything should be prefaced with #bot because eventually the emu is going to have it's raid stuff fixed and there may be gm commands like #raid and we don't want to preclude the emu from using them. Just my .02 on the commands.(unless it was just a typo... I see you have #bot group).
|

06-02-2008, 03:09 PM
|
Discordant
|
|
Join Date: Apr 2006
Posts: 374
|
|
Quote:
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.
|
What about a separate release thread on these forums for the bot source and binaries, so it is easier for people to find them and know exactly when it has been updated. This thread is growing fast and sometimes it is easy to miss releases if you don't check every day.
Keep this thread as the discussion thread and only let the people working on the code post in the release thread.
|
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:21 PM.
|
|
 |
|
 |
|
|
|
 |
|
 |
|
 |