EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Bots (https://www.eqemulator.org/forums/forumdisplay.php?f=676)
-   -   EQoffline, bots and more.. (https://www.eqemulator.org/forums/showthread.php?t=22667)

Skizoke 10-05-2008 04:55 PM

Also here is a better look at what I am doing. I may be doing something wrong.

Posted from my eqlog.txt file:

[Sun Oct 05 15:35:34 2008] Logging to 'eqlog.txt' is now *ON*.
[Sun Oct 05 15:35:39 2008] You say, '#bot group remove'
[Sun Oct 05 15:35:39 2008] Oozo says 'Bot Deactivated'
[Sun Oct 05 15:35:39 2008] Oozo tries to punch himself, but misses!
[Sun Oct 05 15:35:39 2008] Oozo000 has left the group.
[Sun Oct 05 15:35:39 2008] Oozo says 'oof'
[Sun Oct 05 15:35:43 2008] You say, '#bot spawn 1000009'
[Sun Oct 05 15:35:43 2008] Oozo says 'I am ready for battle.'
[Sun Oct 05 15:35:44 2008] Targeted (NPC): Oozo
[Sun Oct 05 15:35:44 2008] Right click on the NPC to consider him.
[Sun Oct 05 15:35:46 2008] You say, '#bot group add'
[Sun Oct 05 15:35:46 2008] Oozo says 'I'm becoming Frie's bot!'
[Sun Oct 05 15:35:46 2008] Oozo000 has joined the group.
[Sun Oct 05 15:35:46 2008] Oozo says 'I'm updating...'
[Sun Oct 05 15:35:46 2008] Oozo says 'Base stats:'
[Sun Oct 05 15:35:46 2008] Oozo says 'Level: 10 HP: 165 AC: 120 Mana: 230 STR: 70 STA: 100 DEX: 100 AGI: 100 INT: 105 WIS: 75 CHA: 50'
[Sun Oct 05 15:35:46 2008] Oozo says 'Resists-- Magic: 20, Poison: 15, Fire: 20, Cold: 25, Disease: 15.'
[Sun Oct 05 15:35:46 2008] Oozo says 'I'm updated.'
[Sun Oct 05 15:35:46 2008] Oozo says 'Level: 10 HP: 165 AC: 120 Mana: 530 STR: 70 STA: 100 DEX: 100 AGI: 100 INT: 105 WIS: 75 CHA: 50'
[Sun Oct 05 15:35:46 2008] Oozo says 'Resists-- Magic: 20, Poison: 15, Fire: 20, Cold: 25, Disease: 15.'
[Sun Oct 05 15:35:50 2008] Targeted (NPC): orc centurion
[Sun Oct 05 15:35:50 2008] Right click on the NPC to consider it.
[Sun Oct 05 15:35:51 2008] You say, '#bot group order attack'
[Sun Oct 05 15:35:51 2008] Oozo says 'Attacking orc centurion.'

End of Log


But bot never moved or attack that npc.

Congdar 10-05-2008 04:56 PM

If you are running the 1129 bots with the 1110 database then you need to add any sql to your database since that build.
Check the log file for sql updates. This may not fix it but it might.
http://www.eqemulator.net/download.php

try and get the latest .conf files too

Congdar 10-05-2008 05:11 PM

it might be better to just download the 1129 database from his link to cvs on his forums

Skizoke 10-05-2008 05:28 PM

Ok, I just updated the db using the changelogs. If it doesn't work I will do that.

One question, I don't have 1129 server. The only that is 1129 is the bots.

I overwrote EMuShareMem.dll, World.exe, and zone.exe using the bots download.

Does everything need to be 1129? I set this serverup using Cavedudes serverpack since I am definately not an advanced user.

Skizoke 10-05-2008 07:48 PM

Everything seems to be working now, thanks for your help.

Andrew80k 10-05-2008 08:49 PM

running r49 with the Bots, and I must say I'm liking it. Couple things I noticed:

1. I'm using level 70 bots, and I get a few Unkown spell effects with the spell list that you published.
2. The bots will assist each other but not me.

Couple details -- I run a Ranger, and the bots are a Paladin, Cleric, Shaman, Rogue, Enchanter. Doubt it makes any difference, but just in case.

nicholasjohn 10-05-2008 11:13 PM

for some reason when I'm compiling the source from the SVN revision 52 the bots dont seem to be included although i do see the botai.cpp being compile.
Do i need to do something different to enable this code?

cubber 10-06-2008 08:41 AM

You need to edit your makefiles to include the bot code.

1. Change the following in zone/makefile:

Code:

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

Code:

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

Code:

../common/guild_base.o guild_mgr.o
to:

Code:

../common/guild_base.o guild_mgr.o task.o raids.o botRaids.o botAI.o petAI.o
3. run make

nosfentora 10-06-2008 09:06 AM

Maybe i missed it but which version is the 'most recent'/up-to date?
Condagars or the SVN's? or are they the same?

Is the CVS no longer current?

Congdar 10-06-2008 09:21 AM

Quote:

Originally Posted by Andrew80k (Post 157774)
running r49 with the Bots, and I must say I'm liking it. Couple things I noticed:

1. I'm using level 70 bots, and I get a few Unkown spell effects with the spell list that you published.
2. The bots will assist each other but not me.

Hopefully all the spells will be fully supported one day. Are you sure about the assist thing? You attack and they just stand there? Maybe you have them in 'guard' mode. You must use the follow command to get them to assist you again after using guard or enraged commands.

Quote:

Originally Posted by nosfentora (Post 157803)
Maybe i missed it but which version is the 'most recent'/up-to date?
Condagars or the SVN's? or are they the same?

Is the CVS no longer current?


I will try to keep them at the same level. They were identical at 1129 and r47

nicholasjohn 10-06-2008 09:38 AM

Quote:

Originally Posted by cubber (Post 157802)
You need to edit your makefiles to include the bot code.

1. Change the following in zone/makefile:

Code:

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

Code:

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

Code:

../common/guild_base.o guild_mgr.o
to:

Code:

../common/guild_base.o guild_mgr.o task.o raids.o botRaids.o botAI.o petAI.o
3. run make

ok I did steps 1 and 2 not quite sure what you meant by step 3 ?
But i still do not have bots enabled for some reason.
Thanks in advanced for any help

Angelox 10-06-2008 09:42 AM

Congdar;

How do you feel about adding a few more spells as bot commands?

#bot groupwolf ( don't always want to be a wolf)
#bot levitate (I hate bobbin' around like a cork in a pond all the time)
#bot seeinv (I don't even know if this is needed at all, but it takes up a buff slot)

cubber 10-06-2008 09:44 AM

Nicholasjohn:

step 3. is how you compile the source on linux. Not sure what you need to do for a windows compile.

Angelox:

I agree, I do notice that when I summon support type bots I get hit with alot of junk buffs first and never seem to have room for the good stuff.

I have levetating as a monk! That is why we have safe fall =P

Congdar 10-06-2008 09:50 AM

Quote:

Originally Posted by Angelox (Post 157808)
Congdar;

How do you feel about adding a few more spells as bot commands?

#bot groupwolf ( don't always want to be a wolf)
#bot levitate (I hate bobbin' around like a cork in a pond all the time)
#bot seeinv (I don't even know if this is needed at all, but it takes up a buff slot)

I've added some, but I'm trying to add ones that can't be easily acquired other ways. Levitate and see invis can be found on items, or if you have a wizard bot you can get levitate. I'm confused with what you have in the () you want these commands to make is so you don't lev or wolf or seeinv?
Quote:

Originally Posted by cubber (Post 157809)
step 3. is how you compile the source on linux. Not sure what you need to do for a windows compile.

see post #750

nosfentora 10-06-2008 10:11 AM

Thanks Congdar - and keep up the good work!

Andrew80k 10-06-2008 10:56 AM

Quote:

Originally Posted by Congdar (Post 157805)
Hopefully all the spells will be fully supported one day. Are you sure about the assist thing? You attack and they just stand there? Maybe you have them in 'guard' mode. You must use the follow command to get them to assist you again after using guard or enraged commands.

Yeah, I don't usually use the guard command as I move far too fast for all that. It's interesting. They'll follow me around and sit there while I get the crap beat out of me by 6 or 7 mobs. You know Rangers, we're not happy unless there are plenty of mobs. I have to tell them to attack each mob in turn. As long as I tell them to, they'll happily go about their business. It's like having an employee with no initiative. :)

By the way, I did notice one other thing. My Paladin was critting in the 8k's. Now he's got pretty damn good gear and all but that still seems a little high for a Paladin. And that may not be a BOT thing either. Maybe general issue.

Congdar 10-06-2008 11:23 AM

not sure what your issue is, testing just now my bots assist me without having to do anything.

nicholasjohn 10-06-2008 11:29 AM

Quote:

Originally Posted by Andrew80k (Post 157812)
Yeah, I don't usually use the guard command as I move far too fast for all that. It's interesting. They'll follow me around and sit there while I get the crap beat out of me by 6 or 7 mobs. You know Rangers, we're not happy unless there are plenty of mobs. I have to tell them to attack each mob in turn. As long as I tell them to, they'll happily go about their business. It's like having an employee with no initiative. :)

