PDA

View Full Version : EQoffline, bots and more..


Pages : 1 [2] 3 4

drakelord
08-15-2007, 04:42 PM
I'll see about coming up with some proper spell lists for the bots. I've generally gone through all the classes, so it shouldn't be too hard.

This way, I can fix certain things, like shamans using the low level fury buff over and over again before it wears out, slowing the buffing process.

Magoth78
08-15-2007, 06:10 PM
Mag,

I updated to 1.03 and when I gave a bot a piece of equipment it didn't give me back what it USED TO have but rather what I just gave it. When I did #bot inventory list it showed the bot as having the item I gave it so the code seems to be duping the item instead of returning what it used to have.

I need more infos on this. What was the item ?

Magoth78
08-15-2007, 06:21 PM
Mag,

I updated to 1.03 and when I gave a bot a piece of equipment it didn't give me back what it USED TO have but rather what I just gave it. When I did #bot inventory list it showed the bot as having the item I gave it so the code seems to be duping the item instead of returning what it used to have.

Fixed.
Binaries and sources and uploaded.

Mag

drakelord
08-15-2007, 06:56 PM
I'll have the druid bot list done sometime in the next couple of hours. For npc_spells, I'm starting at ID 600, and for the npc_spell_entries, I'm starting at 4000. Sound ok to you?

sonicvt
08-16-2007, 12:14 AM
Mag,

