PDA

View Full Version : Bots won't respond


daerath
02-02-2011, 10:06 AM
So I'm running rev 1751, compiled with bot support. I did have to grab the patchfile that has the three missing fields for Corruption, but once those were added I was able to create bots successfully.

Bots will join my group without issue, and my cleric bot will cast resists, but is seemingly unable to do anything else. No heals, she won't attack if I order her to with #bot group attack.

I tried creating a magician, but he doesn't do anything. I can't get him to create a pet or attack anything, but as with the cleric, he will join my group.

I then tried logging onto a server with bots enabled and when I created and spawned a magician, he instantly cast a spell on himself and sat down. I was only level 1. He would also attack targets I specified. I wasn't able to get him to summon a pet, but he did respond that he had no pet spells (I guess magicians don't get pets at 1st?)

Any ideas? I'm not sure what I'm missing? Perhaps some plugins or scripts?

Thank you!

Congdar
02-02-2011, 10:29 AM
that's pretty old, try the new one 1834
http://code.google.com/p/projecteqemu/downloads/list

daerath
02-02-2011, 11:31 AM
that's pretty old, try the new one 1834
http://code.google.com/p/projecteqemu/downloads/list

Ah, that was a typo. I am on:

DB Version: 1751
Emu Source Version: Grabbed latest on 2010-01-22

I'm going to try rebuilding both the DB and getting the latest code as well as the latest binaries and see if the issue is fixed both when I build with bots and if not, if it works with the precompiled bot-support binaries.

daerath
02-02-2011, 12:04 PM
Ok, so I DLed the latest compiled binaries (Rev 1834) and installed them. They appear to be compatible with my DB so I didn't need to reinstall that portion of the emu.

The problem is still present, but it appears to be more a case of bots not casting spells than bots not listening at all.

My magician will follow and attempt to attack targets, but he won't close to melee range (which makes sense). Instead, he gets to what I assume is a safe casting distance and then starts bouncing up and down (without casting).

My warrior bot (I just made him) will close and attack, so I'm wondering if it's that bots won't cast spells (the mage won't cast anything and the cleric would only cast resist buffs, but it wouldn't heal me at all).

Congdar
02-02-2011, 02:38 PM
http://www.eqemulator.org/forums/showthread.php?t=32964

daerath
02-02-2011, 03:44 PM
http://www.eqemulator.org/forums/showthread.php?t=32964

There are several possibilities in that thread. To which are you referring?

It isn't a case of the bots not being updated with #bot update. Even at level 1 they would cast some form of buff on the group.

My npc_spells table contains entries for bot spell groups 701 - 712. The npc_spells_entries table has records for each of the bot spell groups. I wasn't able to find the bot_spells.sql file that bad_captain referenced, but I did check and the entries were in peqdb_rev1751.sql. I also checked http://projecteqdb.googlecode.com/svn/trunk in case I somehow missed that file when I redownloaded the latest source.

I checked about 5 other servers with bots and none of them exhibited the same problems I was seeing on my system. So either my copy is in some way malfunctioning or the latest bot code is less functional than the version in use by those systems.

You made a post on the 26th which implies that the new AI is at fault. Is the behavior I am seeing the normal behavior for the latest and greatest? If that is the case, do you know when a fix will be available?

Thank you!

Congdar
02-02-2011, 04:31 PM
i was referring to my post in that thread. there are a few different versions of bots on public servers. some devs have made their own customizations and some have the older version of the bot system so it's hard to compare to what you've experienced on other servers. there is no fix in the works for the svn version, but eventually it will be repaired. the spells are in the database now, so you don't need bot_spells.sql anymore. i have not looked much at the new spell ai, but I believe that it needs some attention, or maybe I just don't have my cleric set right in the new ai.

daerath
02-02-2011, 04:41 PM
i was referring to my post in that thread. there are a few different versions of bots on public servers. some devs have made their own customizations and some have the older version of the bot system so it's hard to compare to what you've experienced on other servers. there is no fix in the works for the svn version, but eventually it will be repaired. the spells are in the database now, so you don't need bot_spells.sql anymore. i have not looked much at the new spell ai, but I believe that it needs some attention, or maybe I just don't have my cleric set right in the new ai.

Thanks for the clarification! I'm going to go ahead and fire up the debugger and see what I can find.

Yujiro93
02-03-2011, 04:00 AM
Hello,

