EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Bots (https://www.eqemulator.org/forums/forumdisplay.php?f=676)
-   -   More questions on Bots (https://www.eqemulator.org/forums/showthread.php?t=26484)

Neiv 10-11-2008 11:32 AM

More questions on Bots
 
I've downloaded the binaries, spells, and source, but I am not sure what to do with them and I do not want to overwrite something without knowing just what it is I am overwriting. Also, does anything have to be sourced in manually? Is there a step-by-step procedure for installing this? Sorry for the questions, but I think this might help quite a few who would like to use this but are uncertain just how. Thanks!

Congdar 10-11-2008 01:21 PM

The binaries are just copied into your c:\eqemu\ folder and are supported by the peq database. The spells files aren't needed for manual update anymore. If you have a recent peq database you have everything you need for the database to have the bots working.
The thing to remember is that when updating the database, first run the cvs file bot_npcs.bat to save your created bots. Then you can update the database and then source in the bots from the sql file created by bot_npcs.bat back into the database. The other bot related tables do not get deleted when updating the database... unless you completely start from scratch and blow everything away.

Neiv 10-12-2008 07:59 AM

Thanks Congdar. I apparently have an older version of PEQ since the #bot commands are not recognized. I have never upgraded the DB, so I am concerned about what that action may overwrite. Does the "upgrade only" download overwrite the customizations I have made to the DB?

leslamarch 10-12-2008 09:07 AM

Quote:

Originally Posted by Neiv (Post 158191)
Thanks Congdar. I apparently have an older version of PEQ since the #bot commands are not recognized. I have never upgraded the DB, so I am concerned about what that action may overwrite. Does the "upgrade only" download overwrite the customizations I have made to the DB?

The bot commands are in the eqemu code itself, I think the only thing you will need to add to your DB is the spells for the bots to use. This will be in the npc_spells VALUES from 701 to 712, and thats all i can think of that would be needed to be added in. Just make sure these are not in use already and you should be good to go.

Did you download the bot enabled compiles from here post 5 ? or grab the latest compiles here if you download them from here you should be able to #bot help and go from there,

leslamarch 10-12-2008 09:40 AM

Sorry was to late on the edit timer, but if you use the latest compiles you will
have to run a few upgrade sqls. Those will not break your current DB, I will post
them here if you need them.

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`)
);


cavedude 10-12-2008 03:03 PM

Quote:

Originally Posted by Neiv (Post 158191)
Thanks Congdar. I apparently have an older version of PEQ since the #bot commands are not recognized.

No, if you got the binaries from SVN, then they weren't compiled correctly. Sorry about that, it'll be fixed in Revision 86. I do strongly recommend using SVN as the PEQ DB is current with it, and it adds a ton of great new features to EQEmu.

Neiv 10-12-2008 07:29 PM

cavedude, if I use your update link on the PEQ site, will it overwrite the customizations I've made to my DB? Also, by SVN are you referring to Subversion? If so, I did a search for PEQ and Project EQ on the entire domain with no results.

cubber 10-13-2008 10:46 AM

PEQ DB and Quests are obtained Via CVS not Subversion

Check this link for the addresses:

http://www.projecteq.net/phpBB2/view...8a2ddf1d85816a

And this link for the changelog:

http://www.projecteq.net/phpBB2/viewforum.php?f=60

Neiv 10-13-2008 07:06 PM

Quote:

Originally Posted by cubber (Post 158253)
PEQ DB and Quests are obtained Via CVS not Subversion. Check this link for the addresses:
http://www.projecteq.net/phpBB2/view...8a2ddf1d85816a

Does this website also have the Bot code? All I see is the link to the DB. But I suspect downloading that will overwrite my customization, no?

Andrew80k 10-13-2008 07:10 PM

Quote:

Originally Posted by Neiv (Post 158273)
Does this website also have the Bot code? All I see is the link to the DB. But I suspect downloading that will overwrite my customization, no?

It doesn't contain the bot code. Just the db. It will overwrite any customizations that you have put into your db.

Neiv 10-13-2008 07:40 PM

Quote:

It doesn't contain the bot code. Just the db. It will overwrite any customizations that you have put into your db
So then, I assume the binaries I downloaded from the Releases thread is the most current, and that it is complied incorrectly? Also, if I want to have the latest version of the DB AND maintain my customizations, is there a way to do that?

Congdar 10-13-2008 08:45 PM

I would do it like this:

install fresh the entire PEQ database
as I make custom entries into the database, i also write them to my_custom.sql
now I play and have fun and make bots and destroy Norrath
now an update comes out for the PEQ database
download the update from cvs
run bot_npcs.bat to save all my bots
source drop_system.sql
source peqdb_9999b.sql
source my_custom.sql
source bot_npcs.sql

I'm happy and ready to play on the new updated database.

cavedude 10-13-2008 08:50 PM

The newest binaries are here: http://code.google.com/p/projecteqemu/downloads/list and they work.

There is no easy way to merge the newest PEQ DB with custom system changes, unless like said above you saved them to a sql file and can source that in.

Neiv 10-13-2008 11:11 PM

Quote:

The newest binaries are here: http://code.google.com/p/projecteqemu/downloads/list and they work.
Thanks, cavedude. I guess there must be something else wrong then, because when I add these to the Eqemu folder, I can't get beyond the character selection screen (all zones are "unavailable").

Thanks for the tip on creating the my_custom.sql file, Congdar. I'll do the same as soon as I learn how to script that. I assume most of those are Insert queries?

Andrew80k 10-14-2008 10:26 AM

Quote:

Originally Posted by Neiv (Post 158290)
Thanks, cavedude. I guess there must be something else wrong then, because when I add these to the Eqemu folder, I can't get beyond the character selection screen (all zones are "unavailable").

Thanks for the tip on creating the my_custom.sql file, Congdar. I'll do the same as soon as I learn how to script that. I assume most of those are Insert queries?

What's in your logs? Surely you are getting some errors in your logs that would explain this. When this happens to me, and it does sometimes, it's usually related to db changes I have made, haven't made, or something foolish I've done to my start up script, like leaving eqlaunch out of it(done that).

Neiv 10-14-2008 11:06 AM

Quote:

What's in your logs? Surely you are getting some errors in your logs that would explain this. When this happens to me, and it does sometimes, it's usually related to db changes I have made, haven't made, or something foolish I've done to my start up script, like leaving eqlaunch out of it(done that).
I'll take a look at those when I get home. But all I did was replace the existing files in the EQEMU folder with the ones in the binary folder. I didn't overwrite the original files, but placed them in a temp folder. I have since overwritten the new files with the older ones, and the game works again. No #bot commands, but it works as it used to.

hayward6 10-22-2008 08:27 AM

Quote:

Originally Posted by Congdar (Post 158283)
as I make custom entries into the database, i also write them to my_custom.sql

I'm curious about this... if you're making changes within game, and with different tools, how do you get that code out into text so it can be added easily later? This is the biggest reason that I don't do a lot of edits... I know they will be lost when I update.

Also, my bots are not working at all and I am using the latest source. I get command not recognized when I try #bot help

Congdar 10-22-2008 10:22 AM

I don't add customizations to the database and then try and get them out, I create the custom sql file manually, and at the same time as I add the changes to the database. Then after a database update I can just source in the custom sql and I'm back to where I was.

The bot issue can be several things. Are you using 1129 or the SVN version? With 1129 you need to add EQBOTS to the Zone pre-processor in Visual Studio, if SVN then the Configuation Manager has a separate bot setting you can choose for debug or release binaries. If you are compiling in linux, search the eqoffline thread for linux answers.

hayward6 10-22-2008 10:50 AM

Quote:

Originally Posted by Congdar (Post 158838)
I don't add customizations to the database and then try and get them out, I create the custom sql file manually, and at the same time as I add the changes to the database. Then after a database update I can just source in the custom sql and I'm back to where I was.

The bot issue can be several things. Are you using 1129 or the SVN version? With 1129 you need to add EQBOTS to the Zone pre-processor in Visual Studio, if SVN then the Configuation Manager has a separate bot setting you can choose for debug or release binaries. If you are compiling in linux, search the eqoffline thread for linux answers.

Ok, I guess I missunderstood... I thought that the release thread had a working source that didn't need any editing. I'll look around for what needs to be changed, thank you

Congdar 10-22-2008 11:07 AM

The release thread source doesn't need editing. It should work right away unless you try merging it in to an existing source tree. Verify the EQBOTS setting in the preprocesser options of the Zone section.

hayward6 10-22-2008 11:25 AM

Oh yeah, I'm using Debian Linux also.

Congdar 10-22-2008 01:12 PM

there's some linux instructions for adding bots to the compile in that 800+ post thread.

hayward6 10-22-2008 02:46 PM

Quote:

Originally Posted by Congdar (Post 158854)
there's some linux instructions for adding bots to the compile in that 800+ post thread.

Yeah, each time I start looking through that thread I end up fustrated and tired :) I'll pack a lunch for my next trip!

Congdar 10-22-2008 03:08 PM

I looked... linux stuff is on one of the last 3 pages depending on your settings for how many posts to view.

Angelox 10-22-2008 03:35 PM

These are mine, should work for you
/zone makefiles for both Linux and Windows
I think the only ones that change (for Bots) are the /source/zone ones - or at least thats what I change. just copy them over and rename .

Neiv 10-22-2008 10:45 PM

Quote:

I don't add customizations to the database and then try and get them out, I create the custom sql file manually, and at the same time as I add the changes to the database. Then after a database update I can just source in the custom sql and I'm back to where I was.
Can anyone post an example of such a sql script that I might be able to use as a template of sorts? Thanks.

Ikeren 10-23-2008 12:51 PM

Quote:

Yeah, each time I start looking through that thread I end up fustrated and tired I'll pack a lunch for my next trip!
I read through that entire thread once. If I ever do it again (not bloodly likely, but not hypothetically impossible); I'll give a brief summary of what happens from each post set, then post it somewhere. If someone does decide to do so, I'd suggest they make such a "content summary" for future people having this trouble.

Angelox 10-23-2008 01:04 PM

The bots are at a point now where you only need download from the SVN and play.
Windows executables are already pre-made and posted. And usually, who ever runs a Linux server will know how to arrange the makefiles.
If someone will tell me this works, maybe I can come up with a script you can run before you compile so you can select 'bots' or 'no bots'. Or maybe someone else wants to do this, maybe place it in the SVN. I was thinking of a Linux and Windows version.

hayward6 10-23-2008 01:43 PM

Quote:

Originally Posted by Angelox (Post 158904)
The bots are at a point now where you only need download from the SVN and play.
Windows executables are already pre-made and posted. And usually, who ever runs a Linux server will know how to arrange the makefiles.
If someone will tell me this works, maybe I can come up with a script you can run before you compile so you can select 'bots' or 'no bots'. Or maybe someone else wants to do this, maybe place it in the SVN. I was thinking of a Linux and Windows version.

I think bots have been generaly excepted and would benefit most servers. Wouldn't it be easier to just impliment it across the board, and then go in after and raise the status needed to run the bot commands in the database? That way everyone will have working bots if they want it, with little work, and if they don't they can change the command access.

AndMetal 10-23-2008 02:00 PM

I think the logic is that, because not everyone is going to run bots (although they are quite awesome), it's better to use a preprocessor definition during compile than a rule, since it will decrease a lot of the required resources (memory/processor cycles) if you're not using it.

Angelox 10-23-2008 02:11 PM

Those makefile/ files I posted work for me, I just want to make sure it works for others too.
I think the bots are more intended for a 'play at home' version, alone or maybe a friend or two (even if I'm a 'bot addict' too. I'm trying to get a few more needed commands at least started (can always be changed for the better), such as pacify and evac. Things that when alone, I always think "Damn I wish I had that right now ..."

hayward6 10-23-2008 02:44 PM

Quote:

Originally Posted by AndMetal (Post 158907)
I think the logic is that, because not everyone is going to run bots (although they are quite awesome), it's better to use a preprocessor definition during compile than a rule, since it will decrease a lot of the required resources (memory/processor cycles) if you're not using it.

A good point. I feel this is one of the best things to happen to the project in a while! It's exactly what I wanted when I first learned about the emulator, but have no skills to work on it :)

Andrew80k 10-23-2008 02:56 PM

Quote:

Originally Posted by AndMetal (Post 158907)
I think the logic is that, because not everyone is going to run bots (although they are quite awesome), it's better to use a preprocessor definition during compile than a rule, since it will decrease a lot of the required resources (memory/processor cycles) if you're not using it.

Is this actually the case? I know the executable for the zone would be bigger, but I wouldn't think it would use much more resources unless you actually spawned BOTS. If you don't I would think that resource usage would be very similar to not having them compiled in. But that's a rough guess based on looking through the code a couple of times.

Angelox 10-23-2008 04:25 PM

Here's another problem I saw with the Bots;
When you have a good Bot group, mobs get real easy to kill - The game really gets unbalanced; lower end red-cons become easy to kill.
So, lets say you upped the exp to 2-3x , if you kill a Red, exp is like 10x! Even with normal exp, the reds are like 4x , which is ok if they are in a no-bot game (bigger challenge/ risk for a greater reward).
When I lowered the red con Exp to something more sane, then blues and lite blues gave little or no exp. If I had new players on the server that played alone (no bots) or just were starting out, I would get complaints about no exp.
So here's what I did, that may be an idea; Its a macro called 'CON_XP_SCALING', I never could get it to compile on windows with the macro, so I quoted it out and ran like that.
All the settings are changed in CON_XP_SCALING, and the original EQ settings in variables and rule_values are default.
The effect I got was fast exp on all cons, but nothing crazy for red/yellows. It may not seem to make any sense, but it works with whatever other scaling there is in the source and counters.

Code:

//#ifdef CON_XP_SCALING
                if (conlevel != 0xFF) {
                        switch (conlevel)
                        {
                        case CON_GREEN:
                                //Message(15,"This creature is trivial to you and offers no experience.");
                                return;
                        case CON_LIGHTBLUE:
                                        add_exp = add_exp * 175/100;
                                break;
                        case CON_BLUE:
                                //if (lvldiff >= 12)
                                //        add_exp = add_exp * 6/10;
                                //else if (lvldiff > 5)
                                        add_exp = add_exp * 250/100;
                                //else if (lvldiff > 3)
                                //        add_exp = add_exp * 9/10;
                                break;
                        case CON_WHITE:
                                        add_exp = add_exp * 175/100;
                                break;
                        case CON_YELLOW:
                                        add_exp = add_exp * 200/100;
                                break;
                        case CON_RED:
                                        add_exp = add_exp * 225/100;
                                break;
                        }
                        /*
                        if (otherlevel >= 65)
                        {
                                int add = add_exp*((otherlevel-49)*20/100);
                                add_exp += add_exp*((otherlevel-64))*2;
                                add_exp += add;
                        }
                        else if (otherlevel >= 50)
                        {
                                add_exp += add_exp*((otherlevel-49)*20/100);
                        }*/
                }
//#endif




Quote:

Originally Posted by Andrew80k (Post 158917)
Is this actually the case? I know the executable for the zone would be bigger, but I wouldn't think it would use much more resources unless you actually spawned BOTS. If you don't I would think that resource usage would be very similar to not having them compiled in. But that's a rough guess based on looking through the code a couple of times.


Congdar 10-23-2008 04:41 PM

Bots, like people.... when you have a full group, mobs are easier to kill. The group exp bonus applies and you get good exp. I don't think the bots make any difference in exp gains or mob difficulty than what you would get with a full group of actual players. The only differnce is, the bots go all out 100% where a player might conserve mana or the like.

If you can show in the code somewhere that exp gain is somehow increased due to bots that would be different than if you had actual players, or that somehow mobs become easier because of bots instead of players, then that would be the place to put in a fix.

Angelox 10-23-2008 04:57 PM

Well, for one , Bots don't make mistakes, PCs do -
When I first tried the bots, I got about 30 levels in a few hours. Might be just the way EQemu always has been, most people do not want low exp rates, so exp in general goes up much faster than it would as if I played on live.
When I played on live with full, experienced groups, killing a red was always a big challenge and many times proved disastrous. Not so with the bots.
All around, EQ Live is much harder than EqEmu. I don't like the way Exp drags on on live either. But I do like the game to last a little longer than a day or two; but that's just me.
I do have the fix in what I post at my site for many weeks now, and about a dozen people use it (it's that last 'fix' that still makes my version of the source custom).

hayward6 10-23-2008 05:29 PM

I'm hanging this up for a while... I source the released code from the bots thread and it simply doesn't work. I'll just stick with plain old 1129 untill this is either added or made easier, thanks everyone for your help.

Angelox 10-23-2008 06:04 PM

Quote:

Originally Posted by hayward6 (Post 158930)
I'm hanging this up for a while... I source the released code from the bots thread and it simply doesn't work. I'll just stick with plain old 1129 untill this is either added or made easier, thanks everyone for your help.

Hayward! you don't need to source anything - just go to the new EqEmu SVN
and download the latest source , and if you cant do the make file changes, what I posted here just unzip and overwrite in your zones directory. It will compile with the bots active.
If you stll have problems, post! we'll get you going. You know where the new EqEmu SVN is right?

hayward6 10-23-2008 06:08 PM

I'll have to look again later. When I run make it isn't finishing all the files... I have to go in and do zone by itself for one example, and others just dont work... I'll re download. My biggest issue is time, I cam,e home to do this and had some ideas... but after 5 minutes the wife and kids had other plans :)

Angelox 10-23-2008 06:22 PM

The way I have always compiled in Linux is I go into each directory and run 'make clean' , then 'make'. don't have to run 'make depend' anymore, it comes with the 'make clean' now (I guess someone fixed that).
So I go to /zone, then /world, etc.


All times are GMT -4. The time now is 07:40 AM.

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