By the way, I did notice one other thing. My Paladin was critting in the 8k's. Now he's got pretty damn good gear and all but that still seems a little high for a Paladin. And that may not be a BOT thing either. Maybe general issue.

I noticed the same thing just now, they will not assist until i use the #bot group order attack. They just stand around and never get in the fight.

Congdar 10-06-2008 12:07 PM

strange, like I said... I'm not seeing this problem. anything else you can tell me? Are your bots in a group? Is their gear equipped?

Andrew80k 10-06-2008 12:22 PM

Quote:

Originally Posted by Congdar (Post 157817)
strange, like I said... I'm not seeing this problem. anything else you can tell me? Are your bots in a group? Is their gear equipped?

Yep, equipped, in the group, working great except for the assist thing. I'm running on FC8 Linux. Compiled no problems. Can't think of anything that would cause them to not assist either, especially since you say they are working for you. Last version I ran they assisted me no problem though. So /em shrugs. At work now so really can't play with it. Maybe I'll try to throw a debug message or two in it to give some more feedback later on.

Congdar 10-06-2008 12:27 PM

what version are you using? check the date on your zip file and/or exe's. There may be a newer version. there was a version up for a short time that had a follow bug in it.

nicholasjohn 10-06-2008 12:35 PM

Quote:

Originally Posted by Congdar (Post 157817)
strange, like I said... I'm not seeing this problem. anything else you can tell me? Are your bots in a group? Is their gear equipped?

