ok that worked great.. now the bots leave group and group stays in tact now 1 more problem.. the player that owns the bots invites a player.. spawns bots and zones out and back bots gone group intact. so then i respawn the bots and try to invite them. says only leader can invite bots and kills them. but then i log on another char and try to invite them and it lets me..
so basically what happens is now the bots cant find the leader of the group even though the owner is still the group leader according to the game. any ideals? |
i fixed it i just removed the group leader check when inviting bots.. i don't care if anyone in group can invite them leader or not.. and it seems to e working now. but i would still like to see a fix to the problem in case i decide to put leader check back in or if anyone else needs it
|
I fixed a few exploits on mine;
for players who make armies of Bots and invite them as they fight and loose bots; in command.cpp around line 8161; replace Code:
if(!strcasecmp(sep->arg[1], "group") && !strcasecmp(sep->arg[2], "add")) Code:
if(!strcasecmp(sep->arg[1], "group") && !strcasecmp(sep->arg[2], "add")) in command.cpp around line 8645; replace Code:
c->Message(15, "You must have created your raid and your group must be full before doing that!"); Code:
c->Message(15, "You must have created your raid and your group must be full before doing that!"); command.cpp, line 7202 replace; Code:
c->Message(15, "#bot update [target] - you must type that command once you gain a level."); Code:
c->Message(15, "#bot update You must zone or re-log to see updated Bot"); //Angelox: removed for exploit (doesn't work right anyways Code:
/* if(!strcasecmp(sep->arg[1], "update")) { |
wow nice fixes i did not even know that was doable but tested and yes that does kill players or npcs so thanks for that fix its in mine now.
|
Quote:
Tell me what you did to remove the group leader check. |
Quote:
|
Quote:
|
Angelox,
Nice fixes... I'll add them to my source, but I'm going to allow the update command but I'll fix it so it only works for what the actual update command was intended for... when you level up, you're supposed to be able to level up your bots with you, so I'll add a level check and that should be good. The killing npc's and players bug is another nice find but is a good command when used as intended. I'll add code to make sure a bot is the target. It would be nice to get the actual group code fixed, but using the bot leader's db table is a good workaround until then. |
hmm actually the reason I had the leader check was so two pc's in the same group couldn't summon bots and I think it needs to be that way. The bot leaders table only tells me who the leader of the bot is, not the leader of the group. So I have an idea on a new check for that. I'll get it updated today.
With these fixes I'll be releasing again real soon with all the suggestions from here since my 1129 release announcement. All characters on the same account will now share the bots so each doesn't need its own army. Some speed spells in dungeons are disabled (Selo's still working, is it supposed to for bards?) The Chardok Monk Sniffer test has much better results Bots should no longer equip items with level restrictions above them Undead can now be taunted Added a few more AA's |
Well, I got a few more that might interest you;
Selos and bard speed spells should not work in dungeons either, what I did was make up some new 'spell ids'; -=-=-=-=-= spdat.h around 482 add; Code:
bool IsSowTypeSpell(int16 spell_id); //Angelox spdat.cpp around 708 add; Code:
bool IsFeralPackSpell(int16 spell_id) { //Angelox, works in dungeons Once the above code is added, I then went to botAI.cpp at line 751 'case SpellType_Buff:' entry, I added these to lines with your levitate check; Code:
(IsSowTypeSpell(AIspells[i].spellid) && !zone->CanCastOutdoor()) || Code:
// Put the zone levitate check here since bots are able to bypass the client casting check The Druid should Wolf first, then Sow for this to work. And I have disabled all wolf forms but the one 'self only' in npc_spells_entries . Still if you don't like my Druid wolf idea, the other code works for blocking choice spells in and out of dungeons One problem needs to be solved with Illusions is, you can't equip a Bot while under the effect. I usually have all the gear ready and quickly hand it over before the bot casts the illusion. |
There's another piece I forgot about, if you want to make the druid 'self only" wolf work;
in spells.cpp around 2431 where you see Code:
//Franck-add: can't detrimental spell on bots and bots can't detriment on you or the others bots Code:
//Franck-add: can't detrimental spell on bots and bots can't detriment on you or the others bots reason for the big 'int druid_sp' I have a big mess of code quoted out and re-made since one of Congdar's fixes (wouldn't work anymore) , I need to clean it all up, but keep it for new ideas. |
does anyone have a good way already in place to limit bots to a certain status level? :confused:
|
There's been some ideas posted. Limit by status, limited number of bots, quests to get a bot, etc. All good ideas waiting to be coded.
|
This corrects another exploit -
Quote:
replace this Code:
#ifdef EQBOTS Code:
#ifdef EQBOTS I also added this check in groups.cpp, around line 834 ; change this; Code:
#ifdef EQBOTS Code:
int Group::BotGroupCount() { This is all tested, the PC group part i tested as best I could from two PC's in the Lan. Posted with my database for anyone who wants to try it out. I'm planning on re-arranging my Bot SpellLists, so they match the ones in PEQ., Then the code will be made compatible with the PEQ database too. |
Feign Death kills the bots? I can't agree with this fix. FD is a viable tactic to lower aggro. You would want your bots to continue the fight and you could rejoin the battle after the warrior bot regained aggro. Need to think of a better way.
The group fix... I fixed it already a different way... not sure what this is doing. Since my release with the official 1129 code there has been massive feedback and suggestions both here and on my server forums. I've incorporated probably 99% of this and the current bot source doesn't really look much like the 1129 release. I'll probably be adding the bot source I have into the svn this weekend when I have some time and then there'll be a base to work from. |
Quote:
The whole FD idea, has evolved to please the customers. At first, FD had other intentions, such as someone staying back for a quick CR. When you FD, you pet went too. Now days, it does not. Already the game is much easier with the bots, I'm able to do things i would have never have thought of unless I used the #gm. If someone has gotten into a situation where they have to FD (with a team of bots!), then they can make new bots and start over, instead of abuse the FD. |
FD classes have been doing so in battles to manage aggro for years. Bots shouldn't change that. I agree there's an exploitable situation, all I'm saying is a different solution would be better. If you make it this way then at least make a Bot::FDRule to disable it so monks with bots can continute to play eq the way they always have.
|
Hey, I re-read the last part of your post. Before your fix post I already had implemented code so you can't spawn more bots or create more groups from already spawned bots when engaged. A FD check might be more easily added there if even needed with the engaged check.
|
Quote:
Could also toss in some exceptions; maybe a timer for FD while engaged, and un-limited time for FD while not engaged, so if you're in a fight and you stay on the FD too long, then they will all poof. It's a combination problem where the player goes FD and when the bots gets killed, then they are 'not engaged' and he can quickly make another round of bots and send them in (all the time, he's FD) |
Quote:
|
Here's something that I've always found difficult:
Camping kills the bots. One of the "classic" things to do in a raid when it's all going down hill is yell "Cleric's Camp", and all the clerics try to camp out, with FD classes trying to FD. I've tried to camp in the middle of battles I'm certain to lose as a cleric, using Divine Barrier, but it only lasts 18 seconds. That has lead to 1 or 2 nasty failed encounters (one of them Deep in Vex Thal). I'm not sure if this problem has a solution, and I'm not sure if the cure wouldn't be worse than the disease. But I'm just throwing it out there. |
I have to agree with Congdar there has to be a better way to deal with the FD issue. I mainly play a monk and yes I do have to FD off aggro to my main tank bot often, would suck to see my whole group of bots just poof when I hit FD. That would require that monks unlearn a lot of basic group tactics to play with a bot group.
Hmm what about having your bots guard a pull spot while you go pull. You all of a sudden pick up aggro from 4 other mobs and need to FD, hmm bots poof... This fix in my opinion breaks monks! Now as for spawning bots while FD, that could be an exploit but it also has its benifits. You can't zone with bots so how do you prepare your group to zone into a place like PoG? I guess you could use invis zone in and spawn your bots, but I tend to zone in fd flop then spawn my group, then pop up an start fighting. Now both ways could be considered an exploit I guess, it does not really matter if your invis or FD you still have the ability to spawn bots! I would say spawning bots invis is even more of an exploit than FD, invis up, run to uber_camp01, spawn bots and clear camp. At least with FD there is somewhat of a challange to get to a hard camp. So if you are gonna remove it from an FD class better take off the ability to spawn them invis too. just my 2 cents ... |
Quote:
|
Quote:
|
I'm at work now so I can't read all of this. I did read severa; pages and this project looks amazing.
Was anyone able to get a working bot, and if so is there a download link or webpage I can visit? |
I changed the way the way Feign Dead exploit fix works, In a nutshell I added a few 'if(c->GetFeigned' checks.
in command.cpp at around line 8558 , I really can't say where it is on the current source you all have but it starts with Code:
if(!strcasecmp(sep->arg[1], "spawn") ){ Code:
And I changed to look as follows; Code:
if(!strcasecmp(sep->arg[1], "group") && !strcasecmp(sep->arg[2], "add")) Code:
if(!strcasecmp(sep->arg[1], "group") && !strcasecmp(sep->arg[2], "add")) -=-=-=-=-=-=-=- Then over here in the trading Dept. I made some changes so your bot will take equipment while under any illusion (wolf form, etc). traders.cpp, Line 350 or starts with Code:
//EQoffline: will give the items to the bots and change the bot stats Code:
//EQoffline: will give the items to the bots and change the bot stats So, over in mob.cpp at around line 2462, or starts with ; Code:
void Mob::CalcBotStats() { Code:
void Mob::CalcBotStats() { -=-=-=-=-=-=-=-=-=-=-= Here's a riddle i've been trying to figure out all week; I want the Bot names to appear as a clean name and not 'Mybot000' in my group window. in groups.cpp at around line 214 or what starts with Code:
//build the template join packet like this; Code:
//build the template join packet I guess I'm too stupid for this one, maybe some one can at least tell me where to look. All those fixes are posted for download at my site if anyone wants to look at it or try it out - I still haven't made a converted version for PEQ, but am planning to. |
I've made a new release with the official 1129 sources. Check out the release thread. I've also added this update to SVN.
|
Quote:
I can't rant about the fixes never going into the source, can't rant about not having bot code in the source or the database never getting posted ... And it's not even Xmas yet! Thanks a million to all of you for the new SVN you made and all the effort going into it - nice to see so many people come together on an effort. I know this will go a very long way. |
Quote:
All the downloads are right here: http://www.eqemulator.net/forums/showthread.php?t=25614 Quote:
Thanks for the awesome work you guys. |
There was a group follow bug if a bot group member died. It's fixed now, but if you got yesterdays zip file then you'll want to replace it with todays zip file.
|
Congdar;
What about those short term spells, such as Yaulp ; why not take them out too? seems they just spam a lot. |
Yaulp seems ok, there does appear to be a high level druid one that is keeping them low on mana.
|
None of my bots want to cast a spell.
I did add the spells to my database. |
Nevermind, I figured out what i did wrong. Thanks.
I really like it so far, you all are awesome. |
Well, I thought I had it figured out.
As soon as I zoned it bugged them out. Now none of them will cast. Is there a guide to using bots or does everyone figure it out for themselves? Sorry for the dumb questions. |
not sure what it could be, any clues in the log files?
|
I'm not sure, but this line is repeated to the log file about every second.
[10.05. - 13:21:26] Error in ZoneDatabase::GroupCount query 'SELECT count(charid) FROM group_id WHERE groupid=4001': #1146: Table 'peq.group_id' doesn't exist |
Quote:
eqemu_error_zone eqemu_debug_world eqemu-quest_zone eqemu_zone Also: #bot update works fine when I level but when I add the bot to the group (a wizard bot) it doesn't cast. Also, when i say #bot group order attack it gives the message that it is attacking but just sits there and still does not cast. |
if a database table doesn't exist then you may be using an older database or you didn't get everything sourced in and are missing data. what database are you using and where did you get it from? Make sure you have all the .map files in the eqemu/maps/ folder
|
I have 513 files in the H:\EQEmu\maps directory. It looks like the maps are present.
I'm using database version 0.7.0-1110a PEQ database that I got from Cavedude's website. |
All times are GMT -4. The time now is 06:13 PM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.