Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Bots

Development::Bots Forum for bots.

Closed Thread
 
Thread Tools Display Modes
  #256  
Old 08-16-2007, 01:15 AM
Magoth78
Discordant
 
Join Date: Jun 2003
Posts: 345
Default

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
__________________
User's projects:
-- Original EMPIRE I/II and Factions! servers
-- Web GM Portal
-- EQoffline/bots
  #257  
Old 08-16-2007, 05:53 AM
drakelord
Hill Giant
 
Join Date: Nov 2002
Location: NC, USA
Posts: 182
Default

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?
  #258  
Old 08-16-2007, 08:02 AM
Magoth78
Discordant
 
Join Date: Jun 2003
Posts: 345
Default

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.
__________________
User's projects:
-- Original EMPIRE I/II and Factions! servers
-- Web GM Portal
-- EQoffline/bots

Last edited by Magoth78; 08-16-2007 at 04:05 PM..
  #259  
Old 08-16-2007, 09:40 AM
sonicvt
Fire Beetle
 
Join Date: Jul 2007
Posts: 22
Default

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?
  #260  
Old 08-16-2007, 09:49 AM
sonicvt
Fire Beetle
 
Join Date: Jul 2007
Posts: 22
Default

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.
  #261  
Old 08-16-2007, 10:27 AM
drakelord
Hill Giant
 
Join Date: Nov 2002
Location: NC, USA
Posts: 182
Default

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.
  #262  
Old 08-16-2007, 08:30 PM
Magoth78
Discordant
 
Join Date: Jun 2003
Posts: 345
Default

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
__________________
User's projects:
-- Original EMPIRE I/II and Factions! servers
-- Web GM Portal
-- EQoffline/bots
  #263  
Old 08-17-2007, 02:06 AM
GeorgeS
Forum Guide
 
Join Date: Sep 2003
Location: California
Posts: 1,474
Default

"#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
__________________
Your source for EQ database tools
Toolshop is open for business


http://www.georgestools.chrsschb.com//
  #264  
Old 08-17-2007, 03:40 AM
drakelord
Hill Giant
 
Join Date: Nov 2002
Location: NC, USA
Posts: 182
Default

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.

Quote:
Originally Posted by Magoth78 View Post
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
  #265  
Old 08-18-2007, 03:13 AM
Magoth78
Discordant
 
Join Date: Jun 2003
Posts: 345
Default

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.
__________________
User's projects:
-- Original EMPIRE I/II and Factions! servers
-- Web GM Portal
-- EQoffline/bots
  #266  
Old 08-18-2007, 03:42 AM
Bjerlk
Fire Beetle
 
Join Date: Apr 2007
Posts: 10
Default

Excellent progress sire.
Huge kudos to you.

I love swarming around with my private army...
  #267  
Old 08-18-2007, 04:20 AM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

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!
  #268  
Old 08-18-2007, 05:17 AM
Magoth78
Discordant
 
Join Date: Jun 2003
Posts: 345
Default

It's 992, yes.
__________________
User's projects:
-- Original EMPIRE I/II and Factions! servers
-- Web GM Portal
-- EQoffline/bots
  #269  
Old 08-19-2007, 12:33 AM
drakelord
Hill Giant
 
Join Date: Nov 2002
Location: NC, USA
Posts: 182
Default

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?
  #270  
Old 08-19-2007, 01:18 AM
Magoth78
Discordant
 
Join Date: Jun 2003
Posts: 345
Default

To be sure that it's loading your spells, target your bot and do "#ai spellslist 600".
__________________
User's projects:
-- Original EMPIRE I/II and Factions! servers
-- Web GM Portal
-- EQoffline/bots
Closed Thread


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 09:42 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3