bots have gear and grouped up, I made a more bots and tried no gear and still no assist. I just compiled from the SVN revision 54.

I'm doing the same things i did on the previous revision and it did work on that version.

Andrew80k 10-06-2008 12:42 PM

Quote:

Originally Posted by nicholasjohn (Post 157824)
bots have gear and grouped up, I made a more bots and tried no gear and still no assist. I just compiled from the SVN revision 54.

I'm doing the same things i did on the previous revision and it did work on that version.

Yeah, same here. I'm on r52. Bots grouped and geared.

Congdar 10-06-2008 12:49 PM

I wonder if Angelox's name change broke it. but that's not till r54 /shrug

Andrew80k 10-06-2008 12:51 PM

Quote:

Originally Posted by Congdar (Post 157827)
I wonder if Angelox's name change broke it.

I'm not running that yet. I'm running the r52 which is prior to it.

Congdar 10-06-2008 01:14 PM

must be the svn version. The code is identical from the public version 1129 but I've found some things don't work the same in the svn source. I'll see if I can figure it out. It works fine in the public version.

Andrew80k 10-06-2008 01:25 PM

Quote:

Originally Posted by Congdar (Post 157829)
must be the svn version. The code is identical from the public version 1129 but I've found some things don't work the same in the svn source. I'll see if I can figure it out. It works fine in the public version.

Awesome, Congdar. Thanks. And thanks for all the stuff you do to help the project.

nosfentora 10-06-2008 02:32 PM

i left my char logged in w/ bots spawned over the weekend. Congdar's last 1129 release (not the current). bots defended me the entire time apparently - i had 19 extra AA points this morning.

on another note i shut the server down and upgraded to 1129c from the CVS, downloaded Congdar's 1129bBotsBin and fired up the server. 5 or 6 hours later (w/ noone logged in) my world.exe is reporting 1,110 stops/starts of PAINEEL.

dunno if it's my db, or a genral bug or what.

just downloaded R41 and trying that.

Angelox 10-06-2008 02:36 PM

Quote:

Originally Posted by Congdar (Post 157810)
I've added some, but I'm trying to add ones that can't be easily acquired other ways. Levitate and see invis can be found on items, or if you have a wizard bot you can get levitate. I'm confused with what you have in the () you want these commands to make is so you don't lev or wolf or seeinv?
see post #750

What I meant was, Instead of the Bot constantly casting group wolf or lev (and lev-laced spells) on you, you could command when needed (make it choose able). But since I'm just a 'spoke on your wheel', I felt i'd consult you before making any changes.

Also for the Yaulp and 'Yaulp like' short -term spells (Fleeting fury), there could probably be some code to where it could be used when engaged only, so as not to be yaulping all the time.

Angelox 10-06-2008 02:40 PM

Quote:

Originally Posted by nosfentora (Post 157837)
i left my char logged in w/ bots spawned over the weekend. Congdar's last 1129 release (not the current). bots defended me the entire time apparently - i had 19 extra AA points this morning.