I had the same problem and i'm with rev1834.
My wife resolved the problem by updating manually the DB and skiping one of the updates which was causing troubles with bots.
Can't remember exactly what is the skiped update but if you want to try this solution, i can ask here for more details.

daerath
02-03-2011, 10:37 AM
Hello,

I had the same problem and i'm with rev1834.
My wife resolved the problem by updating manually the DB and skiping one of the updates which was causing troubles with bots.
Can't remember exactly what is the skiped update but if you want to try this solution, i can ask here for more details.

If you get a chance, could you ask her for more information? My build is now more functional thanks to bad_captain. He suggested that I double-check my Maps files, and it turns out I was missing some of them. If she applied the updates, which version of the schema did you start with? I thought the latest version of the DB (1751) had all of the updates automatically applied?

Adding in the missing files removed the "I'm a bot and I'll just run straight to the target" problem. Now they follow the terrain, but they still don't cast. =P

I'm going to drop VS2008 on my server today and see if I can debug out the problem. bad_captain said it may be a line-of-sight issue (hence the map suggestion), but I'm wondering if now I'm hitting the database problem you encountered.

bad_captain
02-03-2011, 11:06 AM
When updating to newer revisions, I always back check the sql files, as well as the changelog. I'm not aware of any changelog sql changes lately, so it's probably just an sql file that needs to be sourced. Check specifically for 1793_resist_adjust.sql. What I do is load the file in MySQL Query Browser, see what the file does, then check those tables that it affects to see if I need to source it or not. Most should fail if they are already in, but I prefer not to test it out. Sometimes they are added into the full peq db script right away, sometimes not. If it appears all are correctly sourced in, then debug. Check for any place there is a GetBotSpells() call, and see if you get any spells. If you do, then there's something keeping them from casting, otherwise, it's almost certainly a db issue.

I couldn't find it, but I thought there was a #command to view an npc's spell list. That might be something that would be useful.

Congdar
02-03-2011, 02:18 PM
I couldn't find it, but I thought there was a #command to view an npc's spell list. That might be something that would be useful.

it's not documented but if you look in the source it's there
#bot debug spells

bad_captain
02-03-2011, 04:43 PM
That's it. I searched for the word spell, but only went through the list that comes up with #bot help, so I didn't see it. That's nice to know.

Yujiro93
02-03-2011, 09:12 PM
Last update of DB 1751 is wrong. one or few updates are missing like the one which adds the corrupt column in one of the bots tables. Doing updates one by one just worked for me.

daerath
02-04-2011, 09:28 AM
Last update of DB 1751 is wrong. one or few updates are missing like the one which adds the corrupt column in one of the bots tables. Doing updates one by one just worked for me.

From what I can find, the issue is that Bot::AI_IdleCastCheck (in botspellsai.cpp) runs continuously. The flow of events is that the function is called and the first IF statement is called (evaluating AIautocastspell->check(false), does not evaluate to true, and then AI_IdleCastCheck ends.

It is then called again, etc.

I then tried the #bot debug spells command. No output was produced, my bot vanished and the zone crashed, so I'm guessing what's happening is that the spell list is not getting populated (although the entries are there in the npc_spells and npc_spells_entries tables for 701 - 712) which is why AI_IdleCastCheck is spinning non-stop.

Going to look more at this today and try to find where spells are loaded.

secondattack
02-04-2011, 10:35 AM
Last update of DB 1751 is wrong. one or few updates are missing like the one which adds the corrupt column in one of the bots tables. Doing updates one by one just worked for me.

are the updates you speak of the ones found in the server exe folder or the ones that come with the SVN of the DB? either i have ran all with cont. on error checked.. no help

Yujiro93
02-04-2011, 03:11 PM
I am talking about :
http://code.google.com/p/projecteqemu/source/browse/#svn%2Ftrunk%2FEQEmuServer%2Futils%2Fsql%2Fsvn%253 Fstate%253Dclosed


Don't forget the bots.sql found at the end of the list in page 2 (Sep 26, 2010). Follow the dates to know the right order.

WkimWes
02-11-2011, 11:03 PM
I'm having the same issue, the bots don't seem to attack. Specifically the casters, they just run around doing nothing when asked to attack. I've reloaded the database many times. Any idea how to fix this?

WkimWes
03-06-2011, 10:34 AM
I'm still having issues with my bots after loading up peqdb 1751 and patching up to the latest. I'm stumped. No one else is having this issue or has the resolution?

Basically, my casting classes do not cast when they attack and just stand there in front of the mob.