Here are 4 examples I can recall from yesterday (though based on your above post I'm not sure you still need them).

EX1 - I gave my shaman bot an Iron Mask of the Wise (http://everquest.allakhazam.com/db/item.html?item=23032) when it had a Coral Adorned Mask (http://everquest.allakhazam.com/db/item.html?item=19245). It applied the Wise mask and returned another wise mask.

EX2 - I gave my cleric bot a Simple Cape of the Seer (http://everquest.allakhazam.com/db/item.html?item=23070) when it had a Hooded Black Cloak (http://everquest.allakhazam.com/db/item.html?item=2187). It applied the Simple cape and returned the Simple cape.

EX3 - I gave my warrior bot a Grand Bracelet of Eternal War (http://everquest.allakhazam.com/db/item.html?item=23027) when he had 2 Granite Bracers (http://everquest.allakhazam.com/db/item.html?item=839). It applied the Grand Bracelet and returned the Granite Bracer like it should have. This is the only instance I can recall that actually worked.

EX4 - I gave my warrior bot a Knotted Belt of the Ravenous (http://everquest.allakhazam.com/db/item.html?item=23011) when he had a Flowing Black Silk Sash. It applied the Knotted belt and returned the Knotted belt.

Magoth78
08-16-2007, 01:15 AM
Ok thanks sonicvt.

I think it's fixed. Just download the lastest builds: 1.03c and test them please
http://eqoffline.free.fr/Build.rar

Mag

drakelord
08-16-2007, 05:53 AM
Mag, I have a question regarding the npc spells list. I went ahead and applied a list I created to my druid. I created the bot, updated him, logged off, changed his npc_spells in the database, logged back on, zoned, spawned him, and his casting did not change at all, compared to his old spell list. He was casting spells that were not even on his spell list, that I took off to make sure it worked right. Is there something in the source code I need to change in order to get the bot to cast according to the list?

Magoth78
08-16-2007, 08:02 AM
EQoffline spells list ID:

Magician: 516
Necromancer: 515
Enchanter: 517
Shaman: 518
Druid: 519
Shadowknight: 512
Beastlord: 524

Other are standards.

If someone wants to start to work on this table, that could be nice. This way, we could create profiles.

sonicvt
08-16-2007, 09:40 AM
Mag,

I fired up 1.03c today and I noticed that the cleric and shaman bots I use (both level 46) heal MUCH less frequently now. SO much so that a single blue con mob can almost take out my warrior or ranger bot before receiving a heal. Was this a change on your part or just the spell set available to level 46 bots?

sonicvt
08-16-2007, 09:49 AM
Mag,

After further testing I see the shaman bot isn't healing at all at level 46. The cleric appears to still be using the 350 hp heal instead of complete heal like I think he would normally.

drakelord
08-16-2007, 10:27 AM
Alright Mag, I'll work on those spell profile lists. Just point me in the direction of the file the bot spell lists are stored in under the source code so I can change it and recompile for testing.

Magoth78
08-16-2007, 08:30 PM
Updates: v1.03d

http://eqoffline.free.fr/Build.rar

-- new command added "#bot debug spells <target>" : it will show the 16 spells loaded in the bot spells list.
-- the command "#bot inventory remove <slotID>" should now remove the item from the target bot inventory. This item pops on the client's cursor. This way, he can gives it to an other bot.

Drakelord>
If you want to create the npc_spells_entries with the same spells per level as clients, you have to create a new entrie per class into the npc_spells table.
For example: Bot_Druid with an ID that will be autoincremented.

Then, you have to enter the full spell line into the npc_spells_entries table.
In this one, you can see the column :
- id: unique id per entrie
- npc_spells_id: that will be the ID of you Bot_Druid ID (in the npc_spells table)
- spellid: ID of the spell
- type: type of the spell (1= nuke, 2=heal, 4=root, 8=buff, 16=escape, 32=pet, 64=lifetap, 128=snare, 256=dot)
- minlevel and maxlevel: level range where the spell will be casted. (maxlevel can be set to 255 for some spells that are always usefull like resist spells)
- manacost: -1 by default
- recast_delay= -1 by default
- priority: if you plan to make this table so the bot have exactly the same spells as clients with the right levels range, you can set it to 1.

Note that a bot can have a maximum of 16 spells in its spells list. Some casters don't have 16 spells per new spell level range. In this case, you will have to deal with level range so it can learn some of the previous spells.

For example, we have a level 8 mage bot.
In the npc_spells_entries table you have added the level 8-12 mage spells. But it doesn't have 16 spells to learn in this range. Let's say 6 slots are free, you want that you bot can learn some of the lvl4-8 spells to complete thoses free slots. You would have to set a higher maxlevel for thoses spells.

My english seems to suck a lot and I'm sorry about that. I hope that I've explained correctly how it works...

Mag

GeorgeS
08-17-2007, 02:06 AM
"#bot debug spells <target>" : it will show the 16 spells loaded in the bot spells list."

This I think will help me out especially when debugging spells loaded and what's not loaded. Excellent addition.

GeorgeS

drakelord
08-17-2007, 03:40 AM
Yes, I had already done all of these steps, and changed the npc_spells entry for the bot in the database. It didn't fix anything, which is why I was asking if there was something in the source code that I had to change.

Updates: v1.03d

http://eqoffline.free.fr/Build.rar

-- new command added "#bot debug spells <target>" : it will show the 16 spells loaded in the bot spells list.
-- the command "#bot inventory remove <slotID>" should now remove the item from the target bot inventory. This item pops on the client's cursor. This way, he can gives it to an other bot.

Drakelord>
If you want to create the npc_spells_entries with the same spells per level as clients, you have to create a new entrie per class into the npc_spells table.
For example: Bot_Druid with an ID that will be autoincremented.

Then, you have to enter the full spell line into the npc_spells_entries table.
In this one, you can see the column :
- id: unique id per entrie
- npc_spells_id: that will be the ID of you Bot_Druid ID (in the npc_spells table)
- spellid: ID of the spell
- type: type of the spell (1= nuke, 2=heal, 4=root, 8=buff, 16=escape, 32=pet, 64=lifetap, 128=snare, 256=dot)
- minlevel and maxlevel: level range where the spell will be casted. (maxlevel can be set to 255 for some spells that are always usefull like resist spells)
- manacost: -1 by default
- recast_delay= -1 by default
- priority: if you plan to make this table so the bot have exactly the same spells as clients with the right levels range, you can set it to 1.

Note that a bot can have a maximum of 16 spells in its spells list. Some casters don't have 16 spells per new spell level range. In this case, you will have to deal with level range so it can learn some of the previous spells.

For example, we have a level 8 mage bot.
In the npc_spells_entries table you have added the level 8-12 mage spells. But it doesn't have 16 spells to learn in this range. Let's say 6 slots are free, you want that you bot can learn some of the lvl4-8 spells to complete thoses free slots. You would have to set a higher maxlevel for thoses spells.

My english seems to suck a lot and I'm sorry about that. I hope that I've explained correctly how it works...

Mag

Magoth78
08-18-2007, 03:13 AM
Version is now 1.03d.

Fixed #bot update. No need to zone or kill and respawn the bots anymore. They will update their stats and their spells at the same time.

Bjerlk
08-18-2007, 03:42 AM
Excellent progress sire.
Huge kudos to you.

I love swarming around with my private army...

John Adams
08-18-2007, 04:20 AM
Magoth, sorry to ask an old question - but what EQEmu source version were bots coded in? I know many have asked if current EQEmu source could support bots, and you do not have time to convert it all over. Maybe others here can help. I searched the thread, but cannot seem to remember if you said EQEmu-0.7.0-931, or 992... or...?

Thanks!

Magoth78
08-18-2007, 05:17 AM
It's 992, yes.

drakelord
08-19-2007, 12:33 AM
Alright, something is definately not loading correctly.

In the database, the bots "npc_spells_id" is set to 600.
600 is the number of the npc_spells field created for the druid bot.
In npc_spells_entries, the spells are selected.

The bot is loaded and updated, and with #bot debug spells, he is showing spells that are not even on my list. Does it not actually use the npc_spells_id field in the database?

Magoth78
08-19-2007, 01:18 AM
To be sure that it's loading your spells, target your bot and do "#ai spellslist 600".

drakelord
08-20-2007, 04:36 AM
Sweet, it worked.

Now, next couple things, :3; First off, is there a way to get a bot to cast DoT's before it casts it's direct damage spells?

Also, how can I increase the casting rate in the source code?

John Adams
08-20-2007, 11:15 AM
Might require some manual effort on your part, but I believe the npc_spell_entries table has a "priority" field. If it does what I think, the NPC should cast it's spells in the order of priority. I haven't tested this, but it would make sense.

You know how some NPCs pop, and immediately start buffing themselves or summon pets... I think this is what controls that.

Zengez
08-20-2007, 12:19 PM
I May be totally off target but I thought I read somewhere that that field governed some weird idea about how many times the npc casts that in a given amount of time... i.e. if priority is 5 then the npc casts that spell 5 times per however long that time period is...

That could be dating myself though and not have been true since the dawn of time, but I remember that from somewhere if it matters... My server is down though so no ability to test it unfortunately.

John Adams
08-20-2007, 01:28 PM
I wouldn't be the least bit surprised if a field aptly named "priority" ended up having nothing whatsoever to do with prioritizing what order to cast, but quantities of casts.

Considering I am still wrestling with understanding conditional spawns...

sonicvt
08-20-2007, 03:25 PM
Mag,

I'm having a terrible time with your raid commands. I created 6 warrior bots (named War_Raid1 through War_Raid6) and 6 cleric bots (named Cleric_Raid1 through Cleric_Raid6). I can invite the bots to be leaders of their own raid groups but I can't add other bots to their group. I'm telling them the corret name of the bot as I can tell which one is the leader (#bot raid info) but they won't join the raid group. Is my naming convention messing up your commands?

Magoth78
08-20-2007, 08:43 PM
sonicvt>
The method to create a raid is the following one :

1/ Create your group and invite your bots.
2/ Once your group is full, create a raid: #bot raid create. That will show you "Your raid is created".
3/ Then, spawn your 2nd group. You want to make War_Raid1 the leader of the 2nd group, target War_Raid1 and type #bot raid group create.
4/ invite bots in the second group: target bot and type #bot raid invite bot <Group leader name>. In your case, you have to type #bot raid invite bot War_Raid1.
5/ Ok you have created your raid, created groups and invited bots in the raid's groups. If you want to have infos on your raid, type #bot raid info.
6/ Now, you want to give orders to your raid. Note that you can only give order to the group and not to the entire raid. If you want to give an attack order to group1 so it attacks a certain target , target the mob that you want the group attacks and type: #bot raid order tasks attack War_Raid1. The War_Raid1's group will attack your target.
7/ There are other tasks commands : For example, if you that War_Raid1's follow your group, type #bot raid order task follow War_Raid1 sonicvt supposing that sonicvt is your character's name and that you are the group leader.
If you want to give a guard order (stop moving) to War_Raid1's group, type #bot raid order task guard War_Raid1.

----
drakelord>
"Also, how can I increase the casting rate in the source code?"

The bot AI codes is in the BotAI.cpp file. If you want to make custom code, do it at your own risk. Now if you notice that the casting's rate is not right, we can discuss on it and I will make the changes if they are really needed.

Talking about spells, I'd like to make a special npc_spells entrie for any bot caster class. This entrie should contain the same spells at the same level that a player. Yes, because some important spells are missing or they re not the in the right level range actually... that's a lot of work, but I think it worths it.

Mag

Magoth78
08-20-2007, 09:53 PM
For thoses who want to work on bot spells, the new npc_spells entries for the bot will be thoses ones:

600: Bot druid
601: Bot cleric
602: Bot shaman
603: Bot ranger
604: Bot sk
605: Bot beastlord
606: Bot bard
607: Bot paladin
608: Bot magician
609: Bot necro
610: Bot wizard
611: Bot enchanter

Magoth78
08-20-2007, 10:46 PM
Finally, about spells, that's too much work (not hard but requires a lot of time) to create special npc_spells entries for all the classes... so unless someone wants to do it, I think I will add/edit the entries that's not right for the bots.

drakelord
08-20-2007, 11:03 PM
Finally, about spells, that's too much work (not hard but requires a lot of time) to create special npc_spells entries for all the classes... so unless someone wants to do it, I think I will add/edit the entries that's not right for the bots.

Already said I'd do this part, ;D

drakelord
08-21-2007, 05:51 AM
Anyway, about the spellcasting, bots really do not cast often enough. I've seen healers go for 30 seconds to a minute without healing, when people need it. And casters do not nuke often enough. When I played as a Wizard on live, I definately casted more than once every 30 seconds, o.o; Not sure if it's supposed to be 30 seconds, but something is bugging it to be up around that point at times.

Magoth78
08-21-2007, 06:30 AM
Anyway, about the spellcasting, bots really do not cast often enough. I've seen healers go for 30 seconds to a minute without healing, when people need it. And casters do not nuke often enough. When I played as a Wizard on live, I definately casted more than once every 30 seconds, o.o; Not sure if it's supposed to be 30 seconds, but something is bugging it to be up around that point at times.

I didn't notice that at all. What can happen is when your bots don't have any LoS with their target, they don't cast. It's an issue that will be fixed very soon.

A new version (1.4) is incoming.

drakelord
08-21-2007, 06:40 AM
But this happens when the mob is literally right in front of their faces, xD; Not trying to be a bitch or anything here, :]; *goes back to making spell lists*;

Arcsbane
08-22-2007, 12:02 PM
I would first like to state how great the bots are, and what good work you are doing.

But, I am having issues with them. I have pretty much zero experience with C++ and SQL, and am kind of bumbling my way through. I tried compiling the Source and Build with eqemu build 992, but it failed every time on World, Zone, ppconvert, eqlaunch, and charmove. Pretty much the only one that would compile right for me was EMuShareMem. After getting frustrated, I simply copied the eqoffline files directly into my EQEmu server folder, and gave it a test run. The bots work great, but a lot of other things are buggy (which is expected, I suppose, since I couldn't compile the stuff), e.g. groups no longer work with other player characters (only with bots) and raid groups don't function at all, random crashes, and odd bot behavior. Is there a download of the compiled eqemu/eqoffline files somewhere that might work better than what I have going on since I cannot seem to compiled them into working order myself?

Magoth78
08-22-2007, 06:12 PM
Arcsbane> You can find the latest version there: http://eqoffline.free.fr/Build.rar wich is almost updated every day theses times.

Be sure that you have modified your database:
http://eqoffline.free.fr/README.txt

The EQoffline Wiki entries made by John Adams:
http://www.eqemulator.net/wiki/wikka.php?wakka=Bots
http://www.eqemulator.net/wiki/wikka...a=BotsCommands

The nice tools to deal with your bots made by Georges:
http://www.eqemulator.net/forums/showthread.php?t=23205

sdabbs65
08-22-2007, 10:52 PM
[QUOTE=Magoth78;137326]Arcsbane> You can find the latest version there: http://eqoffline.free.fr/Build.rar wich is almost updated every day theses times.



I tested perl last night on this version and the NPC's are not responding also it says it makes the bots but they never show up.
is there some different quest files to install or something ?

Yohkoh
08-22-2007, 11:48 PM
I would first like to state how great the bots are, and what good work you are doing.

But, I am having issues with them. I have pretty much zero experience with C++ and SQL, and am kind of bumbling my way through. I tried compiling the Source and Build with eqemu build 992, but it failed every time on World, Zone, ppconvert, eqlaunch, and charmove. Pretty much the only one that would compile right for me was EMuShareMem. After getting frustrated, I simply copied the eqoffline files directly into my EQEmu server folder, and gave it a test run. The bots work great, but a lot of other things are buggy (which is expected, I suppose, since I couldn't compile the stuff), e.g. groups no longer work with other player characters (only with bots) and raid groups don't function at all, random crashes, and odd bot behavior. Is there a download of the compiled eqemu/eqoffline files somewhere that might work better than what I have going on since I cannot seem to compiled them into working order myself?

I was having the same issues. This link (http://eqemulator.net/forums/showthread.php?t=22970)helped me.

sonicvt
08-23-2007, 01:15 AM
Mag,

When I was telling a bot to join a raid group I had to add the three 0's onto the group leaders name to get the bot to join their group. For example, if I had added War_Jill as raid group 2 leader and wanted to add Cleric_Bessie to War_Jill's group I would have to type #bot raid invite group bot War_Jill000. At least that is what worked for me last night.

In addition the bot's I created at level 52 and then updated did not update their spells lists from their level 1 spells until i updated them and then zoned.

Magoth78
08-23-2007, 01:46 AM
sonicvt> Adding the zeros at the end of the name is a normal thing because the name of the bot is the name of its entity.

Concerning the update, are you using the last version ?
#bot update has been fixed recently so you don't have to zone anymore to get the new spells.

Mag

sonicvt
08-23-2007, 09:02 AM
Mag,

I'm using the version linked off of your EQOffline webpage which currently says version 1.03c.

Yohkoh
08-24-2007, 12:17 AM
Updates: v1.03d

http://eqoffline.free.fr/Build.rar

-- new command added "#bot debug spells <target>" : it will show the 16 spells loaded in the bot spells list.
-- the command "#bot inventory remove <slotID>" should now remove the item from the target bot inventory. This item pops on the client's cursor. This way, he can gives it to an other bot.

Drakelord>
If you want to create the npc_spells_entries with the same spells per level as clients, you have to create a new entrie per class into the npc_spells table.
For example: Bot_Druid with an ID that will be autoincremented.

Then, you have to enter the full spell line into the npc_spells_entries table.
In this one, you can see the column :
- id: unique id per entrie
- npc_spells_id: that will be the ID of you Bot_Druid ID (in the npc_spells table)
- spellid: ID of the spell
- type: type of the spell (1= nuke, 2=heal, 4=root, 8=buff, 16=escape, 32=pet, 64=lifetap, 128=snare, 256=dot)
- minlevel and maxlevel: level range where the spell will be casted. (maxlevel can be set to 255 for some spells that are always usefull like resist spells)
- manacost: -1 by default
- recast_delay= -1 by default
- priority: if you plan to make this table so the bot have exactly the same spells as clients with the right levels range, you can set it to 1.

Note that a bot can have a maximum of 16 spells in its spells list. Some casters don't have 16 spells per new spell level range. In this case, you will have to deal with level range so it can learn some of the previous spells.

For example, we have a level 8 mage bot.
In the npc_spells_entries table you have added the level 8-12 mage spells. But it doesn't have 16 spells to learn in this range. Let's say 6 slots are free, you want that you bot can learn some of the lvl4-8 spells to complete thoses free slots. You would have to set a higher maxlevel for thoses spells.

My english seems to suck a lot and I'm sorry about that. I hope that I've explained correctly how it works...

Mag

What happened to version v1.03d? I down loaded the binaries the day you posted it. Yesterday I compiled the latest from the Web site and I noticed differences. Like when the bot's buff in the version I compiled, everyone in the group get buff at the same time instead one at a time (NICE). But when I do a trade with a bot I get disconnected from the server and have to re-log.

sonicvt
08-24-2007, 12:53 AM
Mag,

I got the bot raid commands working but they are very tedious even with hotkeys as they require you to target yourself for some of them and type the raid group leaders name for others.

Is there any way that the bot attack, follow and guard commands that are used for the single group orientation could be applied to ALL the raid groups as well. The more specific raid commands would still work and override the simple bot group commands but I find it pain to have to target each raid group leader and make them attack my raid target, especially if there is only one such target (Nagfen or Vox), or follow me when I'm worried about repops. Thanks!

Magoth78
08-24-2007, 02:54 AM
To give order to your raid, you have to make macros.

Concerning version, the actual one is 1.3e. ( http://eqoffline.free.fr/Build.rar )
The last final version of eqoffline will be 1.4 and I have a good number of bugs to resolve before I release it. That will take some time..

ShadowVax
08-24-2007, 09:13 PM
I've read all the pages of this thread and it really looks like a great addition to the Eqemu. Problem is im a true noob to this. I've installed off of the server pack 3.6 and I've put your binaries into my EqEmu folder. Now my only problem is I dont fully understand how to add the new Tables into mysql. I usually dont even have MySql running when i launch my server. I just play Emulator for something to do when im bored of EQ Live and/or Beta. These bots would help keep things interesting. I currently Use MySqlCC and Navicat to edit the tables but im clueless as to adding tables and what not to make these bots work. A good step by step tutorial on your website would be excellent or someone who is able to help me would be greatly Appreciated. Thanks in advacne :grin:

-ShadowVax

ShadowVax
08-25-2007, 12:59 AM
as an update. I managed to figure out how to add those tables added but the end part of those wouldnt go through.

ENGINE=InnoDB DEFAULT CHARSET=latin1; wouldnt go through on my query so Im guessing that might be my problem with not being able to get any bots at all ive tried combos of the zone and world exe's and nothing seems to work. even when i do #bot help it says that ocmmand is not recognized. I also havent figured out how to source that spell_routine file on your site yet. I've been looking all night and havent really figured it out. Most of the wiki's dont seem to be working on the main site. Any help would be greatly appreciated =)

-ShadowVax

drakelord
08-25-2007, 01:46 AM
Server Pack 3.6 is a bit outdated. It uses MySQL 4.x, while I believe EQOffline uses 5.x. At least that's what I use. Also, get the latest database from the PEQ-CVS or something related.

EDIT: Also, make sure you are using WorldDebug.exe instead of world and ZoneDebugPerl.exe instead of Zone.exe

ShadowVax
08-25-2007, 06:23 PM
alright i managed to get everything installed correctly. I made my bots. I had 4 zonedebugperl's running so that i have a little cushion when i zone. i went to bastion of thunder, and numerous other zones. Spawn my bots, add them to group. Let them buff and med. Pull a mob. And as soon as bots start to attack mob. Zone crashes. Is there a fix to this or am i just doing somethin wrong?

-ShadowVax

sonicvt
08-26-2007, 01:52 PM
Mag,

When raiding with the bots if the leader of a raid group (not raid leader obviously) dies the bots in its' group no longer respond to commands, I'm guessing since the raid commands require you to call out the raid group leaders name.

Is there any way that if the leader of a raid group dies the 2nd bot in the group becomes the leader? When I tried to remove the bots from the raid group without a leader the game would sometimes crash.

rayman121985
08-26-2007, 02:49 PM
Its probably been said already...but have yall made this to work with the eqemu repack....if so let me know...I am not that smart in this area of programming but if I can drop it into the folder and follow some simple steps I am sure I could get it working! It would be great to have some bots to help me on my offline server...

thanks mates,

::rayman::

Yohkoh
08-27-2007, 12:01 AM
To give order to your raid, you have to make macros.

Concerning version, the actual one is 1.3e. ( http://eqoffline.free.fr/Build.rar )
The last final version of eqoffline will be 1.4 and I have a good number of bugs to resolve before I release it. That will take some time..

Is the Source up to date? When I compile the latest source from the Web Site, I get a Zone disconnect when I do a trade. Comparing the downloaded binaries with the compiled source code, It fails after the bot is updated with the new weapon and never gets to where the bot says 'Thank you for this item, leader.'

Magoth78
08-27-2007, 12:15 AM
Yohkoh> The sources are not up-to-date, only the binaries are.

sonicvt> Yes, I've noticed that also. I will make it so if the group leader dies, an other grouped bot will become the group's leader. Then you will do "#bot raid info" to show who it is.

sonicvt
08-27-2007, 02:03 PM
Mag,

When I tell a bot to remove an inventory slot but don't have one targeted it kills EQEmu. Is this something fixable on your end or just something that it part of the game? Thanks.

Wanderin
08-27-2007, 02:37 PM
Got my bots up and running with only a few snags so far. Made a lvl 51 human(male) monk bot and gave him the monk epic 1.0 fistwraps, soon as he would engage in combat the zone would crash. Then i made a 51 barbarian(female) beserker and tried to give her various 2hs weapons including the epic 1.0 and the bot would just eat them saying she couldnt use. Im running a Emu ver of 992 with the latest peq database and the current downloads from your website for the bots, did i miss something or are these just a few bugs to be worked on :)

aneriel
08-28-2007, 05:24 AM
Would like to post a few things on this as I've spent days banging my head.

First, regarding the readme.txt that tells you to delete your npc_spells_entries table. never ever do this. When working with databases it can be very easy to overlook something and can cause major headaches while you spend hours trying to figure out why something doesn't work. Always rename the table before making any changes (you wouldn't just overwrite a file without backing it up first would you?). Even if it's something as simple as adding one column. It's much easier to look at your tables and know what is what:
npc_spell_entries_bots
npc_spell_entries_prebots

npc_types_bots
npc_types_prebots
etc, etc

Now I have a working table of both versions. I work with databases on a regular basis, so I knew to do this before-hand.

With that said, ever since I installed BOTs on my server I've been experiencing random disconnects (doing GM commands brings my zones down) and cannot group with other players. So I decided to roll back to pre-bots days. Now if I wouldn't have done what I stated above, I would be resourcing my database to get my npc_spell_types back. To source in my DB the first time took over 4 hours (don't ask why). This would have sucked. At any rate, I just want those out there not to have to do this if it can be easily avoided

Though that's not what I banged my head over, the issue I started having (after copying my orginal world.exe, zone.exe, and that dll back over) was that the zone would launch and then close right back down. I tried a different combination of things and in the end all i needed to do was the

mysql > set password for 'root'@'localhost' = old_password('newpw');

command. just wanted to give everyone a heads up.

drakelord
08-28-2007, 07:14 AM
It's weird that I don't get any of these problems mentioned above, :\

aneriel
08-28-2007, 08:29 AM
i don't have the time to find it again, but I figured out that the BOTs were causing all my woes from this thread. It's in the last 7-8 pages i know. So I guess it doesn't happen very often, but when it does it can be very frustrating. Just sucks I can't use BOTs now, I was using the crap out of them in befallen.

Now this goes to say that I didn't fully test this as I didn't have the time. What I would like to have done is install a fresh copy of bots, try out everything to see if it still works (GM commands, grouping with PCs). If so, then go on to create a bot, test again, give bots weapons, test again, etc, etc. Someone was logged on one night creating a lot of BOTs, this too could have caused some issues. So just because you don't have these troubles, doesn't mean they aren't there. You just may not have completed the correct step to spawn these issues. At any rate, i'll give them another go when I get some time to see if it's just my setup, or something did go wrong after a certain combination.

Magoth78
08-28-2007, 10:36 AM
aneriel> I'm sorry but:
I'm not a professionnal programmer,
I'm not a professionnal DB admin,
I'm not an computer specialist.

I do that for free and it was supposed to be EQoffline. Offline also meant a single player version. I've never wanted to make this project so you can have a live eqemu server with a lot of peeps creating bots.
Now, if it's too buggy for you then don't use it.

What I can say is that two friends and me are playing on the server EQoffline dev 1.02 (wich is 1.03e in fact). We leveleved legitly from 1 to 60 and we're still playing. I've fixed almost all the bugs we've found. Some bugs are left and they are all writed on a paper. I will work on them when i will have the time.
It's very playable though.

aneriel
08-28-2007, 02:16 PM
Hey mag, sorry if i came off as complaining about eqoffline. That wasn't my intentions. I was merely posting what happened to me so if someone else experiences it, they will be able to find some help in the forums. like I said, i only noticed that one post about some guy having the same issues as me, so it's very rare. I spent hours searching these forums (Tho to be honest, this post kept coming up as top on the list, I just didn't think it had anything to do with it.). I finally just got to the point where I had to post a question about some of my issues
http://www.eqemulator.net/forums/showthread.php?p=137563#post137563


i love eqoffline. i used the hell out of it. and to be honest I don't remember having any problems with it at first. Something else happened to trigger all my hishaps.

Soulscry
08-28-2007, 04:31 PM
First off... I love the bots... after alil trial and error on my part i managed to get them going and do alil leveling... I can do groups and raids .. update the bots to get there new spells n stuff ... 2 questions though.

1: Is Update supposed to level up my bots to my level? cuz I still have to kill them and respawn them to get them to level up...

2: For some reason i cant get the bots to keep there gear... Dieing, me logging, zoneing, me #kill ing them ... if for any reason i despawn them they lose all there gear ... i tried #bot update ing them but to no avail ... im sure its some simple mistake that only i dont understand lol ... but yet here i am .. with my level 5 naked bot warrior trying to tank for me =/ ...

anyway .. thanks again for all the hard work... This is a dream come true for me ... I couldnt play eq much anymore for lack of time needed to get raids togeather or even groups... with the Bot-armada I can play in my free time and still do the things i enjoy ... Your my hero =) ... Cheers!

Magoth78
08-29-2007, 12:23 AM
Soulcry>

1) When you do a "#bot update", their level become the same as your. Don't worry about them staying blue, I just don't update their consider color.

2) When you do a "#bot inventory list" on your bots, what do you see ? Is the botinventory table created in your database as mentionned on the README (http://eqoffline.free.fr/README.txt) ?

Soulscry
08-29-2007, 06:18 AM
The Bot Inventory sql that came with peq is what i have .... sence cavedude already had it in i didnt mess with it ... do i need to change it?

Botinventory
SQL file
2kb



-- MySQL dump 10.11
--
-- Host: localhost Database: PEQ_CVS
-- ------------------------------------------------------
-- Server version 5.0.38-Ubuntu_0ubuntu1-log

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `botinventory`
--

DROP TABLE IF EXISTS `botinventory`;
CREATE TABLE `botinventory` (
`npctypeid` int(11) NOT NULL default '0',
`botslotid` int(11) default NULL,
`itemid` int(11) default NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `botinventory`
--

LOCK TABLES `botinventory` WRITE;
/*!40000 ALTER TABLE `botinventory` DISABLE KEYS */;
/*!40000 ALTER TABLE `botinventory` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2007-07-27 20:48:25

Soulscry
08-29-2007, 06:37 AM
The #bot inventory list says all the bots slots are empty ... even after i give them an item ... and the item is showing on the bot ... ( armor on and sword in hand )...

http://i238.photobucket.com/albums/ff217/soulscry/th_EQ000007.jpg (http://i238.photobucket.com/albums/ff217/soulscry/EQ000007.jpg)

cavedude
08-29-2007, 06:58 AM
I just realized there was an error in the load_player.sql script. Source in botinventory.sql manually and I'd bet it will work for you.

sonicvt
08-29-2007, 07:30 AM
Soulscry,

I routinely update the peq_db (drop_system.sql and load_system.sql) and when it do so it kills the bot names and classes for the bot but keeps the bot inventory lists (as an aside, when it drops the name and class for the bot it is a great time when you re-#bot create them to choose new classes and names if the ones you used before aren't suiting your purposes instead of just making more bots that jack up the number of bots you have) I've never had the bots not keep their inventory items before though. I know when I give the bots new items it won't show the new appearance for the item (e.g. breastplate or weapon) until I respawn and group them.

Mag,

I noticed that if I do #bot attack and I myself don't engage in combat that the mob won't be agroed on me (won't get faction hits, won't attack me if the 5 bots wipe). I'm not sure if this was intended but it was just something I noticed while searching for named in zomes I'm not KOS in, for example Chardok.

Also, if you are agroed your bots go into auto attack mode but if you are in a raid only the bots in your group do this. Is this intentional or should the other raid groups also auto agro on the mob that agroed you?

Thanks and great work.

Soulscry
08-29-2007, 04:26 PM
I sourced in the Botinventory sql file with cmd promp smysql... load up eqemu server and fire up eq client... log in .. spawn a bot .. equip it and kill it... respawn .. gear stayed ... woot woot ... but in combat i randomly crash now... happened 3 times in 20 min ... not sure exacly what caused it ... im thinking once was when i lost LoS with the mob... once happend when i turned off auto attack mid fight ... and once when i was backing away from a mob so the bottank could taunt/ hold aggro away from me.... this is the Worlddebug.exe cmd lines of the errors when i crash... any ideas would be great ... thanks guys =)

http://i238.photobucket.com/albums/ff217/soulscry/th_111.jpg (http://i238.photobucket.com/albums/ff217/soulscry/111.jpg)

Magoth78
08-30-2007, 10:26 AM
You can download the latest version (1.03f) : http://eqoffline.free.fr/Build.rar

Shouldn't crash anymore when using a weapon that have a lesser delay than the dmg.
Reworked damage formulas.
Fixed random crashes on deaths.

sonicvt
08-31-2007, 09:25 AM
Mag,

It doesn't appear that frogloks OR berzerker bots will accept armor or weapons of any type. Everytime I try to give them something they say they can't use it.

Also, beastlord bots don't attack, they sit around and cast like mages do but without decent spellpower to back it up. They also don't buff their pet with the spells they have memorized so they don't do much damage at all.

Soulscry
08-31-2007, 08:26 PM
Thanks a ton Magoth and cavedude ... got er up n running perfict now ... you guys rockzor!!!!

Im currently lvling n gearing up my bot army ..

Thanks for all the hard work on this... Magoth... You are indeed .. The Man~!

gernblan
09-01-2007, 09:34 PM
This is an excellent project, and I can even see a very good use for it in the normal EQ code. One of the biggest problems PEQ has is the players have to multi box to get to the higher content (some players multi box 6 clients at once... how they do it is my question) This code could help with that problem a bit. I have a couple of questions though.

1. Could you tie this system into the rules system so the server op can control how many bots a player can have at once? By level (1-15, 16-35, 36-55, 56-75, just examples) would be wonderful.

2. Could you diff your changes so they can be integrated into the ever changing EQEmu code easily?

Great work, I am impressed with how fast this project became a reality.

I could not agree more, and I believe that this is TOO good not to be folded into the regular emu source as an optional feature on live servers.

Magoth78
09-02-2007, 07:09 AM
Thanks.

In the actual state, it would be really difficult to plug the eqoffline code into the last emu sources because of all the changes. And my code isn't clear.

That's why I'm actually rewriting everything related to bots, based on the last official emu sources. I want to make it a "separate" project that you just could add or not into the official sources easily, just like the Guildwars code.
That's not very hard to do but it takes a lot of time as a lot of functions need to be customized for bots.

Mag

John Adams
09-02-2007, 02:17 PM
Meh, not to blow my own horn, but I am not a c++ coder and I got the bots working in 1031 (I think) with little effort, just hours of time comparing things with windiff. =)

You never did get back to me that my port worked to your standards, but I understand you are re-writing anyway - so that's why I hadn't bothered you with it. I am very anxious to use Bots in a multi-player custom server. Hopefully that's the direction this is going.

gernblan
09-02-2007, 10:00 PM
Thanks.

In the actual state, it would be really difficult to plug the eqoffline code into the last emu sources because of all the changes. And my code isn't clear.

That's why I'm actually rewriting everything related to bots, based on the last official emu sources. I want to make it a "separate" project that you just could add or not into the official sources easily, just like the Guildwars code.
That's not very hard to do but it takes a lot of time as a lot of functions need to be customized for bots.

Mag

I understand that completely, but at the same time, as this project picks up more and more steam, I would like to recommend folding it into the eqemu code (so that it can keep up with the main source tree more easily), as a long-term goal.

I would imagine that if it was planned properly and the eqemu dev community was on board, that it could be done using includes so as to not turn the main code base into spaghetti. Then perhaps a global environment variable can be added that will either compile in the bot code or not.

Magoth78
09-03-2007, 03:37 AM
That's true but I can't believe that the EQEmu dev would accept to keep the actual bots code in the official tree and they would be right.

John> Great job on 1031 port but as I've mentionned everything can be done with diffs. The code just stays the same and modify a lot of things in the official tree.

Technically, what I'm actually doing is to make a public class called Bots that inherits the NPC class. This way I can code the virtual methods that are customized for the bots without modifying the official Entity>Mobs>NPC codes.
Everything related to bots (Stats, Equipment, Attacks, AIs, Orders) are coded in this new class.
The Raid class will stay the same but will have some improvments.

What will be left will be the group thing and that will be an issue. I'm actually wondering how I can make the group working for both players and bots with a minimum of official code modifications.

Mag

John Adams
09-03-2007, 02:13 PM
Here, here. I would love to see this as a non-intrusive add-on to the emulator (like GW, if you don't want it, it doesn't break anything). But if it were "core", it could be controlled by a Rule. (?)

Criimson
09-04-2007, 12:55 PM
I was wondering about bots casting as I am having some difficulties

I use ax_classic and have patched it according to the readme
These classes cast fine:
Cleric, Paladin
These don't cast at all:
Beastlord
Shaman
Druid
Mage
Necro
Enchanter

Any ideas why

Criimson

gernblan
09-04-2007, 01:51 PM
That's true but I can't believe that the EQEmu dev would accept to keep the actual bots code in the official tree and they would be right.

John> Great job on 1031 port but as I've mentionned everything can be done with diffs. The code just stays the same and modify a lot of things in the official tree.

Technically, what I'm actually doing is to make a public class called Bots that inherits the NPC class. This way I can code the virtual methods that are customized for the bots without modifying the official Entity>Mobs>NPC codes.
Everything related to bots (Stats, Equipment, Attacks, AIs, Orders) are coded in this new class.
The Raid class will stay the same but will have some improvments.

What will be left will be the group thing and that will be an issue. I'm actually wondering how I can make the group working for both players and bots with a minimum of official code modifications.

Mag

Agreed. But if coded as a "module"... well, I need not carry on about this. I think we're both on the same page already.

I'm thinking the same approach as GuildWars...

Incredible work, by the way.

Aonelyn
09-04-2007, 03:53 PM
nice work magoth =]

you have done it yet again..

Criimson
09-04-2007, 04:38 PM
EQoffline spells list ID:

Magician: 516
Necromancer: 515
Enchanter: 517
Shaman: 518
Druid: 519
Shadowknight: 512
Beastlord: 524

Other are standards.

This should be posted in the readme :)

Once I changed a couple id's everything works great

I know its been said before, but you are the MAN!

Criiimson

Aonelyn
09-06-2007, 08:24 AM
is it normal for my level 75 cleric to cast level 1 spells on me? Or did i do something wrong?

sonicvt
09-06-2007, 09:44 AM
Mag,

I was raiding Trakanon today with your bots and each and every encounter I got a zone.exe error. After a few trials with Trak being at various healths I noticed it only happend when one of the Bots "created a mystical portal". This being Trakanon's teleport proc.

I was able to edit the database to remove Trakanon's spell casting ability (Trakanon npc_spells_id set = 0 not 43 or 46, whichever it was) to stop this error. I don't know if there is anything you can do on the bots side to fix this or not but it is just something I noticed.

Magoth78
09-06-2007, 06:32 PM
Aonelyn> You have to do a "#bot update" on your bots once created and leveled.

sonicvt> Thanks for the report. I've also noticed that on Dain and some others targets. I will see what I can do.

Mag

Criimson
09-06-2007, 07:20 PM
Sonicvt I did some checking in the database

Go to table npc_spells_entries
Delete row 1270
That is a spell called Trakanon's Touch and is causing your problems
That way at least it isn't a purely melee fight and will be some fun

Criimson

sonicvt
09-07-2007, 04:58 AM
Criim,

Thanks for the info. Unfortunately I didn't raid often in EQ and I don't know which Boss Mobs have this Teleport proc (Trakanon, Dain Frostreaver) as I'm assuming that any mob that does this will cause the crash.

Criimson
09-07-2007, 06:39 AM
K the spell to check for is 895 (if memory serves) ill check again later, but im pretty sure this is it

I just installed Fedora 6 so haven't set mysql up yet (still fiddling with it)
But if ya don't find it I'll let ya know which mobs have that spell and what rows to delete

Criimson

sonicvt
09-14-2007, 12:39 AM
Mag,

I noticed when creating a new group of bots (used to raid with 3 groups, recently created a 4th) that if they didn't have weapons equiped and engaged in battle it would crash. Oddly this didn't happen at 1st-10th level or so when I first started using your bots. Not sure if this issue is on the bot end or the EQEMU end but I thought I would post it anyway.

Additionally, any news on the bots being able to use weapon procs and focus effects/haste from items? Thanks!

Magoth78
09-15-2007, 10:45 AM
Hi guys,

I won't upgrade the actual version of version until the 18th october (actually preparing an exam for my job). Then, I will re-write the whole bot system based on the latest sources to make it a real plugin for EQEmu that you will can active or not. EQoffline will become EQbots, a plugin for eqemu that will be playable solo and multi.

For the moment, you can use the EQoffline builds that are based on .994 (I think) wich are more than playables.

Later,
Mag

Bjerlk
09-16-2007, 03:33 AM
Nice news. And good luck on the exams..

Not that luck has anything to do with it...

Docs
09-21-2007, 11:17 AM
I wish you the very best in this project. Keep up the great work, and by the time you know it everything will be completed.

I too want alot of things in EQemu, but fail at finding the time to sit down and complete anything good like this.

Xzam
11-25-2007, 02:05 AM
I'll start with saying WOW, what you have done with BOT's is amazing!! I for one am looking forward to your new BOT system. I have BOT's on my server and everyone who plays with them love them. You have given players the ability to solo, (with BOTs as friends), even higher level mobs and raids! WOW thanks again!! I have a few questions for you, with the new BOT system will I be able to set the number of BOT's per char? Is there a way to have chars delete the BOT's they don't like, and this may be hard to do but hey you are the man, and last thing is give me a little more space or let me set it, the BOT's are to close to me, sometimes hard to loot with them standing on my feet. I'm not complaining just looking forward to the new BOT system!

sonicvt
11-27-2007, 08:51 AM
Any updates in the past month or so? I've noticed it's been a while since Mag posted and his webpage hasn't been updated either. Hope he's ok...

Magoth78
11-28-2007, 04:57 AM
Hello there, I'm fine thank you ;)

For the moment, I don't have the time/feeling to work on the new bot system.
Sorry bout that,
Mag

a_troll_01
12-09-2007, 01:47 AM
I "had" a stable 0.7.0 Nov 30 build and then I added in the Bot build portions.
Replaced the NPC_Spell_Entries
Replaced the EmuShareMem.Dll in my startup
Changed my startup bat to call WorldDebug & ZoneDebugPerl

Now whenever a PC casts a spell the Zone will crash. I am assuming there is a conflict with the change made when I sources NPC_Spell_Entries.

Anyone have any ideas?

Teremarr
12-10-2007, 07:01 AM
So, are you actually just sticking in the binaries? If you're using the Nov. 30th build, then I'm assuming that you picked up EQEmu-0.7.0-1064. If you used the BOT binaries for EQ-Offline, then you actually back-leveled the running code to something like build 946 or something close. You might be stumbling over both old bugs. Might also have problems with changes/removals from the database.

I wonder... If I look up above, maybe I can find the source. It might be interesting to see if we can just merge his code into an interim build...

a_troll_01
12-10-2007, 09:45 AM
Correct, I just replaced the binaries from the EQEmu-0.7.0-1065 build with the binaries from the Build.rar found on EQ Offline home page. So, the DB that I am using is from the 1065 build.


Are suggesting that I go back to the DB version from the 946 build? Ugg. That means I'll have to figure out if I can save the account and character info.

Thanks.

meshershark
12-13-2007, 11:39 AM
Can anyone confirm the latest EQEmu build that is compatible with EQoffline? The two I've seen mentioned are 994 and 946, neither of which appears in the download list.

I'm getting ready to setup a server for solo play and I want to make sure I put it together with compatible pieces from the get go. Thanks.

cavedude
12-13-2007, 12:16 PM
It uses 992. I had started working on getting merged into the current build but haven't had time to complete that yet.

meshershark
12-14-2007, 08:14 AM
Thanks.

Are there any compatibility issues between EQoffline and PEQ I need to watch out for, or am I set as long as EQEmu and EQoffline are compatible versions and EQEmu and PEQ are compatible versions?

The reason I ask is, I notice that the latest beta PEQ only needs 0.7.0 base EQEmu, so it should work with 992, but it looks to have been done many months after EQoffline was last updated. Not having setup and worked with any of this stuff yet, I'm not sure how and at what levels they interact. It seems like bots should be fairly independent of zones and quest content, but I just wanted to make sure.

From what I can tell, I should be able to play with bots up through Luclin and most of Ykesha, but not PoP. Does that mean no PoK stones? I'm not averse to roughing it a bit, having started live EQ before PoP (just before Luclin, in fact), but it would be handy to have the stones and spell vendors in PoK since I was used to them before I quit years ago.

cavedude
12-14-2007, 08:35 AM
Actually, you should be able to use the newest Ykesha db with the older 992 build. Columns and tables were added but not deleted or changed. The server will simply ignore that extra data.

I am not sure how the bots will handle PoP with the flagging system and such. My instincts say the bots are probably just treated as NPCs so they shouldn't need flags, allowing you to progress normally. However, due to the fact that the bot code is based on an older 992 build much of PoP may be buggy and/or completely unplayable. A lot has changed in the code since then that has allowed PoP to function correctly. Though, to answer your question, if you use the Ykesha db the PoK books will be there and PoK at the least will be fully usable.

John Adams
12-26-2007, 08:55 AM
As previously stated, I already ported the 992 bot work to a much newer release, but poor Magoth didn't have the time to really check my work. I would be happy to re-post it (I think my last port was to 1035 or so). The reason I hadn't bothered to do it to current is mostly because Mag was considering making it more "modular", and it made no sense to keep bumping the bot code every core release.

Cavedude, if you want my code, let me know. It worked, but I haven't been able to really give it a good test. Might be a good place to start. But lots has changed since 1035. Might be worth starting from scratch.

cavedude
01-01-2008, 03:31 AM
JA, I'd love to take a look at your code. My hope is we can get it current as this system is really nifty and I'd hate to lose it due to it being in an obsolete build.

burnme
01-06-2008, 11:43 AM
Hey there. Did anyone ever finish typing up full custom npc_spells_entries for the bots so they cast the right spells at the right levels?

I've been using the bots and messing around with customizing them for a while now, and I'm frustrated by their casting (often very) incorrect spells. It's pretty bad at the mid-high level ranges, with level 65 magicians not even using their latest pets!

Anyway, just thought I'd ask here if whoever said they were going to do it was finished yet, and also to make a request to Magoth or anyone else who might be able to do it: Could the bots or whatever's necessary be tweaked so that pet-centric classes heal and haste their pets?

Thanks.

Richardo
01-14-2008, 03:33 AM
Hi, I would like to make modifications to this system and I would like to know if this is possible or not with your creation.

I will give an example server.

On this server, I want players to be able to create a guild. Now once they have created their guild, they then have the choice to add 3 bots to their guild choosing any class and race (after which they cannot ever change what they have chosen). These bots can be utilized by any of the guild members.
Also, the bots would begin at level 1 and it would be the guild members responsibility to level these bots. Here is a command list idea of what im talking about..


#guildbot list -Lists bots accordingly to class, race and level.
<GuildName> Bot List
23 Warrior, Barbarian ID:242
42 Cleric, Dwarf ID: 243
12 Rogue, Dwarf ID: 244

#guildbot summon id -Summons the bot ONLY if you're in the zone in which it was created.

#guildbot create class race -Creates one of the 3 allowed bots in the guild.
(Only for the leader.)


I don't know if I am dreaming but I think this would be very cool to allow members to add bots to their guild.

bowmaster
01-16-2008, 02:41 AM
how do i get this 2 work ?

Congdar
01-16-2008, 04:19 AM
I've managed to merge the bots code into a 1071 build but there are issues. Here (http://mysite.verizon.net/res0n04d/eqemu/1071.zip)
I can create bots but...

The caster bots only cast a few spells and only the low level spells even if the bots are level 65.
The zone crashes if you try to fight something.

What I haven't done is gone through the code to change anything. I just merged it all inside #ifdef EQBOTS

I can see where Magoth78 has copied some existing methods and modified them to be his new methods. The problem is that the methods he has copied from have been changed/improved and now those changes need to be reflected in the eqbots code.

Has anyone else done any work on this? Magoth78 coming back would be a great help but I haven't seen him post in a while.

a_troll_01
01-19-2008, 02:50 AM
The low level spell casting problem is a DB issue not a code problem. You can modify the "npc_spell_entries" table and change what spells ALL NPC will cast or you can define a new npc types and build a spell table for them.

Congdar
01-19-2008, 01:38 PM
So I figured out that the bots would cast the correct level spells after I updated them then removed them from the group and then spawned them again.

They fight and kill the monsters fine too.

If you try to trade with them the zone crashes. I went and downloaded Magoth's current source and got it to build and it has the same bug as the 1077 sources i've diff'd to.

Does anyone have a working set of Magoth's source?

John Adams
01-26-2008, 05:25 AM
Magoth also provided binaries, you should try them too just to make sure BOTS are working at all for you.

Magoth78
01-27-2008, 05:03 AM
Hello,

I'm sorry about not giving any information on this project. There reasons are :

#1 When I've stopped this project, the bots were working correctly wit hthe old code except, maybe, some spells as related in this topic. But that's just a database's entries issues.
#2 In order to have the bots working with the newer version, I wanted to make the bot system totally independant and "pluggable" to the emu's code at any time on any emu's official version. That's a lot of work that requires time, feeling, etc... wich I have not actually.
#3 I've started a similar project on WoW based on the emu Mangos. (didn't really finish it though bots are working correctly :> )
#4 I'm now playing EQ2 a lot and I like it.

Richardo> It'd be easily doable with a bit of c++ knowledge (wich you have, don't you?)

G'day,
Mag

a_troll_01
02-01-2008, 03:18 AM
I have rolled the BOT code, with some tweaks, into the 1086 build.
1. BOT pathing
2. BOT Item exchange, including rings, bracers, and earrings(2 slots)
3. Zerkers are working
4. Beastlords melee
5. Rogues and Rangers don't crash the zone

cavedude
02-01-2008, 12:51 PM
Could you post the source for that?

Wildcard and I were talking about the bot code to see if it would be feasible to add it to the official code base as a rule or something such, similar to the old Guild Wars system for those familiar with it.

Congdar
02-01-2008, 04:51 PM
I also have been working on the bot sources. I have merged John Adams' 1035 source bot code and Magoth's current download(some differences) into the 1090 sources.

You can test them on The Realm (http://www.cerebus.net:8080/Teremarr/Changes.htm) server down near the bottom of the list. I'm debugging some raiding issues but i'll post the sources when I'm done with that.

I have all bot code inside #ifdef EQBOTS blocks like the Guildwars code is in #ifdef GUILDWARS blocks.

Mrwalsh
02-05-2008, 02:59 AM
Disregard.

WildcardX
02-08-2008, 05:34 PM
For this to be of maximum value in hopes of working out some type of merge, I need a diff of this bot source code against the most recent eqemu build. So the sooner the better before the builds continue past where you are now.

Congdar
02-08-2008, 06:59 PM
Here's my most stable build. Source (http://www.cerebus.net:8080/files/downloads/1090BotsSrc.zip) and Binaries (http://www.cerebus.net:8080/files/downloads/1090BotsBin.zip) based off of the 1090 sources.

I was able to get everything inside #ifdef EQBOTS
Did some debugging and fixing on bot raid commands and bot inventory trading.

Feel free to test and report bugs.

a_troll_01
02-10-2008, 12:21 AM
I'm sure there are a couple of different versions of the BOT source being maintained by folks. It might be worthwhile to diff the source and pull the best features from each one.

I just finished tweaking BOT spell entries and randomizing BOT pets.
Spells - Changed "Order By" for npc_spells_entries.
Pet -
Class with multiple pet types will now have a random chance for each valid pet.(ie mages)
SK's and Druid BOTS will now summon pets.
Beastlord Pets are now Warders.

Here is my 1090 source and binaries.
source - http://rapidshare.com/files/90637737/EMUBots-1090_Source.rar.html
binaries - http://rapidshare.com/files/90637738/EMUBOTS_.0.7.0-1090.rar.html

Congdar
02-10-2008, 05:23 AM
the links say file deleted :(

Congdar
02-11-2008, 07:44 AM
a_troll_01,
I'm interested in your updates to the bot code, can you repost your source?

This goes for anyone else that has made tweaks/improvements to the bot source.

a_troll_01
02-11-2008, 12:54 PM
Here is a link to my 1090 source. I fiddle with the Bot portion of the code continuously, so it will be out of date before I finish this beer. /grin

http://rapidshare.com/files/91061241/EMUBots_0.7.0-1090_source.rar.html

a_troll_01
02-11-2008, 03:02 PM
For this to be of maximum value in hopes of working out some type of merge, I need a diff of this bot source code against the most recent eqemu build. So the sooner the better before the builds continue past where you are now.

Diff files for the Bot source I provided.
http://rapidshare.com/files/91079872/EMU_1090_-_BOT_Diff.rar.html

Jexl
02-15-2008, 08:39 AM
Hi a_troll_01

I was wondering if you have a copy of the binaries on the latest 1090 eqemu update for bots. Im not a programmer, and have no clue what to do with the source...

can you see if you can get a download up and running?

thanks,

Congdar
02-16-2008, 08:03 AM
I've uploaded new binaries and source for 1090 bots. Fixed 3 or 4 crashing bugs that kept people from logging in. Use the links in my post above.

Jexl
02-16-2008, 08:26 AM
Thanks Cor,

I'll try this out. There are a few bugs that have come up. Ill double check your most recent work, and provide any info I can.

I appreciate it.

number6
03-04-2008, 09:50 PM
Hi Guys,

I'm thinking of resurrecting my little server in a few weeks for use by me and a handful of friends (we are all bored with LoTRO now...). I had a little play with the bots stuff last year when it first came out. I was wondering if WildcardX or anyone else was still looking at folding it into the official code base at some point or whether it will always be something that needs to be patched in.

No pressure - I know how long things can take, and if it needs some re-structuring to make it "modular", I can imagine that's a very large undertaking. Just curious.

Cheers

Paul.

Congdar
03-05-2008, 03:43 AM
Not sure if anything is being done about a merge into the main base code, although I don't recommend it at this time.

I've made it easier to patch in by surrounding the bot code in blocks of #ifdef EQBOTS and I have been making fixes to things that were causing crashes and added extra helpful text when using #bot commands.

I'm still at build 1090 with this code because I have come across an issue with upgrading the database that I'm relying on another person to fix for me since I'm more of a c++ guy than a database guy. What happens is, during an upgrade of the database you generally run drop_system.sql which deletes the npc_types table where all the bots are, so you lose all your bots. It wouldn't be so tough to backup the bots and then source them back in but there's a problem with that part.

It is likely that the new database will at some point add new npc's and these new npc's could have the same ID as one or more of the bots. The bot ID is also referenced in the botowners and botinventory tables so in this case, the bot would need to be merged into the npc_types table with a new id and the botowners and botinventory tables updated to reflect this.

Not a huge problem and this other guy is working on a vbscript or some tool like that to solve this, so I'll be moving to more recent builds soon.

I have been posting updated binaries and source in my link above, the latest version is dated feb 29th.

number6
03-05-2008, 05:20 AM
Thanks Congdar. I'll grab your source and have a play soon :)

Paul.

Lotek
03-07-2008, 05:08 AM
Any chance you could put them up on filebeam ?

RapidShare is being a p.i.t.a. Keeps telling me I need to enable
JavaScript, which is enabled, when I click on the free link.

Here is a link to my 1090 source. I fiddle with the Bot portion of the code continuously, so it will be out of date before I finish this beer. /grin

http://rapidshare.com/files/91061241/EMUBots_0.7.0-1090_source.rar.html

kiirdiir
03-07-2008, 10:07 AM
Any chance you could put them up on filebeam ?


I can help you out there: filebeam.com link. (http://filebeam.com/6b224adb6e4309002b0c3f21488772db)

Congdar
03-08-2008, 02:49 PM
I've merged the bots with build 1102. Have fun! Source (http://www.cerebus.net:8080/files/downloads/1102BotsSrc.zip) and EXE's (http://www.cerebus.net:8080/files/downloads/1102BotsBin.zip)
Several crash fixes
Set bots to not aggro when set to "guard"
Caster bots will report they need to meditate

kiirdiir
03-08-2008, 03:10 PM
Nice.

I just finished doing that myself, minus the changes you made. Thanks!

Aramid
03-10-2008, 06:59 AM
I've made it easier to patch in by surrounding the bot code in blocks of #ifdef EQBOTS and I have been making fixes to things that were causing crashes and added extra helpful text when using #bot commands.

Where do you #def EQBOTS so they will be available when compiling in Linux (Debian 4) or is there something else that needs to be done?

Congdar
03-10-2008, 07:08 AM
Not sure for linux compiles, sorry. In Visual Studio you add EQBOTS to the preprocessor settings. Not sure if it's necessary but I add it to the zone, world and emusharemem components.

Derision
03-10-2008, 10:05 AM
Where do you #def EQBOTS so they will be available when compiling in Linux (Debian 4) or is there something else that needs to be done?

To define a symbol for the pre-processor you need to add -D<symbol> to the compiler command line. e.g.:


#include <stdio.h>

int main() {

#ifdef EQBOTS
printf("EQBOTS defined\n");
#endif

}

entwisd@rama ~ $ g++ test.cpp
entwisd@rama ~ $ ./a.out
entwisd@rama ~ $ g++ -DEQBOTS test.cpp
entwisd@rama ~ $ ./a.out
EQBOTS defined
entwisd@rama ~ $


I've not tried this bots code, but I would guess adding -DEQBOTS to the first DFLAGS line in zone/makefile should be all that is required, i.e. change


DFLAGS=-DEQDEBUG=5 -DCATCH_CRASH -DNO_PIDLOG -DSHAREMEM -DSPELL_EFFECT_SPAM -DFIELD_ITEMS -DCOMBINED -DAPP_OPCODE_SIZE=2 -Di386

to


DFLAGS=-DEQDEBUG=5 -DCATCH_CRASH -DNO_PIDLOG -DSHAREMEM -DSPELL_EFFECT_SPAM -DFIELD_ITEMS -DCOMBINED -DAPP_OPCODE_SIZE=2 -Di386 -DEQBOTS


then do a make clean; make

cavedude
03-10-2008, 11:15 AM
You also need to add the 3 bot files to the makefile to compile. so in zone/makefile.common

../common/guild_base.o guild_mgr.obecomes:

../common/guild_base.o guild_mgr.o botRaids.o botAI.o petAI.o

Aramid
03-10-2008, 11:45 AM
Thanks Derision and Cavedude, that was what was needed. It compiled and appears to be working fine.

cubber
03-12-2008, 02:37 AM
If I am running the latest PEQ database from CVS is there a need to drop the npc_spells_entries table and replace it with the one from the link in the readme? I noticed that the bot tables are already put in and isbot is added to npc_types by default in PEQ.

Congdar
03-12-2008, 03:02 AM
I wouldn't, that sql file is pretty old and missing much of what is in the current table.

cubber
03-12-2008, 03:14 AM
Great thanks for the reply. I just want to make sure I got this right, there is a lot of info in this thread. So on a linux server after downloading your 1102 sources all I would have to do is:

1. Change the following in zone/makefile:

DFLAGS=-DEQDEBUG=5 -DCATCH_CRASH -DNO_PIDLOG -DSHAREMEM -DSPELL_EFFECT_SPAM -DFIELD_ITEMS -DCOMBINED -DAPP_OPCODE_SIZE=2 -Di386

to:

DFLAGS=-DEQDEBUG=5 -DCATCH_CRASH -DNO_PIDLOG -DSHAREMEM -DSPELL_EFFECT_SPAM -DFIELD_ITEMS -DCOMBINED -DAPP_OPCODE_SIZE=2 -Di386 -DEQBOTS

2. Then change the following in zone/makefile.common

../common/guild_base.o guild_mgr.o

to:

../common/guild_base.o guild_mgr.o botRaids.o botAI.o petAI.o

3. run make

4. copy the world, zone , and libEMuShareMem.so files from the bot source to my current working server directory replacing the normal world, zone and libEMuShareMem.so files, and run my start script that I use to normally start my server.

Then if I wish to revert back to my old server just copy the old world, zone, libEMuShareMem.so files back to the working server directory over the bot files.

Thanks

Congdar
03-12-2008, 03:28 AM
Not sure if \common is the correct place for those files. The original eqoffline source files are in the \zone folder.

cavedude
03-12-2008, 03:40 AM
That's absolutely correct, cubber. Though, to toggle between eqoffline and normal binaries you only need to swap out zone. The other binaries are not changed.

../common is the location of guild_base.cpp and guild_base.h. If you notice, the other 4 files after it have no directory, so the makefile will just use its current directory for those, which of course is zone.

cubber
03-12-2008, 03:45 AM
Thats how I thought the line read thanks cavedude! So basically the only thing I need to compile after downloading the 1102 source linked above is zone. Since I already have a 1102 eqemu server running.

cavedude
03-12-2008, 04:00 AM
Yep, that's it.

cubber
03-13-2008, 12:32 AM
Thanks for the help. I was able to play around with the bot system last night and had a blast. The system is amazing!

I did notice that I had to zone before my bots would cast any spells over level 1, and I also had random game client crashes when using the bots system that I never experienced using the regular 1102 server. My client just froze up 3 times in about a 4 hour time frame. In different zones, all when using the bots. I was able to open task manager and kill the client which was labeled "not responding", then restart the client and log back into the server. Looking at the server's built in web interface it looks like 1 of my 5 dynamic zones restarted, it has a start count of 2.

The zones I experienced the crashes in were, Plane of Knowledge, HateplaneB, and Plane of Growth. Those were pretty much the only zones I visited too. The crashes happened on 2 different characters running different bots. 2 happened when the bots were casting and in combat, the other happened when I was spawning a bot, but the other bots were also buffing.

However, I had so much fun using the bot system that the crashes didn't really even bother me that much.

Congdar
03-13-2008, 12:54 AM
The original design was for solo play with the bots. I think there are likely issues with two pc's in the same zone running bots at the same time, however it seems to work great for filling the last slots when single grouping with friends.

cubber
03-13-2008, 12:58 AM
I was only running 1 pc with a full group of bots. When I said 2 characters I meant that at one point I switched to another character and created a new set of bots.

Congdar
03-13-2008, 01:18 AM
hmm, I was in plane of mischief all night and didn't have any problems with locking up. Are you using my sources or some other? I think there are two or three versions around. That's not to say there aren't multitudes of issues with the bots but they are quite a bit more stable than before. If you could remember exactly what you were doing maybe I could debug a little bit in that area.

cubber
03-13-2008, 01:30 AM
I was using your 1102 sources on a gentoo linux server and running the titanium client on windows xp. Like I said it seems to be random when the bots cast a spell. I am not sure if its a cleric bot or enchanter bot that keeps hosing me. I will have to do more testing and pay more attention to whats happening before the crashes.

The bots I had up were: enchanter, cleric, shaman, necro, monk. I gave them all their epics to start then went hunting to gear them up after that. Most of them are still pretty naked.

I also noticed that the chanter bots don't cast any kind of mana buffs and have a hard time with mezzing adds, even when I use the #bot ai mez command. I don't ever see any haste being casted either. But that all probably has to do with the spell table in the database.

Congdar
03-13-2008, 04:51 AM
I guessing it's the enchanter bot. I've never used one because I think it tries to root instead of mez dunno. I've tested with Cleric, Monk, Mage, Beastlord, Shadowknight, Warrior, Paladin, Shaman, Berserker, Druid, Wizard, Necromancer without issues.

I think ranger probably works but not with a bow. I think bard can sing one song and melee but I haven't tested extensively.

The spell selection isn't that great. I've worked up a modification to the spells a Cleric casts for npc_spells_entries but I'm not totally happy with it due to the self only buffs also get cast as on the other members of the group.

There's lots to do to get bots more robust.

cubber
03-13-2008, 04:54 AM
Could be the chanter bot, I will try again when I have a chance with a different bot. I noticed when I tried a bard bot all's she did was melee, no songs.

Aramid
03-13-2008, 10:44 AM
I have been playing the following Bots with no trouble even with 2 different people in the same zone using bots:
Cleric, Enchanter, Warrior, Shaman and Wizard

I just figured out today how to get the Enchanter to use MEZ.

First off, lets talk about what you have to do with the spells. I have started to make new ones for my toons, but you can adjust the existing ones in the database.

All spells have a minimum and Maximum spell level. You can only have 16 spells on a bot at any given time. The spells are determined by the Bots Level and Maximum Level settings in the spell database.

I use level 65 bots, so that's what I will use as examples.

All the Level 65 Spells of course have a minimum level of 65 and of course will load onto a level 65 bot. You may have to use the #AI SPELLSLIST # to get them using the correct list. Now, what I did was set the chanter to have all the good buff spells and of course, all the level 65 spells and 65 Mez. On any root spell, I made sure that the Minimum & Maximum level were below 65. 64 will work. This way no root spell would load on the 65 Bot. The spells that I wanted it to load that were below level 65, you just have to raise the maximum level to your Bots level or higher. It will load the 16 spells with the highest maximum in reverse order... I think but not really tested that part as I just have it so 16 spells will load based on the Bots level.

So, again, for an Enchanter to mez, there cannot be a root spell in there list of 16 spells (at least this is how I got mez to work instead of root) Make sure your mez spell in the database is set to a ROOT type. As long as there are no root spells in the bots 16 spell list, then mez will work. The spells load into the 16 slots based on priority. The higher the priority the closer to the top it goes. Not sure if this has any advantage or not.... but that's how that works.

BTW. I think you also have to restart your EMU Server after making the changes to your Spells in order for them to take effect. If you don't, please let me know how.

So what I have done, is to make my Wizard not do any buffs but have all the high nukes, the enchanter to have the highest mez and mana regen buffs, the Cleric to have the Highest HP buffs and AC buffs and no nukes and the shaman to have the best slow and PC Bots, all Group Spells on the buffs as well and so far it's working great.

cubber
03-14-2008, 11:05 AM
Hmm 2 nights ago the bots were accepting items fine and displaying them correctly when worn. Now when I hand a bot an item it does not display the item on the bot and I get a dupe of the item back in my cursor. When I do a #bot inventory list the item shows correctly in the correct slot. If I kill the bot and respawn it then it comes back with the inventory item displayed correctly. The only thing I did to my server was update the quests via CVS and restart the server.

I tried restarting the server again and it did not help.

cavedude
03-14-2008, 11:30 AM
Delete default.pl in quests, it prevents items from being handed to bots properly. I'm trying to find a way around that.

cubber
03-14-2008, 11:55 AM
Ok thanks cavedude I thought it had to have come from that update. One other thing I notice is as soon as I hand them the item they take off runnin'. Probably all part of the same issue.

cavedude
03-16-2008, 09:06 AM
In case anybody uses PEQ's CVS to update their database:

http://eqemulator.net/forums/showpost.php?p=144769&postcount=26

Congdar
03-16-2008, 09:34 AM
I've updated the 1102 bots again. Source (http://www.cerebus.net:8080/files/downloads/1102BotsSrc.zip) and Binaries (http://www.cerebus.net:8080/files/downloads/1102BotsBin.zip)
fixes:
Mana regen for caster bots is a little faster now
Bots will reflect worn gear stats better
Fixed issue with default.pl

burnme
03-19-2008, 06:29 PM
So is anyone planning on or finished cranking out an improved or *gasp* complete npc_spells_entries list for the rest of us to use?

Or should I go ahead and do it myself?

Congdar
03-20-2008, 01:22 AM
I've done it for the Cleric (http://www.cerebus.net:8080/files/downloads/Bot_npc_spells_entries.zip) but haven't had time for the other classes. Feel free to contribute. Remember, these entries affect all npc casters, not just bots.

Haven21
03-20-2008, 10:32 AM
I've been messing around with trying to create custom spell sets for my bots and so far all of them work great except for shaman. Whenever i create a custom spell set for that class and change the bot to use that list it defaults on the spell list, i have to use #ai spellslist # to get it to use the custom list. I'm fairly certain i'm not doing anything wrong since I've gotten other classes to work so if someone could look into this that would be great!

Aramid
03-20-2008, 03:14 PM
I started making Custom Spell lists but did not use the normal entries, instead added the id's in the 600's. The ones that I put to use those seem to work fine, but as you say, I haven't done the Shaman's yet, but have set the original ones as they should be by the minimum and maximum levels and I still have to use the #ai spellslist 6 to get the Shaman to load the higher level spells instead of the lower levels that he shouldn't even be loading. Once I get them all done, I'll edit the code in command.cpp where it assigns the spell lists to my 600's.

I'm going to try to get the time to setup the Shaman list tomorrow in the 600's and see if it loads them properly or not.

Also, the ones with pets seem to load that spell twice... Does that happen for anyone else?

Haven
03-20-2008, 05:24 PM
Thanks Aramid, i did notice with the wizard spell greater familiar (i think it was this spell) that when it was cast the wizard bot summoned a greater familiar for both the bot and myself and the familiar also summoned its own familiar. I ended up with X's familiar and X's familiar's familiar lol

Edit: bah used my alternate account to post this /sigh

Aramid
03-21-2008, 05:45 AM
OK, just found out something I didn't know before nd maybe the coders can figure out why it's happening. I tested this with a Shaman, Wizard, Enchanter, Druid and Necro.

All except the Wizard will load there Default Pet XXXX, where XXXX = Class Spells instead of there own spells.

See if this is what is happening to you as well. Spawn your Bot and before grouping or anything, target it and issue the #showstats command. You will see that it has loaded spellslists in the 500's. They don't have a pet spawned at this time either, as they aren't even grouped yet. Funny thing too, my Wizard doesn't spawn a pet (Familiar) at all even though it has the spell and has the correct list loaded.

My Cleric seems to always load the spells I setup for it.
With the Shaman, I created a short list in the 606 slot and it did not load those spells until I used the #ai command. It loaded it's default pet spells. Yes I set it up to use that spellist in the db

Hope someone can figure out why.

Congdar
03-21-2008, 08:47 AM
The peq database has default spell lists for all caster classes in npc_spells table starting at id 1 and going through id 12 with names "Default <class> List"
Also in the database are separate entries id 514-524 with names "Default Pet <class> List"

I don't know the reason for needing both, but the bots that can cast pets are hard coded to use the 514-524 list AND the Wizard code is rem'd out.

Maybe Cavedude can shed some light on the multiple default entries as the pet classes would never need the default entries in favor or the default pet entries. It seems the bot code uses the 'Pet' version for pet classes, so any custimization you do should use the higher range unless we hear some reason not to. (We should probably make a 'Default Bot' list, what id range should we use?).

Since the wizard bot code is not changing to the Default Pet entry it is instead using the Default entry. The default entry does not have any pet spells in the list.

Congdar
03-21-2008, 09:02 AM
Thanks Aramid, i did notice with the wizard spell greater familiar (i think it was this spell) that when it was cast the wizard bot summoned a greater familiar for both the bot and myself and the familiar also summoned its own familiar. I ended up with X's familiar and X's familiar's familiar lol

Edit: bah used my alternate account to post this /sigh

When customizing the database list, make sure you put the familiars spell as SpellType_Pet. If you put it as SpellType_Buff it will cast it on everyone in the group.

SpellType_Nuke=1;
SpellType_Heal=2;
SpellType_Root=4;
SpellType_Buff=8;
SpellType_Escape=16;
SpellType_Pet=32;
SpellType_Lifetap=64;
SpellType_Snare=128;
SpellType_DOT=256;

cavedude
03-21-2008, 11:08 AM
It was Angelox's implementation and works quite well. Not every NPC has a pet, so by default we give NPCs the spell list without pets. When we come to an exception, we give them the list with a pet. Simple, really.

Though for bots I would agree with creating new sets cleric_bot or the like and changing the code to automatically use them would be the best way to go. Starting at 600 would be fine by me and I'd have no problem adding it to PEQ.

Aramid
03-21-2008, 11:41 AM
Though for bots I would agree with creating new sets cleric_bot or the like and changing the code to automatically use them would be the best way to go. Starting at 600 would be fine by me and I'd have no problem adding it to PEQ.

So basically, all that needs to be done is to change the following code to have the newly created spells lists? I used the 600's, but started at 601 so that the lists lined up so to speak with the originals. 1 and 601 for Clerics (1 = NPC - 601 - Bot) etc... on down the line.


#ifdef EQBOTS

//franck-adds: EQoffline. I had to change that so the bot cast their pets if they re pets class..
if(IsBot() && GetClass() == MAGICIAN) {
AI_AddNPCSpells(516);
NPCSpecialAttacks(NPCTypedata->npc_attacks,0);
}
/*else if( IsBot() && GetClass() == WIZARD )
{
AI_AddNPCSpells(514);
NPCSpecialAttacks(NPCTypedata->npc_attacks,0);
}*/
else if(IsBot() && GetClass() == NECROMANCER) {
AI_AddNPCSpells(515);
NPCSpecialAttacks(NPCTypedata->npc_attacks,0);
}
else if(IsBot() && GetClass() == ENCHANTER) {
AI_AddNPCSpells(517);
NPCSpecialAttacks(NPCTypedata->npc_attacks,0);
}
else if(IsBot() && GetClass() == SHAMAN) {
AI_AddNPCSpells(518);
NPCSpecialAttacks(NPCTypedata->npc_attacks,0);
}
else if(IsBot() && GetClass() == DRUID) {
AI_AddNPCSpells(519);
NPCSpecialAttacks(NPCTypedata->npc_attacks,0);
}
else if(IsBot() && GetClass() == SHADOWKNIGHT) {
AI_AddNPCSpells(521);
NPCSpecialAttacks(NPCTypedata->npc_attacks,0);
}
else if(IsBot() && GetClass() == BEASTLORD) {
AI_AddNPCSpells(524);
NPCSpecialAttacks(NPCTypedata->npc_attacks,0);
}
else {
AI_AddNPCSpells(NPCTypedata->npc_spells_id);
NPCSpecialAttacks(NPCTypedata->npc_attacks,0);
}

#else

AI_AddNPCSpells(NPCTypedata->npc_spells_id);
NPCSpecialAttacks(NPCTypedata->npc_attacks,0);

#endif //EQBOTS

Congdar
03-21-2008, 01:21 PM
yes, and unrem the Wizard section and share your sql with us.

Arex
03-22-2008, 11:01 PM
Nice work on bots!! I only would like to suggest extend the range of bots to his owner, because they get so near that it is a bit disturbed. Would be a big problem to do it?

Aramid
03-22-2008, 11:42 PM
yes, and unrem the Wizard section and share your sql with us.

I've only completed 2 of them so far and since you told me that I didn't need to use Group Spells, I have to weed out the group spells now.

Haven21
03-23-2008, 01:42 AM
When customizing the database list, make sure you put the familiars spell as SpellType_Pet. If you put it as SpellType_Buff it will cast it on everyone in the group.

SpellType_Nuke=1;
SpellType_Heal=2;
SpellType_Root=4;
SpellType_Buff=8;
SpellType_Escape=16;
SpellType_Pet=32;
SpellType_Lifetap=64;
SpellType_Snare=128;
SpellType_DOT=256;

Ah ok that explains why that is happening, Thanks Congdar!

leslamarch
03-23-2008, 02:26 AM
Heya guys,
No matter what i try with the bots even using Congdar updated cleric list all the cleric will still cast light healing at level 65? Not sure what i have to do different?
Can anyone point me in the right direction?

Aramid
03-23-2008, 02:51 AM
Heya guys,
No matter what i try with the bots even using Congdar updated cleric list all the cleric will still cast light healing at level 65? Not sure what i have to do different?
Can anyone point me in the right direction?

#AI Spellslist #

It's talked about in this very forum on page 27 and the page you posted on as well!

leslamarch
03-23-2008, 02:57 AM
#AI Spellslist #

It's talked about in this very forum on page 27 and the page you posted on as well!

Yeah I tried that as well, Must be something else I'll just keep at it. I'm sure its something I'm Just missing thanks for the pointers though.

Congdar
03-23-2008, 03:32 AM
I tried messing with the bot positioning and all it got me was bouncing bots... the way it is now seems to be the least annoying

Congdar
03-23-2008, 03:34 AM
Yeah I tried that as well, Must be something else I'll just keep at it. I'm sure its something I'm Just missing thanks for the pointers though.


Target your bots one at a time and do #bot update
then zone and spawn them again and they should work

Arex
03-24-2008, 08:12 AM
Hey guys, i was asking me, why u dont use the 100 first positions of npc_types table for bots?? Then u havent problems when new mobs are added to database

cavedude
03-24-2008, 10:23 AM
They are reserved by the client so we can't use them without causing problems. But, as I said there is no problem with IDs. PEQ will never ever use the IDs bots are given. Your going to have to drop and then resource your bots everytime you upgrade anyway, since the upgrade wipes the whole npc_types table away and loads it fresh.

Arex
03-28-2008, 10:34 PM
ok, thank you for the information cavedude.

In other point, i would like to know if it is posible remove "(BOT)" messagge that appear under name of bots, and the "000" that appear after bot's name in group windows.

any advancement in AI spell list?? It is only that my ench bots look so retarded... :P

Congdar
03-29-2008, 03:00 AM
You can remove (Bot) by deleting 'Bot' from the lastname field in npc_types table. Something like:
UPDATE peq.npc_types SET lastname='' where isbot=1;
lastname is equal to two single quotes.


Can't do anything about the 000's

Trynix
03-30-2008, 04:15 PM
I've merged the bots with build 1102. Have fun! Source (http://www.cerebus.net:8080/files/downloads/1102BotsSrc.zip) and EXE's (http://www.cerebus.net:8080/files/downloads/1102BotsBin.zip)
Several crash fixes
Set bots to not aggro when set to "guard"
Caster bots will report they need to meditate

Are these files still available? When I try to download them I am being prompted for a username and password.

Arex
03-30-2008, 10:35 PM
Thank you Congdar, it works nice. I also have edited the aspect of all my bots, it can to be util for community.

If u want change the appearance of a bot, u only must create a new character like usual, and use the appearance that u want that u bot have. And then log out and check "world output" and u get all information for change appearance to u bot, hairstyle, haircolour, beard, eyes, face, etc.

Then now u only must update npc_types table and update that fields for u bot.

It was very useful for me, because i was getting a dwarf with black hair and white beard, and it was really hurting to see it.

Congdar
03-31-2008, 01:54 AM
Are these files still available? When I try to download them I am being prompted for a username and password.


There was a router update, i'll look into the pw issue.

KateSilverleaf
03-31-2008, 03:24 AM
There was a router update, i'll look into the pw issue.

I don't think it's your router, I'm getting Access Control List (ACL) errors when accessing them files, however, I was able to download the BOT spell entries file just fine. I'm thinking it's the file permissions on the other two that are off and not allowing them to be downloaded.

Congdar
03-31-2008, 02:38 PM
I don't think it's your router, I'm getting Access Control List (ACL) errors when accessing them files, however, I was able to download the BOT spell entries file just fine. I'm thinking it's the file permissions on the other two that are off and not allowing them to be downloaded.

ok, try again. btw... i'll be posting some new zip files soon(couple of days). I rewrote (again) the group and raidgroup add/delete/death of bot/death of client stuff to hopefully remove some crash bugs.

Andrew80k
03-31-2008, 03:27 PM
Congdar, just want to say thanks for taking this on. I play on a private server and it wouldn't be near as much fun without the bots.

KateSilverleaf
03-31-2008, 04:33 PM
ok, try again. btw... i'll be posting some new zip files soon(couple of days). I rewrote (again) the group and raidgroup add/delete/death of bot/death of client stuff to hopefully remove some crash bugs.

I'm glad to hear your still working on it, however, I'm still not able to access it, still error 401 and it still ask for a user/pass.

Here is the exact error I'm getting:

You do not have permission to view this directory or page due to the access control list (ACL) that is configured for this resource on the Web server.

Ashiar
04-04-2008, 06:06 AM
Everything works fine the bots follow, they buff, they are created easily then they follow me around but when ever they get into combat Zone.exe crashes.
Its not allways immediate sometimes it happens straight away and sometimes after a minuite or two, sometimes i even get to kill a mob, but it ALLWAYS hapens when my bots are in combat.

I downloaded Eqoffline and did everything it says on Magoth's readme job as well as on Bots info on the Wiki, I searched the forums and i have reinstalled eq and my server nothing seems to work, the same thing is hapening all the time. I wish i knew what i was doing wrong. :confused:

:edit: P.s. I tried a group of of non melee classes (1 druid, 1 cleric, 1 enchanter, NO pets) and i never hd it crash once. This only seems to hapen when i have had a melee class in the group.

RCPD0715
04-04-2008, 06:23 AM
I have discovered a HUGE exploit with bots....not sure if I should mention on here or not due to people's servers with bots will be exploited bad...any suggestions? I am sure I am not the only one that has discovered it but.....

Aramid
04-04-2008, 09:47 AM
:edit: P.s. I tried a group of of non melee classes (1 druid, 1 cleric, 1 enchanter, NO pets) and i never hd it crash once. This only seems to hapen when i have had a melee class in the group.

What version of EQEmulator and EQBots (aka EQOffline) are you using?

I am using the 1102 version from Congdar along with the 1102 emu and this doesn't happen to me. I am using 3 casters and 2 melee's.

Aramid
04-04-2008, 09:48 AM
I have discovered a HUGE exploit with bots....not sure if I should mention on here or not due to people's servers with bots will be exploited bad...any suggestions? I am sure I am not the only one that has discovered it but.....

Send a Private message to Congdar, as he seems to be the one who's doing the most work on it.

Congdar
04-04-2008, 10:00 AM
I'm working on updates and fixes for bots. You can pm me with any exploits you want fixed (and even ones you don't :) )

I will have a new release soon. Fixes currently in but not fully tested:

Bot starting stats and size has been revamped
Fixed a crash when creating non-alpahnumeric names
Fixed a crash when casting teleports
Fixed a bot aggro issue
Many changes to groups and raids around bot deaths
Fixed a trading issue with bots that allowed a 2h weapon and a secondary weapon at the same time.

RCPD0715
04-04-2008, 03:02 PM
I have sent Congdar a PM concerning this issue...

Ashiar
04-04-2008, 05:30 PM
What version of EQEmulator and EQBots (aka EQOffline) are you using?

I am using the 1102 version from Congdar along with the 1102 emu and this doesn't happen to me. I am using 3 casters and 2 melee's.

Thanks for responding Aramid. I have since got it all working properly after a reformat and reinstalled everything just how it was before, this time though it just works.

I must have missed something somewhere, im quite puzzled by this.

GeargeS I tried out a few of your programs, the quest editor and NPC/Loot editor - they are really good. I was wondering though when creating a BOT with the NPC/Loot editor it assigns the first available ID wich is a 4 digit number like 1005, where as creating a bot in game would assign a 7 digit number like 2700012. Could this cause any problems at all with the way the BOT code works?

Thank you for all your effort guys this is really good stuff.

cavedude
04-04-2008, 05:40 PM
GeargeS I tried out a few of your programs, the quest editor and NPC/Loot editor - they are really good. I was wondering though when creating a BOT with the NPC/Loot editor it assigns the first available ID wich is a 4 digit number like 1005, where as creating a bot in game would assign a 7 digit number like 2700012. Could this cause any problems at all with the way the BOT code works?

Assigning the first available ID as opposed to the highest ID will cause trouble with the PEQ db, as we may use those IDs one day which would obviously conflict. IDs past 999,999 will never be used by us, and any currently past that point I plan on moving down to our "reserved" range.

Congdar
04-04-2008, 05:46 PM
I don't think the bot code cares what the npcid is, but there is a protocol for npc id's. The first few numbers should be the zone the npc is supposed to spawn in. Cavedude as said he is fine with the bots using the 27000000+

cavedude
04-04-2008, 07:45 PM
With the next CVS dump, the max NPCID from PEQ will be 999138. I set the auto increment for npc_types to 999999, so on a fresh db without bots, the first bot will take ID 1000000. If you already have bots, I recommend re-ordering your IDs so they start at 1 million. Then, set your auto-increment to the ID of the last bot like this:


ALTER TABLE npc_types AUTO_INCREMENT = id;

Keep in mind that 1 million will never be used by PEQ, unless Sony uses zones with zoneids in the 1,000s and since the current batch of zones are in the 400s, I don't see that happening. We have more than enough IDs to use inbetween, as we allocate ourselves 1,000 IDs per zone.

Jest
04-04-2008, 08:17 PM
I was wondering, if using the EQofflince binaries broke #peqzone ?
I am getting a command unrecognized error now. Command is still listed in the DB.

Also, thank you Magoth78 :D:D:D

cavedude
04-04-2008, 10:12 PM
#peqzone is NOT in the stock EQEmu builds. I only keep it on Grand Creation because one day I plan to use it as a reward of some sort. You can find an older version of the code on the wiki, though I should update it to use the new zoning format Wildcard created.

KateSilverleaf
04-05-2008, 08:25 AM
Good to see there is so much work going on, I do have a few questions though for Congdar.

1) Am I the only one who can't access the files, it's still prompts me for a user/pass when I try to download them.

2) Do you plan on merging the changes in to bring the version up to 1103 before you release your next bug fixes?

Congdar
04-05-2008, 10:26 AM
Good to see there is so much work going on, I do have a few questions though for Congdar.

1) Am I the only one who can't access the files, it's still prompts me for a user/pass when I try to download them.

2) Do you plan on merging the changes in to bring the version up to 1103 before you release your next bug fixes?

I'm working on a new release that will include 1103(or whatever the latest is when I get these fixes in). When it's done(no eta), there will no longer be a password required to download them.

Topgun1969
04-14-2008, 01:47 AM
By chance could someone repost a link to the 1102 binaries for the bots please. Had to do some massive work to my database and accidently lost the binaries. Any help would greatly be appreciated. *peace everyone*

Rorthic
04-15-2008, 08:20 PM
By chance could someone repost a link to the 1102 binaries for the bots please. Had to do some massive work to my database and accidently lost the binaries. Any help would greatly be appreciated. *peace everyone*

I think this is what your looking for.

http://eqoffline.free.fr/

Aramid
04-15-2008, 10:37 PM
I think this is what your looking for.

http://eqoffline.free.fr/

No, that is not the 1102 Binaries.. If it's OK with Congdar, I'll host em up until he releases the next release.

Topgun1969
04-16-2008, 12:14 AM
That would be great if you can. Hope it is ok.

Congdar
04-16-2008, 09:19 AM
I would rather have you wait for the next release than use any of my past releases due to the crash bugs that are in them. My new release has fixed at least 4 zone crash bugs that were really annoying and I wouldn't want anyone using those releases. I'm sure there are copies around if you must have something. Cavedude has the binaries if you just want to play. Check out his Server Pack downloads.

I have completed alpha testing of my latest changes and am on to beta testing. If you would like to help iron out some wrinkles, come over to The Realm and test the current bot code I'm working on.

Changes:
I completely revamped bot creation for starting stats. This will require any existing bots to be run through the #bot update process to get on track. Not doing this will have your caster bots a little confused on spells.

I made bots 'social' such that if one bot has aggro, the others will help it. This makes it so you shouldn't need separate commands to control each group to start attacking. Sending your own group of bots to attack will aggro the rest of the raid. You can still order individual groups onto different targets if you need to.

I added a command to defend against ENRAGE. See #bot raid help. This command will tell your bots to stop attacking. This is effectively a "guard" or "/pet hold" command for the entire raid.

If anyone was working on spell sets for the bots, now would be a good time to get them to me for testing.

cubber
04-16-2008, 03:47 PM
The updates sound great! Can't wait for the next release. Keep up the good work Congdar.

Topgun1969
04-16-2008, 10:06 PM
Yeps, all sounds great and awesome work my friend. I will wait it out for now. *peace everyone*

mburnett
04-19-2008, 08:50 PM
ok im begging here can you PLEASE post the diff so we can test it on more then one machine? ive seen alot of posting of binaries and no source what gives? id like to impliment this on my server but i want to put it in the source myself as i have custom code in my server PLEASE post your DIFF

kraulek
04-20-2008, 09:10 AM
First off I have to give thanks to this amazing addition to EQEmu! I just came back 2 weeks ago after about 5 years, and am just totally blown away by all the progress and especially these bots!

Last week I decided to fire up my own server using the awesome PEQ installer, so I am running 1104 PEQ and 1102 bot binaries. I have since leveled up from about 10 to 57 using a group of 5 bots plus me (Cleric, Shaman, Monk, Berserker, Mage, and I'm Warrior). So far I have had ZERO zone crashes and only a handful of times have they ever even gotten stuck (can usually fix by moving, summoning them, then having them follow again). Really the only problems I've encountered are related to npc_spells_entries for the Cleric and Shaman. Especially on the Shaman, there are several levels where they have no heal loaded because there are just tooooo many buffs they are trying to load. I have hand tweaked the Cleric and Shaman entries (1 and 518) with the following goals:

Close any gaps where they had no heal loaded
Take out any extra buffs (like the resists) to make room for heals, and to keep at 15 total buffs or less
Make sure they are always using their best heal for their level (the Cleric had greater healing from the 20s to the late 40s, doh!)


Using these tweaks, I farmed Naggy about 15 times at 52 in basically crap gear except for epic 1.0s with my group of 6 and had no problems! Someone else mentioned never seeing Complete Heal go off, however my Cleric did pop this on me anytime I was going down too fast. The rest of the time she was hitting me with a 900 point heal. The Shaman would also chime in with his 600 point one anytime I got below 50%.

So anyway, here are my tweaked entries for these bots in case it might prove useful. I have only play tested to 57 so far, but anytime I tweak something I try and look forward to 70 too, so there are a lot of fixes up to 70 as well.

Cleric:
--
-- Dumping data for table `npc_spells_entries`
--
-- WHERE: npc_spells_id=1

LOCK TABLES `npc_spells_entries` WRITE;
/*!40000 ALTER TABLE `npc_spells_entries` DISABLE KEYS */;
INSERT INTO `npc_spells_entries` VALUES (35,1,9,2,34,48,-1,-1,150),(57,1,11,8,5,18,-1,-1,1),(33,1,12,2,14,33,-1,-1,20),(36,1,13,2,39,255,-1,-1,1000),(1,1,14,1,1,13,-1,-1,0),(34,1,15,2,24,33,-1,-1,30),(3,1,16,1,14,43,-1,-1,20),(32,1,17,2,5,23,-1,-1,10),(59,1,18,8,29,38,-1,-1,1),(60,1,19,8,39,48,-1,-1,1),(61,1,20,8,49,56,-1,-1,1),(27,1,49,1,39,52,-1,-1,1),(71,1,64,8,44,255,-1,-1,1),(50,1,89,8,19,23,-1,-1,1),(20,1,123,1,19,33,-1,-1,1),(21,1,124,1,34,48,-1,-1,1),(22,1,125,1,49,57,-1,-1,1),(96,1,126,1,24,38,-1,-1,1),(97,1,127,1,39,56,-1,-1,1),(43,1,131,4,29,48,-1,-1,2),(31,1,200,2,1,13,-1,-1,0),(29,1,201,1,1,33,-1,200,1),(48,1,202,8,1,8,-1,-1,1),(3151,1,210,8,1,16,-1,-1,1),(3152,1,215,8,5,33,-1,-1,1),(19,1,216,1,5,18,-1,-1,1),(49,1,219,8,9,18,-1,-1,1),(68,1,224,8,9,33,-1,-1,1),(64,1,225,8,14,38,-1,-1,1),(66,1,226,8,14,38,-1,-1,1),(72,1,227,8,9,33,-1,-1,1),(70,1,228,8,19,43,-1,-1,1),(95,1,229,1,9,23,-1,-1,1),(42,1,230,4,9,20,-1,-1,1),(13,1,231,1,9,18,-1,-1,1),(51,1,244,8,24,33,-1,-1,1),(52,1,312,8,34,43,-1,-1,1),(53,1,314,8,44,51,-1,-1,1),(4,1,329,1,29,53,-1,-1,30),(58,1,368,8,19,28,-1,-1,1),(9,1,405,1,34,43,-1,-1,1),(10,1,406,1,44,51,-1,-1,1),(14,1,413,1,19,28,-1,-1,1),(15,1,414,1,29,38,-1,-1,1),(16,1,415,1,39,48,-1,-1,1),(84,1,485,8,14,23,-1,-1,1),(85,1,486,8,24,33,-1,-1,1),(86,1,487,8,34,43,-1,-1,1),(87,1,488,8,44,53,-1,-1,1),(2,1,560,1,5,28,-1,-1,10),(5,1,672,1,44,55,-1,-1,40),(91,1,1445,8,34,48,-1,-1,1),(55,1,1447,8,60,61,-1,-1,1),(38,1,1519,2,53,57,-1,-1,5),(28,1,1526,1,53,255,-1,-1,1),(98,1,1527,1,57,255,-1,-1,1),(54,1,1533,8,52,59,-1,-1,0),(88,1,1535,8,54,60,-1,-1,1),(62,1,1537,8,57,60,-1,-1,1),(6,1,1543,1,54,55,-1,-1,50),(23,1,1544,1,58,60,-1,-1,1),(18,1,1545,1,59,255,-1,-1,1),(39,1,2182,2,58,62,-1,-1,5),(3158,1,2326,8,56,64,-1,-1,1),(92,1,2505,8,49,57,-1,-1,0),(7,1,2508,1,56,255,-1,-1,60),(93,1,2509,8,58,64,-1,-1,1),(90,1,3047,8,63,255,-1,-1,1),(3160,1,3186,8,65,70,-1,-1,1),(47,1,3196,4,64,255,-1,-1,6),(25,1,3464,1,65,255,-1,-1,1),(40,1,3465,2,61,255,-1,-1,90),(89,1,3466,8,61,62,-1,-1,1),(56,1,3467,8,62,255,-1,-1,1),(3159,1,3469,8,64,255,-1,-1,1),(63,1,3470,8,61,255,-1,-1,1),(12,1,3473,1,64,255,-1,-1,1),(94,1,3474,8,65,255,-1,-1,1),(8,1,3476,1,62,255,-1,-1,70),(41,1,3480,2,63,255,-1,-1,5),(24,1,3481,1,61,64,-1,-1,1),(3287,1,3692,8,40,51,-1,-1,60),(3161,1,5273,8,69,255,-1,-1,1),(3291,1,6878,2,49,52,-1,-1,5);

Shaman:
--
-- Dumping data for table `npc_spells_entries`
--
-- WHERE: npc_spells_id=518

LOCK TABLES `npc_spells_entries` WRITE;
/*!40000 ALTER TABLE `npc_spells_entries` DISABLE KEYS */;
INSERT INTO `npc_spells_entries` VALUES (2662,518,12,2,19,28,-1,-1,1),(2663,518,15,2,29,48,-1,-1,1),(2661,518,17,2,9,18,-1,-1,1),(2647,518,39,8,29,43,-1,-1,90),(2621,518,40,8,1,18,-1,-1,1),(2549,518,75,256,5,18,-1,-1,1),(2530,518,93,1,1,9,-1,-1,1),(2562,518,110,1,19,33,-1,-1,1),(2563,518,111,1,34,48,-1,-1,1),(2666,518,144,2,24,38,-1,-1,1),(2667,518,145,8,39,51,-1,-1,1),(2635,518,146,8,24,28,-1,-1,1),(2622,518,147,8,19,28,-1,-1,1),(2629,518,148,8,19,33,-1,-1,1),(2642,518,149,8,24,33,-1,-1,1),(2623,518,151,8,29,38,-1,-1,1),(2637,518,152,8,39,48,-1,-1,1),(2624,518,153,8,39,48,-1,-1,1),(2644,518,158,8,44,53,-1,-1,1),(2630,518,160,8,34,43,-1,-1,1),(2643,518,161,8,34,43,-1,-1,1),(2576,518,162,1,29,43,-1,-1,1),(2577,518,163,1,44,52,-1,-1,2),(2669,518,164,32,34,38,-1,-1,1),(2671,518,165,32,41,44,-1,-1,1),(2672,518,166,32,49,54,-1,-1,1),(2614,518,167,8,34,9,-1,-1,1),(2615,518,168,8,44,9,-1,-1,1),(2648,518,170,8,44,55,-1,-1,1),(2649,518,171,8,56,62,-1,-1,1),(2650,518,172,8,63,255,-1,-1,1),(2660,518,200,2,1,8,-1,-1,1),(2588,518,201,1,1,38,-1,200,1),(2612,518,225,8,1,23,-1,-1,1),(2610,518,226,8,9,33,-1,-1,1),(2604,518,227,8,14,38,-1,-1,1),(2606,518,228,8,19,43,-1,-1,1),(2590,518,230,4,14,33,-1,-1,1),(2634,518,266,8,1,23,-1,-1,1),(2596,518,267,8,1,4,-1,-1,1),(2628,518,269,8,5,18,-1,-1,1),(2569,518,270,1,5,13,-1,-1,1),(2651,518,271,8,5,13,-1,-1,1),(2597,518,274,8,5,13,-1,-1,1),(2531,518,275,1,5,13,-1,-1,1),(2555,518,277,256,9,23,-1,-1,1),(2659,518,278,8,9,255,-1,-1,1),(2641,518,279,8,9,23,-1,-1,1),(2652,518,280,8,14,18,-1,-1,1),(2575,518,281,1,14,28,-1,-1,1),(2532,518,282,1,14,23,-1,-1,1),(2598,518,283,8,14,23,-1,-1,1),(2653,518,308,8,19,33,-1,-1,1),(2654,518,326,8,34,48,-1,-1,1),(2655,518,337,8,49,58,-1,-1,1),(2636,518,349,8,29,38,-1,-1,1),(2551,518,365,256,19,33,-1,-1,1),(2600,518,431,8,34,43,-1,-1,1),(2556,518,434,256,24,38,-1,-1,1),(2557,518,435,256,39,48,-1,-1,1),(2558,518,436,256,49,55,-1,-1,1),(2538,518,437,1,24,33,-1,-1,1),(2540,518,438,1,39,43,-1,-1,1),(2570,518,505,1,14,28,-1,-1,1),(2571,518,506,1,29,38,-1,-1,1),(2572,518,507,1,39,50,-1,-1,1),(2533,518,508,1,24,33,-1,-1,1),(2534,518,509,1,34,43,-1,-1,1),(2550,518,511,256,19,33,-1,-1,1),(2608,518,524,8,5,28,-1,-1,1),(2579,518,526,1,19,38,-1,-1,1),(2599,518,649,8,24,33,-1,-1,1),(3290,518,1290,2,55,61,-1,-1,1),(2539,518,1427,1,34,43,-1,-1,1),(2541,518,1429,1,44,48,-1,-1,1),(2618,518,1432,8,60,61,-1,-1,1),(2668,518,1568,8,52,60,-1,-1,1),(2673,518,1574,32,55,60,-1,-1,1),(2565,518,1577,1,57,59,-1,-1,2),(2566,518,1578,1,60,62,-1,-1,2),(2632,518,1579,8,53,61,-1,-1,1),(2602,518,1584,8,54,61,-1,-1,1),(2616,518,1585,8,55,255,-1,-1,1),(2573,518,1588,1,51,255,-1,-1,1),(2559,518,1590,1,56,59,-1,-1,2),(2553,518,1591,1,59,63,-1,-1,2),(2578,518,1592,1,53,255,-1,-1,2),(2626,518,1593,8,57,62,-1,-1,1),(2639,518,1596,8,58,63,-1,-1,1),(2657,518,1598,8,60,64,-1,-1,1),(2656,518,1599,8,59,255,-1,-1,1),(2560,518,2113,256,60,64,-1,-1,1),(2617,518,2525,8,46,48,-1,-1,1),(2586,518,2527,1,54,60,-1,-1,2),(2665,518,3233,2,62,255,-1,-1,1),(2619,518,3235,8,62,64,-1,-1,1),(2674,518,3377,32,61,255,-1,-1,1),(2633,518,3378,8,62,255,-1,-1,1),(2545,518,3379,1,61,255,-1,-1,2),(2587,518,3380,1,61,255,-1,-1,2),(2603,518,3381,8,62,255,-1,-1,1),(2646,518,3382,8,62,255,-1,-1,1),(2546,518,3385,1,63,255,-1,-1,2),(2582,518,3386,1,63,255,-1,-1,2),(2567,518,3387,1,63,64,-1,-1,2),(2627,518,3388,8,63,255,-1,-1,1),(2537,518,3390,1,64,255,-1,-1,2),(2640,518,3391,8,64,255,-1,-1,1),(2554,518,3394,256,64,255,-1,-1,1),(2568,518,3395,1,65,255,-1,-1,2),(2561,518,3396,256,65,255,-1,-1,1),(2620,518,3397,8,65,255,-1,-1,1),(2658,518,3399,8,65,255,-1,-1,1),(3293,518,3433,8,61,68,-1,-1,1),(3292,518,3454,8,49,59,-1,-1,1),(2542,518,3573,1,49,53,-1,-1,2),(2543,518,3574,1,54,60,-1,-1,2),(3294,518,5406,8,69,69,-1,-1,0),(3298,518,5417,8,70,255,-1,-1,0),(3297,518,6667,8,69,255,-1,-1,0),(3289,518,6877,2,49,54,-1,-1,1),(3295,518,6906,8,50,56,-1,-1,0),(3296,518,6907,8,57,68,-1,-1,0);

Hopefully this will be of some use to the project! My only other wishlist item would be that the Cleric could be configured to start healing sooner (85% vs 60%) and to top off after a fight. I imagine that is hard coded somewhere since fighting an NPC cleric who healed at 85% would be pretty annoying. lol

kraulek
04-20-2008, 09:18 AM
PS: Also I had a problem at 57 when the Cleric started loading Mark of Karn. She consequently stopped buffing entirely. Once I took that spell out and restarted server, all was well again. So I am not 100% if it was the spell or the restart, however I can tell you that I never had buffing stop before that. Just an FYI :)

Congdar
04-20-2008, 03:00 PM
Here are my latest Source (http://www.cerebus.net:8080//files/downloads/1106BotsSrc.zip) and Binaries (http://www.cerebus.net:8080//files/downloads/1106BotsBin.zip) of bots using the 1106 EQEmu source.

I have made sweeping changes to bot creation stats. If you have existing bots, they need to be updated using #bot update. Caster bots will not know what to cast if you don't, and melee bots will be weak.

If you are using an existing database, 1104+ sources need database updates, check the changelog.txt

Bots now have AA's. I've coded in some offensive and defensive AA's. Most noticeable will be Finsishing Blow if your bot is of the appropriate level.

Some commands have changed or are new. See #bot help and #bot raid help

I've added raid checks to the group commands for attack, follow and guard. This reduced the number of macro's you needed to edit. You can then redirect individual groups using the #bot raid commands if you need to.

Bots are 'social' now such that if the main target has been killed and an add has come in somewhere, the bots will aid whoever is being attacked.

kraulek
04-20-2008, 05:53 PM
Excellent, thanks for the update! The #showstats finally works to count gear and stuff, most excellent! I got it running without any trouble, though I have found a couple issues.

The most major one is that my shaman bot now gets hung up trying to cast buffs. He will get through a few of them, but then will continually be interrupted before he can finish the set. He will keep trying the same one over and over but it never completes. At first I thought it was just Infusion of Spirit (the one he was stuck on at first) though I zoned back to poknowledge and he did get that one complete but got stuck on the next. :( I did not notice any casting interrupt issues during a fight, however.

The other bug I came across is that 2 out of about 15 fights the bots freaked out and started yelling "Shregg is under attack, assisting!" or something to that affect. (Shregg is me on my warrior) This was like 5 times a second at least it seemed like, but other then be pretty funny had no adverse affects that I could tell.

As an FYI, the very first time I did a #bot update on my shaman he was loading the 6 spellset (pre-pet) instead of 518, but after depopping him and zoning he came back with the right set. Just something to watch out for.

Lastly - I have a feature request .... I would love to be able to type something and request a specific buff or spell cast from a bot. Like to have the shaman cast slow on demand, or to refresh Puma/Jaguar mid-fight (since it's a buff he only does it when not engaged but it's only a 1 minute duration). I have no idea if that's possible, or maybe already is using that #ai command like for mez?

Thanks again for everyone's hard work on this addition, they are really fun and I haven't even gotten to the raiding yet!

mburnett
04-21-2008, 09:01 AM
awesome one question are you going to release the diffs so people can stay up to date on their own as well?

cubber
04-21-2008, 06:14 PM
I am trying to update my peq database to 1106 from CVS, the system loaded in fine. But when I go to reload my bots with the bot_npcs.sql script generated by bot_npcs.sh i get the following error:

ERROR 1136 (21S01) at line 25: Column count doesn't match value count at row 1

any ideas how to fix this or do I need to start all my bots from scratch again?

cavedude
04-21-2008, 06:27 PM
Add two 0s at the end of the queries in the file. Two new columns were added to npc_types.

kraulek
04-21-2008, 06:28 PM
Here is a newly updated Shaman spell set. I ran queries for at least 40-70 to make sure that there was only ever 15 spells trying to load, including the best heal.

As an example, here's the 70 loadout. type 8 is buff, 2 is heal, 1 is slow or debuff, 256 is a dot, and 32 is the pet. I had to sacrifice DD (I have a mage for that) but am otherwise pretty happy with the loadout.


ID: Name: Type:
172 Swift Like the Wind 8
278 Spirit of Wolf 8
1588 Turgur's Insects 1
3378 Agility of the Wrulan 8
3380 Cloud of Grummus 1
3386 Malicious Decay 1
3394 Breath of Ultor 256
3395 Malos 1
3396 Blood of Saryrn 256
5389 Farrel's Companion 32
5395 Yoppa's Mending 2
5406 Talisman of Perseverance 8
5415 Talisman of Wunshi 8
5417 Champion 8
6667 Spirit of the Panther 8


SQL code for type 518:

--
-- Dumping data for table `npc_spells_entries`
--
-- WHERE: npc_spells_id=518

LOCK TABLES `npc_spells_entries` WRITE;
/*!40000 ALTER TABLE `npc_spells_entries` DISABLE KEYS */;
INSERT INTO `npc_spells_entries` (`id`, `npc_spells_id`, `spellid`, `type`, `minlevel`, `maxlevel`, `manacost`, `recast_delay`, `priority`) VALUES (2662,518,12,2,19,28,-1,-1,1),(2663,518,15,2,29,48,-1,-1,1),(2661,518,17,2,9,18,-1,-1,1),(2647,518,39,8,29,43,-1,-1,90),(2621,518,40,8,1,18,-1,-1,1),(2549,518,75,256,5,18,-1,-1,1),(2530,518,93,1,1,9,-1,-1,1),(2562,518,110,1,19,33,-1,-1,1),(2563,518,111,1,34,48,-1,-1,1),(2666,518,144,2,24,38,-1,-1,1),(2667,518,145,8,39,51,-1,-1,1),(2635,518,146,8,24,28,-1,-1,1),(2622,518,147,8,19,28,-1,-1,1),(2629,518,148,8,19,33,-1,-1,1),(2642,518,149,8,24,33,-1,-1,1),(2623,518,151,8,29,38,-1,-1,1),(2637,518,152,8,39,48,-1,-1,1),(2624,518,153,8,39,48,-1,-1,1),(2644,518,158,8,44,53,-1,-1,1),(2630,518,160,8,34,43,-1,-1,1),(2643,518,161,8,34,43,-1,-1,1),(2576,518,162,1,29,43,-1,-1,1),(2577,518,163,1,44,52,-1,-1,2),(2669,518,164,32,34,38,-1,-1,1),(2671,518,165,32,41,44,-1,-1,1),(2672,518,166,32,49,54,-1,-1,1),(2614,518,167,8,34,9,-1,-1,1),(2615,518,168,8,44,9,-1,-1,1),(2648,518,170,8,44,55,-1,-1,1),(2649,518,171,8,56,62,-1,-1,1),(2650,518,172,8,63,255,-1,-1,1),(2660,518,200,2,1,8,-1,-1,1),(2588,518,201,1,1,38,-1,200,1),(2612,518,225,8,1,23,-1,-1,1),(2610,518,226,8,9,33,-1,-1,1),(2604,518,227,8,14,38,-1,-1,1),(2606,518,228,8,19,43,-1,-1,1),(2590,518,230,4,14,33,-1,-1,1),(2634,518,266,8,1,23,-1,-1,1),(2596,518,267,8,1,4,-1,-1,1),(2628,518,269,8,5,18,-1,-1,1),(2569,518,270,1,5,13,-1,-1,1),(2651,518,271,8,5,13,-1,-1,1),(2597,518,274,8,5,13,-1,-1,1),(2531,518,275,1,5,13,-1,-1,1),(2555,518,277,256,9,23,-1,-1,1),(2659,518,278,8,9,255,-1,-1,1),(2641,518,279,8,9,23,-1,-1,1),(2652,518,280,8,14,18,-1,-1,1),(2575,518,281,1,14,28,-1,-1,1),(2532,518,282,1,14,23,-1,-1,1),(2598,518,283,8,14,23,-1,-1,1),(2653,518,308,8,19,33,-1,-1,1),(2654,518,326,8,34,48,-1,-1,1),(2655,518,337,8,49,58,-1,-1,1),(2636,518,349,8,29,38,-1,-1,1),(2551,518,365,256,19,33,-1,-1,1),(2600,518,431,8,34,43,-1,-1,1),(2556,518,434,256,24,38,-1,-1,1),(2557,518,435,256,39,48,-1,-1,1),(2558,518,436,256,49,55,-1,-1,1),(2538,518,437,1,24,33,-1,-1,1),(2540,518,438,1,39,43,-1,-1,1),(2570,518,505,1,14,28,-1,-1,1),(2571,518,506,1,29,38,-1,-1,1),(2572,518,507,1,39,50,-1,-1,1),(2533,518,508,1,24,33,-1,-1,1),(2534,518,509,1,34,43,-1,-1,1),(2550,518,511,256,19,33,-1,-1,1),(2608,518,524,8,5,28,-1,-1,1),(2579,518,526,1,19,38,-1,-1,1),(2599,518,649,8,24,33,-1,-1,1),(3290,518,1290,2,55,61,-1,-1,1),(2539,518,1427,1,34,43,-1,-1,1),(2541,518,1429,1,44,48,-1,-1,1),(2618,518,1432,8,60,61,-1,-1,1),(2668,518,1568,8,52,60,-1,-1,1),(2673,518,1574,32,55,60,-1,-1,1),(2565,518,1577,1,57,59,-1,-1,2),(2566,518,1578,1,60,62,-1,-1,2),(2632,518,1579,8,53,61,-1,-1,1),(2573,518,1588,1,51,255,-1,-1,1),(2559,518,1590,1,56,59,-1,-1,2),(2553,518,1591,1,59,63,-1,-1,2),(2657,518,1598,8,60,64,-1,-1,1),(2656,518,1599,8,59,59,-1,-1,1),(2560,518,2113,256,60,64,-1,-1,1),(2617,518,2525,8,46,48,-1,-1,1),(2665,518,3233,2,62,67,-1,-1,1),(2619,518,3235,8,62,64,-1,-1,1),(2674,518,3377,32,61,66,-1,-1,1),(2633,518,3378,8,62,255,-1,-1,1),(2587,518,3380,1,61,255,-1,-1,2),(2582,518,3386,1,63,255,-1,-1,2),(2567,518,3387,1,63,64,-1,-1,2),(2554,518,3394,256,64,255,-1,-1,1),(2568,518,3395,1,65,255,-1,-1,2),(2561,518,3396,256,65,255,-1,-1,1),(2620,518,3397,8,65,69,-1,-1,1),(2658,518,3399,8,65,69,-1,-1,1),(3293,518,3433,8,61,68,-1,-1,1),(3292,518,3454,8,49,59,-1,-1,1),(2542,518,3573,1,49,53,-1,-1,2),(3299,518,5389,32,67,255,-1,-1,1),(3300,518,5395,2,68,255,-1,-1,1),(3294,518,5406,8,69,255,-1,-1,0),(3301,518,5415,8,70,255,-1,-1,1),(3298,518,5417,8,70,255,-1,-1,0),(3297,518,6667,8,69,255,-1,-1,0),(3289,518,6877,2,49,54,-1,-1,1),(3295,518,6906,8,50,56,-1,-1,0),(3296,518,6907,8,57,68,-1,-1,0);

cubber
04-21-2008, 09:37 PM
After adding the 0's I was able to source my bots back in, thanks. However I ran into one other issue. I compiled the new bot source but when I log into the world and to a #bot spawn or pretty much any #bot command I get the following:

Command 'bot' not recognized.

The 1102 sources worked fine for me. Am I missing something with the new 1106 sources? Before with the 1102 I just needed to compile the zone binary, and move that over to my server folder. I have tried just the 1106 zone file, and I also tried compiling and using the included world and EMUSharemem with the same results. This is on linux.

Thanks

cubber
04-21-2008, 09:44 PM
Never mind I think I figured out my issue, I forgot to edit the bot stuff into the makefiles.

Congdar
04-22-2008, 09:24 AM
awesome one question are you going to release the diffs so people can stay up to date on their own as well?

I'm not sure how to do that. I use DiffZilla to merge the bot changes with the latest source. Seems to work fine.

kraulek
04-22-2008, 12:20 PM
One thing i have noticed with pet classes (at least Mages and Shaman) are that they tend to waste 2 slots on the same pet summon. I have not found a way to fix that in the database, so I'm guessing it's a bug in some code somewhere? I had thought it was just the shaman but I looked closer at the mage #bot debug spell list and saw that she had loaded an Earth, Fire, Wind, and Water pet ... and a 2nd Fire one.

Congdar
04-22-2008, 02:13 PM
Spell lists for the caster bots are next on my list of things to work on. The current spell selections are for NPC's and the bots just kinda hijacked the entires. There has been some discussion on this, so the spell lists I come up with will use thier own database entries instead of the ones created for the NPC's. I have the Cleric done and I'll move down the list from there.

Jason1983
04-24-2008, 04:12 PM
Is there a way to cut off the social they are under attack or something? I am putting bots together at times that spam very fastly this social.

Congdar
04-24-2008, 11:23 PM
I've seen the repeating text issue. This is because you've told your bots to attack and they don't have line-of-site with the target. Try #bot summon and if you have line of site, then they will too. I think this is what you are asking about, no?

Aramid
04-24-2008, 11:41 PM
Any idea why the casters are always being interrupted? Sorry, I can't give any detailed info at this time, but I was just running thru innovation reeking havoc and even when they were told to guard, the casters are constantly having spells interrupted.

Jason1983
04-25-2008, 01:07 AM
Yes that is it. Actually for some strange reason they just start running that script for no reason. Not even attacking anything. Enchanters seem to be the worse.

Congdar
04-25-2008, 10:15 AM
Any idea why the casters are always being interrupted? Sorry, I can't give any detailed info at this time, but I was just running thru innovation reeking havoc and even when they were told to guard, the casters are constantly having spells interrupted.

My Ranger does this. Mage, Wiz, Cleric, Necro, Druid, Shaman, Paladin, Shadowknight, Enchanter i've tried and don't. I'll look and see if there is some ranger specific bot code somewhere. Do you have other casters do this?

Yes that is it. Actually for some strange reason they just start running that script for no reason. Not even attacking anything. Enchanters seem to be the worse.

Might be a different script? This would only happen if somebody has aggro and theres a line-of-site issue. If you have HTT installed you could cycle through your bots and see who has aggro. Summoning them has always fixed it for me.

Aramid
04-25-2008, 04:43 PM
My Ranger does this. Mage, Wiz, Cleric, Necro, Druid, Shaman, Paladin, Shadowknight, Enchanter i've tried and don't. I'll look and see if there is some ranger specific bot code somewhere. Do you have other casters do this?

Hmm, I don't use a Ranger. My Casters are Chanter, Shaman, Cleric and Wizard. I'll pay attention to which it is, but I'm purty sure it was more than one....

BTW: Thanks for keeping this alive. I could never do it...

Aramid
04-25-2008, 06:22 PM
I am just standing in POInnovation with my bots of a Warrior, Cleric, Shaman, Enchanter and Druid.

The Shaman and Enchanter are repeatedly casting a spell and getting interrupted. Even if I tell the group to guard.
The Shaman is trying to cast Talisman of Alacrity and the Enchanter is trying to cast Vallon's Quickening. They are doing it continuously over and over... They cast and about 3 seconds later they get interrupted...

Hope this will shed some light....

kraulek
04-26-2008, 02:22 PM
I have exact same problem with spell interrupt. I have mage, shaman, and cleric, but only noticed it on the shaman. I had to go back to 1102 binaries, which sucks cause the other improvements were nice.

Congdar
04-27-2008, 10:21 PM
Here are my latest Source (http://www.cerebus.net:8080//files/downloads/1108BotsSrc.zip) and Binaries (http://www.cerebus.net:8080//files/downloads/1108BotsBin.zip) of bots using the 1108 EQEmu source.

If you are using an existing database, 1108+ sources need database updates, check the changelog.txt

I fixed the spell interrupted issue with my Ranger so hopefully it fixes everyone elses interrupts too.

Bardbots have suddenly remembered how to play songs.

RCPD0715
04-28-2008, 06:48 PM
Hey there, quick observation from my server...I have a gear bot that hands out "cheater gear" and you can use the gear to equip the bots...prior to the last 2 updates, the gear would reflect correctly on the bots, but now for some reason, when I use #bot update it shows for example HP 12322 MANA 11065, but when I use #showstats or #npcstats it shows HP 7907 MANA 8904 and when the bot shows its medding message it shows the mana at 8904...with the gear it should be significantly higher...not sure what changed to make this different..thanks

RCPD0715
04-28-2008, 06:54 PM
**Also, the bots used to work for level 85 as that is what my max level was on my server..but since the last 2 updates, I had to change my max level for my server back to 70, because above 70 the bots would simply not cast anything..

RCPD0715
04-28-2008, 07:19 PM
here comes another error...for some reason now when using bots, the mobs are vanishing upon death...no xp and even if the mob has loot its poofing...grr

Congdar
04-29-2008, 01:37 PM
Hey there, quick observation from my server...I have a gear bot that hands out "cheater gear" and you can use the gear to equip the bots...prior to the last 2 updates, the gear would reflect correctly on the bots, but now for some reason, when I use #bot update it shows for example HP 12322 MANA 11065, but when I use #showstats or #npcstats it shows HP 7907 MANA 8904 and when the bot shows its medding message it shows the mana at 8904...with the gear it should be significantly higher...not sure what changed to make this different..thanks

I do add in item bonus' during the calculation, not sure why it isn't picking it up. I'll look at the calcs again.


**Also, the bots used to work for level 85 as that is what my max level was on my server..but since the last 2 updates, I had to change my max level for my server back to 70, because above 70 the bots would simply not cast anything..

I didn't add anything specific for level and casting. The spell tables come from the database, not sure if any changes happened there. Clerics use entry 1 but pet casters use entires in the 500's


here comes another error...for some reason now when using bots, the mobs are vanishing upon death...no xp and even if the mob has loot its poofing...grr

I do know about this, but it is one of those "doesn't always happen" bugs that are much harder to find... still looking.

RCPD0715
04-29-2008, 02:05 PM
thanks congdar...i know it seems like im complaining, but my clients on the server are bugging me about these things and I dont know what to tell them lol

Gieese
04-30-2008, 01:48 AM
Hello, love this bots support, and during the time around am enjoying it.

Within this bots, got a question.

So far, am playing it on miniLogin, Hamachi (VPN), EQEmu 1108. So eventually am playing EQEmu with bots with several friends. In this case, currently.

Grp 1
Me, bot1-bot5 (Bot owner Me)

Grp 2
Friend1, bot6-bot10 (Bot owner Friend1)

Grp 3
Friend2, bot11-15 (Bot owner Friend2)

In this kind of situation is it possible to create a raid between Grp1, 2 and 3?
I did Bots and me Raid by and that has worked. Just wanted to know if Raid with me and my bots with friend and his bots RAID is possible or not.

In the above case, Grp1, 2 and 3, independently, is working great.

***

One thing I've noticed is, sometimes I get a "you don't own that bot so can't spawn" type message, although, I've just created him/her.

Congdar
04-30-2008, 10:24 AM
no, you would have to be grouped with your friends.

group 1: you, friend1, friend2, bot, bot, bot

group 2+ all bots.

Gieese
04-30-2008, 11:04 AM
Thx much for the confirmation.

Trynix
04-30-2008, 04:04 PM
Here are my latest Source (http://www.cerebus.net:8080//files/downloads/1108BotsSrc.zip) and Binaries (http://www.cerebus.net:8080//files/downloads/1108BotsBin.zip) of bots using the 1108 EQEmu source.

If you are using an existing database, 1108+ sources need database updates, check the changelog.txt

I fixed the spell interrupted issue with my Ranger so hopefully it fixes everyone elses interrupts too.

Bardbots have suddenly remembered how to play songs.

I am trying to compile the source and getting the following error:

make -C eqlaunch
make: *** eqlaunch: No such file or directory. Stop.
make: *** [all] Error 2

I have checked 1106 and the 1108 and there is no eqlaunch directory in either archive.

cavedude
04-30-2008, 04:39 PM
Grab eqlaunch from the downloads section or CVS. The bots code doesn't touch it, so you can use stock EQEmu code.

cubber
05-01-2008, 08:45 AM
Isn't zone the only thing you need to compile from the bot code?

Congdar
05-01-2008, 10:57 AM
I think sharedmem is also required, not positive about world. I add EQBOTS to all 3 just to be sure.

cubber
05-01-2008, 11:00 AM
I started using bots since your 1102 release and have always just compiled zone and copied the zone binary to my server directory. Has worked every time. I see no issues with the bot system by doing it this way. The rest of the server is built from the regular eqemu sources.

happygreenelf
05-02-2008, 12:14 AM
hi sorry not sure what im doing cant get the raid groups formed up
Ok so i can get a group leader in there but then i go to get other bots in that group and they just die , could someone show me what i am doing wrong .
lets say i need ClericBETA in Wara group how do i go about that ?

happygreenelf
05-02-2008, 12:51 AM
so everytime i type #bot raid invite bot (groupleaders name ) it says you did not type the correct group leaders name and kills the bot , any help here would be great :)

happygreenelf
05-02-2008, 02:01 AM
so everytime i type #bot raid invite bot (groupleaders name ) it says you did not type the correct group leaders name and kills the bot , any help here would be great :)

nm i figured it out sorry to bother

trevere
05-02-2008, 02:27 PM
This is a followup to RCDP0715's post about Bot gear and stats. I play on his server and the bot code is up to date, as I understand it.

I've done several tests by adding equipment to newly created and spawned lvl 70 bots and see some apparently odd behavior. I'll mention of couple of oddities.
When I add an item with a negative stat , the #showstat function shows the stat(-3 int in this case- Giant Scalemail Sleeves) increased by 3.

When I give the bot(70 Ogre War) a group of equipment(all unedited items, mostly from Kael) and then remove them one by one, the bot inventory list command shows that all items have been removed- all slots are clear- and I put the items in my inventory. The NPCStats, however, will show some of the items still on the bot.

{I also created a cleric and gave items to her and then removed them- in one case I did this with the same item 3 times and ended up with NPCstats showing 3 of that item on the bot and #bot inventory list showing all slots clear. Despawning the bot(camp,zone,..) eliminates the items from her inventory.}


The HP stat shows inconsistent values, for example, giving Chestplate of Vindication to the bot and then removing it resulted in a 20hp drop in the showstats numbers.

I have a log of all of these actions but it is long and would take some effort to distill the essentail info. Please let me know if any of this is useful and if you would like more details.

debili

Congdar
05-02-2008, 06:25 PM
There seems to be an issue with #showstats. I did make changes to the bot calcs and revealed this:

Unequipped Necromancer bot - Level 65

Necromancer says 'Base stats:'
Necromancer says 'HP: 1187 Mana: 2145 AC: 780 STR: 80 STA: 90 DEX: 100 AGI: 100 WIS: 103 INT: 157 CHA: 90'
Necromancer says 'Resists-- Magic: 50, Fire: 45, Cold: 45, Poison: 35, Disease: 30.'
Necromancer says 'I'm updated.'
Necromancer says 'HP: 1187 Mana: 2145 AC: 780 STR: 80 STA: 90 DEX: 100 AGI: 100 WIS: 103 INT: 157 CHA: 90'
Necromancer says 'Resists-- Magic: 50, Fire: 45, Cold: 45, Poison: 35, Disease: 30.'
You say, '#showstats'
Name: Necromancer000 Bot
Level: 65 MaxHP: 1187 CurHP: 1187 AC: 780 Class: 11
MaxMana: 2145 CurMana: 2145 ATK: 10 Size: 6.0
STR: 80 STA: 90 DEX: 0 AGI: 0 INT: 157 WIS: 103 CHA: 90
MR: 50 PR: 35 FR: 45 CR: 45 DR: 30
Race: 3 BaseRace: 3 Texture: 0 HelmTexture: 0 Gender: 1 BaseGender: 1
EntityID: 291 PetID: 292 OwnerID: 0 AIControlled: 1
NPCID: 2700013 SpawnGroupID: 0 LootTable: 0 FactionID: 0 SpellsID: 515 MerchantID: 0
Accuracy: 0
AIControlled: AggroRange: 70 AssistRange: 70

Stats look the same unequipped, so I gave the bot a Warlock's Crown AC: 6 STA: +7 INT: +4 HP: +20 MANA: +10

Necromancer says 'I'm updating...'
Necromancer says 'Base stats:'
Necromancer says 'HP: 1187 Mana: 2145 AC: 780 STR: 80 STA: 90 DEX: 100 AGI: 100 WIS: 103 INT: 157 CHA: 90'
Necromancer says 'Resists-- Magic: 50, Fire: 45, Cold: 45, Poison: 35, Disease: 30.'
Necromancer says 'I'm updated.'
Necromancer says 'HP: 1228 Mana: 2220 AC: 786 STR: 80 STA: 97 DEX: 100 AGI: 100 WIS: 103 INT: 161 CHA: 90'
Necromancer says 'Resists-- Magic: 55, Fire: 49, Cold: 45, Poison: 35, Disease: 30.'
Necromancer says 'Thank you for the Warlock's Crown , Congdar.'
You say, '#showstats'
Name: Necromancer000 Bot
Level: 65 MaxHP: 1208 CurHP: 1208 AC: 792 Class: 11
MaxMana: 2285 CurMana: 2285 ATK: 10 Size: 6.0
STR: 80 STA: 104 DEX: 100 AGI: 100 INT: 165 WIS: 103 CHA: 90
MR: 60 PR: 35 FR: 53 CR: 45 DR: 30
Race: 3 BaseRace: 3 Texture: 0 HelmTexture: 0 Gender: 1 BaseGender: 1
EntityID: 291 PetID: 292 OwnerID: 0 AIControlled: 1
NPCID: 2700013 SpawnGroupID: 0 LootTable: 0 FactionID: 0 SpellsID: 515 MerchantID: 0
Accuracy: 0
AIControlled: AggroRange: 70 AssistRange: 70

Differences:
My HP calcs updated the base hp to 1208 with the +7STA and then added in the 20HP for 1228
#showstats only updated the +7STA to 1208 and didn't add in the 20HP

My INT calcs added in the +4
#showstats added in +8 INT

My STA calcs added in the +7
#showstats added in +14 STA

My Mana calcs updated the base mana to 2210 with the +4INT and added in the 10MANA for 2220
#showstats came up with 2285 by doubling the INT from 4 to 8 to get 2275 and then adding in the 10MANA

My AC calc added 6
#showstats AC calc added 12

So should I change the bot code to double everything but HP and ignore HP bonuses? Also, try #showstats on yourself.

#bot update will update your bot stats with my calcs. #showstats will update your bot stats with different calcs. Use the one you like best ;)

trevere
05-02-2008, 10:29 PM
Thank you for the quick response and the illuminating information. If I understand your post, when the #showstats command is used it recalculates the bots stats, AC, etc. and the resulting numbers become the actual values seen by the emulator and used in calculations. The #bot update command also recalculates these values and changes the data used by the emulator. If this is correct, I will be sure to not use the showstats command without a following update command, the #bot update values are much closer to what I would expect, given the bots' levels and the equipment they have.

Thanks for the clarification
debili

Congdar
05-02-2008, 11:16 PM
#showstats is just putting out what data is available. I'm probably pluggin the wrong data in somewhere around the item calcs, but I'm workin' on it.

Andrew80k
05-02-2008, 11:35 PM
Congdar,

I'm having trouble getting it to link on Linux. It's not including botAI.cpp and botRaids.cpp in the make, and they're not getting compiled, therefore they're also not being included in the link.

I've tried adding them to the .depend but it's not having any affect. Any insight?

Thanks.

Congdar
05-02-2008, 11:59 PM
post #381 and #382 in this thread talk about that.

trevere
05-03-2008, 12:00 AM
Hi Congdar,
Thanks for correcting my misunderstanding. I did log in and spawn my bots to ensure that I had last used update before checking their stats. The cleric does report a lower value (9180 vs 10195 from an update) for mana while medding, the same number showstats produced.

The gear she's wearing has ~9700 mana and her wis would be at cap from the gear for level 70. Do you do any sort of correction for typical AA's? My BL is wearing nearly the same gear and shows about 14k mana in the inventory window with Clairvoyance and maxed AA's for stats producing 405 wis.

Thanks for all the work you have put into the bot code. If I can do anything to help clarify what is happening, I will be glad to do so.

Best Regards,
debili