on another note i shut the server down and upgraded to 1129c from the CVS, downloaded Congdar's 1129bBotsBin and fired up the server. 5 or 6 hours later (w/ noone logged in) my world.exe is reporting 1,110 stops/starts of PAINEEL.

dunno if it's my db, or a genral bug or what.

just downloaded R41 and trying that.

Devs have added/changed many tables , get the sql Cavedude placed in the /source/utils/sql/ part of the SVN and go through it make sure you got them all in.
I've had similar problems due to missing sql updates or tables.

Derision 10-06-2008 02:49 PM

Quote:

Originally Posted by Congdar (Post 157829)
must be the svn version. The code is identical from the public version 1129 but I've found some things don't work the same in the svn source. I'll see if I can figure it out. It works fine in the public version.

My guess is the changes in Rev38 (Auto attack/Player hatelist changes) has something to do with bots not assisting.

Edit: but then again, you added in the bot source after that (in Rev41), so I am probably talking rubbish :)

nosfentora 10-06-2008 03:18 PM

Quote:

Originally Posted by Angelox (Post 157839)
Devs have added/changed many tables , get the sql Cavedude placed in the /source/utils/sql/ part of the SVN and go through it make sure you got them all in.
I've had similar problems due to missing sql updates or tables.

i had just done a cvs update this morning to 1129b.

i checked out the

http://projecteqemu.googlecode.com/svn/trunk/ projecteqemu-read-only

and it comes back 'url doesn't exist.
i tried with and without the space (and %20) between / and projecteqemu-read-only

Angelox 10-06-2008 03:34 PM

Lets see if it all fits;
Code:

DROP TABLE IF EXISTS `tasks`;
CREATE TABLE `tasks` (
  `id` int(11) unsigned NOT NULL,
  `duration` int(11) unsigned NOT NULL,
  `title` varchar(100) NOT NULL,
  `description` varchar(2047) NOT NULL,
  `reward` varchar(64) NOT NULL,
  `rewardid` int(11) unsigned NOT NULL default '0',
  `cashreward` int(11) unsigned NOT NULL default '0',
  `xpreward` int(10) unsigned NOT NULL default '0',
  `rewardmethod` tinyint(3) unsigned NOT NULL default '2',
  `startzone` int(11) NOT NULL,
  `stepped` tinyint(3) unsigned NOT NULL default '0',
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


DROP TABLE IF EXISTS `activities`;
CREATE TABLE `activities` (
  `taskid` int(11) unsigned NOT NULL,
  `activityid` int(11) unsigned NOT NULL default '0',
  `step` int(11) unsigned NOT NULL default '0',
  `activitytype` tinyint(3) unsigned NOT NULL default '0',
  `text1` varchar(64) NOT NULL,
  `text2` varchar(64) NOT NULL,
  `text3` varchar(128) NOT NULL,
  `goalid` int(11) unsigned NOT NULL default '0',
  `goalmethod` int(10) unsigned NOT NULL default '0',
  `goalcount` int(11) default '1',
  `delivertonpc` int(11) unsigned NOT NULL default '0',
  `zoneid` int(11) NOT NULL default '0',
  `optional` tinyint(1) NOT NULL default '0',
  PRIMARY KEY  (`taskid`,`activityid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


INSERT INTO `activities` VALUES (1,0,1,1,'Guard Brookrock','Elven Bottle Of Wine','',36078,0,1,54124,54,0),(1,1,2,5,'Camp of Outsiders','','',1,0,1,0,54,0),(1,2,3,4,'Guard Brookrock','','',54124,0,1,0,54,0),(1,3,4,2,'Bandits','','',7,1,3,0,54,0),(1,4,5,4,'Guard Brookrock','','',54124,0,1,0,54,0),(1,5,6,5,'the entrance to Crushbone Citadel','','',2,0,1,0,54,0),(1,6,6,2,'Orcs','','',1,1,5,0,54,0),(1,7,7,4,'Guard Brookrock','','',54124,0,1,0,54,0),(1,8,8,4,'V\'Lynn Renloe','','',202291,0,1,0,202,0),(2,0,0,2,'Orcs','','',1,1,5,0,21,0),(2,1,0,3,'any creature','Rusty Items','',2,1,3,0,0,0),(2,2,0,5,'','','Locate the Antonica Spires in the Luclin Nexus',1,0,1,0,152,0),(3,0,0,7,'','Fish','',4,1,1,0,69,0),(3,1,0,8,'','Roots, berries, mushrooms or cherries','',3,1,1,0,69,0),(3,2,0,2,'','','Kill Pyzjn',4147,0,1,0,0,1),(4,0,0,11,'','','Locate the lair of Innoruuk',0,0,1,0,76,0),(4,1,0,11,'','','Find the lair of Cazic Thule',0,0,1,0,72,0),(5,0,0,3,'','','Recover the Ring of the Ancients',12268,0,1,0,0,0),(5,1,0,3,'','','Retrieve a Shadowed Rapier',7100,0,1,0,0,0),(5,2,2,1,'','','Return the Ring of the Ancients to Hasten Bootstrutter',12268,0,1,50320,50,0),(5,3,2,1,'','','Present the Shadowed Rapier to Hasten Bootstrutter',7100,0,1,50320,50,0),(5,4,2,100,'','','Give 3500 gold pieces to Hasten Bootstrutter',0,0,350000,50320,50,0),(6,0,0,6,'Class 1 Wood Point Arrows','Class 1 Wood Point Arrows','',8,1,10,0,0,0),(7,0,0,2,'Rats','','',9,1,10,0,4,0),(7,1,0,4,'Guard Philbin','','',4062,2,1,0,4,0),(7,2,0,2,'','','Kill 1 more rat please',9,1,1,0,4,0),(7,3,0,4,'Guard Philbin','','',4062,2,1,0,4,0),(8,0,0,2,'Bats','','',10,1,5,0,4,0),(8,1,0,4,'Guard Philbin','','',4062,2,1,0,4,0),(9,0,0,2,'Snakes','','',11,1,2,0,4,0),(9,1,0,4,'Guard Philbin','','',4062,2,1,0,4,0),(10,0,0,2,'Gnolls','','',12,1,3,0,4,0),(10,1,0,4,'Guard Philbin','','',4062,2,1,0,4,0),(11,0,0,2,'Skeletons','','',13,1,6,0,4,0),(11,1,0,4,'Guard Philbin','','',4062,2,1,0,4,0);


DROP TABLE IF EXISTS `character_tasks`;
CREATE TABLE `character_tasks` (
  `charid` int(11) unsigned NOT NULL,
  `taskid` int(11) unsigned NOT NULL,
  `slot` int(11) unsigned NOT NULL,
  `acceptedtime` int(11) unsigned default NULL,
  PRIMARY KEY  (`charid`,`taskid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS `character_activities`;
CREATE TABLE `character_activities` (
  `charid` int(11) unsigned NOT NULL,
  `taskid` int(11) unsigned NOT NULL,
  `activityid` int(11) unsigned NOT NULL default '0',
  `donecount` int(11) unsigned NOT NULL default '0',
  `completed` tinyint(1) default '0',
  PRIMARY KEY  (`charid`,`taskid`,`activityid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS `character_enabledtasks`;
CREATE TABLE `character_enabledtasks` (
  `charid` int(11) unsigned NOT NULL,
  `taskid` int(11) unsigned NOT NULL,
  PRIMARY KEY  (`charid`,`taskid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


DROP TABLE IF EXISTS `completed_tasks`;
CREATE TABLE `completed_tasks` (
  `charid` int(11) unsigned NOT NULL,
  `completedtime` int(11) unsigned NOT NULL,
  `taskid` int(11) unsigned NOT NULL,
  `activityid` int(11) NOT NULL,
  PRIMARY KEY  (`charid`,`completedtime`,`taskid`,`activityid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


DROP TABLE IF EXISTS `goallists`;
CREATE TABLE `goallists` (
  `listid` int(10) unsigned NOT NULL,
  `entry` int(10) unsigned NOT NULL,
  PRIMARY KEY  (`listid`,`entry`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


INSERT INTO `goallists` VALUES (1,5001),(1,5002),(1,5003),(1,5078),(1,5079),(1,5080),(1,5082),(1,5083),(1,5084),(1,5085),(1,5089),(1,5108),(1,5109),(1,5112),(1,5114),(1,5130),(1,9129),(1,10000),(1,10159),(1,10166),(1,20028),(1,20033),(1,20036),(1,20048),(1,20171),(1,21005),(1,21012),(1,21026),(1,21038),(1,21039),(1,21096),(1,21097),(1,21102),(1,21107),(1,21115),(1,21118),(1,21119),(1,21121),(1,22005),(1,22022),(1,22031),(1,22052),(1,22053),(1,22055),(1,22142),(1,22143),(1,22149),(1,22155),(1,22165),(1,22171),(1,22172),(1,22179),(1,30033),(1,30034),(1,30042),(1,33033),(1,33034),(1,33036),(1,33037),(1,33038),(1,33064),(1,33108),(1,33113),(1,33123),(1,33124),(1,33156),(1,34015),(1,34105),(1,35007),(1,35008),(1,35009),(1,35011),(1,35034),(1,35039),(1,35042),(1,35043),(1,35044),(1,35052),(1,35091),(1,35092),(1,35116),(1,35129),(1,37014),(1,37015),(1,37017),(1,37018),(1,37026),(1,37032),(1,37035),(1,37040),(1,37069),(1,50027),(1,50028),(1,50033),(1,50034),(1,50065),(1,50070),(1,50211),(1,50259),(1,51088),(1,51089),(1,51090),(1,51110),(1,51111),(1,54001),(1,54003),(1,54004),(1,54008),(1,54015),(1,54016),(1,54019),(1,54027),(1,54037),(1,54039),(1,54185),(1,54187),(1,54188),(1,54190),(1,54193),(1,54194),(1,54195),(1,54200),(1,57001),(1,57003),(1,57004),(1,57015),(1,57020),(1,57040),(1,57041),(1,57056),(1,57085),(1,57090),(1,57136),(1,58000),(1,58001),(1,58002),(1,58003),(1,58004),(1,58005),(1,58006),(1,58008),(1,58009),(1,58011),(1,58012),(1,58013),(1,58015),(1,58016),(1,58024),(1,58025),(1,58026),(1,58027),(1,58029),(1,58033),(1,58034),(1,58035),(1,58036),(1,58037),(1,58038),(1,58039),(1,58040),(1,58041),(1,58042),(1,58043),(1,58045),(1,58047),(1,58053),(1,58054),(1,58055),(1,68055),(1,68056),(1,68168),(1,68169),(1,68190),(1,68200),(1,68223),(1,70010),(1,70011),(1,70042),(1,255702),(1,269011),(1,269012),(2,2310),(2,5013),(2,5014),(2,5015),(2,5016),(2,5019),(2,5020),(2,5021),(2,5022),(2,5023),(2,5024),(2,5025),(2,5040),(2,5072),(2,5074),(2,5076),(2,6011),(2,6013),(2,6014),(2,6015),(2,6016),(2,6838),(2,7007),(2,7008),(2,7009),(2,7010),(2,7790),(2,13346),(2,13970),(2,16253),(2,19943),(2,19950),(2,20036),(2,20176),(2,20187),(2,20198),(2,20258),(2,20297),(2,20414),(2,26800),(2,30980),(2,31992),(2,36750),(2,60084),(2,67531),(2,70482),(2,86875),(2,86961),(2,89615),(2,94100),(2,94114),(2,94128),(2,94170),(2,94212),(3,13045),(3,13046),(3,13047),(3,13048),(3,13106),(3,13419),(3,14905),(3,14969),(3,22745),(3,31485),(4,13019),(4,22745),(5,2300),(5,17981),(6,5500),(6,5507),(6,8003),(7,54035),(7,54036),(7,54207),(7,54235),(7,54250),(7,54254),(8,8500),(8,8572),(8,8644),(9,4007),(9,4009),(9,4013),(9,4024),(9,4036),(9,4043),(9,4078),(9,4080),(10,4002),(10,4009),(10,4011),(10,4012),(10,4014),(10,4025),(10,4039),(10,4042),(10,4043),(10,4050),(10,4051),(10,4074),(10,4075),(10,4143),(11,4017),(11,4018),(11,4023),(11,4044),(12,4006),(12,4015),(12,4021),(12,4028),(12,4029),(12,4033),(12,4079),(12,4096),(12,4152),(12,4191),(13,4010),(13,4022),(13,4045),(13,4047),(13,4091),(13,4092),(13,4094),(13,4101),(13,4108),(13,4109),(13,4110),(13,4112),(13,4114),(13,4115),(13,4116),(13,4119),(13,4120),(13,4122),(13,4125),(13,4128),(13,4129),(13,4137),(13,4139),(13,4145),(13,4146),(13,4148),(13,4150);


DROP TABLE IF EXISTS `proximities`;
CREATE TABLE `proximities` (
  `zoneid` int(10) unsigned NOT NULL,
  `exploreid` int(10) unsigned NOT NULL,
  `minx` float(14,6) NOT NULL,
  `maxx` float(14,6) NOT NULL,
  `miny` float(14,6) NOT NULL,
  `maxy` float(14,6) NOT NULL,
  `minz` float(14,6) NOT NULL,
  `maxz` float(14,6) NOT NULL,
  PRIMARY KEY  (`zoneid`,`exploreid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


DROP TABLE IF EXISTS `tasksets`;
CREATE TABLE `tasksets` (
  `id` int(11) unsigned NOT NULL,
  `taskid` int(11) unsigned NOT NULL,
  PRIMARY KEY  (`id`,`taskid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

INSERT INTO `tasksets` VALUES (1,7),(1,8),(1,9),(1,10),(1,11);

drop table if exists `keyring`;
create table `keyring`(
`char_id` integer not null,
`item_id` integer not null
) engine=MyISAM DEFAULT CHARSET=latin1;

insert into rule_values values (1,'TaskSystem:EnableTaskSystem','true');
insert into rule_values values (1,'TaskSystem:PeriodicCheckTimer',5);
insert into rule_values values (1,'TaskSystem:RecordCompletedTasks','true');
insert into rule_values values (1,'TaskSystem:RecordCompletedOptionalActivities','true');
insert into rule_values values (1,'TaskSystem:KeepOneRecordPerCompletedTask','true');
insert into rule_values values (1,'TaskSystem:EnableTaskProximity','true');
insert into rule_values values (1,'World:EnableTutorialButton','true');
insert into rule_values values (1,'World:EnableReturnHomeButton','true');
insert into rule_values values (1,'World;MaxLevelForTutorial','10');
insert into rule_values values (1,'World:MinOfflineTimeToReturnHome','21600');
Insert into rule_values values (1, 'World:AddMaxClientsPerIP', -1);
Insert into rule_values values (1, 'World:AddMaxClientsStatus', -1);
INSERT INTO `activities` VALUES ('12', '0', '0', '2', 'giant thicket rats', '', '', '14', '1', '10', '0', '33', '0');
INSERT INTO `activities` VALUES ('12', '1', '0', '3', 'any creature', 'rat whiskers', '', '13071', '0', '4', '0', '33', '0');
INSERT INTO `activities` VALUES ('12', '2', '1', '4', 'Ace Slighthand', '', '', '0', '0', '1', '0', '19', '0');
INSERT INTO `activities` VALUES ('12', '3', '2', '1', 'Swish Appletop', 'rat whiskers', '', '13071', '0', '4', '33145', '33', '0');
INSERT INTO `goallists` VALUES ('14', '33027');
INSERT INTO `goallists` VALUES ('14', '33039');
INSERT INTO `goallists` VALUES ('14', '33055');
INSERT INTO `tasks` VALUES ('12', '0', 'Extraordinary Rodents', '[1,2, Go to the Misty Thicket, kill 10 giant thicket rats and loot four rat whiskers.]', '', '0', '722', '100', '0', '19', '1');
INSERT INTO variables VALUES ('curInstFlagNum', 2000, 'Determines what instance flag will be handed out next', '2008-09-05 04:46:47');
ALTER TABLE `zone` ADD column `insttype` tinyint (1) zerofill unsigned NOT NULL default '0';
ALTER table character_ ADD column `instZflagNum` int(10) unsigned NOT NULL default '0';
ALTER table character_ ADD column `instZOrgID` int(11) NOT NULL default '0';
INSERT INTO variables VALUES ('dfltInstZflag',1000, 'Used to determine if a zone is instanced, must be 1000 or greater', '2008-09-05 04:46:47');

ALTER TABLE `spawngroup` ADD `dist` FLOAT NOT NULL DEFAULT '0.0',
ADD `max_x` FLOAT NOT NULL DEFAULT '0.0',
ADD `min_x` FLOAT NOT NULL DEFAULT '0.0',
ADD `max_y` FLOAT NOT NULL DEFAULT '0.0',
ADD `min_y` FLOAT NOT NULL DEFAULT '0.0',
ADD `delay` INT NOT NULL DEFAULT '0';

CREATE TABLE `raid_details` (
  `raidid` int(4) NOT NULL,
  `loottype` int(4) NOT NULL,
  `locked` tinyint(1) NOT NULL,
  PRIMARY KEY  (`raidid`)
);

CREATE TABLE `raid_members` (
  `raidid` int(4) NOT NULL,
  `charid` int(4) NOT NULL,
  `groupid` int(4) NOT NULL,
  `_class` tinyint(4) NOT NULL,
  `level` tinyint(4) NOT NULL,
  `name` varchar(64) NOT NULL,
  `isgroupleader` tinyint(1) NOT NULL,
  `israidleader` tinyint(1) NOT NULL,
  `islooter` tinyint(1) NOT NULL,
  PRIMARY KEY  (`charid`)
);


Congdar 10-06-2008 03:42 PM

Quote:

Originally Posted by Angelox (Post 157838)
But since I'm just a 'spoke on your wheel', I felt i'd consult you before making any changes.

I've been the lone programmer on the bots for over a year now, reviving it from non-working to what it is now. I made many decisions on spell lists and ai that worked for me and my playing style. Feel free to make whatever changes you feel are needed. If they work, great... if not try something different. If it's too wacked, i'll say something. I welcome any help on the bot code. Nice work, btw, on the botname000 fix, that one had me baffled. Here's my list of things that need to be worked on.

Command structure reworked. There are too many commands that take multiple(too many) words. Group and Raid commands can be combined and the check for raiding or not done in the code.
Each class with it's own AI code. currently its Cleric(which I did) or all casters or all melee.
Ranger bots need to be able to use a bow... and toggle back and forth to melee.
Spell lists need a second look. I made some interesting choices on what spells to include and what spells to ignore and how to categorize the spells. The Excel file I made would be a good reference and need to be updated.
There's lots of utilities that could be added so that choosing spell lists is easier:
#bot ranger track --- list of mobs on track
#bot ranger track [NPC name] --- tracks the closest NPC with that name.
#bot wizard port [location] --- Port to Wizard Spires with wizard in group
#bot druid port [location] --- Port to Druid spires with druid in group
#bot wizard evac
#bot druid evac
#bot [melee] discipline [name] --- where [name] is the name of the discipline, and melee is either a specific class (Shadowknight) or just "melee" for all melee classes.
#bot [class] activate [aa] --- where [class] is a class and [aa] is the name (or number) of an activated AA. Examples:
#bot cleric activate Turn Undead
#bot mage activate Pet Swarm (don't know the real name)
#bot pacify - aggro reduction
#bot resurrect - get exp back
#bot summoncorpse - if you really want it back
#bot identify - get item lore

Angelox 10-06-2008 07:23 PM

Quote:

Originally Posted by Congdar (Post 157848)
I've been the lone programmer on the bots for over a year now, reviving it from non-working to what it is now. I made many decisions on spell lists and ai that worked for me and my playing style. Feel free to make whatever changes you feel are needed. If they work, great... if not try something different. If it's too wacked, i'll say something. I welcome any help on the bot code. Nice work, btw, on the botname000 fix, that one had me baffled. Here's my list of things that need to be worked on.

I'm trying, but in the C programming dept, I'm a far cry from what you all are.
I can see all the code and have some idea of how it works, the rest is puzzle work, back tracking what everyone has done, and looking for clues. Very slow process, took me a just about a whole week of trial and error with the botname000 fix.

I've made my ax_classic database compatible with the SVN code, so I don't have to worry about updating special codes for ax_classic anymore.
PEQ is light years ahead of my DB when it comes to content, I just have a lot of custom stuff in mine, and someone might enjoy a change once in a while.

One problem I had with the bot code was, when you had a bot group, you leveled much faster because you could take out reds much easier, so if I turned down the exp ration to where it was right for bot groups, then people who played with out bots complained; they were not getting hardly exp from blues and lite blues. I found a solution to this, might be of interest, I'll look it up and post it.

Rocker8956 10-09-2008 04:02 PM

Bots hit hard
 
I just starting using Bots on my minilogin server. They are fun but I noticed something strange.

My bots hit for about 250 dmg at lvl 4 with no weapon.

I tried setting their mindmg to 1 and maxdmg to 8 in the database since they were zero but that did not help. So I then gave my lvl 7 beserker Bot a rusty warhammer and he hit for 25 dmg almost every time.

This is using svn rev 69 (fairly certain that is the version I am running atm)

Is anyone else seeing this or did I screw up my database?

Thank you

Rocker8956 10-09-2008 04:37 PM

Small update...

When I set my bots' level to 64 it hits in a more appropriate range.
If I set it back to level 1 it hits for 250+ on mobs in droga

Congdar 10-09-2008 04:41 PM

I copied over the bot src from the public release code, but the svn code has some things different that don't work the same way the public release code does. The hate list is different and i'm guessing some of the combat stuff is different too. I'll be looking into the differences and making updates.

Congdar 10-09-2008 04:47 PM

when you say 'set my bots' level...' how are you doing the 'setting' ? I can take a guess that bots do not work with GM 'level' commands and that your bot was really your level and was squashing level 4 things at a high level.

Rocker8956 10-09-2008 05:16 PM

I would set my level to 65. Zone into droga then spawn my bot.
He was hitting normal for a naked level 65 (will need to look at numbers again to get exact but I think it was between 15 and 20 for most hits)
I then zoned out of Droga, set my level to 1, zoned into droga and spawned my bot. He was level 1 but smacking stuff for 250+ while naked.

It could be my database or code. Can someone else give this a try and see if they get the same numbers?


All times are GMT -4. The time now is 06:15 PM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.