PDA

View Full Version : EQoffline, bots and more..


Pages : 1 2 [3] 4

Aramid
05-03-2008, 08:10 AM
Congdar,

I see in the 1108 version, possibly sooner, you changed where the Bots SpellID's are assigned from MobAI.cpp to command.cpp. I edited this in command.cpp and changed my Bots to load their spells from the 600's, recompiled zone, copied zone to my server, stopped and restarted the server but still, the pet casting class is getting there spells set in the from the 5xx's. Is this set somewhere else in the Emulator as well?

Once again, Thanks for continuing to work on this code..

Congdar
05-03-2008, 03:49 PM
spellid is set in command.cpp at "bot create" and also at "bot update" calling CalcBotStats() in mob.cpp

Andrew80k
05-03-2008, 04:11 PM
post #381 and #382 in this thread talk about that.

Not only can I not read, but I can't spell either. Shouldn't try to do this stuff late at night.... Thanks.

Aramid
05-03-2008, 04:36 PM
spellid is set in command.cpp at "bot create" and also at "bot update" calling CalcBotStats() in mob.cpp


Thanks ... now they should setup correctly...

Any idea as to why they load their pet spell twice?

Congdar
05-04-2008, 11:22 PM
I've made a new drop of the 1108 bot src and binaries

I made a change that hopefully fixes the poofing corpses
I fixed the item calcs, they should match up with #showstats now.




Any idea as to why they load their pet spell twice?

My necro only has 1 pet spell at level 65 using the 515 spellset from the database. I did #bot debug spells and it only showed the Emisary of Thule or whatever it was. Are your spellsets maybe adding it twice?

Aramid
05-05-2008, 05:08 AM
No, they are only listed one time in the spell lists... but all of my casters that have pets get them listed twice.

Congdar
05-05-2008, 10:22 AM
could you post your caster lists and I'll try and debug it.

Aramid
05-06-2008, 05:10 AM
could you post your caster lists and I'll try and debug it.

Here is a CSV of my SHAMAN Spells. True Spirit is only in there 1 time, but it loads twice.


"id","npc_spells_id","spellid","type","minlevel","maxlevel","manacost","recast_delay","priority"
2663,606,9,2,51,61,-1,-1,1
3309,606,12,2,19,28,-1,-1,1
3183,606,15,2,29,43,-1,-1,1
3321,606,17,2,9,18,-1,-1,1
2673,606,32,256,49,58,-1,-1,1
3229,606,39,8,29,43,-1,-1,1
3318,606,40,8,1,18,-1,-1,1
2871,606,49,1,44,54,-1,-1,1
3310,606,60,8,29,24,-1,-1,1
3311,606,61,8,24,24,-1,-1,1
3288,606,63,8,34,34,-1,-1,1
3322,606,75,256,5,18,-1,-1,1
3329,606,93,1,1,9,-1,-1,1
3302,606,110,1,19,33,-1,-1,1
3161,606,111,1,34,48,-1,-1,1
2749,606,112,1,49,56,-1,-1,1
3157,606,131,4,34,50,-1,-1,1
2791,606,132,4,51,55,-1,-1,1
2718,606,133,4,56,57,-1,-1,1
3281,606,144,2,24,38,-1,-1,1
3154,606,145,8,39,51,-1,-1,1
3304,606,146,8,24,28,-1,-1,1
3305,606,147,8,19,28,-1,-1,1
3301,606,148,8,19,33,-1,-1,1
3297,606,149,8,24,33,-1,-1,1
3285,606,151,8,29,38,-1,-1,1
3177,606,152,8,39,48,-1,-1,1
3172,606,153,8,39,48,-1,-1,1
3152,606,154,8,44,52,-1,-1,1
2716,606,157,8,49,57,-1,-1,1
2927,606,158,8,44,53,-1,-1,1
2719,606,159,8,49,56,-1,-1,1
3191,606,160,8,34,43,-1,-1,1
3212,606,161,8,34,43,-1,-1,1
3227,606,162,1,29,43,-1,-1,1
3153,606,163,1,44,52,-1,-1,1
3182,606,164,32,34,43,-1,-1,1
3171,606,165,32,44,48,-1,-1,1
2912,606,166,32,49,54,-1,-1,1
3180,606,167,8,34,45,-1,-1,1
3327,606,168,8,44,9,-1,-1,1
2846,606,170,8,44,55,-1,-1,1
2656,606,171,8,56,62,-1,-1,1
2630,606,172,8,63,255,-1,-1,1
3330,606,200,2,1,8,-1,-1,1
3230,606,201,1,1,38,-1,200,1
3306,606,224,8,5,28,-1,-1,1
3315,606,225,8,1,23,-1,-1,1
3298,606,226,8,9,33,-1,-1,1
3287,606,227,8,14,38,-1,-1,1
3228,606,228,8,19,43,-1,-1,1
3303,606,230,4,14,33,-1,-1,1
3312,606,266,8,1,23,-1,-1,1
3331,606,267,8,1,4,-1,-1,1
3320,606,269,8,5,18,-1,-1,1
3325,606,270,1,5,13,-1,-1,1
3326,606,271,8,5,13,-1,-1,1
3324,606,274,8,5,13,-1,-1,1
3323,606,275,1,5,13,-1,-1,1
3316,606,277,256,9,23,-1,-1,1
3314,606,279,8,9,23,-1,-1,1
3319,606,280,8,14,18,-1,-1,1
3308,606,281,1,14,28,-1,-1,1
3317,606,282,1,14,23,-1,-1,1
3313,606,283,8,14,23,-1,-1,1
3300,606,308,8,19,33,-1,-1,1
3158,606,326,8,34,48,-1,-1,1
2672,606,337,8,49,58,-1,-1,1
3284,606,349,8,29,38,-1,-1,1
3289,606,365,256,19,33,-1,-1,1
3003,606,389,8,44,53,-1,-1,1
3184,606,431,8,34,43,-1,-1,1
3232,606,434,256,24,38,-1,-1,1
3160,606,435,256,39,48,-1,-1,1
2790,606,436,256,49,55,-1,-1,1
3295,606,437,1,24,33,-1,-1,1
3185,606,438,1,39,43,-1,-1,1
3307,606,505,1,14,28,-1,-1,1
3283,606,506,1,29,38,-1,-1,1
3156,606,507,1,39,50,-1,-1,1
3296,606,508,1,24,33,-1,-1,1
3217,606,509,1,34,43,-1,-1,1
3151,606,510,1,44,53,-1,-1,1
3294,606,511,256,19,33,-1,-1,1
3282,606,526,1,19,38,-1,-1,1
3155,606,527,1,39,51,-1,-1,1
3299,606,649,8,24,33,-1,-1,1
3186,606,1427,1,34,43,-1,-1,1
3159,606,1429,1,44,48,-1,-1,1
2662,606,1432,8,60,61,-1,-1,1
2880,606,1568,2,52,54,-1,-1,1
2655,606,1573,1,52,62,-1,-1,1
2665,606,1574,32,55,60,-1,-1,1
2671,606,1577,1,57,59,-1,-1,1
2654,606,1578,1,60,62,-1,-1,1
2661,606,1579,8,53,61,-1,-1,1
2660,606,1584,8,54,61,-1,-1,1
3328,606,1585,8,55,9,-1,-1,1
2650,606,1586,1,54,63,-1,-1,1
2667,606,1587,1,55,60,-1,-1,1
2674,606,1588,1,51,57,-1,-1,1
2627,606,1589,1,58,255,-1,-1,1
2670,606,1590,256,56,59,-1,-1,1
2652,606,1591,256,59,63,-1,-1,1
2664,606,1592,1,53,60,-1,-1,1
2657,606,1593,8,57,62,-1,-1,1
2658,606,1595,8,54,61,-1,-1,1
2651,606,1596,8,58,63,-1,-1,1
2645,606,1598,8,60,64,-1,-1,1
2659,606,1599,8,59,61,-1,-1,1
2649,606,2113,256,60,64,-1,-1,1
2669,606,2525,8,49,59,-1,-1,1
2666,606,2527,1,54,60,-1,-1,1
2653,606,3195,4,62,63,-1,-1,1
2634,606,3233,2,62,255,-1,-1,1
2644,606,3235,8,62,64,-1,-1,1
2639,606,3377,32,61,255,-1,-1,1
2633,606,3378,8,62,255,-1,-1,1
2647,606,3379,1,61,64,-1,-1,1
2632,606,3380,1,61,255,-1,-1,1
2646,606,3381,8,62,64,-1,-1,1
2637,606,3382,8,62,255,-1,-1,1
2636,606,3385,1,63,255,-1,-1,1
2635,606,3386,1,63,255,-1,-1,1
2648,606,3387,1,63,64,-1,-1,1
2641,606,3388,8,63,255,-1,-1,1
2638,606,3390,1,64,255,-1,-1,1
2643,606,3391,8,64,65,-1,-1,1
2628,606,3394,256,64,255,-1,-1,1
2640,606,3395,1,65,255,-1,-1,1
2642,606,3396,256,65,255,-1,-1,1
2629,606,3397,8,65,255,-1,-1,1
2631,606,3399,8,65,255,-1,-1,1
3056,606,3573,1,49,53,-1,-1,1
2668,606,3574,1,54,60,-1,-1,1

Congdar
05-08-2008, 12:18 PM
There is a place in the bot code that puts the pet spell in slot 0. If you did the same location you problably wouldn't notice the overwrite, or you could rem out the code in mobai.cpp and that might do it.

Aramid
05-08-2008, 05:32 PM
There is a place in the bot code that puts the pet spell in slot 0. If you did the same location you problably wouldn't notice the overwrite, or you could rem out the code in mobai.cpp and that might do it.

By commenting out the code in MobAI.cpp, fixed my problem of loading the pet spell twice. Thanks for the information.

I first tried putting the pet spell as priority 255 and I still ended up with a pet spell in slot 0 and slot 1 where as when the priority was just 1 it loaded in slot 0 and slot 5. Is there something specfic to make a spell load in slot 0?

Congdar
05-08-2008, 06:14 PM
i think maybe priority 0..... 0 is 'higher casting priority' than 1

If you would be willing to send me all your 600 based spell lists I could permanantly delete those sections and modify the create and update spellid code to 600's and provide a sql file to source in for caster bots.

cavedude
05-08-2008, 06:36 PM
Which I will then add to PEQ so there won't be any reason to worry about it ;)

Aramid
05-08-2008, 09:17 PM
Well, I only have Cleric, Shaman, Mage, Wiz, Necro and Druid Done.... Use if you want to.. They go in order as Cleric was 1, so it's 601. Shaman was 6 so it's 606 etc...


-- MySQL dump 10.11
--
-- Host: localhost Database: peq
-- ------------------------------------------------------
-- Server version 5.0.32-Debian_7etch5-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 `npc_spells_entries`
--

DROP TABLE IF EXISTS `npc_spells_entries`;
CREATE TABLE `npc_spells_entries` (
`id` int(11) unsigned NOT NULL auto_increment,
`npc_spells_id` int(11) NOT NULL default '0',
`spellid` smallint(5) NOT NULL default '0',
`type` smallint(5) unsigned NOT NULL default '0',
`minlevel` tinyint(3) unsigned NOT NULL default '0',
`maxlevel` tinyint(3) unsigned NOT NULL default '255',
`manacost` smallint(5) NOT NULL default '-1',
`recast_delay` int(11) NOT NULL default '-1',
`priority` smallint(5) NOT NULL default '0',
PRIMARY KEY (`id`),
UNIQUE KEY `spellsid_spellid` (`npc_spells_id`,`spellid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `npc_spells_entries`
--
-- WHERE: npc_spells_id > 600

LOCK TABLES `npc_spells_entries` WRITE;
/*!40000 ALTER TABLE `npc_spells_entries` DISABLE KEYS */;
INSERT INTO `npc_spells_entries` VALUES (866,601,200,2,1,4,-1,-1,0),(878,601,14,1,1,13,-1,-1,0),(879,601,202,8,1,8,-1,-1,0),(880,601,11,8,5,18,-1,-1,1),(881,601,215,8,5,33,-1,-1,1),(882,601,17,2,5,23,-1,-1,10),(883,601,216,1,5,18,-1,-1,1),(884,601,227,8,9,33,-1,-1,1),(885,601,224,8,9,33,-1,-1,1),(886,601,229,1,9,23,-1,-1,1),(913,601,231,1,9,18,-1,-1,1),(989,601,226,8,14,38,-1,-1,1),(1042,601,485,8,14,23,-1,-1,1),(1100,601,16,1,14,43,-1,-1,20),(1101,601,225,8,14,38,-1,-1,1),(1102,601,368,8,19,28,-1,-1,1),(1103,601,228,8,19,43,-1,-1,1),(1104,601,413,1,19,28,-1,-1,1),(1105,601,123,1,19,33,-1,-1,1),(1106,601,486,8,24,33,-1,-1,1),(1107,601,244,8,24,33,-1,-1,0),(1108,601,126,1,24,38,-1,-1,1),(1109,601,414,1,29,38,-1,-1,1),(1110,601,329,1,29,53,-1,-1,30),(1111,601,504,8,34,43,-1,-1,1),(1126,601,405,1,34,43,-1,-1,1),(1127,601,1445,8,34,48,-1,-1,1),(1128,601,487,8,34,43,-1,-1,1),(1129,601,124,1,34,48,-1,-1,1),(1184,601,312,8,34,43,-1,-1,0),(1216,601,13,2,39,255,-1,-1,1000),(1224,601,127,1,39,56,-1,-1,1),(1225,601,49,1,39,52,-1,-1,1),(1226,601,415,1,39,48,-1,-1,1),(1227,601,19,8,39,48,-1,-1,1),(1233,601,488,8,44,53,-1,-1,1),(1234,601,672,1,44,55,-1,-1,40),(1237,601,314,8,44,51,-1,-1,0),(1240,601,20,8,49,56,-1,-1,1),(1242,601,416,1,49,58,-1,-1,1),(1246,601,2505,8,49,57,-1,-1,1),(1251,601,125,1,49,57,-1,-1,1),(1257,601,1518,2,51,60,-1,-1,60),(1258,601,1542,1,52,63,-1,-1,1),(1259,601,1533,8,52,59,-1,-1,0),(1261,601,1519,2,53,67,-1,-1,170),(1275,601,1526,1,53,255,-1,-1,1),(1276,601,1535,8,54,60,-1,-1,1),(1277,601,1543,1,54,61,-1,-1,50),(1284,601,2508,1,56,255,-1,-1,60),(1285,601,1527,1,57,255,-1,-1,1),(1288,601,1537,8,57,60,-1,-1,1),(1289,601,2509,8,58,64,-1,-1,1),(1296,601,1544,1,58,60,-1,-1,1),(1297,601,2182,2,58,62,-1,-1,180),(1298,601,1545,1,59,255,-1,-1,1),(1299,601,1447,8,60,61,-1,-1,0),(1300,601,3465,2,61,255,-1,-1,90),(1301,601,3466,8,61,62,-1,-1,1),(1302,601,3481,1,61,64,-1,-1,1),(1303,601,3470,8,61,255,-1,-1,1),(1304,601,3467,8,62,255,-1,-1,0),(1305,601,3476,1,62,255,-1,-1,70),(1306,601,3195,4,62,255,-1,-1,5),(1307,601,3480,2,63,255,-1,-1,200),(1308,601,3473,1,64,255,-1,-1,1),(1309,601,3464,1,65,255,-1,-1,1),(1310,601,3474,8,65,255,-1,-1,1),(1311,602,372,1,1,7,-1,-1,1),(1312,602,378,8,4,11,-1,-1,1),(1313,602,376,1,4,15,-1,-1,2),(1314,602,377,1,4,7,-1,-1,1),(1315,602,656,1,8,23,-1,-1,3),(1316,602,380,1,8,15,-1,-1,1),(1317,602,2551,8,12,33,-1,-1,1),(1318,602,383,1,12,19,-1,-1,4),(1319,602,386,1,16,23,-1,-1,1),(1320,602,657,1,16,28,-1,-1,5),(1321,602,22,1,20,28,-1,-1,6),(1322,602,108,8,20,57,-1,-1,1),(1323,602,503,1,20,48,-1,-1,1),(1324,602,131,4,20,38,-1,-1,1),(1325,602,462,1,24,28,-1,-1,1),(1326,602,464,1,24,33,-1,-1,7),(1327,602,459,1,29,33,-1,-1,1),(1328,602,2553,32,29,48,-1,-1,1),(1329,602,465,1,29,43,-1,-1,8),(1330,602,470,1,29,38,-1,-1,9),(1331,602,1419,8,34,255,-1,-1,1),(1332,602,658,1,34,48,-1,-1,10),(1333,602,463,1,34,38,-1,-1,1),(1334,602,132,4,39,48,-1,-1,2),(1335,602,466,1,39,43,-1,-1,11),(1336,602,460,1,39,48,-1,-1,1),(1337,602,23,1,44,48,-1,-1,12),(1338,602,109,8,44,57,-1,-1,1),(1339,602,659,1,44,50,-1,-1,13),(1340,602,133,4,49,57,-1,-1,3),(1341,602,731,1,49,52,-1,-1,1),(1342,602,2555,32,49,53,-1,-1,1),(1343,602,732,1,49,56,-1,-1,14),(1344,602,1637,1,51,59,-1,-1,16),(1345,602,1634,1,51,55,-1,-1,1),(1346,602,1609,8,52,62,-1,-1,0),(1347,602,1650,1,53,53,-1,-1,1),(1348,602,1526,1,53,255,-1,-1,1),(1349,602,2557,32,54,59,-1,-1,1),(1350,602,1645,1,54,55,-1,-1,1),(1351,602,1639,1,54,54,-1,-1,17),(1352,602,3582,8,54,57,-1,-1,1),(1353,602,1643,1,55,62,-1,-1,18),(1354,602,1651,1,56,56,-1,-1,1),(1355,602,1641,1,57,59,-1,-1,19),(1356,602,1644,1,57,58,-1,-1,1),(1357,602,1652,1,59,60,-1,-1,1),(1358,602,1636,1,59,255,-1,-1,1),(1359,602,2560,32,60,255,-1,-1,1),(1360,602,2884,1,60,255,-1,-1,22),(1361,602,1426,1,60,64,-1,-1,20),(1362,602,1658,1,60,255,-1,-1,21),(1363,602,3327,1,61,64,-1,-1,1),(1364,602,3329,8,62,62,-1,-1,1),(1365,602,3335,1,63,255,-1,-1,23),(1366,603,3306,256,62,255,-1,-1,6),(1367,603,1615,256,56,255,-1,-1,6),(1368,603,3035,256,61,255,-1,-1,6),(1369,603,1508,256,44,255,-1,-1,6),(1370,603,3303,256,65,255,-1,-1,6),(1371,603,3314,32,65,255,-1,-1,25),(1372,603,1617,256,58,255,-1,-1,6),(1373,603,2015,1,55,255,-1,-1,5),(1374,603,2014,1,44,255,-1,-1,5),(1375,603,1616,256,57,255,-1,-1,5),(1376,603,3315,256,61,255,-1,-1,6),(1377,603,3032,64,64,255,-1,-1,20),(1378,603,1393,64,60,255,-1,-1,19),(1379,603,3572,1,54,255,-1,-1,5),(1380,603,3309,128,63,255,-1,-1,56),(1381,603,436,256,51,64,-1,-1,6),(1382,603,3310,32,63,64,-1,-1,0),(1383,603,355,128,12,62,-1,-1,52),(1384,603,3304,32,61,62,-1,-1,0),(1385,603,1619,128,59,62,-1,-1,55),(1386,603,1609,8,52,62,-1,-1,0),(1387,603,1623,32,59,60,-1,-1,0),(1388,603,32,256,52,60,-1,-1,6),(1389,603,1618,64,59,59,-1,-1,18),(1390,603,1622,32,56,58,-1,-1,0),(1391,603,453,128,49,58,-1,-1,54),(1392,603,1412,256,39,58,-1,-1,5),(1393,603,447,64,49,58,-1,-1,16),(1394,603,131,4,53,57,-1,-1,1),(1395,603,6,256,49,57,-1,-1,6),(1396,603,456,256,49,56,-1,-1,5),(1397,603,1621,32,53,55,-1,-1,0),(1398,603,67,8,44,53,-1,-1,1),(1399,603,525,64,39,53,-1,-1,15),(1400,603,3571,1,49,53,-1,-1,5),(1401,603,443,32,49,52,-1,-1,0),(1402,603,133,4,49,52,-1,-1,3),(1403,603,31,256,39,51,-1,-1,6),(1404,603,435,256,34,50,-1,-1,6),(1405,603,1415,1,34,48,-1,-1,5),(1406,603,452,128,29,48,-1,-1,53),(1407,603,451,256,29,48,-1,-1,6),(1408,603,495,32,44,48,-1,-1,0),(1411,603,66,8,34,43,-1,-1,1),(1412,603,442,32,39,43,-1,-1,0),(1413,603,494,32,34,38,-1,-1,0),(1417,603,365,256,16,38,-1,-1,6),(1426,603,524,64,29,38,-1,-1,14),(1435,603,348,256,4,33,-1,-1,6),(1438,604,1677,32,58,255,-1,-1,1),(1468,604,1526,1,53,255,-1,-1,1),(1552,604,1676,32,60,255,-1,-1,1),(1553,604,3329,8,61,255,-1,-1,1),(1554,604,3198,8,61,255,-1,-1,1),(1555,604,3319,1,62,255,-1,-1,1),(1571,604,3387,1,63,255,-1,-1,1),(1573,604,3321,1,63,255,-1,-1,1),(1576,604,3323,1,64,255,-1,-1,1),(1590,604,3325,1,65,255,-1,-1,1),(1591,604,1678,32,59,255,-1,-1,1),(1593,604,1405,256,55,255,-1,-1,1),(1595,604,1675,32,57,255,-1,-1,1),(1596,604,3318,1,61,64,-1,-1,1),(1599,604,3300,8,61,63,-1,-1,1),(1605,604,1394,1,60,63,-1,-1,1),(1620,604,1663,1,57,62,-1,-1,1),(1627,604,1772,1,60,62,-1,-1,1),(1628,604,1662,1,55,61,-1,-1,1),(1629,604,1667,8,56,60,-1,-1,1),(1630,604,2540,1,60,60,-1,-1,1),(1631,604,3582,8,54,60,-1,-1,1),(1632,604,1672,32,54,59,-1,-1,1),(1633,604,1664,1,59,59,-1,-1,1),(1635,604,1577,1,58,59,-1,-1,1),(1636,604,1665,1,59,59,-1,-1,1),(1638,604,1661,1,54,58,-1,-1,1),(1645,604,410,1,49,58,-1,-1,1),(1646,604,1674,32,53,58,-1,-1,1),(1647,604,1673,32,52,57,-1,-1,1),(1648,604,112,1,51,57,-1,-1,1),(1649,604,114,1,44,56,-1,-1,1),(1652,604,1671,32,51,56,-1,-1,1),(1655,604,412,8,49,55,-1,-1,1),(1658,604,1403,256,44,54,-1,-1,1),(1660,604,121,1,39,54,-1,-1,1),(1665,604,109,8,44,53,-1,-1,1),(1666,604,1660,1,52,53,-1,-1,1),(1667,604,49,1,34,52,-1,-1,1),(1668,604,635,32,49,51,-1,-1,1),(1669,604,632,32,49,51,-1,-1,1),(1670,604,633,32,49,51,-1,-1,1),(1691,604,70,1,49,51,-1,-1,1),(1995,604,634,32,49,51,-1,-1,1),(2008,604,111,1,44,50,-1,-1,1),(2009,604,409,1,29,48,-1,-1,1),(2010,604,629,32,44,48,-1,-1,1),(2011,604,680,8,39,48,-1,-1,1),(2012,604,120,1,34,48,-1,-1,1),(2013,604,628,32,44,48,-1,-1,1),(2014,604,630,32,44,48,-1,-1,1),(2015,605,3345,256,62,255,-1,-1,1),(2016,605,3242,8,62,255,-1,-1,1),(2017,605,3349,1,64,255,-1,-1,1),(2018,605,3355,1,64,255,-1,-1,15),(2019,605,3178,8,65,255,-1,-1,1),(2020,605,3360,8,65,255,-1,-1,1),(2021,605,1527,1,56,255,-1,-1,1),(2022,605,1697,1,53,60,-1,-1,1),(2023,605,1711,8,57,255,-1,-1,1),(2024,605,3342,1,61,255,-1,-1,20),(2025,605,3199,8,61,255,-1,-1,1),(2026,605,1713,8,58,255,-1,-1,1),(2027,605,1686,1,51,255,-1,-1,1),(2028,605,1592,1,53,255,-1,-1,1),(2029,605,297,1,8,255,-1,-1,1),(2030,605,3034,32,62,255,-1,-1,1),(2031,605,3358,1,64,65,-1,-1,1),(2032,605,3350,8,63,64,-1,-1,1),(2033,605,3240,8,62,64,-1,-1,1),(2034,605,3300,8,61,63,-1,-1,1),(2035,605,2016,1,58,63,-1,-1,1),(2036,605,3347,1,62,63,-1,-1,1),(2037,605,3341,1,61,63,-1,-1,1),(2038,605,2570,8,60,62,-1,-1,1),(2039,605,1723,32,55,61,-1,-1,1),(2040,605,64,8,39,61,-1,-1,1),(2041,605,1710,8,60,61,-1,-1,1),(2042,605,1707,1,60,61,-1,-1,1),(2043,605,1703,256,59,61,-1,-1,1),(2044,605,1715,1,55,60,-1,-1,1),(2045,605,1712,1,57,60,-1,-1,1),(2046,605,1633,4,58,60,-1,-1,4),(2047,605,1689,8,52,60,-1,-1,1),(2048,605,1702,1,57,60,-1,-1,1),(2049,605,1692,1,59,60,-1,-1,1),(2050,605,1409,8,55,59,-1,-1,1),(2051,605,1693,8,54,59,-1,-1,1),(2052,605,1705,1,53,59,-1,-1,1),(2053,605,1709,8,58,59,-1,-1,1),(2054,605,195,256,49,58,-1,-1,1),(2055,605,1691,1,54,58,-1,-1,1),(2056,605,176,8,49,57,-1,-1,1),(2057,605,133,4,49,57,-1,-1,3),(2058,605,1708,8,53,57,-1,-1,1),(2059,605,1698,1,54,57,-1,-1,1),(2060,605,678,1,44,56,-1,-1,1),(2061,605,185,1,44,56,-1,-1,10),(2062,605,654,8,49,56,-1,-1,1),(2063,605,127,1,39,55,-1,-1,1),(2064,605,1408,8,34,54,-1,-1,1),(2065,605,690,32,49,54,-1,-1,1),(2066,605,1696,1,52,54,-1,-1,1),(2067,605,673,1,44,53,-1,-1,1),(2068,605,174,8,29,53,-1,-1,1),(2069,605,190,1,49,53,-1,-1,1),(2070,605,67,8,44,53,-1,-1,1),(2071,605,163,1,44,52,-1,-1,1),(2072,605,25,1,44,52,-1,-1,1),(2073,605,172,8,49,52,-1,-1,1),(2074,605,184,1,49,52,-1,-1,1),(2075,605,484,8,44,51,-1,-1,1),(2076,605,178,1,44,51,-1,-1,1),(2077,605,74,1,34,50,-1,-1,1),(2078,605,171,8,39,48,-1,-1,1),(2079,605,183,1,39,48,-1,-1,1),(2080,605,653,8,39,48,-1,-1,1),(2081,605,450,256,29,48,-1,-1,1),(2082,605,689,32,44,48,-1,-1,1),(2083,605,648,8,39,48,-1,-1,1),(2084,605,132,4,39,48,-1,-1,2),(2085,605,188,1,34,48,-1,-1,1),(2086,605,408,1,29,45,-1,-1,1),(2087,605,191,8,29,45,-1,-1,1),(2088,605,180,1,34,43,-1,-1,1),(2089,605,49,1,29,43,-1,-1,1),(2090,605,177,1,20,43,-1,-1,1),(2091,605,71,1,34,43,-1,-1,1),(2092,605,677,1,20,43,-1,-1,1),(2093,605,483,8,34,43,-1,-1,1),(2094,605,688,32,39,43,-1,-1,1),(2095,605,182,1,24,39,-1,-1,1),(2096,605,131,4,29,38,-1,-1,1),(2097,605,215,8,20,38,-1,-1,1),(2098,605,652,8,29,38,-1,-1,1),(2099,605,170,8,24,38,-1,-1,1),(2100,605,228,8,20,38,-1,-1,1),(2101,605,304,1,16,38,-1,-1,1),(2102,605,687,32,34,38,-1,-1,1),(2103,605,162,1,29,33,-1,-1,1),(2104,605,482,8,24,33,-1,-1,1),(2105,605,350,1,24,33,-1,-1,1),(2106,605,686,32,29,33,-1,-1,1),(2107,605,187,1,16,33,-1,-1,1),(2108,605,651,8,20,28,-1,-1,1),(2109,605,179,1,20,28,-1,-1,1),(2110,605,24,1,24,28,-1,-1,1),(2111,605,685,32,24,28,-1,-1,1),(2112,605,697,8,16,28,-1,-1,1),(2165,605,303,1,12,28,-1,-1,1),(2316,605,521,256,12,28,-1,-1,1),(2427,605,481,8,16,23,-1,-1,1),(2445,605,300,1,12,23,-1,-1,1),(2530,605,684,32,20,23,-1,-1,1),(2531,605,302,1,12,23,-1,-1,1),(2532,605,39,8,16,23,-1,-1,1),(2533,605,306,1,16,23,-1,-1,1),(2534,605,281,1,16,19,-1,-1,1),(2535,605,40,8,1,19,-1,-1,1),(2536,605,683,32,16,19,-1,-1,1),(2537,605,650,8,12,19,-1,-1,1),(2538,605,290,1,4,19,-1,-1,1),(2539,605,676,1,4,19,-1,-1,1),(2540,605,682,32,12,15,-1,-1,1),(2541,605,292,1,4,15,-1,-1,1),(2542,605,296,1,8,15,-1,-1,1),(2543,602,3301,8,63,255,-1,-1,0),(2544,602,3333,1,64,255,-1,-1,1),(2545,602,3332,1,65,255,-1,-1,1),(2546,602,3339,1,65,255,-1,-1,24),(2547,603,441,32,29,33,-1,-1,0),(2548,603,204,1,24,33,-1,-1,5),(2549,603,65,8,24,33,-1,-1,1),(2550,603,446,64,20,28,-1,-1,13),(2551,603,360,256,12,28,-1,-1,6),(2552,603,493,32,24,28,-1,-1,0),(2553,603,309,8,16,23,-1,-1,1),(2554,603,440,32,20,23,-1,-1,0),(2555,603,502,64,4,19,-1,-1,11),(2556,603,492,32,16,19,-1,-1,0),(2557,603,445,64,12,18,-1,-1,12),(2558,603,362,32,12,15,-1,-1,0),(2559,603,351,32,8,11,-1,-1,0),(2560,603,344,128,4,11,-1,-1,51),(2561,603,341,64,1,11,-1,-1,10),(2562,603,491,32,4,7,-1,-1,0),(2563,603,338,32,1,3,-1,-1,0),(2564,604,631,32,44,48,-1,-1,1),(2565,604,626,32,39,43,-1,-1,1),(2566,604,624,32,39,43,-1,-1,1),(2567,604,627,32,39,43,-1,-1,1),(2568,604,110,1,20,43,-1,-1,1),(2569,604,625,32,39,43,-1,-1,1),(2570,604,113,1,24,43,-1,-1,1),(2571,604,108,8,20,43,-1,-1,1),(2572,604,621,32,34,38,-1,-1,1),(2573,604,620,32,34,38,-1,-1,1),(2574,604,83,1,20,38,-1,-1,1),(2575,604,622,32,34,38,-1,-1,1),(2576,604,623,32,34,38,-1,-1,1),(2577,604,479,8,29,38,-1,-1,1),(2578,604,576,32,29,33,-1,-1,1),(2579,604,573,32,29,33,-1,-1,1),(2580,604,574,32,29,33,-1,-1,1),(2581,604,575,32,29,33,-1,-1,1),(2582,604,68,1,20,33,-1,-1,1),(2583,604,570,32,24,28,-1,-1,1),(2584,604,572,32,24,28,-1,-1,1),(2585,604,330,1,12,28,-1,-1,1),(2586,604,569,32,24,28,-1,-1,1),(2587,604,571,32,24,28,-1,-1,1),(2588,604,411,8,20,28,-1,-1,1),(2589,604,324,1,8,23,-1,-1,1),(2590,604,496,32,20,23,-1,-1,1),(2591,604,497,32,20,23,-1,-1,1),(2592,604,499,32,20,23,-1,-1,1),(2593,604,498,32,20,23,-1,-1,1),(2594,604,396,32,16,19,-1,-1,1),(2595,604,395,32,16,19,-1,-1,1),(2596,604,332,8,8,19,-1,-1,1),(2597,604,328,1,12,19,-1,-1,1),(2598,604,336,32,16,19,-1,-1,1),(2599,604,334,1,16,19,-1,-1,1),(2600,604,335,32,16,19,-1,-1,1),(2601,604,401,32,12,15,-1,-1,1),(2602,604,404,32,12,15,-1,-1,1),(2603,604,322,1,8,15,-1,-1,1),(2604,604,403,32,12,15,-1,-1,1),(2605,604,402,32,12,15,-1,-1,1),(2606,604,398,32,8,11,-1,-1,1),(2607,604,400,32,8,11,-1,-1,1),(2608,604,397,32,8,11,-1,-1,1),(2609,604,399,32,8,11,-1,-1,1),(2610,604,94,1,4,7,-1,-1,1),(2611,604,58,32,4,7,-1,-1,1),(2612,604,316,32,4,7,-1,-1,1),(2613,604,315,32,4,7,-1,-1,1),(2614,604,317,32,4,7,-1,-1,1),(2615,604,93,1,1,3,-1,-1,1),(2616,605,645,1,12,15,-1,-1,1),(2617,605,229,1,4,15,-1,-1,1),(2618,605,293,8,4,11,-1,-1,1),(2619,605,294,256,4,11,-1,-1,1),(2620,605,291,1,4,11,-1,-1,1),(2621,605,295,32,8,11,-1,-1,1),(2622,605,289,1,1,7,-1,-1,1),(2623,605,681,32,4,7,-1,-1,1),(2624,605,286,256,1,3,-1,-1,1),(2625,605,41,1,1,3,-1,-1,1),(2626,605,285,32,1,3,-1,-1,1),(2627,606,1589,1,58,255,-1,-1,1),(2628,606,3394,256,64,255,-1,-1,1),(2629,606,3397,8,65,255,-1,-1,1),(2630,606,172,8,63,255,-1,-1,1),(2631,606,3399,8,65,255,-1,-1,1),(2632,606,3380,1,61,255,-1,-1,1),(2633,606,3378,8,62,255,-1,-1,1),(2634,606,3233,2,62,255,-1,-1,1),(2635,606,3386,1,63,255,-1,-1,1),(2636,606,3385,1,63,255,-1,-1,1),(2637,606,3382,8,62,255,-1,-1,1),(2638,606,3390,1,64,255,-1,-1,1),(2639,606,3377,32,61,255,-1,-1,255),(2640,606,3395,1,65,255,-1,-1,1),(2641,606,3388,8,63,255,-1,-1,1),(2642,606,3396,256,65,255,-1,-1,1),(2643,606,3391,8,64,65,-1,-1,1),(2644,606,3235,8,62,64,-1,-1,1),(2645,606,1598,8,60,64,-1,-1,1),(2646,606,3381,8,62,64,-1,-1,1),(2647,606,3379,1,61,64,-1,-1,1),(2648,606,3387,1,63,64,-1,-1,1),(2649,606,2113,256,60,64,-1,-1,1),(2650,606,1586,1,54,63,-1,-1,1),(2651,606,1596,8,58,63,-1,-1,1),(2652,606,1591,256,59,63,-1,-1,1),(2653,606,3195,4,62,63,-1,-1,1),(2654,606,1578,1,60,62,-1,-1,1),(2655,606,1573,1,52,62,-1,-1,1),(2656,606,171,8,56,62,-1,-1,1),(2657,606,1593,8,57,62,-1,-1,1),(2658,606,1595,8,54,61,-1,-1,1),(2659,606,1599,8,59,61,-1,-1,1),(2660,606,1584,8,54,61,-1,-1,1),(2661,606,1579,8,53,61,-1,-1,1),(2662,606,1432,8,60,61,-1,-1,1),(2663,606,9,2,51,61,-1,-1,1),(2664,606,1592,1,53,60,-1,-1,1),(2665,606,1574,32,55,60,-1,-1,1),(2666,606,2527,1,54,60,-1,-1,1),(2667,606,1587,1,55,60,-1,-1,1),(2668,606,3574,1,54,60,-1,-1,1),(2669,606,2525,8,49,59,-1,-1,1),(2670,606,1590,256,56,59,-1,-1,1),(2671,606,1577,1,57,59,-1,-1,1),(2672,606,337,8,49,58,-1,-1,1),(2673,606,32,256,49,58,-1,-1,1),(2674,606,1588,1,51,57,-1,-1,1),(2716,606,157,8,49,57,-1,-1,1),(2718,606,133,4,56,57,-1,-1,1),(2719,606,159,8,49,56,-1,-1,1),(2749,606,112,1,49,56,-1,-1,1),(2790,606,436,256,49,55,-1,-1,1),(2791,606,132,4,51,55,-1,-1,1),(2846,606,170,8,44,55,-1,-1,1),(2871,606,49,1,44,54,-1,-1,1),(2880,606,1568,2,52,54,-1,-1,1),(2912,606,166,32,49,54,-1,-1,1),(2927,606,158,8,44,53,-1,-1,1),(3003,606,389,8,44,53,-1,-1,1),(3056,606,3573,1,49,53,-1,-1,1),(3151,606,510,1,44,53,-1,-1,1),(3152,606,154,8,44,52,-1,-1,1),(3153,606,163,1,44,52,-1,-1,1),(3154,606,145,8,39,51,-1,-1,1),(3155,606,527,1,39,51,-1,-1,1),(3156,606,507,1,39,50,-1,-1,1),(3157,606,131,4,34,50,-1,-1,1),(3158,606,326,8,34,48,-1,-1,1),(3159,606,1429,1,44,48,-1,-1,1),(3160,606,435,256,39,48,-1,-1,1),(3161,606,111,1,34,48,-1,-1,1),(3171,606,165,32,44,48,-1,-1,1),(3172,606,153,8,39,48,-1,-1,1),(3177,606,152,8,39,48,-1,-1,1),(3180,606,167,8,34,45,-1,-1,1),(3182,606,164,32,34,43,-1,-1,1),(3183,606,15,2,29,43,-1,-1,1),(3184,606,431,8,34,43,-1,-1,1),(3185,606,438,1,39,43,-1,-1,1),(3186,606,1427,1,34,43,-1,-1,1),(3191,606,160,8,34,43,-1,-1,1),(3212,606,161,8,34,43,-1,-1,1),(3217,606,509,1,34,43,-1,-1,1),(3227,606,162,1,29,43,-1,-1,1),(3228,606,228,8,19,43,-1,-1,1),(3229,606,39,8,29,43,-1,-1,1),(3230,606,201,1,1,38,-1,200,1),(3232,606,434,256,24,38,-1,-1,1),(3281,606,144,2,24,38,-1,-1,1),(3282,606,526,1,19,38,-1,-1,1),(3283,606,506,1,29,38,-1,-1,1),(3284,606,349,8,29,38,-1,-1,1),(3285,606,151,8,29,38,-1,-1,1),(3287,606,227,8,14,38,-1,-1,1),(3288,606,63,8,34,34,-1,-1,1),(3289,606,365,256,19,33,-1,-1,1),(3290,607,26,8,1,13,-1,-1,1),(3291,608,999,1,1,1,-1,-1,1),(3292,609,999,1,1,1,-1,-1,1),(3293,610,999,1,1,1,-1,-1,1),(3294,606,511,256,19,33,-1,-1,1),(3295,606,437,1,24,33,-1,-1,1),(3296,606,508,1,24,33,-1,-1,1),(3297,606,149,8,24,33,-1,-1,1),(3298,606,226,8,9,33,-1,-1,1),(3299,606,649,8,24,33,-1,-1,1),(3300,606,308,8,19,33,-1,-1,1),(3301,606,148,8,19,33,-1,-1,1),(3302,606,110,1,19,33,-1,-1,1),(3303,606,230,4,14,33,-1,-1,1),(3304,606,146,8,24,28,-1,-1,1),(3305,606,147,8,19,28,-1,-1,1),(3306,606,224,8,5,28,-1,-1,1),(3307,606,505,1,14,28,-1,-1,1),(3308,606,281,1,14,28,-1,-1,1),(3309,606,12,2,19,28,-1,-1,1),(3310,606,60,8,29,24,-1,-1,1),(3311,606,61,8,24,24,-1,-1,1),(3312,606,266,8,1,23,-1,-1,1),(3313,606,283,8,14,23,-1,-1,1),(3314,606,279,8,9,23,-1,-1,1),(3315,606,225,8,1,23,-1,-1,1),(3316,606,277,256,9,23,-1,-1,1),(3317,606,282,1,14,23,-1,-1,1),(3318,606,40,8,1,18,-1,-1,1),(3319,606,280,8,14,18,-1,-1,1),(3320,606,269,8,5,18,-1,-1,1),(3321,606,17,2,9,18,-1,-1,1),(3322,606,75,256,5,18,-1,-1,1),(3323,606,275,1,5,13,-1,-1,1),(3324,606,274,8,5,13,-1,-1,1),(3325,606,270,1,5,13,-1,-1,1),(3326,606,271,8,5,13,-1,-1,1),(3327,606,168,8,44,9,-1,-1,1),(3328,606,1585,8,55,9,-1,-1,1),(3329,606,93,1,1,9,-1,-1,1),(3330,606,200,2,1,8,-1,-1,1),(3331,606,267,8,1,4,-1,-1,1),(3332,607,239,256,1,28,-1,-1,1),(3333,607,200,2,1,8,-1,-1,1),(3334,607,93,1,1,4,-1,-1,1),(3335,607,224,8,1,23,-1,-1,1),(3336,607,242,128,1,28,-1,-1,1),(3337,607,92,1,5,8,-1,-1,1),(3338,607,249,4,5,23,-1,-1,1),(3339,607,252,1,5,18,-1,-1,1),(3340,607,268,8,9,33,-1,-1,1),(3341,607,17,2,9,18,-1,-1,1),(3342,607,256,8,9,18,-1,-1,1),(3343,607,515,8,9,18,-1,-1,1),(3344,607,91,1,9,28,-1,-1,1),(3345,607,225,8,9,30,-1,-1,1),(3346,607,264,256,14,23,-1,-1,1),(3347,607,262,1,14,23,-1,-1,1),(3348,607,263,8,14,23,-1,-1,1),(3349,607,278,8,14,255,-1,-1,1),(3350,607,1392,1,19,33,-1,-1,1),(3351,607,273,8,19,28,-1,-1,1),(3352,607,516,8,19,28,-1,-1,1),(3353,607,12,2,19,28,-1,-1,1),(3354,607,226,8,19,43,-1,-1,1),(3355,607,76,4,24,38,-1,-1,1),(3356,607,421,8,24,38,-1,-1,1),(3357,607,405,1,24,33,-1,-1,1),(3358,607,99,256,24,23,-1,-1,1),(3359,607,27,1,24,38,-1,-1,1),(3360,607,512,128,29,56,-1,-1,1),(3361,607,517,8,29,38,-1,-1,1),(3362,607,217,1,29,43,-1,-1,1),(3363,607,129,8,29,38,-1,-1,1),(3364,607,78,256,29,51,-1,-1,1),(3365,607,15,2,29,43,-1,-1,1),(3366,607,144,2,34,43,-1,-1,1),(3367,607,228,8,34,48,-1,-1,1),(3368,607,429,8,34,55,-1,-1,1),(3369,607,418,1,34,48,-1,-1,1),(3370,607,259,256,34,43,-1,-1,1),(3371,607,406,1,34,50,-1,-1,1),(3372,607,518,8,39,48,-1,-1,1),(3373,607,422,8,39,48,-1,-1,1),(3374,607,432,8,39,48,-1,-1,1),(3375,607,490,4,39,48,-1,-1,1),(3376,607,28,1,39,43,-1,-1,1),(3377,607,1437,1,39,43,-1,-1,1),(3378,607,3695,1,44,53,-1,-1,1),(3379,607,49,1,44,54,-1,-1,1),(3380,607,1740,1,44,48,-1,-1,1),(3381,607,1436,1,44,51,-1,-1,1),(3382,607,665,256,44,52,-1,-1,1),(3383,607,145,8,44,54,-1,-1,1),(3384,607,430,8,44,55,-1,-1,1),(3385,607,3834,2,44,50,-1,-1,1),(3386,607,29,1,49,53,-1,-1,1),(3387,607,671,1,49,53,-1,-1,1),(3388,607,77,4,49,55,-1,-1,1),(3389,607,420,1,49,57,-1,-1,1),(3390,607,519,8,49,55,-1,-1,1),(3391,607,356,8,49,57,-1,-1,1),(3392,607,433,1,49,60,-1,-1,1),(3393,607,423,8,49,255,-1,-1,1),(3394,607,9,2,51,59,-1,-1,1),(3395,607,1542,1,51,60,-1,-1,1),(3396,607,1600,256,52,61,-1,-1,1),(3397,607,1601,256,53,62,-1,-1,1),(3398,607,1603,1,53,58,-1,-1,1),(3399,607,1602,1,54,59,-1,-1,1),(3400,607,1475,32,55,255,-1,-1,1),(3401,607,1290,2,55,59,-1,-1,1),(3402,607,1557,8,55,255,-1,-1,1),(3403,607,1719,4,56,59,-1,-1,1),(3404,607,2518,1,56,61,-1,-1,1),(3405,607,1558,8,56,63,-1,-1,1),(3406,607,1767,128,57,60,-1,-1,1),(3407,607,1559,8,57,255,-1,-1,1),(3408,607,1605,1,57,59,-1,-1,1),(3409,607,1606,1,58,60,-1,-1,1),(3410,607,1560,8,58,62,-1,-1,1),(3411,607,1607,1,59,63,-1,-1,1),(3412,607,1608,128,60,60,-1,-1,1),(3413,607,2520,2,60,255,-1,-1,1),(3414,607,2877,1,60,64,-1,-1,1),(3415,607,1291,2,60,62,-1,-1,1),(3416,607,3473,1,61,255,-1,-1,1),(3417,607,3192,128,61,63,-1,-1,1),(3418,607,3434,1,61,255,-1,-1,1),(3419,607,3439,8,62,255,-1,-1,1),(3420,607,3437,256,62,255,-1,-1,1),(3421,607,3448,8,63,255,-1,-1,1),(3422,607,3443,2,63,255,-1,-1,1),(3423,607,3446,256,63,255,-1,-1,1),(3424,607,3449,1,64,255,-1,-1,1),(3425,607,3450,8,64,64,-1,-1,1),(3426,607,3447,128,64,255,-1,-1,1),(3427,607,3452,1,65,255,-1,-1,1);
/*!40000 ALTER TABLE `npc_spells_entries` 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 2008-05-09 1:11:43

Vulok
05-17-2008, 12:00 AM
Howdy,

Sorry if I missed this, tried reading and searching. But, was going to start a server with a friend and just co-op the game and was wondering if the bots were possible to download and use.

Was thinking of a healer of some sort to spice up the game some, and was wondering if there was a download or a guide somewhere I could use.

Thanks and sorry again if I missed a post that covered this.

aknosis
05-17-2008, 01:06 AM
I believe you can get it here:

http://eqoffline.free.fr/

Aramid
05-17-2008, 07:17 AM
Howdy,

Sorry if I missed this, tried reading and searching. But, was going to start a server with a friend and just co-op the game and was wondering if the bots were possible to download and use.

Was thinking of a healer of some sort to spice up the game some, and was wondering if there was a download or a guide somewhere I could use.

Thanks and sorry again if I missed a post that covered this.

The latest source as of May 17, 2008, can be found here

http://www.cerebus.net:8080//files/downloads/1108BotsSrc.zip

Vulok
05-17-2008, 02:23 PM
Thanks!

I haven't reloaded a server but will do so today or tommorow. Thanks again for the bot links!

Will do my best to get the up and going.

Thanks again

Aramid
05-17-2008, 03:39 PM
Thanks!

I haven't reloaded a server but will do so today or tommorow. Thanks again for the bot links!

Will do my best to get the up and going.

Thanks again

There are some things you will need to do to make the BOT Source work. 1st of all, you only need to compile the ZONE folder that it comes with, however, b4 you compile it, you need to change the makefile and makefile.common in the zone folder with the following changes...

In makefile find this

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


and change it to this


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

in makefile.common


../common/guild_base.o guild_mgr.o

becomes

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

Once compiled, just copy the compiled ZONE file to your server folder and run your server.

Vulok
05-18-2008, 02:40 PM
Thanks,

Will do soon as I get around this active Perl issue. I used the older version like the post mentioned just that the binary form of it is throwing me off.

Will get it figured out soon enough, gonna make some lunch now.

Thanks again for the info, was curious how to use all that data.

Thanks!

Vulok
05-19-2008, 05:55 PM
What compile method should I use to get that folder to a Zone.exe I run vista and dont have a right click compile feature. Have a compress and what not

thanks in advance

Andrew80k
05-19-2008, 09:21 PM
if the binaries work on Vista, why don't you just download them? Do you have a compiler? VC Express is free and works if you don't.

Aramid
05-20-2008, 01:02 PM
Yes, just download the compiled version, what I mentioned above was for Linux. I use Linux, so I figured everyone did .. lol :D

Vulok
05-23-2008, 04:11 PM
Well had a slight unforseen setback...

My mobo crashed on me, so had to order a new one. Then I said screw that so I upgraded processor and mobo so should be rocking next week. Hopefully Tues.

On a friends laptop right now, thanks for the posts of help. I will start on this again, in a few days.

Why would I want to use a stable Linux server? When I can run a confusing Windows server thats caused a few problems for me, jeez ;)

On an off note, did try a server with bots. They stayed on lvl 1, and were naked the whole time. That a common thing?

Thanks

Aramid
05-24-2008, 12:31 AM
Each time you Level, enter this command after targeting a bot

#bot update

Do this for each Bot.

This will update the bot to your level, but will not change their con color until you kill/respawn them. If you give them Armor, they will keep it and you will see it when you group with them. They don't come with any by default.
Also, just logging out or zoning will cause you to respawn the bots and they will be updated to your level.

Vulok
05-25-2008, 05:59 PM
Thanks again for all the help and info.

Will start this back up Tues. and hopefully should be rocking out quite well.

thanks again

Davood
05-26-2008, 01:21 AM
hey there Aramid, or anyone that might want to venture an answer.

I updated the command.cpp and then recompiled with the new spell caster IDs from your sql update, but my bots won't cast spells now, I'm not sure what Else I have to do to get your new spellset working.

cleric = 601
wizard = 602
nec = 603
mag = 604
enc = 605
shaman = 606

Congdar
05-26-2008, 10:03 AM
spellid is set in command.cpp at "bot create" and also at "bot update" calling CalcBotStats() in mob.cpp

Also, the last db i downloaded for peq has entries in the 600's so maybe try 700's?

Davood
05-26-2008, 01:29 PM
OK I managed to fix it by "adding" those sql entries instead of running that sql query, (which kills your spell casting data for all npcs!)

so now regular npcs use spells just fine, but my bots still won't cast.

I've updated the spell id numbers in both command.cpp and mobai.cpp

and recompiled.

I have the spell IDs in the 1001 to 1007 range in my sql table and the source.

my "bobb" cleric bot works if I force him back to #ai spellslist 1

but his default 1001 dooesn't work

is there something else in the source, or db that I have to do?

eski2
05-26-2008, 01:37 PM
i really like the bots idea but i can't see if there's a page here for a newbie to implement this, say using minilogin? I have minimal experience in all of this and am struggling, despite my excitement with the idea. I love playing different classes and would really enjoy being able to give equipment to my bots. I know it's not as good as having real people, but for someone who's always soloing, it is the next best thing.

I use win vista 64. Ideally i'd like to be able to integrate the changes into my existing campaign, and keep my characters and custom items, but i'd wipe nd start again if it was the only way to try with bots following me about. I imagine the AI must allow for some of it already; after all, npcs heal their mates when badly wounded, and buff everyone as soon as they spawn?

I imagine going raiding with bots could be amusing, unless it's a zerg fest, and having bots fall in lava or whatever could be horribly frustrating, but speaking as someone who never got to fight in proper raids, this would be the next best thing.

Congdar
05-26-2008, 02:32 PM
OK I managed to fix it by "adding" those sql entries instead of running that sql query, (which kills your spell casting data for all npcs!)

so now regular npcs use spells just fine, but my bots still won't cast.

I've updated the spell id numbers in both command.cpp and mobai.cpp

and recompiled.

I have the spell IDs in the 1001 to 1007 range in my sql table and the source.

my "bobb" cleric bot works if I force him back to #ai spellslist 1

but his default 1001 dooesn't work

is there something else in the source, or db that I have to do?

it's mob.cpp, not mobai.cpp... hope you change the right stuff. those are the only 2 places spellid is set. There's always been the issue where New or Updated bots need to be spawned and then you must zone and respawn for them to work correctly.





i really like the bots idea but i can't see if there's a page here for a newbie to implement this, say using minilogin? I have minimal experience in all of this and am struggling, despite my excitement with the idea. I love playing different classes and would really enjoy being able to give equipment to my bots. I know it's not as good as having real people, but for someone who's always soloing, it is the next best thing.

I use win vista 64. Ideally i'd like to be able to integrate the changes into my existing campaign, and keep my characters and custom items, but i'd wipe nd start again if it was the only way to try with bots following me about. I imagine the AI must allow for some of it already; after all, npcs heal their mates when badly wounded, and buff everyone as soon as they spawn?

I imagine going raiding with bots could be amusing, unless it's a zerg fest, and having bots fall in lava or whatever could be horribly frustrating, but speaking as someone who never got to fight in proper raids, this would be the next best thing.


If you have overcome the regular issues with vista and multi-core cpu's and can get it all running, then adding bots is not difficult. You don't have to lose your existing characters or anything, just merge the bot source in with your exiting source. Hopefully you are using my latest 1108 version.

Davood
05-26-2008, 02:41 PM
yeah thats what i meant sorry. mob.cpp and mobai.cpp

the only thing I can see that might be a problem is that in the DB entries, the "priority" is set to "1" in every entry. does that matter?

Davood
05-26-2008, 02:47 PM
err ignore last post. i did edit the right files, i just was regurgitating from memory instead of checking, yes command.cpp and mob.cpp are the ones I edited.

I think those are fine, and it shouldn't really matter if I am testing with #ai spellslist xxx anyways right? Something is borked in the DB entries.

Davood
05-26-2008, 03:12 PM
upon further investigation
I see that Aramid's entries do have different priority levels set... and that is reflected in my database... I have no clue what is going on.. the only experiment I can think of is to hijack the original spelltypes for npcs and see if that "works"

Davood
05-26-2008, 03:23 PM
hijacking the npc spellslists with aramids entries works !

why !?

haha

eski2
05-27-2008, 02:18 AM
...
If you have overcome the regular issues with vista and multi-core cpu's and can get it all running, then adding bots is not difficult. You don't have to lose your existing characters or anything, just merge the bot source in with your exiting source. Hopefully you are using my latest 1108 version.

How do i find out which version? I followed http://eqoffline.free.fr/README.txt but i think it trashed something vital as now I can't even get eqlaunch to work. I don't know if i followed the instructions incorrectly, or if i'm following the wrong set or what. Then i decided to at least use winCVS to download the latest database but it decided i don't have python on my system, no idea why . Maybe it needs python 2.1 not 2.5? Argh.

If there's anyway i can recover from this, please advise. I'm jumping from one forum to another as they all seem almost but not quite the same thing, and a centralised "how-to" would be lovely.

If this mess is unrecoverable can someone advise me how at least to backup the database before i try these things, as i can't see anything obvious like peq.sql in my sql or eqemu folders?

Thanks!!


---------------------------------------------
[05.27. - 16:11:33] Starting Log: logs/eqemu_debug_zone_4208.log
[05.27. - 16:11:33] [ZONE__INIT] Loading server configuration..
[05.27. - 16:11:33] [ZONE__INIT] Log settings loaded from log.ini
[05.27. - 16:11:33] [ZONE__INIT] Connecting to MySQL...
[05.27. - 16:11:33] [ZONE__INIT] CURRENT_ZONE_VERSION: EQEMu 0.7.0
[05.27. - 16:11:33] [ZONE__INIT] Log settings loaded from ./log.ini
[05.27. - 16:11:33] [ZONE__INIT] Mapping Incoming Opcodes
[05.27. - 16:11:33] [ZONE__INIT] Loading Variables
[05.27. - 16:11:33] [ZONE__INIT] Loading zone names
[05.27. - 16:11:33] [ZONE__INIT] Loading items
[05.27. - 16:11:33] [ZONE__INIT_ERR] Loading items FAILED!
[05.27. - 16:11:33] [ZONE__INIT] Failed. But ignoring error and going on...
[05.27. - 16:11:33] [ZONE__INIT] Loading npc faction lists
[05.27. - 16:11:33] [ZONE__INIT_ERR] Loading npcs faction lists FAILED!

eski2
05-27-2008, 03:07 AM
I'd backed up the files below before starting and restoring the originals made the game playable but #bot doesn't work. My schemata shows the bot tables i'd expect. I must be close surely? I'd put the files below in my eqemu directory, was there something else i needed to do?

EMuShareMem.dll
WorldDebug.exe
ZoneDebugPerl.exe

Congdar
05-27-2008, 09:11 AM
You maybe forgot to declare EQBOTS in the preprocessor args before compiling?

There is no longer a need to do any database updates if you use the PEQ database since it supports the bots. (Cavedude also has a completely automated bots setup here (http://www.projecteq.net/downloads.php)that you can try out.

You can safely ignore the python message. I renamed my exe's to World.exe and Zone.exe

Congdar
05-27-2008, 09:18 AM
You can try my latest bot source (http://www.cerebus.net:8080/files/downloads/1108BotsSrc.zip) and binaries (http://www.cerebus.net:8080/files/downloads/1108BotsBin.zip)

eski2
05-27-2008, 09:42 AM
You maybe forgot to declare EQBOTS in the preprocessor args before compiling?

To quote from the Simpsons: "The what now?"

I know not this thing you call "Komm Pyl". I just downloaded and ran the thing


There is no longer a need to do any database updates if you use the PEQ database since it supports the bots. (Cavedude also has a completely automated bots setup here (http://www.projecteq.net/downloads.php)that you can try out.

You can safely ignore the python message. I renamed my exe's to World.exe and Zone.exe

Maybe if i had done that it would have worked?

I'm pretty sure i noticed the bots entries in the DB from day one but never knew what they were for. That python message is a nuisance because it's wrong; depending on the OS, you have to specify the full path (XP) or not (vista) and it's python(version number).dll, not python.dll, and it's not in the python directory or subdirectories. There many frantic posts from people trying WinCVS. I don't really knwo the difference between python and perl, but i presume perl is an older scripting language for much the same purpose? I use Notepad++ but i still find missing } symbols cause me nightmares in the basic quests I've attempted.

I miss my VB4 days. I sort of knew what i was doing way back then.

eski2
05-27-2008, 11:06 AM
Ok, a new complication has arisen. when i zone in, my system locks up trying to move me to a safe point. I've tried using #zone (current zone) and #zone cabeast (i'm an iksar) but it still get caught in a loop. I used #flymode 1 to get out but it was very disturbing! It's like the mab coords have been reset. i tried to find an error in my logs to show what i mean; maybe i should screenshot it. Ah well, #bot seems to do something but the weirdness meant i haven't been able to get it going yet.

eski2
05-27-2008, 11:19 AM
Wed May 28 01:12:49 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:49 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:49 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:49 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:49 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:50 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:50 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:50 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:50 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:50 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:51 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:51 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:51 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:51 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:51 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:52 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:52 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:52 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:52 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:52 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:53 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:53 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:53 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:53 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:53 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:53 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:54 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:54 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:54 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:54 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:55 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:55 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:55 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:55 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:55 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:56 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:56 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:56 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:56 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:56 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:56 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:57 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:57 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:57 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:57 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:58 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:58 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:58 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:58 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:58 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:59 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:59 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:59 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:59 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:12:59 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:13:00 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:13:00 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:13:00 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:13:00 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:13:00 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:13:01 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.
[Wed May 28 01:13:01 2008] Player is beneath the world in East Cabilis at 0.000, 0.000, 0.000, moving to safe point.

eski2
05-27-2008, 11:35 AM
so the bots seemed to be working but the maps seemed to be bugged now?

Congdar
05-27-2008, 11:53 AM
zone points are a db issue, not related to bots, maybe resource your zone table? just a guess.

eski2
05-27-2008, 01:30 PM
I went back to my backup versions of "EMuShareMem.dll
WorldDebug.exe
ZoneDebugPerl.exe"
and the zone issue went away. As far as i can tell, that shouldn't have affected the database? I can still see the bot entries in the db but they won't listen to me anymore. They were casting spells when i had them, i just couldn't move because eqemu kept trying to move me to a safe spot in a loop.
Is there anything i can post to help debug this? I feel like I am very close to having working bots but something is not quite right.

Congdar
05-27-2008, 02:03 PM
try not to mix and match versions of source and database, not sure where you are on those.

eski2
05-27-2008, 02:45 PM
I couldn't find any product version numbers but this is the output from Directory of C:\EQEmu . I'm happy to try anythingthat might get me the bots and the zones working together?

25/07/2007 07:40 PM 126,976 eqlaunch.exe
10/09/2005 09:53 AM 294,912 MiniLogin.exe
12/04/2006 08:26 AM 126,976 sleep.exe
26/10/2007 10:51 PM 57,344 test_connection.exe
11/05/2008 10:32 PM 691,481 unins000.exe
11/04/2008 09:52 AM 2,035,712 World.exe
11/04/2008 09:50 AM 3,117,056 Zone.exe
7 File(s) 6,450,457 bytes
0 Dir(s) 350,884,143,104 bytes free
Volume in drive C has no label.
Volume Serial Number is EC75-4EBD

Directory of C:\EQEmu

11/04/2008 09:52 AM 131,072 EMuShareMem.dll
1 File(s) 131,072 bytes
0 Dir(s) 350,884,065,280 bytes free

eski2
05-27-2008, 05:54 PM
I was hoping this might help in debugging the problem. I'm guessing where it says "[Debug] [NET__IDENT_TRACE] 127.0.0.1:59593: First opcode 0x4dd0 did not match ex
pected 0x2792" is where it's falling apart?

[Debug] Starting Log: logs/eqemu_debug_world_5884.log
[Debug] [WORLD__INIT] Loading server configuration..
[Debug] [WORLD__INIT] Log settings loaded from log.ini
[Debug] [WORLD__INIT] CURRENT_WORLD_VERSION:EQEMu 0.7.0
[Debug] [WORLD__INIT] Connecting to MySQL...
[Status] Starting Log: logs/eqemu_world_5884.log
[Status] Using database 'peq' at localhost:3306
[Debug] [WORLD__INIT] Starting HTTP world service...
[Debug] [WORLD__HTTP] Loaded mime types from mime.types
[Debug] [WORLD__INIT] Loading variables..
[Debug] [WORLD__INIT] Loading zones..
[Debug] [WORLD__INIT] Clearing groups..
[Debug] [WORLD__INIT] Clearing temporary merchant lists..
[Debug] [WORLD__INIT] Loading items..
[Status] EMuShareMem loaded
[Status] Loading items from database: count=62263
[Debug] [WORLD__INIT] Loading guilds..
[Debug] [RULES__CHANGE] Loading rule set 'default' (1)
[Debug] [RULES__CHANGE] Set rule GM:MinStatusToZoneAnywhere to value 250
[Debug] [RULES__CHANGE] Set rule Character:MaxLevel to value 80
[Debug] [RULES__CHANGE] Set rule Character:LeaveCorpses to value true
[Debug] [RULES__CHANGE] Set rule Character:LeaveNakedCorpses to value false
[Debug] [RULES__CHANGE] Set rule Character:ExpMultiplier to value 2.750000000000
0
[Debug] [RULES__CHANGE] Set rule Character:DeathExpLossLevel to value 10
[Debug] [RULES__CHANGE] Set rule Character:CorpseDecayTimeMS to value 86400000
[Debug] [RULES__CHANGE] Set rule Character:AutosaveIntervalS to value 300
[Debug] [RULES__CHANGE] Set rule Character:HPRegenMultiplier to value 100
[Debug] [RULES__CHANGE] Set rule Character:ManaRegenMultiplier to value 100
[Debug] [RULES__CHANGE] Set rule Character:EnduranceRegenMultiplier to value 100

[Debug] [RULES__CHANGE] Set rule Guild:MaxMembers to value 2048
[Debug] [RULES__CHANGE] Set rule Skills:MaxTrainTradeskills to value 210
[Debug] [RULES__CHANGE] Set rule Pets:AttackCommandRange to value 200.0000000000
000
[Debug] [RULES__CHANGE] Set rule World:ZoneAutobootTimeoutMS to value 120000
[Debug] [RULES__CHANGE] Set rule World:ClientKeepaliveTimeoutMS to value 95000
[Debug] [RULES__CHANGE] Set rule Aggro:PetSpellAggroMod to value 10
[Debug] [RULES__CHANGE] Set rule Aggro:SongAggroMod to value 33
[Debug] [RULES__CHANGE] Set rule Aggro:SpellAggroMod to value 100
[Debug] [RULES__CHANGE] Set rule Combat:BaseCritChance to value 0.0000000000000
[Debug] [RULES__CHANGE] Set rule Combat:WarBerBaseCritChance to value 0.02999999
93294
[Debug] [RULES__CHANGE] Set rule Combat:BerserkBaseCritChance to value 0.0599999
986589
[Debug] [RULES__CHANGE] Set rule Combat:NPCBashKickLevel to value 6
[Debug] [RULES__CHANGE] Set rule Character:ConsumptionMultiplier to value 200
[Debug] [RULES__CHANGE] Set rule Spells:AutoResistDiff to value 15
[Debug] [RULES__CHANGE] Set rule Spells:ResistChance to value 2.0000000000000
[Debug] [RULES__CHANGE] Set rule Spells:ResistMod to value 0.4000000059605
[Debug] [RULES__CHANGE] Set rule Spells:PartialHitChance to value 0.699999988079
1
[Debug] [RULES__CHANGE] Set rule Combat:ClientBaseCritChance to value 0.00000000
00000
[Debug] [RULES__CHANGE] Set rule Zone:NPCGlobalPositionUpdateInterval to value 6
0000
[Debug] [RULES__CHANGE] Set rule NPC:MinorNPCCorpseDecayTimeMS to value 600000
[Debug] [RULES__CHANGE] Set rule NPC:MajorNPCCorpseDecayTimeMS to value 1200000
[Debug] [RULES__CHANGE] Set rule Zone:GraveyardTimeMS to value 1200000
[Debug] [RULES__CHANGE] Set rule Zone:EnableShadowrest to value true
[Debug] [RULES__CHANGE] Set rule Map:FixPathingZWhenLoading to value true
[Debug] [RULES__CHANGE] Set rule Map:FixPathingZAtWaypoints to value true
[Debug] [RULES__CHANGE] Set rule Map:FixPathingZWhenMoving to value true
[Debug] [RULES__CHANGE] Set rule Map:FixPathingZOnSendTo to value false
[Debug] [RULES__CHANGE] Set rule Zone:ClientLinkdeadMS to value 180000
[Debug] [RULES__CHANGE] Set rule NPC:UseItemBonusesForNonPets to value true
[Debug] [RULES__CHANGE] Set rule Map:FixPathingZMaxDeltaSendTo to value 20.00000
00000000
[Debug] [RULES__CHANGE] Set rule Map:FixPathingZMaxDeltaLoading to value 20.0000
000000000
[Debug] [RULES__CHANGE] Set rule Map:FixPathingZMaxDeltaMoving to value 20.00000
00000000
[Debug] [RULES__CHANGE] Set rule Map:FixPathingZMaxDeltaWaypoint to value 20.000
0000000000
[Debug] [RULES__CHANGE] Set rule Character:HealOnLevel to value true
[Debug] [RULES__CHANGE] Set rule Character:FeignKillsPet to value false
[Debug] [RULES__CHANGE] Set rule Character:ItemManaRegenCap to value 100
[Debug] [RULES__CHANGE] Set rule Character:ItemHealthRegenCap to value 100
[Debug] [RULES__CHANGE] Set rule Combat:UseIntervalAC to value true
[Debug] [RULES__CHANGE] Set rule Combat:PetAttackMagicLevel to value 30
[Debug] [RULES__CHANGE] Set rule NPC:SayPauseTimeInSec to value 10
[Debug] [RULES__CHANGE] Set rule NPC:OOCRegen to value 0
[Debug] [RULES__CHANGE] Set rule Aggro:SmartAggroList to value true
[Debug] [RULES__CHANGE] Set rule Aggro:SittingAggroMod to value 35
[Debug] [RULES__CHANGE] Set rule Aggro:MeleeRangeAggroMod to value 20
[Debug] [RULES__CHANGE] Set rule Aggro:CurrentTargetAggroMod to value 0
[Debug] [RULES__CHANGE] Set rule Aggro:CriticallyWoundedAggroMod to value 100
[Debug] [RULES__CHANGE] Set rule Aggro:SlowAggroMod to value 450
[Debug] [RULES__CHANGE] Set rule Aggro:IncapacitateAggroMod to value 500
[Debug] [RULES__CHANGE] Set rule Aggro:MovementImpairAggroMod to value 175
[Debug] [RULES__CHANGE] Set rule NPC:BuffFriends to value true
[Debug] [RULES__CHANGE] Set rule Character:DeathItemLossLevel to value 80
[Debug] [RULES__CHANGE] Set rule Watermap:CheckWaypointsInWaterWhenLoading to va
lue true
[Debug] [RULES__CHANGE] Set rule Watermap:CheckForWaterAtWaypoints to value true

[Debug] [RULES__CHANGE] Set rule Watermap:CheckForWaterWhenMoving to value true
[Debug] [RULES__CHANGE] Set rule Watermap:CheckForWaterOnSendTo to value false
[Debug] [RULES__CHANGE] Set rule Watermap:CheckForWaterWhenFishing to value true

[Debug] [RULES__CHANGE] Set rule Watermap:FishingRodLength to value 90.000000000
0000
[Debug] [RULES__CHANGE] Set rule Watermap:FishingLineLength to value 120.0000000
000000
[Debug] [RULES__CHANGE] Set rule Character:ItemDamageShieldCap to value 90
[Debug] [RULES__CHANGE] Set rule Character:ItemAccuracyCap to value 200
[Debug] [RULES__CHANGE] Set rule Character:ItemAvoidanceCap to value 150
[Debug] [RULES__CHANGE] Set rule Character:ItemCombatEffectsCap to value 150
[Debug] [RULES__CHANGE] Set rule Character:ItemShieldingCap to value 50
[Debug] [RULES__CHANGE] Set rule Character:ItemSpellShieldingCap to value 50
[Debug] [RULES__CHANGE] Set rule Character:ItemDoTShieldingCap to value 50
[Debug] [RULES__CHANGE] Set rule Character:ItemStunResistCap to value 50
[Debug] [RULES__CHANGE] Set rule Character:ItemStrikethroughCap to value 50
[Debug] [WORLD__INIT] Loaded default rule set 'default'
[Debug] [WORLD__INIT] Loading EQ time of day..
[Debug] [WORLD__INIT] Loading launcher list..
[Debug] [WORLD__INIT] Reboot zone modes ON
[Debug] [WORLD__INIT] Deleted 0 stale player corpses from database
[Debug] [WORLD__INIT] Deleted 0 stale player backups from database
[Debug] [WORLD__INIT] Zone (TCP) listener started.
[Debug] [WORLD__INIT] Client (UDP) listener started.
[Debug] [NET__IDENTIFY] Registered patch 6.2
[Debug] [NET__IDENTIFY] Registered patch Titanium
[Debug] [NET__IDENTIFY] Registered patch Anniversary
[Debug] [NET__IDENTIFY] Registered patch Live
[Debug] [WORLD__LS] Connecting to login server...
[Debug] [WORLD__LS] Setting World to MiniLogin Server type
[Debug] [WORLD__LS] Connected to Loginserver: 127.0.0.1:5999
[Debug] [WORLD__ZONE] New TCP connection from 127.0.0.1:56629
[Debug] [WORLD__CONSOLE] New launcher from 127.0.0.1:56629
[Debug] [WORLD__LAUNCH] Adding pending launcher 1
[Debug] [WORLD__LAUNCH] Launcher Identified itself as 'zone'. Loading zone list.

[Debug] [WORLD__LAUNCH] Removing pending launcher 1. Adding zone to active list.

[Debug] [WORLD__LAUNCH] zone: dynamic_01 reported state STARTED (1 starts)
[Debug] [WORLD__ZONE] New TCP connection from 127.0.0.1:56631
[Debug] [WORLD__CONSOLE] New zoneserver #1 from 127.0.0.1:56631
[Debug] [WORLD__ZONE] [1] Zone started with name dynamic_01 by launcher zone
[Debug] [WORLD__ZONE] [1] Auto zone port configuration. Telling zone to use por
t 7000
[Debug] [WORLD__LAUNCH] zone: dynamic_02 reported state STARTED (1 starts)
[Debug] [WORLD__ZONE] New TCP connection from 127.0.0.1:56634
[Debug] [WORLD__CONSOLE] New zoneserver #2 from 127.0.0.1:56634
[Debug] [WORLD__ZONE] [2] Zone started with name dynamic_02 by launcher zone
[Debug] [WORLD__ZONE] [2] Auto zone port configuration. Telling zone to use por
t 7001
[Debug] [WORLD__LAUNCH] zone: dynamic_03 reported state STARTED (1 starts)
[Debug] [WORLD__ZONE] New TCP connection from 127.0.0.1:56636
[Debug] [WORLD__CONSOLE] New zoneserver #3 from 127.0.0.1:56636
[Debug] [WORLD__ZONE] [3] Zone started with name dynamic_03 by launcher zone
[Debug] [WORLD__ZONE] [3] Auto zone port configuration. Telling zone to use por
t 7002
[Debug] [WORLD__LAUNCH] zone: dynamic_04 reported state STARTED (1 starts)
[Debug] [WORLD__ZONE] New TCP connection from 127.0.0.1:56638
[Debug] [WORLD__CONSOLE] New zoneserver #4 from 127.0.0.1:56638
[Debug] [WORLD__ZONE] [4] Zone started with name dynamic_04 by launcher zone
[Debug] [WORLD__ZONE] [4] Auto zone port configuration. Telling zone to use por
t 7003
[Debug] [WORLD__LAUNCH] zone: dynamic_05 reported state STARTED (1 starts)
[Debug] [WORLD__ZONE] New TCP connection from 127.0.0.1:56640
[Debug] [WORLD__CONSOLE] New zoneserver #5 from 127.0.0.1:56640
[Debug] [WORLD__ZONE] [5] Zone started with name dynamic_05 by launcher zone
[Debug] [WORLD__ZONE] [5] Auto zone port configuration. Telling zone to use por
t 7004
[Debug] [WORLD__CLIENT] New connection from 127.0.0.1:59593
[Debug] [NET__IDENT_TRACE] 127.0.0.1:59593: First opcode 0x4dd0 did not match ex
pected 0x2792
[Debug] [NET__IDENT_TRACE] 127.0.0.1:59593: Tried patch 6.2_world, and it did no
t match.
[Debug] [NET__IDENT_TRACE] 127.0.0.1:59593: First opcode 0x4dd0 did not match ex
pected 0x2ec9
[Debug] [NET__IDENT_TRACE] 127.0.0.1:59593: Tried patch 6.2_zone, and it did not
match.
[Debug] [NET__IDENT_TRACE] 127.0.0.1:59593: First opcode matched 0x4dd0 and leng
th matched 464
[Debug] [NET__IDENTIFY] Identified stream 127.0.0.1:59593 with signature Titaniu
m_world
[Debug] [WORLD__CLIENT] New client from 127.0.0.1:59593
[Debug] [WORLD__CLIENT] mini: Logged in. Mode=(CharSel)
[Debug] [WORLD__CLIENT] mini: MiniLogin Account #1
Set group id on 'Brianna' to 0
[Debug] [WORLD__CLIENT] mini: Attempting autobootup of akanon (55)
[Debug] [WORLD__ZONE] [5] Setting to 'akanon' (55)
[Debug] [WORLD__CLIENT] mini: Entering zone akanon (55)
[Debug] [WORLD__ZONE] [5] [akanon] Setting to 'akanon' (55)
[Debug] [WORLD__CLIENT] mini: Sending client to zone akanon (55) at 127.0.0.1:70
04
[Debug] [WORLD__CLIENT] mini: Client disconnected (not active in process)
[Debug] [WORLD__CLIENT] New connection from 127.0.0.1:57132
[Debug] [NET__IDENT_TRACE] 127.0.0.1:57132: First opcode 0x4dd0 did not match ex
pected 0x2792
[Debug] [NET__IDENT_TRACE] 127.0.0.1:57132: Tried patch 6.2_world, and it did no
t match.
[Debug] [NET__IDENT_TRACE] 127.0.0.1:57132: First opcode 0x4dd0 did not match ex
pected 0x2ec9
[Debug] [NET__IDENT_TRACE] 127.0.0.1:57132: Tried patch 6.2_zone, and it did not
match.
[Debug] [NET__IDENT_TRACE] 127.0.0.1:57132: First opcode matched 0x4dd0 and leng
th matched 464
[Debug] [NET__IDENTIFY] Identified stream 127.0.0.1:57132 with signature Titaniu
m_world
[Debug] [WORLD__CLIENT] New client from 127.0.0.1:57132
[Debug] [WORLD__CLIENT] mini: Logged in. Mode=(CharSel)
[Debug] [WORLD__CLIENT] mini: MiniLogin Account #1
Set group id on 'Firiona' to 0
[Debug] [WORLD__CLIENT] mini: Attempting autobootup of poknowledge (202)
[Debug] [WORLD__ZONE] [5] Setting to 'poknowledge' (202)
[Debug] [WORLD__CLIENT] mini: Entering zone poknowledge (202)
[Debug] [WORLD__ZONE] [5] [poknowledge] Setting to 'poknowledge' (202)
[Debug] [WORLD__CLIENT] mini: Sending client to zone poknowledge (202) at 127.0.
0.1:7004
[Debug] [WORLD__CLIENT] mini: Client disconnected (not active in process)
[Debug] [WORLD__CLIENT] New connection from 127.0.0.1:57136
[Debug] [NET__IDENT_TRACE] 127.0.0.1:57136: First opcode 0x4dd0 did not match ex
pected 0x2792
[Debug] [NET__IDENT_TRACE] 127.0.0.1:57136: Tried patch 6.2_world, and it did no
t match.
[Debug] [NET__IDENT_TRACE] 127.0.0.1:57136: First opcode 0x4dd0 did not match ex
pected 0x2ec9
[Debug] [NET__IDENT_TRACE] 127.0.0.1:57136: Tried patch 6.2_zone, and it did not
match.
[Debug] [NET__IDENT_TRACE] 127.0.0.1:57136: First opcode matched 0x4dd0 and leng
th matched 464
[Debug] [NET__IDENTIFY] Identified stream 127.0.0.1:57136 with signature Titaniu
m_world
[Debug] [WORLD__CLIENT] New client from 127.0.0.1:57136
[Debug] [WORLD__CLIENT] mini: Logged in. Mode=(CharSel)
[Debug] [WORLD__CLIENT] mini: MiniLogin Account #1
[Debug] [WORLD__CLIENT_ERR] mini: Received unknown EQApplicationPacket
[Debug] [WORLD__CLIENT_ERR] [OpCode OP_FloatListThing (0x6a1b) Size=35]
[Debug] [WORLD__CLIENT_ERR] 0000: 00 00 00 00 00 00 00 00 - 00 00 00 00 08 48 dd
78 | .............H


fixed by request - georges

eski2
05-27-2008, 06:08 PM
darn i thought i put code tags around the bit above and i can't see how to edit my post, what do i click on to fix it?

davood3
05-28-2008, 08:43 AM
List of stuff that I'd like to see added/ fixed:

*Group heals hitting the bots.

*Armor/robe tinting (from the item, not from dyes), default colors are weak

*Misc display bugs, like equipped weapons not being refreshed properly, and helmets (hah)

Options that we can toggle in the rules maybe:

*Option to make the bot inherit the masters guild tag and show up in /who alls, and auto respond to tells with "I am soandso's bot"

*Option to randomly stagger their distances to the master

*Option to have them "walk" like regular pets instead of chain teleporting around with the master.

Vulok
05-28-2008, 07:38 PM
So I just copied the zone.exe, world.exe, and the .dll over the other ones in the EqEmu directory.

Then the game goes crazy, and its not playable. Looked for that quick installer by cavedude I read about a fe posts ago but not sure where or what it is called at the peq Site.

Any ideas would be greatly appriciated.

Thanks

GeorgeS
05-28-2008, 10:44 PM
I could not get the recent bot binaries to work, so reverted to saved binaries without bots. Works, but not sure what's going on with the newest bot binary

GeorgeS

Congdar
05-29-2008, 12:22 AM
I'm running the latest binaries on The Realm server down near the bottom of the login list. not sure what problems you might be having.

Congdar
05-29-2008, 09:23 AM
List of stuff that I'd like to see added/ fixed:

*Group heals hitting the bots..
Wish granted... this was working but I added a check to group teleports because group porting of bots crashed the zone and that check broke the group heals. Unfortunately the group heal over time spells have the same identifier as group teleports(spells[spell_id].targettype == ST_GroupTeleport) which is kinda strange. I've added some checks to get by this for the group heal over time spells, I didn't check the flat group heals yet, do those fail too?

*Armor/robe tinting (from the item, not from dyes), default colors are weak
This isn't bot specific code and I couldn't find any tint code that wasn't specifically related to the Client Character only.

*Misc display bugs, like equipped weapons not being refreshed properly, and helmets (hah)
I made some changes that probably fix this... not sure about why helmets aren't showing.

Options that we can toggle in the rules maybe:

*Option to make the bot inherit the masters guild tag and show up in /who alls, and auto respond to tells with "I am soandso's bot"
This would be quite the feature to code. Maybe somebody can take this on.

*Option to randomly stagger their distances to the master
I've tried messing with this but the /follow command has it's own idea of distance and there is some staggering already.

*Option to have them "walk" like regular pets instead of chain teleporting around with the master.
There may be something I can do here, but it would lose what little staggering there is now and all the bots would end up in one spot.

These fixes aren't available for download yet. I'll try and put them up in the next couple of days.

GeorgeS
05-29-2008, 10:29 AM
The problem I noticed was I could not move in game fwd/back, but could turn around. Any ideas?

GeorgeS

BatCountry
05-29-2008, 11:03 AM
There may be something I can do here, but it would lose what little staggering there is now and all the bots would end up in one spot.


I've made some progress in this direction on my server (during the course of completely rehashing the bot command structure). The trick seems to be to pull out the staggering code you've got that is bypassing the movement system, then make the bots follow each other in order, forming a train.

If you keep the follow distance short enough, they stay together enough to avoid being a problem for agro or navigation without them getting in your way or making it impossible to click target one of them (or around one of them).

davood3
05-29-2008, 11:24 AM
Divine Arbitration from epic, and from AA both seem to land on the bots. Whereas word of vivication does not, nor does any other instant casted group heal.

The instant group heal aa hand of xxxx seems to hit bots just fine.


When I was referring to tinting, basically you have xxx armor that is tinted, you give it to the bot, and it appears as the base colour, not the actual armors colour, so rubicite will appear as regular grey plate, etc. whereas robes appear properly tinted, until you resummon the bot, then they lose their tinting.

I will investigate the code, and eventually create a diff for the guild tag thing, I don't know how I'd go about making them respond to tells or appear in a /who all though.

davood3
05-29-2008, 11:25 AM
any chance of sharing that with us bat? hehehe. that sounds like the perfect solution.

Davood
05-29-2008, 10:42 PM
ok

if you change the bot's lastname ... thats the guild tag.. haha.

so you can easily update it that way.

BatCountry
05-29-2008, 11:27 PM
any chance of sharing that with us bat? hehehe. that sounds like the perfect solution.

Well, trivially, in commands.cpp under the bot follow command:

for(int i=0; i<MAX_GROUP_MEMBERS; i++) {
if(g->members[i] != NULL && g->members[i]->IsBot()) {
//--BAT : Forms trains out of the group instead of them all dogpiling your face
if(i > 0)
g->members[i]->SetFollowID(g->members[i-1]->GetID());
else
g->members[i]->SetFollowID(c->GetID());
g->members[i]->Say("Following, %s.", c->GetName());
}
}


More advanced following code avoiding jitter and jumping as much as possible and letting them look like they're really running is what I'm working on right now. Shouldn't prove too much of a problem.

Making them actually behave sensibly when you stop is another thing.

At least formally, you'd probably like them to stop at some point behind you, catch up with you, fan out behind you without getting in the way of other party members, and avoid aggroing anything by fanning out too far. In theory, you would take your heading and transform a point behind you a certain distance, then have each party member take a point of the compass behind that point and move a set distance from it, avoiding walking through (or against) walls or spreading out so far that they can't see what's going on.

That part is quite a bit harder. I think Congdar's code for that is a pretty good solution to keeping them out of your way but still in a position where they have line-of-sight to anything you might target, but as he says in his code comments, it makes them behave like ugly bots rather than like natural party members.

Ideally you'd have the things find the nearest AI node behind you and form up around that, then move themselves so they had line of sight on whatever you might target as soon as you engaged, but that would be pretty much impossible without some rather sophisticated FPS-stype AI operating on the AI node trees, which is probably more effort than anybody would want to go to just to make them look a bit more natural.

BatCountry
05-29-2008, 11:33 PM
Ugh, 5 minute edit rule.

I was playing with this last evening and just started tinkering again. There's really no sensible way to make the bots fan out when the group is at rest without risking pulling aggro, walking into somebody else's face, teleporting them into a wall, etc, without making them aware of the path grid.

The follow train seems to work well on my system, although I'm beefing up the movement code so it looks a bit more natural and makes them less fidgety when you're moving only short distances (making a range in which they decide they don't need to follow, only following if they get too far away).

I'll tinker with these ranges and see what kind of results I get and post here with them. Part of the problem with how sticky the bots seem to be is the unit size you're using.


if(dist2 >= 50)
{
if( dist2 >= 100)
speed = GetRunspeed();
CalculateNewPosition2(px,py,follow->GetZ(),speed);
}


Remember that you're using DistNoRoot, so it's the square of the actual distance between the bot and its follow target, meaning they want to hug you. Root 50 is about 7 units, which is not more than one or two steps.

eski2
05-30-2008, 01:49 AM
The problem I noticed was I could not move in game fwd/back, but could turn around. Any ideas?

GeorgeS

where you getting the message that you were being moved to a safe point? that's what i was seeing.

eski2
05-30-2008, 03:11 AM
The problem I noticed was I could not move in game fwd/back, but could turn around. Any ideas?

GeorgeS

where you getting the message that you were being moved to a safe point? that's what i was seeing.

Congdar
05-30-2008, 11:06 AM
The problem I noticed was I could not move in game fwd/back, but could turn around. Any ideas?

GeorgeS

The only time ive experienced this is when I have zoned in under the world, or slightly under the world using #goto x, y, z and the z was just an inch under the world. The bot code doesn't specifially use zoning code or zoning xyz coords. Maybe the db zonepoints need to be updated for the zone you are in?

BatCountry
05-30-2008, 12:19 PM
Either that or your strength buffs have worn off. ;)

No joke, I've done it before. :oops:

eski2
05-30-2008, 12:35 PM
I'm not sure this is the right approach. If i use those three files, the problem occurs, if i don't, it doesn't, if i do it comes back and so on. It's nothing to do with buffs. I can use goto or zone to alter my coords, i can change my size using #size but i can't get around this issue. I am unable to comment on it being an incompatibility with the database as i don't see anything that marks the version name or number.

However, if georgeS and i get the same symptoms when we use those 3 files, and our systems work as soon as we stop doing it, then i think there's more going on. I can't investigate, i don't have the skills but if anyone working on that code could do so, it would be much appreciated.

Congdar
05-30-2008, 12:38 PM
I've updated the source (http://www.cerebus.net:8080/files/downloads/1108BotsSrc.zip) and binaries (http://www.cerebus.net:8080/files/downloads/1108BotsBin.zip) with the workaround for Group Heals. There are many Cleric and some Paladin group heals that report as ST_GroupTeleport for some reason.
I also made a change to trading that may fix the refresh on appearance when giving items to the bots.

My changes are running on The Realm server. If you can log in there and still get stuck then I can look at log files to see why.

eski2
05-31-2008, 03:26 AM
I'm running whatever came with the minilogin package. Are those three files incompatible?

Congdar
05-31-2008, 03:44 AM
yes, incompatible.

your loginserver.ini file should look something like this:


[LoginServer]
loginserver=192.168.10.241
loginport=5999
worldname=Congdar's World
worldaddress=192.168.10.241
locked=false
account=
password=

[WorldServer]
Defaultstatus=
Unavailzone=

[ChatChannelServer]
worldshortname=
chataddress=
chatport=

[LoginConfig]
ServerMode=MiniLogin
ServerPort=5999


and you should use the *.conf files that come from the main download of the win32 binaries(not source). Only use the minilogin.exe from that zip file.

eski2
05-31-2008, 11:59 AM
Is there any way i can use the bots with minilogin then? My database is ready to i think.

Congdar
05-31-2008, 01:25 PM
if you can get the emu up and running with minilogin, then the only thing you need to do is copy in the bot binaries.

BatCountry
06-01-2008, 06:31 PM
Why the change to a hard limit on the number of bot groups, out of curiosity?

I realize that if 12 groups isn't enough to take down something, a player's got more problems than just bot count, but why add the hard limit when you were running on a LinkedList before?

If the problem was not being able to iterate through raid groups, this is what I was using for that:


LinkedListIterator <Group *> gps(RaidGroups);

gps.Reset();

while(gps.MoreElements())
{
Group *gp = gps.GetData();

if(gp) {
// do some stuff here to your new group pointer
// ...
}
gps.Advance();
}


also adding new groups:


// with your new group "newgroup"
RaidGroups.Append(newgroup);

// then reset any interators going to it

Congdar
06-01-2008, 11:32 PM
that's not why I got away from the linkedlist, I just thought that 72 was the max raid in eq anyway.

Congdar
06-01-2008, 11:33 PM
I've updated the source (http://www.cerebus.net:8080/files/downloads/1110BotsSrc.zip) and binaries (http://www.cerebus.net:8080/files/downloads/1110BotsBin.zip) for build 1110

cubber
06-02-2008, 08:28 AM
There was some discussion earlier in this thread about incorporating this into the main eqemu source as a rule or something. Is this still a possibility, or should we keep searching this 39 page thread for builds?

eski2
06-02-2008, 08:49 AM
I noticed the bot entries were in my database when i first installed it although i couldn't figure out what they were for, so i assume it was half done. I've tried replacing my binaries with the ones listed but that just crashes my game so i am not sure how to proceed.

If there's a way to backup my characters and install a version like minilogin that i can solo on and use bots i'd be very interested! :-D

quadroplex
06-02-2008, 10:21 AM
1 you need to check through the changelogs and enter the required mysql changes in it before trying to upgrade any of your binaries without those changes as soon as you try zoning in youll crash the bots work fine with minilogin just backup your character_ account, and inventory tables but you dont need to just run the needed mysql statements in the changelogs and itll work fine

quadroplex
06-02-2008, 10:22 AM
heck atleast make a forum specificly for this as a alternate version or something hes right searching this thread is a bit of a pain in the ass.

BatCountry
06-02-2008, 11:43 AM
that's not why I got away from the linkedlist, I just thought that 72 was the max raid in eq anyway.

Ah, you may have a point there. Now that you mention it, I seem to remember them having that kind of limit, like the hate list depth, so people involved in stupidly huge raids weren't getting credit or something like that.

I've been working on command sets which operate on the entire raid (including loading and saving intact raids on a per-player basis) which used the linked list iterators heavily. ("#raid load fivegroup" loads the raid I saved as "fivegroup," complete with main tank and second tank flags).
Some of the stuff I've been doing (like adding a pacifist flag so the raid can't attack) I see you've already either been working on or finished.

This stuff still needs a bit of work though, although I think the new movement code for the bots I'm working on will be done in a week or so.

I've just integrated the code in your 1108 release into my codebase (but converted it all to linked list.)
When I update to your 1110 release, I'll switch back to arrays. Shouldn't set me back more than a few hours.

BatCountry
06-02-2008, 11:53 AM
Gah, five minute edit rule strikes again.


I've been working on command sets which operate on the entire raid (including loading and saving intact raids on a per-player basis) which used the linked list iterators heavily. ("#raid load fivegroup" loads the raid I saved as "fivegroup," complete with main tank and second tank flags).
Some of the stuff I've been doing (like adding a pacifist flag so the raid can't attack) I see you've already either been working on or finished.


I've been simplifying the interface for a lot of commands ("#bot raid order task attack"? really?) to a #bot, #bot group, and #raid command structure, and I've stuck all of the commands into two separate included .h files ("botcommands.h" and "botraidcommands.h") which can be included in "commands.h" to make merging a bit easier, etc.

Let me know if you'd like to work together on this stuff or what things you're working on now so we're not duplicating work.

John Adams
06-02-2008, 12:42 PM
I would love to see the commands simplified and made more intuitive. Nice work!

Congdar
06-02-2008, 12:44 PM
That sounds like some great work your're doing. If you can get the linkedlist thing to work that's awesome. I was getting too many zone crashes cuz dead bots were linked everywhere and ended up having code try and execute on bot objects that no longer existed when they got killed, especially when working 12 group raids(71 bots + me). I left live... i think the expansion after PoP and at that time I thought the raid limit was 12 groups. Before I set that hard limit I did some research into what the limit was and all I could find was that in later expansions they tried to move from 72 down to 48 max players in a raid. If you can find some info that says more than 72 is allowed it isn't hard to bump the constant up from 12.

Just thought I would take this opportunity to give credit to Magoth78 for this bot code he gave the community around build 992. reading some of the posts, it seems people think i wrote all of this stuff. I've just kind of maintained it through the latest builds and tried to figure out how to fix some of the crashes. C/C++ is not my strongest language so I may have made some poor design choices. I think some of the crashes came from bugs I introduced myself when trying to fix other things.

The #bot command structure was inherited from the original bot source, it definitly could use the reorg you are talking about. I have left most everything the same as Magoth78 coded it except where I fixed crashes and the big change to raids with the linkedlist or array decision, and fixing stat bonuses from items and adding AA's.

There was talk of merging the bot source into the emu source and that is when I did all the #IFDEF EQBOTS around all the bot source since the original source was not ifdef'd. The ifdefs would make it really easy to put into the main emu source tree, but I recommended against it at the time since the bot source was really crashing a lot. Now that it has stabalized some, maybe it might be ok, but since there is still some fluidity to the code, it seems easier to work on it this way than do code submission requests through the emu devs.

The next big issue is to complete separate spell lists in the database for bot casters. Some work has been done in this area but a lot more is needed and I just haven't got there since I'm more focused on code bugs than db updates.

I'm all for extra help from the community on the bot source. I don't own it, just trying to keep it going. Happy to work with anyone that wants to help out.

John Adams
06-02-2008, 12:52 PM
From memory, EQLive raids had a max of 72 players in the Raid UI. However, some zones (I believe) limited the number of entrees to specific numbers - i think PoTime was one of those? I'm sure there are more seasoned raiders out there that know more.

But 72 is the number I remember. You could zerg with 200 if you wanted, but only the 72 in the raid UI got credit/loot (unless of course the loot lockout timer expired yadda yadda)


As for the #ifdef work... I know I've said this before. Is it possible to move all BOT code external into it's own cpp/h files, and use #ifdef / #includes like the GuildWars system uses? There would be lots of #ifdef BOTS...do this... but maybe with a few nicely placed #includes, it could be less intrusive to the core - and can be easily switched off at compile time.

Congdar
06-02-2008, 02:48 PM
As for the #ifdef work... I know I've said this before. Is it possible to move all BOT code external into it's own cpp/h files, and use #ifdef / #includes like the GuildWars system uses? There would be lots of #ifdef BOTS...do this... but maybe with a few nicely placed #includes, it could be less intrusive to the core - and can be easily switched off at compile time.

It is easily switched off at compile time now with the existing #ifdef EQBOTS I coded. It may be possible to move some, but not all bot code to it's own files. Not sure if that effort would make much of a difference.

Congdar
06-02-2008, 02:54 PM
I've been simplifying the interface for a lot of commands ("#bot raid order task attack"? really?) to a #bot, #bot group, and #raid command structure, and I've stuck all of the commands into two separate included .h files ("botcommands.h" and "botraidcommands.h") which can be included in "commands.h" to make merging a bit easier, etc.

#raid should be #bot raid
I think everything should be prefaced with #bot because eventually the emu is going to have it's raid stuff fixed and there may be gm commands like #raid and we don't want to preclude the emu from using them. Just my .02 on the commands.(unless it was just a typo... I see you have #bot group).

cubber
06-02-2008, 03:09 PM
Now that it has stabalized some, maybe it might be ok, but since there is still some fluidity to the code, it seems easier to work on it this way than do code submission requests through the emu devs.


What about a separate release thread on these forums for the bot source and binaries, so it is easier for people to find them and know exactly when it has been updated. This thread is growing fast and sometimes it is easy to miss releases if you don't check every day.

Keep this thread as the discussion thread and only let the people working on the code post in the release thread.

Davood
06-02-2008, 08:01 PM
is there an easy way to take the masters guild tag and slap it into the bots "last name"

because the "last name" currently is what it displays as the "guild tag" for the bot. with the default being "bot"

Congdar
06-02-2008, 08:19 PM
I couldn't find an easy way to do that.

Congdar
06-02-2008, 08:21 PM
What about a separate release thread on these forums for the bot source and binaries, so it is easier for people to find them and know exactly when it has been updated. This thread is growing fast and sometimes it is easy to miss releases if you don't check every day.

Keep this thread as the discussion thread and only let the people working on the code post in the release thread.

That could make it easier... if the forum mods are reading this, could you add a new thread that could be updated with just the source locatios like he suggests?

Aramid
06-02-2008, 09:21 PM
I was thinking that I would start working on the BOT Spells again, but WHERE are they going to be designated in the DB? I thought it was agreed on that the 600's were ok but other spells are showing up there now. Going to have to remove all the FEAR LINE of spells now that the Fear Fix is in. It will be easy to change what I have already in the 601 to 6xx to another number using GeorgeS's tools, but it would be good to have a designated area, yes?

Congdar
06-02-2008, 11:41 PM
I was thinking that I would start working on the BOT Spells again, but WHERE are they going to be designated in the DB? I thought it was agreed on that the 600's were ok but other spells are showing up there now. Going to have to remove all the FEAR LINE of spells now that the Fear Fix is in. It will be easy to change what I have already in the 601 to 6xx to another number using GeorgeS's tools, but it would be good to have a designated area, yes?

Maybe 1001 on up? that would leave lots of room for some expasion? Don't remove fear line... but add snare/root line ;)

BatCountry
06-03-2008, 02:04 AM
#raid should be #bot raid
I think everything should be prefaced with #bot because eventually the emu is going to have it's raid stuff fixed and there may be gm commands like #raid and we don't want to preclude the emu from using them. Just my .02 on the commands.(unless it was just a typo... I see you have #bot group).

That's a really good point. I was just doing it that way to reduce the amount of typing with raid commands, but it seems like that sort of stuff is going to get macroed by players anyway.
I agree that compatibility should definitely trump brevity. I quit EQ far before they put in the raid interface (about a year before PoP), so honestly I'd forgotten there was one. :oops:

BatCountry
06-03-2008, 02:12 AM
That sounds like some great work your're doing. If you can get the linkedlist thing to work that's awesome. I was getting too many zone crashes cuz dead bots were linked everywhere and ended up having code try and execute on bot objects that no longer existed when they got killed, especially when working 12 group raids(71 bots + me).

Yeah, after switching to linked lists, I've had to catch and kill a lot of crash bugs - mostly related to me dealing with linked lists incorrectly, I believe. I need to build some test cases where I ensure the LinkedList and LinkedListIterator classes actually behave the way I think they do.

I've been doing a lot of what I see you've been doing (while comparing the older code with what you've been making) - adding checks to catch null pointers and finding the behavior that can result in creating them.

I'm still in awe of what Magoth78 put out - and how easy it is to follow the logic. Most of what I've done with the codebase to make it work the way I want is just simplifying commands and catching some stray crash bugs.

BatCountry
06-03-2008, 10:55 AM
Before I set that hard limit I did some research into what the limit was and all I could find was that in later expansions they tried to move from 72 down to 48 max players in a raid. If you can find some info that says more than 72 is allowed it isn't hard to bump the constant up from 12.


Ulairi: Many players have expressed an interest in increasing the raid group size to over the 72 player limit to support larger guilds. Is it possable leadership advancement will aid in this?

Craig Knapp: As for now, we have no intentions of raising the raid group size.

From a dev chat log (http://eqvault.ign.com/View.php?view=Features.Detail&id=12&category_select_id=3) about The Serpent's Spine, I guess we can fairly call the limit 72. Smaller limits seem to be for various raid Tasks, which aren't really implemented yet.

Trynix
06-03-2008, 08:32 PM
Has anyone else noticed an issue with the bots not being able to keep agro? I played my wizard lastnight and had 2 bots (a warrior and a cleric), I would do #bot group order attack and send the warrior to tank the mob. I can see the warrior saying "taunting", I am waiting until the mobs are at least 80% before I cast and as soon as I cast my first spell the mob immediately runs to me. The warrior bot will run over and continue to attack and taunt but the mob never leaves me.

I have tried with other characters as well, with my ranger I can send in the warrior and if I am even standing close by not attacking I still catch agro. I can stand still not attacking at all and the warrior bot can never taunt the mob away.

Congdar
06-03-2008, 08:42 PM
Has anyone else noticed an issue with the bots not being able to keep agro? I played my wizard lastnight and had 2 bots (a warrior and a cleric), I would do #bot group order attack and send the warrior to tank the mob. I can see the warrior saying "taunting", I am waiting until the mobs are at least 80% before I cast and as soon as I cast my first spell the mob immediately runs to me. The warrior bot will run over and continue to attack and taunt but the mob never leaves me.

I have tried with other characters as well, with my ranger I can send in the warrior and if I am even standing close by not attacking I still catch agro. I can stand still not attacking at all and the warrior bot can never taunt the mob away.

try a test... set your server rule and see if it helps:

Aggro:SmartAggroList = false

Trynix
06-03-2008, 10:54 PM
try a test... set your server rule and see if it helps:

Aggro:SmartAggroList = false

After adding the rule my bots can now hold aggro. Thanks!

EvoZak
06-04-2008, 01:22 AM
Just wanted to say thanks to those of you shepherding the bots code along. I've enjoyed using the bots quite a bit and, while not perfect, they are pretty darn good.

C++ isn't my best language either but if you need any help Congdar don't hesitate to throw me a PM.

Aramid
06-24-2008, 05:53 PM
For anyone interested, I have merged all of the 1118 Changes in with the BOT Code and have successfully compiled it under Debian Linux and Windows C++ 2005 Express. Here is the link for the files... The Makefiles have been setup to include the bot code for Linux compiles.

http://www.mediafire.com/?yzgwlxkgdgz

On another Note, The implementation of fear has caused the Bot code to really spam the so and so is under attack when the mob gets feared away so much that it really lags out the zone bad.

Just an FYI.

Andrew80k
06-24-2008, 05:59 PM
Thanks, Aramid. I've been writing a script that does it for me but the results have been inconsistent enough for me to not submit it yet.

number6
06-25-2008, 02:14 AM
Thanks a lot Aramid, I'll give this a try later this week. I wonder whether simply commenting out the "... is under attack" notifications will help with the lag?

nosfentora
06-25-2008, 03:28 PM
Ok, maybe i'm a 'tard but i cant compile them under vs 2005

the mysql headers aren't found (i've just downloaded mysql source so it should take care of that), but on compiling it's generating about 450 errors - 90% of them "error C2018: unknown character '0x40' c:\temp\eqemu-0.7.0-1118_bots-source\common\mysql_com.h 365 "

i looked to see if there is a wiki page for compiling, but i didn't find anything. any thoughts?

Andrew80k
06-25-2008, 05:53 PM
Ok, maybe i'm a 'tard but i cant compile them under vs 2005

the mysql headers aren't found (i've just downloaded mysql source so it should take care of that), but on compiling it's generating about 450 errors - 90% of them "error C2018: unknown character '0x40' c:\temp\eqemu-0.7.0-1118_bots-source\common\mysql_com.h 365 "

i looked to see if there is a wiki page for compiling, but i didn't find anything. any thoughts?
Eeek! Sounds like maybe your mysql install is corrupted or something. I compiled and ran it last night. I'm having some issues in PoK, but other than that it seemed to work just fine. I'm using VS Express 20008. There is a wiki on compiling under windows and it seems to give good guidance.

http://www.eqemulator.net/wiki/wikka.php?wakka=DevVSExpress

Aramid
06-25-2008, 07:07 PM
I used the original DEV kit from this post to compile mine:
http://www.eqemulator.net/forums/showthread.php?t=25372

but the current link uses VC++2008 Express.

nosfentora
06-26-2008, 09:41 AM
Thanks guys - i'll give it a shot

nosfentora
06-26-2008, 11:50 AM
thanks for the anti-tarding links.
they helped and i got it compiled!

BatCountry
06-26-2008, 05:07 PM
Thanks a lot Aramid, I'll give this a try later this week. I wonder whether simply commenting out the "... is under attack" notifications will help with the lag?

Yes, it will. Comment it out and it will help the lag issue tremendously. The system simply can't handle as much message volume as the bots put out (as many messages per second as there are AI cycles). It just clogs up everything. Obviously, that shouldn't happen. Probably creating a talk timer would help, but fixing the issue that's causing the rapid target switching is a better solution. Doing both would probably be good.

I've been trying to fix the underlying issue, but that's requiring some rewrites of the basic AI the bots use to acquire, find, choose, and approach targets plus acquiring and distributing hate to really "fix" the problem.

I haven't been working much on it recently, but I'll try to get what I've got done so far put out so other people can tinker with it in the meantime. Give it a couple of weeks.

Magoth78
07-01-2008, 06:55 AM
Glad to see that people are still working on this project and are makeing it better ;)

G'day,
Mag

Congdar
07-01-2008, 08:56 AM
Nice of you to drop by and say 'hello' . Your gift to the eqemu community is alive and well. Thanks again!

billhumpsalot
07-03-2008, 08:23 PM
Is there a release for 0.7.0-1118 ?

Andrew80k
07-03-2008, 11:06 PM
Post #598, page 40

trevius
07-04-2008, 12:02 AM
Or use the new sticky that has Code Releases ONLY (no comments in that post, please):

http://www.eqemulator.net/forums/showthread.php?t=25614

Anyone posting new release updates should post there, or I will quote them there myself as I see them.

vintage51
07-05-2008, 08:34 AM
I am new to this forum. I just wanted to say great Job on the Bot module. I do have one suggestions is to have a #bot delete [id] command. Again great job keep up the good work. Vintage51

billhumpsalot
07-05-2008, 11:46 AM
This will only compile under c++ 2005 express as listed but I do not use it and will not. 2008 express is much more efficient for my needs. I tried to convert the files but no luck, so any one care to share there windows binary file?

Andrew80k
07-05-2008, 05:51 PM
I use 2008 without problems. Are you using the Windoze SDK? You can follow the directions for compiling under windows in the wiki and it works pretty well. YMMV.

billhumpsalot
07-06-2008, 03:57 PM
Yes, with windows VS C++ 9.0 2008 express you don't need the old platform SDK but just for shits 'n' giggles I did it anyway but still no results. either way I'll figure it out one day no big deal.

edit* oh I forgot to add that yes I followed the wiki.

cubber
07-07-2008, 11:33 AM
When I go to compile the new 1118 bot code under linux I get alot of file not found errors and other things. The newest bot code does not hold the same directory structure as the normal eqemu sources. I noticed when I unrar'd the file it just put all of the files in one directory.

Anyone have the newest bot code set up in the normal eqemu structure? All's we still need to run it is the zone folder correct? In this new release do not find the EmuSharemem, eqlaunch, world, zone, common, or utils folders. Just a bunch of files and lots of file not found errors.

nosfentora
07-07-2008, 01:24 PM
I had the same problem. do you have mysql AND perl installed? and also the correct include/library directories?

These helped me (Thanks to Andrew80k and Aramid)

http://www.eqemulator.net/wiki/wikka...a=DevVSExpress (http://www.eqemulator.net/wiki/wikka.php?wakka=DevVSExpress)

http://www.eqemulator.net/forums/showthread.php?t=25372

cubber
07-07-2008, 01:39 PM
Yes I have perl and mysql installed, I have been running an eqemu server for about 2 years now and bots since 1106ish. The problem I am having seems to be that the directory structure of the rar file is no where near the same thing as the normal eqemu sources. Here is what I mean:

Normal EQEMU source file structure:

ls
EMuShareMem Server.dsw changelog.txt eqlaunch world
Makefile Server.sln common utils zone


EQEMU 1110 Bot Source file structure (note I would just go in zone folder here and edit the makefile then run make, and then link to the zone binary in the zone folder to run the server with bots):

ls
1110Bots.dsw EMuShareMem changelog.txt eqlaunch world
1110Bots.sln Makefile common utils zone


New 1118 Bot Source Directory:

ls
0.6.1-upgrade.sql
1110Bots.dsw
1110Bots.ncb
1110Bots.sln
1110Bots.suo
3d.hpp
3d_base.hpp
AA.cpp
AA.h
Anniversary.cpp
Anniversary.h
Anniversary_itemfields.h
Anniversary_ops.h
Anniversary_structs.h
Azone.vcproj
Base64.cpp
Base64.h
BasePacket.cpp
BasePacket.h
CRC16.cpp
CRC16.h
Client62.cpp
Client62.h
Client62_itemfields.h
Client62_ops.h
Client62_structs.h
Condition.cpp
Condition.h
DBMemLeak.cpp
DBMemLeak.h
DLLMain.cpp
Doors.cpp
Doors.h
EMuShareMem.cpp
EMuShareMem.dev
EMuShareMem.dsp
EMuShareMem.dsw
EMuShareMem.h
EMuShareMem.vcproj
EMuShareMem.vcproj.JTC.Administrator.user
EMuShareMem.vcproj.MARS.Terry.user
EMuShareMem.vcproj.old
EQCheckTable.h
EQDB.cpp
EQDB.h
EQDB.h.xs
EQDBRes.cpp
EQDBRes.h
EQDBRes.h.xs
EQEMuError.cpp
EQEMuError.h
EQEmu-0.7.0-1118_Bots-Source.rar
EQEmuConfig.cpp
EQEmuConfig.h
EQEmuConfig_elements.h
EQLConfig.cpp
EQLConfig.h
EQLConfig.h.xs
EQNetwork.cpp
EQNetwork.h
EQPacket.cpp
EQPacket.h
EQStream.cpp
EQStream.h
EQStreamFactory.cpp
EQStreamFactory.h
EQStreamIdent.cpp
EQStreamIdent.h
EQStreamIntf.h
EQStreamLocator.h
EQStreamProxy.cpp
EQStreamProxy.h
EQStreamType.h
EQW.cpp
EQW.h
EQW.h.xs
EQWHTTPHandler.cpp
EQWHTTPHandler.h
EQWParser.cpp
EQWParser.h
EmuTCPConnection.cpp
EmuTCPConnection.h
EmuTCPServer.cpp
EmuTCPServer.h
File.cpp
File.h
HTTPRequest.cpp
HTTPRequest.h
HTTPRequest.h.xs
HTTPSocket.cpp
HTTPSocket.h
HexRichEdit.cpp
HexRichEdit.h
HttpdCookies.cpp
HttpdCookies.h
HttpdForm.cpp
HttpdForm.h
HttpdSocket.cpp
HttpdSocket.h
IFile.h
Item.cpp
Item.h
Items.cpp
Items.h
Kaiyodo-LList.h
LauncherLink.cpp
LauncherLink.h
LauncherList.cpp
LauncherList.h
Live.cpp
Live.h
Live_itemfields.h
Live_ops.h
Live_structs.h
LoginServer.cpp
LoginServer.h
Loot.cpp
Loot.h
MMF.cpp
MMF.h
MMFMutex.cpp
MMFMutex.h
Makefile
Makefile.bsd
Makefile.common
Makefile.wine
Map.cpp
MaxSkill.cpp
MemFile.cpp
MemFile.h
Mime.cpp
Mime.h
MiscFunctions.cpp
MiscFunctions.h
MobAI.cpp
Mutex.cpp
Mutex.h
NPCFactionLists.cpp
NPCFactionLists.h
NPCTypes.cpp
NPCTypes.h
NpcAI.cpp
NpcAI.h
Object.cpp
Opcodes.cpp
Opcodes.h
Parse.cpp
Parse.h
PlayerCorpse.cpp
PlayerCorpse.h
PlayerCorpse.h.xs
ProcLauncher.cpp
ProcLauncher.h
Quest.cpp
Quest.h
README
README.eqemu
README.macosx
SSDeclare.h
SSDefine.h
SSRegister.h
SharedLibrary.cpp
SharedLibrary.h
SkillCaps.cpp
SkillCaps.h
Spells.cpp
Spells.h
StdAfx.cpp
StdAfx.h
StringIDs.h
StructStrategy.cpp
StructStrategy.h
TCPBasicServer.h
TCPConnection.cpp
TCPConnection.h
TCPServer.cpp
TCPServer.h
TextMapFile.cpp
TextMapFile.h
Titanium.cpp
Titanium.h
Titanium_itemfields.h
Titanium_ops.h
Titanium_structs.h
TreeMenu.css
TreeMenu.js
Utility.cpp
Utility.h
World.dsp
World.dsw
World.vcproj
World.vcproj.JTC.Administrator.user
World.vcproj.MARS.Terry.user
World.vcproj.old
WorldConfig.cpp
WorldConfig.h
WorldTCPConnection.h
XMLParser.cpp
XMLParser.h
ZONECFG.SQL
Zone.dsp
Zone.dsw
Zone.mak
Zone.vcproj
Zone.vcproj.JTC.Administrator.user
Zone.vcproj.MARS.Terry.user
Zone.vcproj.old
ZoneConfig.cpp
ZoneConfig.h
ZoneLaunch.cpp
ZoneLaunch.h
ZoneNumbers.h
ZonePerl.vcproj
account.html
accounts.html
action.html
actions.cpp
aggro.cpp
all_convert
apathing.cpp
apathing.h
archive.hpp
attack.cpp
awater.cpp
awater.h
azone.cpp
azone.h
basic_functions.h
beacon.cpp
beacon.h
blah.h
bodytypes.h
bonuses.cpp
boostcrap.cpp
boostcrap.h
bootzone.html
botAI.cpp
botRaids.cpp
botRaids.h
branch.gif
branchbottom.gif
branchtop.gif
breakdowns.h
bugdb.cpp
bugdb.h
buildfile.cpp
buildfile.h
cache.cpp
cache.h
changelog.txt
char_format.h
charmove.dsp
chat.html
class.sh
class.typemap
classes.cpp
classes.h
cleanipc.cpp
client.cpp
client.h
client.h.xs
client_logs.cpp
client_logs.h
client_mods.cpp
client_packet.cpp
client_packet.h
client_process.cpp
cliententry.cpp
cliententry.h
clientlist.cpp
clientlist.h
command.cpp
command.h
commands.html
commands.pl
common_profile.h
config.html
configdl.html
console.cpp
console.h
convert
convert_ops.pl
crc32.cpp
crc32.h
database.cpp
database.h
database.html
dbasync.cpp
dbasync.h
dbcore.cpp
dbcore.h
dbmemshare.cpp
debug.cpp
debug.h
deity.h
delete.gif
doors.cpp
doors.h
effects.cpp
embparser.cpp
embparser.h
embperl.cpp
embperl.h
embxs.cpp
embxs.h
emu_opcodes.cpp
emu_opcodes.h
emu_oplist.h
entity.cpp
entity.h
entity.h.xs
eq_constants.h
eq_old_structs.h
eq_opcodes.h
eq_packet_structs.h
eqemu_config.xml
eqemu_config.xml.full
eqlaunch.cpp
eqlaunch.dsp
eqlaunch.dsw
eqstrmgr.cpp
eqstrmgr.h
eqtime.cpp
eqtime.h
errmsg.h
event_codes.h
exp.cpp
export
export_char.cpp
extprofile.cpp
extprofile.h
faction.cpp
faction.h
favicon.ico
fearpath.cpp
features.h
file.cpp
file.hpp
file_loader.hpp
files.h
filters.html
folder.gif
forage.cpp
forage.h
global.hpp
gpl.txt
gpoint.cpp
gpoint.h
groups.cpp
groups.h
groups.h.xs
guild.cpp
guild.html
guild_base.cpp
guild_base.h
guild_mgr.cpp
guild_mgr.h
guildcreate.html
guilds.cpp
guilds.h
guilds.html
guildsearch.html
hate_list.cpp
hate_list.h
head_01_nb.jpg
head_02_nb.jpg
head_03_nb.jpg
head_04_nb.jpg
hexvis.clw
hexvis.cpp
hexvis.dsp
hexvis.dsw
hexvis.h
hexvis.ico
hexvis.rc
hexvis.rc2
hexvisDlg.cpp
hexvisDlg.h
horse.cpp
horse.h
import_char.cpp
import_showeq
index.html
inventory.cpp
item_fieldlist.h
item_struct.h
items-0.6.0-DR2-0.6.1-DR1-convert.sql
itemtablechanges.sql
languages.h
launcher.html
launchers.html
line.gif
linebottom.gif
linked_list.h
load_13thfloor_items.pl
load_db.cpp
locate_stringids.pl
log.ini
logsys.cpp
logsys.h
logsys_eqemu.cpp
logtypes.h
loottable.h
loottables.cpp
main.css
makefile
makefile.a64
makefile.bsd
makefile.common
makefile.cygwin
makefile.darwin
makefile.qst
makefile.vc2003
makefile.wine
makefile.x86opt
makepatch
map.h
masterentity.h
maxskill.h
md5.cpp
md5.h
menu.html
message.h
mime.types
minilogin.html
minus.gif
minusbottom.gif
minustop.gif
misc.cpp
misc.h
mkdot.sh
mob.cpp
mob.h
mob.h.xs
moremath.cpp
moremath.h
net.cpp
net.h
npc.cpp
npc.h
npc.h.xs
object.h
octree.hpp
oldcode.cpp
oldcode.h
op_codes.h
opcode_dispatch.h
opcode_map.cpp
opcodemgr.cpp
opcodemgr.h
opcodes.conf
opcodes_to_ida.pl
packet_dump.cpp
packet_dump.h
packet_dump_file.cpp
packet_dump_file.h
packet_functions.cpp
packet_functions.h
packetfile.cpp
packetfile.h
parser.cpp
parser.h
patch_6.2.conf
patch_Anniversary.conf
patch_Live.conf
patch_Titanium.conf
patches.cpp
patches.h
pathfinding.cpp
pathing.cpp
pathing.h
perl_EQDB.cpp
perl_EQDBRes.cpp
perl_EQLConfig.cpp
perl_EQW.cpp
perl_HTTPRequest.cpp
perl_PlayerCorpse.cpp
perl_client.cpp
perl_entity.cpp
perl_groups.cpp
perl_mob.cpp
perl_npc.cpp
perl_perlpacket.cpp
perlpacket.cpp
perlpacket.h
perlpacket.h.xs
perlparser.cpp
perlparser.h
petAI.cpp
petitions.cpp
petitions.h
petitions.html
pets.cpp
pets.h
pfs.cpp
pfs.hpp
players.html
plugin.pl
plus.gif
plusbottom.gif
plustop.gif
ppconvert.cpp
ppconvert.dsp
ppreader.pl
ppskillfix.cpp
ppskillfix.dsp
ppskillfix.dsw
profiler.h
ptimer.cpp
ptimer.h
put
quadtree.cpp
quadtree.h
questmgr.cpp
questmgr.h
queue.h
queues.h
races.cpp
races.h
raid.h
raids.h
rdtsc.cpp
rdtsc.h
reset.png
resource.h
rules.html
rulesys.cpp
rulesys.h
ruletypes.h
runall
s3d.c
s3d.h
schema.xml
seperator-2.h
seperator.h
serialize_items.pl
serverinfo.cpp
serverinfo.h
servertalk.h
shareddb.cpp
shareddb.h
shortnames
sig_to_ida.pl
skills.h
socket_include.cpp
socket_include.h
spacer.gif
spawn2.cpp
spawn2.h
spawngroup.cpp
spawngroup.h
spdat.cpp
spdat.h
special_attacks.cpp
spell_effects.cpp
spell_explorer.cpp
spells.cpp
status.html
stringids_to_ida.pl
struct_fields.sh
submit.png
tasks.cpp
tasks.h
template.cpp
template.h
template_ops.h
template_structs.h
ter.cpp
ter.hpp
throwpackets.pl
timeoutmgr.cpp
timeoutmgr.h
timer.cpp
timer.h
tinystr.cpp
tinystr.h
tinyxml.cpp
tinyxml.h
tinyxmlerror.cpp
tinyxmlparser.cpp
titles.cpp
titles.h
top.html
tradeskills.cpp
trading.cpp
trap.cpp
trap.h
tribute.cpp
types.h
unix.cpp
unix.h
update.png
updatemgr.cpp
updatemgr.h
useperl.h
variables.html
version.h
watermap.cpp
watermap.h
waypoints.cpp
wguild_mgr.cpp
wguild_mgr.h
win_getopt.cpp
win_getopt.h
wld.c
wld.h
world.html
world_logsys.cpp
worldconn.cpp
worldconn.h
worlddb.cpp
worlddb.h
worldserver.cpp
worldserver.h
worldstatus.html
worldui.pl
wr_update.sql
zfile.cpp
zfile.h
zon.cpp
zon.hpp
zone.cpp
zone.h
zone.html
zone_logsys.cpp
zone_profile.cpp
zone_profile.h
zonedb.cpp
zonedb.h
zonedbasync.cpp
zonedbasync.h
zonedump.h
zonelist.cpp
zonelist.h
zones.html
zoneserver.cpp
zoneserver.h
zoning.cpp


See my issue now? When I go to run make it has no idea where to find any of the files that the makefiles are calling for, beacuse the files are not in the proper directories.

Aramid
07-07-2008, 01:59 PM
I didn't change anything in the directory structure, all I did was use Beyond Compare and add everything that was in 1118 TO the BOT code, changed the Makefile files, so if you had to change the makefile and makefile.common, then you don't have the code I submitted, because they were already changed. On my 1118_Bot-Source version, you have to compile the entire thing, not just the zone code because of all the 1118 changes in the regular emu code. Sounds to me like it is not decompressing correctly as ALL of the directory structures ARE there. I use Debian Linux myself.

nosfentora
07-07-2008, 03:03 PM
I could be wrong, but it almost looks like the archive was extracted w/o writing the directory structure. (or maybe the archive was created w/o adding the directory structure.)

cubber
07-07-2008, 03:08 PM
That is what I thought. I will try to redownload the rar file and decompress again to see if I get any changes.

Aramid
07-07-2008, 03:45 PM
I downloaded the VC++2008 Express Dev Kit from here: http://www.mediafire.com/?vycm22limtm

Installed it by using the defaults and then setup the dependencies as described in the readme file

Uncompressed the 1118_Bots-Source file and compiled it with no problems. The directory structure is there.

Andrew80k
07-07-2008, 04:23 PM
I downloaded the VC++2008 Express Dev Kit from here: http://www.mediafire.com/?vycm22limtm

Installed it by using the defaults and then setup the dependencies as described in the readme file

Uncompressed the 1118_Bots-Source file and compiled it with no problems. The directory structure is there.
Yep. Same here. I didn't have to do anything at all. Compiled itself practically. Not only that, but it's running very well. :)

cubber
07-08-2008, 04:11 PM
Was my bad I used the command unrar e and should have used unrar x. I usually edit the makefiles anyway to optimize the compiles for my server's cpu.

billhumpsalot
07-08-2008, 09:12 PM
I just got done compiling the bot source provided I noticed it said
1110Bots.sln but its listed for 1118 so I guess it's the right one. But while compiling the source I was wondering if it was normal to get 2-3 warnings and why I could only get it to compile under debug and not release?

all in all I tested it and works, I also have uploaded the files to see if it looks ok to you all and I did compress it down as far as I can get it.

http://www.mediafire.com/?1mlnyxdf21v

Congdar
07-09-2008, 08:52 AM
...I could only get it to compile under debug and not release?

The release compile only seems to work if you select ReleasePerl in VS2005.

billhumpsalot
07-09-2008, 11:49 AM
Ah ok thanks, I still get these warnigs but still compiles ok just the MB size diffrence is weird not sure if it's right or not.

Zone.exe 2.44
World.exe 4.15

This is the list of warnings I get.

LINK : warning LNK4044: unrecognized option '/MANIFESTUAC:level='asInvoker' uiAccess='false''; ignored

c:\eqemu-0.7.0-1118_bots-source\common\socketlib\httpsocket.cpp(113) : warning C4715: 'HTTPSocket::ProcessReceivedData' : not all control paths return a value

I'm not sure if anyone else gets these or if it's normal.

Congdar
07-09-2008, 12:16 PM
I get
2>emusharemem\mmf.cpp(325) : warning C4532: 'return' : jump out of __finally block has undefined behavior during termination handling

1>httpsocket.cpp(113) : warning C4715: 'HTTPSocket::ProcessReceivedData' : not all control paths return a value

but everything seems to work just fine.

billhumpsalot
07-09-2008, 01:44 PM
So even if the bot source given says 1110Bots.sln it's still 1118 merged in with it correct?

Congdar
07-09-2008, 02:16 PM
When I make a release, I update the file name... the last release was made by somebody else and they missed that minor detail. It doesn't affect anything.

The reason I haven't made a release in a while is because I am in the middle of revamping the spell lists the bots use and there are so many spells and some of them don't work when cast by the bots and it is taking a long time to do cuz I have to change the code as well as the database when setting up these new spell lists. It will be worth the wait though.

billhumpsalot
07-09-2008, 07:18 PM
No rush, your doing an outstanding contribute to the community and the project :)

I like learning new things, I figure the more I know the more I can do.

greggg230
07-19-2008, 09:04 PM
I'm writing a pretty significant modification of the bot code. It might be more accurate to call it a re-writing.

I'm writing bots as a sub-class of the Mob class and giving the player a lot more control over their actions through a more comprehensive command system that has the ability to combine series of commands into reusable scripts. I basically want to make it like running multiple characters without having to run multiple clients, and, along the way, add the ability to automate your bots' behaviors quite a bit.

Would others be interested in using this once I get it done? It's fairly complete now, but I need to add a few more things.

EvoZak
07-20-2008, 06:03 PM
I'm writing a pretty significant modification of the bot code. It might be more accurate to call it a re-writing.

I'm writing bots as a sub-class of the Mob class and giving the player a lot more control over their actions through a more comprehensive command system that has the ability to combine series of commands into reusable scripts. I basically want to make it like running multiple characters without having to run multiple clients, and, along the way, add the ability to automate your bots' behaviors quite a bit.

Would others be interested in using this once I get it done? It's fairly complete now, but I need to add a few more things.

Definitely. Keep us appraised of your progress.

Aramid
07-21-2008, 07:35 AM
Would others be interested in using this once I get it done? It's fairly complete now, but I need to add a few more things.

I would be definitly be interested and would help test it if you need people to test it.

zutfen
07-21-2008, 02:48 PM
That sounds very interesting, indeed. :)

wexford
07-22-2008, 01:21 AM
I am trying to setup a bots server, and I was wondering if you can setup an npc with a quest that will autospawn a bot and group it with someone automaticly and have it follow them from zone to zone like a pet?

Aramid
07-22-2008, 05:29 AM
I am trying to setup a bots server, and I was wondering if you can setup an npc with a quest that will autospawn a bot and group it with someone automaticly and have it follow them from zone to zone like a pet?


No, even the way it is now, you can't zone with the Bots and there are no quest commands setup for the Bots as the Bots are not part of the official code.

wexford
07-22-2008, 05:35 AM
No, even the way it is now, you can't zone with the Bots and there are no quest commands setup for the Bots as the Bots are not part of the official code.

I understand that I was meaning is it possible, to be more exact what I mean is would it even be possible if one edited the source

Congdar
07-22-2008, 08:53 AM
You could probably set up your quest stuff, but bots don't zone with you like pets do so you would need the quest giver in the zone you want to use the bot in.

gygelly
07-22-2008, 09:46 AM
Hey folks, new guy here!
First, I've noticed a few folks requesting windows binaries of the 1118 bot code. Here ya go:
http://www.mediafire.com/?ndxi9dxdili

Just copy the 3 files to your standard eqemu install and you are good to go (I think, like I said, I'm new, but it seemed to work for me last night).

I didn't have any trouble getting them compiled, just used the dev kit posted a few pages back (thanks for that, I'm sure it saved me a TON of time and trouble) set the dependencies, and chose ReleasePerl when building the solution.

Now, maybe I've just missed it in this HUGE thread, but is there any kind of user guide for these bots? I found the #bot help command in game, and like I said, managed to screw around with some bots just a bit, but I still have some unanswered questions, and would really appreciate some kind of in depth usage guide if there is one, just to make sure I'm using these guys to their full potential.

If there isn't a guide, then I suppose my biggest question is how do I teach bots spells? I figured out equipping them (that's easy, and very neat) but do I have to give them spells the same way, or is there a command similar to #scribespells that'll just give them a bunch of spells up to the correct level?

Also, are there any more commands for more fine grained control of the healing and mezzing bots? Similar to a "cast this spell on this target" command? I'd really like to set up some kind of CHeal rotation with some cleric bots, for example.

Congdar
07-22-2008, 02:48 PM
The bot spells come from the database. They are currently using the lists used by the npc's but I am making new lists just for the bots.

The bot code has a simulated cleric heal rotation. I have used it successfully on the Vulak`Aerr encounter in North ToV and other raid targets. I have not released this code yet but it is available to be tested on the server The Realm along with the new bot spells I have completed.

There is a thread just for Bot Code Releases right next to this thread in the Custom Code forum.

gygelly
07-22-2008, 04:11 PM
Thanks for the info, like I said, I'm pretty new at this. I guess I'll hop on the Realm and play around a bit.
Do you want me to put the binaries in the code release thread? Yeah, i saw it, but as it said, that's for code releases, and these are just some binaries.

gygelly
07-23-2008, 04:45 PM
Question 1: is it just me, or do the bots seem to miss alot? It seems to take them a LONG time just to take down a mob several levels lower. I know their level is based off of the character that spawns them, but being npcs, I assume weapon skill doesn't really figure into the equation....

Question 2: is there anything I can do to help out? Any particular part of the code you'd like me to look at?

I'm excited about Congdar's spell database improvements (btw, with that tip you gave me, I managed to track down the bot's spell lists, gonna play with 'em tonight), and even more interested in gregg's added bot commands.

How about getting bard's to twist songs? I realize that'd maybe involve rewriting some mob/pet ai, but if you could give me a recommended starting point, that'd be a pretty useful improvement imo.
Or how about getting melee/hybrid bots to use disciplines?

gygelly
07-23-2008, 05:37 PM
Duh, didn't know if the Bot AI stuff was based on mobai or petai, then I found botai.cpp. Excuse a newb, I'm only barely familiar with the eqemu code, and this is my first look at this bot stuff.

gygelly
07-24-2008, 12:29 PM
Aramid: Though this compiles in VC++2008, the #bot command is not recognized by the server. I notice that the botai.cpp source file (and maybe others) aren't referenced in the solution explorer, that may be the problem.

gygelly
07-24-2008, 12:45 PM
You also don't have EQbots defined in any of your preprocessor definitions.

Aramid
07-24-2008, 03:50 PM
Until I replace them, if you have the 1118 source, you can use those. The Makefiles for Linux have been changed to include what is needed.

Darkonig
07-27-2008, 02:24 PM
In looking over the bot code and considering its intent, I was wondering why the bots were not implemented as an extension to the client class rather than an internal modification of the npc class.

One of the big issues I have with them being npcs is that they are targeted by the f8 key which interferes with targeting 'real' npcs. They keep getting in the way. When I tried a test of sending the spawn packet declaring the bot's were clients they did not interfere with f8 and showed up in the /who command. This simple change is not sufficient by itself because, although the mobs were still functional, they were identified as <LD> <LFG> <Bad Guild> and had a tendency to go invisible. So further work would be required to make them actual clients on the server side.

If there will be a major rewrite to make them a real class, I would highly recommend making them an extension of client so they behave more like actual players and don't interfere so much with the actual player.

gygelly
07-31-2008, 11:24 PM
hey Congdar, I got on the the Realm and played around a bit. The cleric bot actually threw me heals intelligently, but of course, I was only able to test a lvl 6.

Any chance of you sharing your bot code changes soon? It'd surely help the stuff I'm working on to have those seperate spell lists.

Congdar
08-01-2008, 10:12 AM
I would really like to wait until I get all the spell lists completed before releasing. I'm working on Shaman now and still have more classes to do. If you really really want it as it is, pm me.

Ikeren
08-08-2008, 11:26 PM
I recently got the craving to play EQ again, and this has always been one of my dreams - go through the raid content alone as a raid leader. As soon as I get MiniLogin working (which might be a while) I'm going to start playing around with these bots; and I can't wait.

I have a question in terms of quest context; the Bots can't do quests. The PC could of course, do the quests, assuming the have the faction, then hand the reward to the Bots, correct? I am trying to remember from EQ if some quests are impossible to do if you are the wrong class; like, could a Cleric do a Shaman Epic? It'd be useless on the normal servers, but here it would be very valuable.

Congdar
08-09-2008, 12:29 PM
Yes, you can equip bots with whatever loot you find including the class Epic item. Some quest scripts check the class of the person turning in items but that could be modified on a private server so anyone could do any quest. The custom server would also need to turn off NODROP.

Ikeren
08-09-2008, 12:40 PM
What would be the procedure for telling if a quest has a class-check in it's script for someone mostly inept as I am? (I'm trying to install Bots now for The Realm, stand by for really dumb questions ;) )

Equally, how would one modify class spell lists, to say put things like Enchanter's Enchant Silver, Electrum, Gold, etc, onto other person's spell list? If you aren't playing an enchanter, you'd never be able to find enchanted jewelry.

Alright. I can create a character, but it kicks me every time I try to enter the world. What's up with that?

Congdar
08-09-2008, 03:56 PM
I just did a search and there aren't enough scripts that check for class for it to be an issue.
It's easier to add enchanting script to an existing Enchanter Guild Master than it is to change bot spell lists.
Not sure about your connection issues, I can log into The Realm without a problem.

Ikeren
08-09-2008, 08:38 PM
I meant, host plays a cleric; make the spells Enchanter/Cleric usuable; but your solution makes more sense.

I played a little more on PEQ: Grand Creation without a problem, it's just The Realm; if I screwed up the bot install some how, would that do it, or would I just have problems when I get into the game and try to use the Bot Commands?

johnblack100
08-10-2008, 03:01 AM
Congdar and all others working on this project,
I love the work done it is fantastic and keep going cant wait to see the new spells the bots will do.
Just a quick question do the bots get any AAs and if not will this be implemented at all
:P

John Black

Angelox
08-10-2008, 09:59 AM
I just tried this out (took me long enough!), and I gotta say, this is really great stuff. Magoth78, you truly made a 'home box' version of Everquest!
Before, it was pretty much impossible to achieve ubber levels alone (with out 'pimping' your character and the #commands). I played characters like Necros, that could solo up to a decent level.
But now, I can play whatever character with no problems, probably take on anything in the game, without having to cheat.
I added it to what I have, see if I can't come up with some new ideas too.

I've always been highly impressed at all the amazing talent that floats around these forums. I'm glad I learned MySql, Perl, and even some C, even if it was just to better appreciate what all of you have done with this project.

Congdar
08-10-2008, 02:29 PM
Just a quick question do the bots get any AAs and if not will this be implemented at all
:P

John Black

I have coded many AA's for the bots and will be implementing more as I can. I just finished up with Shaman and Druid spells and im testing the Paladin spells now. Getting closer to release. :)

Congdar
08-10-2008, 02:35 PM
I played a little more on PEQ: Grand Creation without a problem, it's just The Realm; if I screwed up the bot install some how, would that do it, or would I just have problems when I get into the game and try to use the Bot Commands?

To play on The Realm you don't need to install bot code, just Titanium. I wish I could help you with your connection issues. I can connect to both The Realm and Grand Creation.(Grand Creation doesn't have bots)

Ikeren
08-10-2008, 03:50 PM
Yeah, it's very odd.

Right now: When I connect to grand creation, I can log in no problem 100% of the time.

When I try to connect to The Realm, about 75% of the time, I get booted to log in screen. Another...15%? of the time I can get to character creation, but can't log in. I got in once, levelled a character to 10, died (lost 2 levels) and then got booted at that point - I've been trying to get on a few times since, without luck.

Ikeren
08-10-2008, 04:01 PM
Grrr on the 5 minute edit timer, I forgot to mention: Bots worked perfectly and smoothly during that time frame, up to level 10. The only thing I had trouble with was having an ogre in my party - they were big, and my bots stood together, so I had to kill it to give my other bots items. But that's pretty minor an issue; now I just make sure I have 10-12 items ready to transfer when I spawn them all, and spawn up the ogre last.

Angelox
08-10-2008, 09:35 PM
Grrr on the 5 minute edit timer, I forgot to mention: Bots worked perfectly and smoothly during that time frame, up to level 10. The only thing I had trouble with was having an ogre in my party - they were big, and my bots stood together, so I had to kill it to give my other bots items. But that's pretty minor an issue; now I just make sure I have 10-12 items ready to transfer when I spawn them all, and spawn up the ogre last.

You can spread them out with the 'guard' command - if the Ogre is a fighter type, it's even easier ; use 'guard' then send him out to kill (attack) something, when he's done, he'll stand where he finished, away from the group (the casters stay put, when in guard mode).

Ikeren
08-11-2008, 11:57 AM
Alright, I've been playing around on The Realm server, got a cleric to 43.

1) Exp wasn't properly coded, so I levelled incredibly fast. Would it make more sense to code the bots to absorb a proper amount of exp, rather than rely on the server?

2) In general, very few things were ever a challenge. Constant pulls of 3-5 blue cons in The Warrens, Crushbone, Unrest, Mistmoore, Lower Guk were all no problem, despite terrible gear.

3) In Unrest, The Hole, and Mistmoore, I got crazy trains. As if a mob had wandered away type of thing - 50 mob agro. Is that a problem with EQ Bots or PEQ's pathing?

4) I get a lot of crash to server (25% of zoning), and lots of times (75%?) char screen boots me to log in screen. Makes it quite unstable.

Looks good otherwise. Going to keep fooling around. It's a lot of fun, and really well done.

Ikeren
08-11-2008, 01:34 PM
Figured out the trains thing: Once either I or my Enchanter hit 44, the entire zone aggros on us.

Ikeren
08-11-2008, 01:58 PM
It's definitely the enchanter, so there is a spell bug at 44 with enchanters, or something.

Congdar
08-11-2008, 02:20 PM
Alright, I've been playing around on The Realm server, got a cleric to 43.

1) Exp wasn't properly coded, so I levelled incredibly fast. Would it make more sense to code the bots to absorb a proper amount of exp, rather than rely on the server?

Exp isn't split for bots. You would get the same exp solo or with bots, but The Realm does have 1.5X exp anyway.

2) In general, very few things were ever a challenge. Constant pulls of 3-5 blue cons in The Warrens, Crushbone, Unrest, Mistmoore, Lower Guk were all no problem, despite terrible gear.
Dang, I can't please everyone. I previously beefed up the bots from complaints they were too weak, but I gotta think that blue cons with a group of bots or a group of real people is gonna be fairly easy anyway.

3) In Unrest, The Hole, and Mistmoore, I got crazy trains. As if a mob had wandered away type of thing - 50 mob agro. Is that a problem with EQ Bots or PEQ's pathing?
Bots don't generate aggro by themselves since they don't have faction, but Mistmoore is a train station on it's own, not sure about the Hole.

4) I get a lot of crash to server (25% of zoning), and lots of times (75%?) char screen boots me to log in screen. Makes it quite unstable.
I don't have these problems. I've seen in logs that some people keep sending unknown opcodes continuously in a stream and this causes connection issues for them. My friend and I play frequently and our connections do not send this opcode stream I'm seeing with some people.
[08.10. - 09:09:19] Unable to convert EQ opcode 0x6a5f to an Application opcode.
[08.10. - 09:09:19] [CLIENT__NET_ERR] Ikeren: Unhandled incoming opcode: [OpCode OP_Unknown (0x6a5f) Size=8]
[08.10. - 09:09:19] Unable to convert EQ opcode 0x6a5f to an Application opcode.
[08.10. - 09:09:19] [CLIENT__NET_ERR] Ikeren: Unhandled incoming opcode: [OpCode OP_Unknown (0x6a5f) Size=8]
[08.10. - 09:09:20] Unable to convert EQ opcode 0x6a5f to an Application opcode.
[08.10. - 09:09:20] [CLIENT__NET_ERR] Ikeren: Unhandled incoming opcode: [OpCode OP_Unknown (0x6a5f) Size=8]
[08.10. - 09:09:20] Unable to convert EQ opcode 0x6a5f to an Application opcode.
[08.10. - 09:09:20] [CLIENT__NET_ERR] Ikeren: Unhandled incoming opcode: [OpCode OP_Unknown (0x6a5f) Size=8]
[

Looks good otherwise. Going to keep fooling around. It's a lot of fun, and really well done.
I find it quite fun as well, keep the bug reports coming in.

Ikeren
08-11-2008, 03:55 PM
Exp isn't split for bots. You would get the same exp solo or with bots, but The Realm does have 1.5X exp anyway.

Heh, I do understand that, I was saying; would it be possible to split the exp for bots? Rather than you getting 100% of the exp, make it like a normal group of players, you get 120% exp/6 (if that was the standard group exp bonus, I think it was).

As for challenge...good point. The bots also are significantly weaker close to 50 when they are all still in cloth, so maybe it was just at low level.

As for bots generating aggro, make yourself a group with a level 43 enchanter on the realm and level to 44. As soon as you do the update on the enchanter, the entire zone will agro. I had it happen in Eastern Wastes, so it isn't dungeon only.

Any idea how to fix the OP code?

A few more bugs:

Blessing of Faith (Cleric Spell Haste buff) gives these errors:
Unknown Spell effect 127 in spell Blessing of Faith (id 3576)
Unknown Spell effect 134 in spell Blessing of Faith (id 3576)
Unknown Spell effect 139 in spell Blessing of Faith (id 3576)
Unknown Spell effect 143 in spell Blessing of Faith (id 3576)
Unknown Spell effect 137 in spell Blessing of Faith (id 3576)
Unknown Spell effect 311 in spell Blessing of Faith (id 3576)

In Lower Guk, Dead Side, A Ghoul Cavalier spawns both in his room, his normal spawn point, and as a wanderer outside the Executioner's Room.
Two copies of the reanimated hand spawn at the same time, in the same place.

Congdar
08-11-2008, 04:28 PM
Heh, I do understand that, I was saying; would it be possible to split the exp for bots? Rather than you getting 100% of the exp, make it like a normal group of players, you get 120% exp/6 (if that was the standard group exp bonus, I think it was).
I didn't realize this isnt already the case. Are you sure?

As for bots generating aggro, make yourself a group with a level 43 enchanter on the realm and level to 44. As soon as you do the update on the enchanter, the entire zone will agro. I had it happen in Eastern Wastes, so it isn't dungeon only.
I'll have to take a look at this enchanter thing.

Any idea how to fix the OP code? no, sorry.

A few more bugs:

Blessing of Faith (Cleric Spell Haste buff) gives these errors:
Unknown Spell effect 127 in spell Blessing of Faith (id 3576)
Unknown Spell effect 134 in spell Blessing of Faith (id 3576)
Unknown Spell effect 139 in spell Blessing of Faith (id 3576)
Unknown Spell effect 143 in spell Blessing of Faith (id 3576)
Unknown Spell effect 137 in spell Blessing of Faith (id 3576)
Unknown Spell effect 311 in spell Blessing of Faith (id 3576)
This isn't bot related, the spell isn't supported yet in the emu but I hope it gets supported soon.

In Lower Guk, Dead Side, A Ghoul Cavalier spawns both in his room, his normal spawn point, and as a wanderer outside the Executioner's Room.
Two copies of the reanimated hand spawn at the same time, in the same place.
...also not bot related, probably database related

Ikeren
08-11-2008, 06:44 PM
I didn't realize this isnt already the case. Are you sure?

Reasonably. I went from 5-50 in about 8 hours, which I don't think is normal, even at 1.5 times exp.

Spell: Okay
Odd Spawns: I figured.

Next one: Upon zoning PoK to Neq forest, I end up in the ground and unable to move. I'm testing EC to Neq now.

hayward6
08-11-2008, 06:48 PM
Next one: Upon zoning PoK to Neq forest, I end up in the ground and unable to move. I'm testing EC to Neq now.

Thats probably a zone file issue... Everquest revamped many zones after Titanium, and we're not using them in the emulator.

Ikeren
08-11-2008, 07:01 PM
Yep, you're right, didn't work from EC, either. Any ideas of how to fix?

Ikeren
08-11-2008, 11:51 PM
Alright, I tried to do Vox. I sat and built my entire raid for about an hour in the same place (took a while). As soon as I grouped with an enchanter, vox and the rest of the zone came slamming into me.

Nobody else having this happen?

Congdar
08-12-2008, 09:24 AM
Yep, you're right, didn't work from EC, either. Any ideas of how to fix?
The Nektulous Forest used is the old version. Please see: http://projecteq.net/phpBB2/viewtopic.php?t=2195&sid=b0a16d0aa4d728824a14e3cb02b438b6 for more information

Alright, I tried to do Vox. I sat and built my entire raid for about an hour in the same place (took a while). As soon as I grouped with an enchanter, vox and the rest of the zone came slamming into me.

Nobody else having this happen?

Yeah, strange it only happens with the Enchanter. I'm still debugging it, can't see anything out of the ordinary except the zone wide aggro.

Ikeren
08-12-2008, 01:15 PM
Level 52 beastlord won't summon it's pet; presumably all pet spells got bumped from priority?

Congdar
08-12-2008, 01:29 PM
Level 52 beastlord won't summon it's pet; presumably all pet spells got bumped from priority?

I haven't done the beastlord spell list yet.

1 Warrior - no spell list
2 Cleric - done
3 Paladin - done
4 Ranger - not done
5 Shadow Knight - in progress
6 Druid - done
7 Monk - no spell list
8 Bard - not done
9 Rogue - no spell list
10 Shaman - done
11 Necromancer - done
12 Wizard - done
13 Magician - done
14 Enchanter - done
15 Beastlord - not done
16 Berserker - no spell list

Ikeren
08-12-2008, 02:18 PM
Hehehe, ooops.

Your necromancer spell list includes fear spells, I noticed...I had a necro fear cause a train in Nurga. Could I suggest removing the fear spells?

Congdar
08-12-2008, 02:40 PM
well, the darkness(snare) spell is also in there... should be helpful with the fear spell.

Ikeren
08-12-2008, 09:45 PM
Alright, I'm not sure if it is intentional, but my level 54 druid is drawing a tonne of agro (not like the enchanter, but they're chain casting something that is causing them to die, constantly). Bug in the spell list, or working as intended?

Congdar
08-13-2008, 09:46 AM
I haven't uploaded my Druid spell lists to The Realm yet, even though I completed them, so you're still using the npc spell lists for the Druid and some of the other casting classes. I'll try and get them up real soon.

Ikeren
08-13-2008, 01:55 PM
Actually, it seems to me that the problem is because the Warrior won't taunt undead mobs. Admittedly I've only tested that in Veksar, but the warrior spams taunting messages when we kill live mobs, but as soon as we start doing dead ones, no taunt messages.

Ikeren
08-13-2008, 05:33 PM
Question: How hard would it be to add a

#bot track [Target] --- Target bot, if druid or ranger, gives a list of all mobs on track radius.
#bot track (mob) [target] --- Bot turns to face (or even better, runs towards) tracked mob.

command?

Congdar
08-14-2008, 01:00 PM
Question: How hard would it be to add a

#bot track [Target] --- Target bot, if druid or ranger, gives a list of all mobs on track radius.
#bot track (mob) [target] --- Bot turns to face (or even better, runs towards) tracked mob.

command?

Not super easy, but i'll put it on my list of future bot commands.

Ikeren
08-14-2008, 03:56 PM
No big deal (or hurry), if you don't bother with it. I'll just stick with static encounters as much as possible, or level a ranger if I get desperate.

Dumplation
08-15-2008, 07:27 AM
Hey I'd just like to say thank you for all the hard work your doing, it's an excellent mod with few bugs. Also I believe you run the Realm 1119+ Botnewspell server, if so I think it might be down seeing as how when I connect, it doesn't load to char and boots me to main screen I went to my log and found
2008-08-15 07:17:01 *** WorldAuthenticate. Error connecting to 216.9.7.216:9000 [client:DisconnectReasonConnectFail,server:Disconne ctReasonNone]
2008-08-15 07:17:01
2008-08-15 07:17:01 Networking: Connection Closed [0] with 0 pending bytes.
2008-08-15 07:17:01 *** ERROR: WorldAuthenticate has failed after attempting to connect.
I also tried to ping your server and
Ping request could not find host 216.9.7.216:9000
I love your server (assuming it's yours) so if you could take a look i'd greatly appreciate it.
Thanks,
Dumplation

Dumplation
08-15-2008, 07:49 AM
Additional information
The server went down after Ikeren and I teamed up our bots to kill Garudon (not realizing he had been modified) so in that zone there were about 110 bots. We killed Garudon and then the server crashed that was approximately 2:30 Thursday August 14th EST.
I can get to other servers just not this one, so I'm assuming that it's crashed or down

hayward6
08-21-2008, 08:02 AM
How do I go about setting this up on my server? I have the current release and the database tables seem to be there, but I can't use any bot commands, is there a variable I need to add?

I have to say that this project is amazing! I have allways wanted to build a more solo friendly version of EQ and I've been using perl to do most of it. All we need to do now is add some random back and fourth /ooc chat from npc's and we'll be set :)

Congdar
08-21-2008, 09:32 AM
There's a release thread next to this one that has the latest available version. You could use that version or merge the #ifdef EQBOTS sections into the current source and rebuild if you like.

hayward6
08-21-2008, 11:44 AM
Oh I saw that, but I thought these were part of the release now? and I have the latest.

Congdar
08-21-2008, 01:30 PM
not part of the emu, this is custom code. you need to add the cpp and h files to vc2005 and add EQBOTS to the preprocessor as well.

hayward6
08-21-2008, 01:34 PM
not part of the emu, this is custom code. you need to add the cpp and h files to vc2005 and add EQBOTS to the preprocessor as well.

The last half of that sentence read like this blahblahblahblah :) sorry, i'm just at the beginning stages of understanding code and compiling it. I'll wait for a release. Thank you very much for your help.

Angelox
08-21-2008, 03:39 PM
The last half of that sentence read like this blahblahblahblah :) sorry, i'm just at the beginning stages of understanding code and compiling it. I'll wait for a release. Thank you very much for your help.

I have mine up and running with the bots, all you have to do is download and play (http://www.nahunta.org/~angelox/) But is all custom and uses my custom database.
You're welcome to it all.

hayward6
08-21-2008, 06:47 PM
I have mine up and running with the bots, all you have to do is download and play (http://www.nahunta.org/~angelox/) But is all custom and uses my custom database.
You're welcome to it all.

I followed your database quite a while back, but when I recently started over it just seemed easier to jump to PEQ... I remember you had many special components that worked together to make spawns rare and more live like. I especialy loved your work on Yekesha and I stayed with every update back then :)

I downloaded everything, maybe ill give it a go

Congdar
08-21-2008, 08:03 PM
The next Everquest Live expansion due out Oct. 21 2008 "Seeds of Destruction" will have BOTS!


Mercenaries - Player controlled NPCs are now available! These role archetypes will scale to the appropriate level and will think and act for themselves with limited player guidance. Designed for extra support or extra muscle in PvE encounters, mercenary archetypes include a variety of classes from all playable races. There are some rare non playable races to recruit as well!

Angelox
08-21-2008, 08:24 PM
The next Everquest Live expansion due out Oct. 21 2008 "Seeds of Destruction" will have BOTS!

I wonder where they got that idea from ? :)

Angelox
08-21-2008, 09:09 PM
Actually, it seems to me that the problem is because the Warrior won't taunt undead mobs. Admittedly I've only tested that in Veksar, but the warrior spams taunting messages when we kill live mobs, but as soon as we start doing dead ones, no taunt messages.
That's correct, warrior does not taunt undead
But this will fix the Warrior Bot to taunt undead;
In special_attacks.cpp at around line 1010;
#ifdef EQBOTS

//franck-add: EQoffline. Warrior bots must taunt the target.
if(IsBot() && (GetClass() == WARRIOR) && target->IsNPC() && (target->GetBodyType() && BT_Undead) && taunt_time) {
this->Say("Taunting %s", target->GetCleanName());
Taunt(target->CastToNPC(), false);
}

#endif //EQBOTS

What's in red is what was changed (used to be !=).

Congdar
08-22-2008, 08:59 AM
That's correct, warrior does not taunt undead

I've already fixed this, it will be in my next release when I'm done with the new spell lists.

Angelox
08-22-2008, 10:04 AM
I've already fixed this, it will be in my next release when I'm done with the new spell lists.

You're posting releases? thats nice - where are they posted at?

Congdar
08-22-2008, 10:37 AM
I've been posting releases in this thread since emu build 1090, but since this thread has grown too large it's a pain to read every post so it's easy to miss. There's a new release thread set up now in this section of the forums, but I haven't made a release in it yet.

I've been working on new spell lists for each class and it is a tedious and long process(I think you made the npc lists so probably know this) so during that time some other people have made a release or two with some of the code submissions that were not in the emu build at the time. I only have Beastlord, Bard and Ranger spell lists left to do and once done maybe a bit of tweaking and debugging before I make a new release with the latest emu source. I have 1127 now but it has a group bug in it that is supposedly fixedin 1128 but that download doesn't seem to be available.

nosfentora
08-26-2008, 04:38 PM
I may have missed this among the 47+ pages of posts, but i was curios to know if there was a way to spawn bots and group them with 1 or 2 macro buttons. so far i have all bots spawning with 1 button, then i have to target each one and group them, backing up and moving forward between each add so that i could target the next bot. kind of a pain when you zone and the bots go bye bye.

maybe like a #bot group add <id> or #bot group add <name>?

Congdar
08-26-2008, 07:24 PM
I've used up about 8 pages in the socials buttons for macro's using the bots. There's a place for the name of the macro and five lines you can use for your bot commands. Here's an example I use for adding a Necromancer Bot to my group:

Page10Button2Name=NecBot
Page10Button2Color=0
Page10Button2Line1=#bot spawn 2700013
Page10Button2Line2=/pause 3
Page10Button2Line3=/target Necromancer000
Page10Button2Line4=/pause 3
Page10Button2Line5=#bot group add

I copied this from the [Socials] section of my <charactername>_<servershortname>.ini file (Condar_Realm.ini)
The /pause 's are needed to give time for the game to spawn the bot and for targeting lag.
Don't forget the three zero's Necromancer000 at the end of the name, because if you ever have to resummon bots to reform a group after a battle, you will target the pet instead and that macro wont work. I've never looked too deeply at why the 000's are part of the bot names, but they are.

For the second group of bots you create you will need to form a raid. The first two macro's for the second group are used to create the raid and add the first two bots:

Page2Button1Name=MakeRaid
Page2Button1Color=0
Page2Button1Line1=#bot raid create
Page2Button1Line2=/pause 2
Page2Button1Line3=#bot spawn 2700197
Page2Button1Line4=/pause 2
Page2Button1Line5=/target WarriorTwo
Page2Button2Name=RdGrp2-2
Page2Button2Color=0
Page2Button2Line1=#bot raid group create
Page2Button2Line2=#bot spawn 2700191
Page2Button2Line3=/pause 3
Page2Button2Line4=/target NecromancerTwo000
Page2Button2Line5=#bot raid invite bot WarriorTwo000

There are some other macro's i've made for raid targets. Some bosses get ENRAGED ability so I use this:

Page7Button9Name=RdGrp2-2
Page7Button9Color=0
Page7Button9Line1=#bot raid order task enraged

This stops all bots attacking (the ones that continue to get whacked will retaliate). To make them start attacking after the enraged attack, you must make them follow you as a leader again using(this works for the whole bot raid):

Page9Button4Name=BotFolw
Page9Button4Color=0
Page9Button4Line1=#bot group order follow

For encounters with multiple targets there's a way to make "offtank" groups attack a different target than the main target. Just select the new target and use:

Page7Button9Name=OffTank
Page7Button9Color=0
Page7Button9Line1=#bot raid order task attack WarriorFive000

The bot command structure needs to be refined, here #bot offtank WarriorFive00 would be sufficient.
This will peel WarriorFive's group from the main assault and they will attack your new target.

I'm including my entire Bot summoning, grouping, raiding and general stuff to make it easier if you don't have a problem editing the [Socials] section of your INI file. The Names and ID's you will need to edit to your information but the command structure is the same. These commands inlcude the max number of bots in a raid commands (71 + You = 72 Max):

[Socials]
Page2Button1Name=MakeRaid
Page2Button1Color=0
Page2Button1Line1=#bot raid create
Page2Button1Line2=/pause 2
Page2Button1Line3=#bot spawn 2700197
Page2Button1Line4=/pause 2
Page2Button1Line5=/target WarriorTwo
Page2Button2Name=RdGrp2-2
Page2Button2Color=0
Page2Button2Line1=#bot raid group create
Page2Button2Line2=#bot spawn 2700191
Page2Button2Line3=/pause 3
Page2Button2Line4=/target NecromancerTwo000
Page2Button2Line5=#bot raid invite bot WarriorTwo000
Page2Button3Name=RdGrp2-3
Page2Button3Color=0
Page2Button3Line1=#bot spawn 2700194
Page2Button3Line2=/pause 2
Page2Button3Line3=/target WizardTwo000
Page2Button3Line4=/pause 2
Page2Button3Line5=#bot raid invite bot WarriorTwo000
Page2Button4Name=RdGrp2-4
Page2Button4Color=0
Page2Button4Line1=#bot spawn 2700206
Page2Button4Line2=/pause 2
Page2Button4Line3=/target DruidTwo000
Page2Button4Line4=/pause 2
Page2Button4Line5=#bot raid invite bot WarriorTwo000
Page2Button5Name=RdGrp2-5
Page2Button5Color=0
Page2Button5Line1=#bot spawn 2700212
Page2Button5Line2=/pause 2
Page2Button5Line3=/target PaladinTwo
Page2Button5Line4=/pause 2
Page2Button5Line5=#bot raid invite bot WarriorTwo000
Page2Button6Name=RdGrp2-6
Page2Button6Color=0
Page2Button6Line1=#bot spawn 2700200
Page2Button6Line2=/pause 2
Page2Button6Line3=/target ClericTwo
Page2Button6Line4=/pause 2
Page2Button6Line5=#bot raid invite bot WarriorTwo000
Page2Button7Name=RdGrp3
Page2Button7Color=0
Page2Button7Line1=#bot spawn 2700198
Page2Button7Line2=/pause 2
Page2Button7Line3=/target WarriorThree
Page2Button7Line4=/pause 2
Page2Button7Line5=#bot raid group create
Page2Button8Name=RdGrp3-2
Page2Button8Color=0
Page2Button8Line1=#bot spawn 2700192
Page2Button8Line2=/pause 2
Page2Button8Line3=/target NecromancerThree000
Page2Button8Line4=/pause 2
Page2Button8Line5=#bot raid invite bot WarriorThree000
Page2Button9Name=RdGrp3-3
Page2Button9Color=0
Page2Button9Line1=#bot spawn 2700195
Page2Button9Line2=/pause 2
Page2Button9Line3=/target WizardThree
Page2Button9Line4=/pause 2
Page2Button9Line5=#bot raid invite bot WarriorThree000
Page2Button10Name=RdGrp3-4
Page2Button10Color=0
Page2Button10Line1=#bot spawn 2700207
Page2Button10Line2=/pause 2
Page2Button10Line3=/target DruidThree
Page2Button10Line4=/pause 2
Page2Button10Line5=#bot raid invite bot WarriorThree000
Page2Button11Name=RdGrp3-5
Page2Button11Color=0
Page2Button11Line1=#bot spawn 2700213
Page2Button11Line2=/pause 2
Page2Button11Line3=/target PaladinThree
Page2Button11Line4=/pause 2
Page2Button11Line5=#bot raid invite bot WarriorThree000
Page2Button12Name=RdGrp3-6
Page2Button12Color=0
Page2Button12Line1=#bot spawn 2700201
Page2Button12Line2=/pause 2
Page2Button12Line3=/target ClericThree
Page2Button12Line4=/pause 2
Page2Button12Line5=#bot raid invite bot WarriorThree000
Page3Button1Name=RdGrp4
Page3Button1Color=0
Page3Button1Line1=#bot spawn 2700199
Page3Button1Line2=/pause 2
Page3Button1Line3=/target WarriorFour
Page3Button1Line4=/pause 2
Page3Button1Line5=#bot raid group create
Page3Button2Name=RdGrp4-2
Page3Button2Color=0
Page3Button2Line1=#bot spawn 2700193
Page3Button2Line2=/pause 2
Page3Button2Line3=/target NecromancerFour000
Page3Button2Line4=/pause 2
Page3Button2Line5=#bot raid invite bot WarriorFour000
Page3Button3Name=RdGrp4-3
Page3Button3Color=0
Page3Button3Line1=#bot spawn 2700196
Page3Button3Line2=/pause 2
Page3Button3Line3=/target WizardFour
Page3Button3Line4=/pause 2
Page3Button3Line5=#bot raid invite bot WarriorFour000
Page3Button4Name=RdGrp4-4
Page3Button4Color=0
Page3Button4Line1=#bot spawn 2700208
Page3Button4Line2=/pause 2
Page3Button4Line3=/target DruidFour
Page3Button4Line4=/pause 2
Page3Button4Line5=#bot raid invite bot WarriorFour000
Page3Button5Name=RdGrp4-5
Page3Button5Color=0
Page3Button5Line1=#bot spawn 2700214
Page3Button5Line2=/pause 2
Page3Button5Line3=/target PaladinFour
Page3Button5Line4=/pause 2
Page3Button5Line5=#bot raid invite bot WarriorFour000
Page3Button6Name=RdGrp4-6
Page3Button6Color=0
Page3Button6Line1=#bot spawn 2700202
Page3Button6Line2=/pause 2
Page3Button6Line3=/target ClericFour
Page3Button6Line4=/pause 2
Page3Button6Line5=#bot raid invite bot WarriorFour000
Page3Button7Name=RdGrp5
Page3Button7Color=0
Page3Button7Line1=#bot spawn 2700824
Page3Button7Line2=/pause 2
Page3Button7Line3=/target WarriorFive
Page3Button7Line4=/pause 2
Page3Button7Line5=#bot raid group create
Page3Button8Name=RdGrp5-2
Page3Button8Color=0
Page3Button8Line1=#bot spawn 2700826
Page3Button8Line2=/pause 2
Page3Button8Line3=/target NecromancerFive
Page3Button8Line4=/pause 2
Page3Button8Line5=#bot raid invite bot WarriorFive000
Page3Button9Name=RdGrp5-3
Page3Button9Color=0
Page3Button9Line1=#bot spawn 2700825
Page3Button9Line2=/pause 2
Page3Button9Line3=/target WizardFive
Page3Button9Line4=/pause 2
Page3Button9Line5=#bot raid invite bot WarriorFive000
Page3Button10Name=RdGrp5-4
Page3Button10Color=0
Page3Button10Line1=#bot spawn 2700828
Page3Button10Line2=/pause 2
Page3Button10Line3=/target DruidFive
Page3Button10Line4=/pause 2
Page3Button10Line5=#bot raid invite bot WarriorFive000
Page3Button11Name=RdGrp5-5
Page3Button11Color=0
Page3Button11Line1=#bot spawn 2700827
Page3Button11Line2=/pause 2
Page3Button11Line3=/target PaladinFive
Page3Button11Line4=/pause 2
Page3Button11Line5=#bot raid invite bot WarriorFive000
Page3Button12Name=RdGrp5-6
Page3Button12Color=0
Page3Button12Line1=#bot spawn 2700818
Page3Button12Line2=/pause 2
Page3Button12Line3=/target ClericFive
Page3Button12Line4=/pause 2
Page3Button12Line5=#bot raid invite bot WarriorFive000
Page4Button1Name=RdGrp6
Page4Button1Color=0
Page4Button1Line1=#bot spawn 2700834
Page4Button1Line2=/pause 2
Page4Button1Line3=/target BeastlordSixOne
Page4Button1Line4=/pause 2
Page4Button1Line5=#bot raid group create
Page4Button2Name=RdGrp6-2
Page4Button2Color=0
Page4Button2Line1=#bot spawn 2700835
Page4Button2Line2=/pause 2
Page4Button2Line3=/target BeastlordSixTwo
Page4Button2Line4=/pause 2
Page4Button2Line5=#bot raid invite bot BeastlordSixOne000
Page4Button3Name=RdGrp6-3
Page4Button3Color=0
Page4Button3Line1=#bot spawn 2700836
Page4Button3Line2=/pause 2
Page4Button3Line3=/target BeastlordSixThree
Page4Button3Line4=/pause 2
Page4Button3Line5=#bot raid invite bot BeastlordSixOne000
Page4Button4Name=RdGrp6-4
Page4Button4Color=0
Page4Button4Line1=#bot spawn 2700837
Page4Button4Line2=/pause 2
Page4Button4Line3=/target BeastlordSixFour
Page4Button4Line4=/pause 2
Page4Button4Line5=#bot raid invite bot BeastlordSixOne000
Page4Button5Name=RdGrp6-5
Page4Button5Color=0
Page4Button5Line1=#bot spawn 2700829
Page4Button5Line2=/pause 2
Page4Button5Line3=/target ShamanSix
Page4Button5Line4=/pause 2
Page4Button5Line5=#bot raid invite bot BeastlordSixOne000
Page4Button6Name=RdGrp6-6
Page4Button6Color=0
Page4Button6Line1=#bot spawn 2700819
Page4Button6Line2=/pause 2
Page4Button6Line3=/target ClericSix
Page4Button6Line4=/pause 2
Page4Button6Line5=#bot raid invite bot BeastlordSixOne000
Page4Button7Name=RdGrp7
Page4Button7Color=0
Page4Button7Line1=#bot spawn 2700838
Page4Button7Line2=/pause 2
Page4Button7Line3=/target MonkSevenOne
Page4Button7Line4=/pause 2
Page4Button7Line5=#bot raid group create
Page4Button8Name=RdGrp7-2
Page4Button8Color=0
Page4Button8Line1=#bot spawn 2700839
Page4Button8Line2=/pause 2
Page4Button8Line3=/target MonkSevenTwo
Page4Button8Line4=/pause 2
Page4Button8Line5=#bot raid invite bot MonkSevenOne000
Page4Button9Name=RdGrp7-3
Page4Button9Color=0
Page4Button9Line1=#bot spawn 2700840
Page4Button9Line2=/pause 2
Page4Button9Line3=/target MonkSevenThree
Page4Button9Line4=/pause 2
Page4Button9Line5=#bot raid invite bot MonkSevenOne000
Page4Button10Name=RdGrp7-4
Page4Button10Color=0
Page4Button10Line1=#bot spawn 2700841
Page4Button10Line2=/pause 2
Page4Button10Line3=/target MonkSevenFour
Page4Button10Line4=/pause 2
Page4Button10Line5=#bot raid invite bot MonkSevenOne000
Page4Button11Name=RdGrp7-5
Page4Button11Color=0
Page4Button11Line1=#bot spawn 2700830
Page4Button11Line2=/pause 2
Page4Button11Line3=/target ShamanSeven000
Page4Button11Line4=/pause 2
Page4Button11Line5=#bot raid invite bot MonkSevenOne000
Page4Button12Name=RdGrp7-6
Page4Button12Color=0
Page4Button12Line1=#bot spawn 2700820
Page4Button12Line2=/pause 2
Page4Button12Line3=/target ClericSeven
Page4Button12Line4=/pause 2
Page4Button12Line5=#bot raid invite bot MonkSevenOne000
Page5Button1Name=RdGrp8
Page5Button1Color=0
Page5Button1Line1=#bot spawn 2700842
Page5Button1Line2=/pause 2
Page5Button1Line3=/target MagicianEightOne
Page5Button1Line4=/pause 2
Page5Button1Line5=#bot raid group create
Page5Button2Name=RdGrp8-2
Page5Button2Color=0
Page5Button2Line1=#bot spawn 2700843
Page5Button2Line2=/pause 2
Page5Button2Line3=/target MagicianEightTwo000
Page5Button2Line4=/pause 2
Page5Button2Line5=#bot raid invite bot MagicianEightOne000
Page5Button3Name=RdGrp8-3
Page5Button3Color=0
Page5Button3Line1=#bot spawn 2700844
Page5Button3Line2=/pause 2
Page5Button3Line3=/target MagicianEightThree000
Page5Button3Line4=/pause 2
Page5Button3Line5=#bot raid invite bot MagicianEightOne000
Page5Button4Name=RdGrp8-4
Page5Button4Color=0
Page5Button4Line1=#bot spawn 2700845
Page5Button4Line2=/pause 2
Page5Button4Line3=/target MagicianEightFour000
Page5Button4Line4=/pause 2
Page5Button4Line5=#bot raid invite bot MagicianEightOne000
Page5Button5Name=RdGrp8-5
Page5Button5Color=0
Page5Button5Line1=#bot spawn 2700831
Page5Button5Line2=/pause 2
Page5Button5Line3=/target ShamanEight000
Page5Button5Line4=/pause 2
Page5Button5Line5=#bot raid invite bot MagicianEightOne000
Page5Button6Name=RdGrp8-6
Page5Button6Color=0
Page5Button6Line1=#bot spawn 2700821
Page5Button6Line2=/pause 2
Page5Button6Line3=/target ClericEight
Page5Button6Line4=/pause 2
Page5Button6Line5=#bot raid invite bot MagicianEightOne000
Page5Button7Name=RdGrp9
Page5Button7Color=0
Page5Button7Line1=#bot spawn 2700846
Page5Button7Line2=/pause 2
Page5Button7Line3=/target BerserkerNineOne
Page5Button7Line4=/pause 2
Page5Button7Line5=#bot raid group create
Page5Button8Name=RdGrp9-2
Page5Button8Color=0
Page5Button8Line1=#bot spawn 2700847
Page5Button8Line2=/pause 2
Page5Button8Line3=/target BerserkerNineTwo
Page5Button8Line4=/pause 2
Page5Button8Line5=#bot raid invite bot BerserkerNineOne000
Page5Button9Name=RdGrp9-3
Page5Button9Color=0
Page5Button9Line1=#bot spawn 2700848
Page5Button9Line2=/pause 2
Page5Button9Line3=/target BerserkerNineThree
Page5Button9Line4=/pause 2
Page5Button9Line5=#bot raid invite bot BerserkerNineOne000
Page5Button10Name=RdGrp9-4
Page5Button10Color=0
Page5Button10Line1=#bot spawn 2700849
Page5Button10Line2=/pause 2
Page5Button10Line3=/target BerserkerNineFour
Page5Button10Line4=/pause 2
Page5Button10Line5=#bot raid invite bot BerserkerNineOne000
Page5Button11Name=RdGrp9-5
Page5Button11Color=0
Page5Button11Line1=#bot spawn 2700832
Page5Button11Line2=/pause 2
Page5Button11Line3=/target ShamanNine
Page5Button11Line4=/pause 2
Page5Button11Line5=#bot raid invite bot BerserkerNineOne000
Page5Button12Name=RdGrp9-6
Page5Button12Color=0
Page5Button12Line1=#bot spawn 2700822
Page5Button12Line2=/pause 2
Page5Button12Line3=/target ClericNine
Page5Button12Line4=/pause 2
Page5Button12Line5=#bot raid invite bot BerserkerNineOne000
Page6Button1Name=RdGp10
Page6Button1Color=0
Page6Button1Line1=#bot spawn 2700850
Page6Button1Line2=/pause 2
Page6Button1Line3=/target ShadowknightTenOne
Page6Button1Line4=/pause 2
Page6Button1Line5=#bot raid group create
Page6Button2Name=RdGp10-2
Page6Button2Color=0
Page6Button2Line1=#bot spawn 2700851
Page6Button2Line2=/pause 2
Page6Button2Line3=/target ShadowknightTenTwo000
Page6Button2Line4=/pause 2
Page6Button2Line5=#bot raid invite bot ShadowknightTenOne000
Page6Button3Name=RdGp10-3
Page6Button3Color=0
Page6Button3Line1=#bot spawn 2700852
Page6Button3Line2=/pause 2
Page6Button3Line3=/target ShadowknightTenThree000
Page6Button3Line4=/pause 2
Page6Button3Line5=#bot raid invite bot ShadowknightTenOne000
Page6Button4Name=RdGp10-4
Page6Button4Color=0
Page6Button4Line1=#bot spawn 2700853
Page6Button4Line2=/pause 2
Page6Button4Line3=/target ShadowknightTenFour000
Page6Button4Line4=/pause 2
Page6Button4Line5=#bot raid invite bot ShadowknightTenOne000
Page6Button5Name=RdGp10-5
Page6Button5Color=0
Page6Button5Line1=#bot spawn 2700833
Page6Button5Line2=/pause 2
Page6Button5Line3=/target ShamanTen
Page6Button5Line4=/pause 2
Page6Button5Line5=#bot raid invite bot ShadowknightTenOne000
Page6Button6Name=RdGp10-6
Page6Button6Color=0
Page6Button6Line1=#bot spawn 2700823
Page6Button6Line2=/pause 2
Page6Button6Line3=/target ClericTen
Page6Button6Line4=/pause 2
Page6Button6Line5=#bot raid invite bot ShadowknightTenOne000
Page6Button7Name=RdGp11
Page6Button7Color=0
Page6Button7Line1=#bot spawn 2700854
Page6Button7Line2=/pause 2
Page6Button7Line3=/target RogueElevenOne
Page6Button7Line4=/pause 2
Page6Button7Line5=#bot raid group create
Page6Button8Name=RdGp11-2
Page6Button8Color=0
Page6Button8Line1=#bot spawn 2700855
Page6Button8Line2=/pause 2
Page6Button8Line3=/target RogueElevenTwo
Page6Button8Line4=/pause 2
Page6Button8Line5=#bot raid invite bot RogueElevenOne000
Page6Button9Name=RdGp11-3
Page6Button9Color=0
Page6Button9Line1=#bot spawn 2700856
Page6Button9Line2=/pause 2
Page6Button9Line3=/target RogueElevenThree
Page6Button9Line4=/pause 2
Page6Button9Line5=#bot raid invite bot RogueElevenOne000
Page6Button10Name=RdGp11-4
Page6Button10Color=0
Page6Button10Line1=#bot spawn 2700857
Page6Button10Line2=/pause 2
Page6Button10Line3=/target RogueElevenFour
Page6Button10Line4=/pause 2
Page6Button10Line5=#bot raid invite bot RogueElevenOne000
Page6Button11Name=RdGp11-5
Page6Button11Color=0
Page6Button11Line1=#bot spawn 2700859
Page6Button11Line2=/pause 2
Page6Button11Line3=/target ShamanEleven
Page6Button11Line4=/pause 2
Page6Button11Line5=#bot raid invite bot RogueElevenOne000
Page6Button12Name=RdGp11-6
Page6Button12Color=0
Page6Button12Line1=#bot spawn 2700861
Page6Button12Line2=/pause 2
Page6Button12Line3=/target ClericEleven
Page6Button12Line4=/pause 2
Page6Button12Line5=#bot raid invite bot RogueElevenOne000
Page7Button1Name=Rdgp12
Page7Button1Color=0
Page7Button1Line1=#bot spawn 2700863
Page7Button1Line2=/pause 2
Page7Button1Line3=/target MonkTwelve
Page7Button1Line4=/pause 2
Page7Button1Line5=#bot raid group create
Page7Button2Name=Rdgp12-2
Page7Button2Color=0
Page7Button2Line1=#bot spawn 2700858
Page7Button2Line2=/pause 2
Page7Button2Line3=/target RogueTwelve
Page7Button2Line4=/pause 2
Page7Button2Line5=#bot raid invite bot MonkTwelve000
Page7Button3Name=Rdgp12-3
Page7Button3Color=0
Page7Button3Line1=#bot spawn 2700864
Page7Button3Line2=/pause 2
Page7Button3Line3=/target NecromancerTwelve000
Page7Button3Line4=/pause 2
Page7Button3Line5=#bot raid invite bot MonkTwelve000
Page7Button4Name=Rdgp12-4
Page7Button4Color=0
Page7Button4Line1=#bot spawn 2700865
Page7Button4Line2=/pause 2
Page7Button4Line3=/target BeserkerTwelve
Page7Button4Line4=/pause 2
Page7Button4Line5=#bot raid invite bot MonkTwelve000
Page7Button5Name=Rdgp12-5
Page7Button5Color=0
Page7Button5Line1=#bot spawn 2700860
Page7Button5Line2=/pause 2
Page7Button5Line3=/target ShamanTwelve000
Page7Button5Line4=/pause 2
Page7Button5Line5=#bot raid invite bot MonkTwelve000
Page7Button6Name=Rdgp12-6
Page7Button6Color=0
Page7Button6Line1=#bot spawn 2700862
Page7Button6Line2=/pause 2
Page7Button6Line3=/target ClericTwelve
Page7Button6Line4=/pause 2
Page7Button6Line5=#bot raid invite bot MonkTwelve000
Page7Button9Name=OffTank
Page7Button9Color=0
Page7Button9Line1=#bot raid order task attack WarriorFive000
Page8Button2Name=MainTank
Page8Button2Color=0
Page8Button2Line3=#bot raid order maintank
Page8Button3Name=RaidInfo
Page8Button3Color=0
Page8Button3Line1=#bot raid info
Page8Button5Name=2ndTank
Page8Button5Color=0
Page8Button5Line1=/target WarriorThree
Page9Button1Name=BotKill
Page9Button1Color=0
Page9Button1Line1=#bot group remove
Page9Button2Name=BotGard
Page9Button2Color=0
Page9Button2Line1=#bot group order guard
Page9Button4Name=BotFolw
Page9Button4Color=0
Page9Button4Line1=#bot group order follow
Page9Button5Name=BotUpdt
Page9Button5Color=0
Page9Button5Line1=#bot update
Page9Button6Name=BotSmn
Page9Button6Color=0
Page9Button6Line1=#bot group summon
Page9Button9Name=PaldinBt
Page9Button9Color=0
Page9Button9Line1=#bot spawn 2700027
Page9Button9Line2=/pause 2
Page9Button9Line3=/target Paladin000
Page9Button9Line4=/pause 2
Page9Button9Line5=#bot group add
Page9Button10Name=ZerkBot
Page9Button10Color=0
Page9Button10Line1=#bot spawn 2700026
Page9Button10Line2=/pause 2
Page9Button10Line3=/target Berserker000
Page9Button10Line4=/pause 2
Page9Button10Line5=#bot group add
Page9Button11Name=BstBot
Page9Button11Color=0
Page9Button11Line1=#bot spawn 2700025
Page9Button11Line2=/pause 2
Page9Button11Line3=/target Beastlord000
Page9Button11Line4=/pause 2
Page9Button11Line5=#bot group add
Page9Button12Name=ChantrBt
Page9Button12Color=0
Page9Button12Line1=#bot spawn 2700024
Page9Button12Line2=/pause 2
Page9Button12Line3=/target Enchanter000
Page9Button12Line4=/pause 2
Page9Button12Line5=#bot group add
Page10Button1Name=MonkBot
Page10Button1Color=0
Page10Button1Line1=#bot spawn 2700012
Page10Button1Line2=/pause 2
Page10Button1Line3=/target Monk000
Page10Button1Line4=/pause 2
Page10Button1Line5=#bot group add
Page10Button2Name=NecBot
Page10Button2Color=0
Page10Button2Line1=#bot spawn 2700013
Page10Button2Line2=/pause 2
Page10Button2Line4=/pause 4
Page10Button2Line3=/target Necromancer000
Page10Button2Line5=#bot group add
Page10Button3Name=SKBot
Page10Button3Color=0
Page10Button3Line1=#bot spawn 2700014
Page10Button3Line2=/pause 2
Page10Button3Line3=/target Shadowknight000
Page10Button3Line4=/pause 2
Page10Button3Line5=#bot group add
Page10Button4Name=WizardBt
Page10Button4Color=0
Page10Button4Line1=#bot spawn 2700015
Page10Button4Line2=/pause 2
Page10Button4Line3=/target Wizard000
Page10Button4Line4=/pause 2
Page10Button4Line5=#bot group add
Page10Button5Name=MagBot
Page10Button5Color=0
Page10Button5Line1=#bot spawn 2700016
Page10Button5Line2=/pause 2
Page10Button5Line3=/target Magician000
Page10Button5Line4=/pause 2
Page10Button5Line5=#bot group add
Page10Button6Name=WarBot
Page10Button6Color=0
Page10Button6Line1=#bot spawn 2700017
Page10Button6Line2=/pause 2
Page10Button6Line3=/target Warrior000
Page10Button6Line4=/pause 2
Page10Button6Line5=#bot group add
Page10Button7Name=ShamBt
Page10Button7Color=0
Page10Button7Line1=#bot spawn 2700018
Page10Button7Line2=/pause 2
Page10Button7Line3=/target Shaman000
Page10Button7Line4=/pause 2
Page10Button7Line5=#bot group add
Page10Button8Name=RangrBt
Page10Button8Color=0
Page10Button8Line1=#bot spawn 2700019
Page10Button8Line2=/pause 2
Page10Button8Line3=/target Ranger000
Page10Button8Line4=/pause 2
Page10Button8Line5=#bot group add
Page10Button9Name=DruidBot
Page10Button9Color=0
Page10Button9Line1=#bot spawn 2700020
Page10Button9Line2=/pause 2
Page10Button9Line3=/target Druid000
Page10Button9Line4=/pause 2
Page10Button9Line5=#bot group add
Page10Button10Name=ClericBt
Page10Button10Color=0
Page10Button10Line1=#bot spawn 2700021
Page10Button10Line2=/pause 2
Page10Button10Line3=/target Cleric000
Page10Button10Line4=/pause 2
Page10Button10Line5=#bot group add
Page10Button11Name=BardBot
Page10Button11Color=0
Page10Button11Line1=#bot spawn 2700022
Page10Button11Line2=/pause 2
Page10Button11Line3=/target Bard000
Page10Button11Line4=/pause 2
Page10Button11Line5=#bot group add
Page10Button12Name=RogBot
Page10Button12Color=0
Page10Button12Line1=#bot spawn 2700023
Page10Button12Line2=/pause 2
Page10Button12Line3=/target Rogue000
Page10Button12Line4=/pause 2
Page10Button12Line5=#bot group add
Page8Button1Name=BotATK
Page8Button1Color=0
Page8Button1Line1=#bot group order attack
Page7Button9Line2=#bot raid order task attack BeastlordSixOne000
Page8Button7Name=Enraged
Page8Button7Color=0
Page8Button7Line1=#bot raid order task enraged
Page8Button2Line2=/target WarriorTwo
Page8Button5Line2=#bot raid order secondtank
Page9Button8Name=ShowEqip
Page9Button8Color=0
Page9Button8Line1=#bot inventory list
Page8Button7Line2=/attack off

nosfentora
08-27-2008, 08:34 AM
Dude that is AWESOME. Thanks!

and by the way - the Bots rock! Thanks for continuing this project!

Ikeren
08-27-2008, 01:32 PM
ore I make a new release with the latest emu source. I have 1127 now but it has a group bug in it that is supposedly fixedin 1128 but that download doesn't seem to be available.

I don't suppose you'd be convinced to return to 1119 on your server until that happens?

Mercenaries - Player controlled NPCs are now available!

Yeah, I saw that on another EQ forum I follow still. Made me laugh. They definitely won't be done in the same way, though.

Regarding hotkeys, I have:
Attack, Summon, Guard, GroupSpawn (spawns my group), invite, update, inventory. I invite the entire raid by hand, but I'm thinking about taking the time to do the full hotkeys. Make sure you include pauses, otherwise it will get butchered, fast (tried to do it without pauses on an alt, and the bit of lag screwed the hotkeys up big time).

But yeah, I love this stuff.

Congdar
08-27-2008, 01:46 PM
I will be downloading the fix direct from sourceforge since this website seems to be broken as far as build updates go. I only have the Beastlord spell list left to do and I'm still debugging the level 44 enchanter zone aggro issue. Before I start the beastlord spell list, I'll get the fixes to The Realm.

Congdar
09-02-2008, 09:41 PM
I've posted my latest bots release in the official release thread, check it out!

cavedude
09-02-2008, 10:47 PM
I merged the spells into PEQ.

Congdar
09-03-2008, 08:56 AM
Thanks Cavedude!

gygelly
09-03-2008, 03:12 PM
Thanks for the update Congdar...the last one was kind of crashy and the group bug was a pain, so my guild and I have just been using a previous version for the time being.

We'll get right to playing with this new version tonight.

Since you are nearly done with the spells, I have a request for your next priority, along the same vein. We need to get the bot info into it's own table, rather than npc_types. Every time I update peq, I have to jump through a bunch of hoops to ensure that player's bots aren't lost...which is a pretty big deal as players put effort into equipping their bots.

Previously, it wasn't THAT bad, I just had to be sure to backup the rows from npc_types that were bots before sourcing in drop_system. But recently, the peq guys have been adding more entries to npc types, the ids of which overlap with the ids of the bots. This means I have to not only assign the bots new ids in npc_types, but also update the botinventory and botowners tables.

Again, thanks for the update!

Congdar
09-03-2008, 03:30 PM
Cavedude made a batch file that backs up the bots to a sql file you can source in with a new database. The id's are supposed to be in a range that doesn't conflict with existing or new npc's. Not sure why you are having issues there. The inventory and owners tables are not touched during a drop_system.sql (is that the name?) so only the npc_types needs to be backed up with CD's batch file.
I'm not sure moving them to their own table would work with the spawn code. CD?

gygelly
09-03-2008, 04:00 PM
Yeah, like I said, it's just recently I started having trouble.

Basically, I started having problems when npc_type.id 999137 (#Xegony the Quenn of Air) was added into the database, as 999137 was the id of the first bot I made. Obviously, they can't have the same id, so I just changed the id of my bot to 999237 before adding his row back to the npc_types table.

Since then, as npcs have been added, I've had to manually bump the ids of my bots higher. right now, the last one was 999145, Ragrua Protector. Each update, I only have to fix a few bots.

And yeah, the botowners and inventory aren't dropped, that's not the problem. I just have to manually update the ids in those tables to match up with the id change I have to make in npc_types. So again, using my first bot as an example, when I changed his id to 999237 from 999137, I had to update all the entries with the bot.id 999137 to 999237 in the bot inventory table so that he still had his items, and in the botowner table so I could still summon him.

Congdar
09-03-2008, 04:05 PM
I wonder who is adding those npc's. They are not following the npc id format for zone id and npc id. Really, those npc's are being incorrectly added to the database as I understand it.

From the wiki:

npc_types table
So, first things first. Since we are working on the tutoriala zone, we are going to add Arias. So with Navicat already running, open up the npc_types table. Now, we are going to assign him an id. To do that, we need to make sure that we give him an id that is not in use. Here is a good way to come up with an id for a npc. I would create a 6 digit id for my npc and break it down as follows:


The first 3 digits, I would use the zone id. That way, if we are working on a zone, we can easily search for what npcs are in a zone by using the begin with filter in Navicat.
The last 3 digits would be there sequential number for the npc.

So, for this example, we know that we are going to add a npc to the tutoriala zone. We know that the id for the zone is 188 so the first three digits of his id would be 188. And since we know that this is the first npc we are going to add, we will number him 001. Therefore the complete id for Arias would be 188001. Now, we need to make sure that this id is not in use, so go ahead and perform a search and see if there is an id of 188001 in the npc_types table. If all is well, you should not get anything to pop up.

nosfentora
09-03-2008, 04:33 PM
Recently i've noticed my bots are getting alot of 'tries to slash a <npc> but an <npc> is INVULNERABLE' message.

they're equipped with magic weaps - this has happened in Burning Wood (pretty much every mob fairly consistently), Necropolis (only tried phase spiders), in Sirens Grotto (every single Molkor)

i never got to Sirens or Necropolis in live.... but why would they be invulnerable? giants and skels never were that i can remember in bw.

my current tank is equipped with 80664 (sparkling short sword of magma) and (80674) scimitar of the damned

happens to my wiz too - 15867 (wand of impenitrable force)

my berserker can hit them (69297) steel rod of the knight.

client problem? bot problem? my problem? =)

cavedude
09-03-2008, 04:34 PM
Those NPCs were given incorrect IDs. I'm pretty sure the team member who put them in forgot to follow the ID formula and just let the editor assign them the next available ID. I'll have it fixed with the next CVS update. Sorry about that!

Congdar
09-03-2008, 05:13 PM
Recently i've noticed my bots are getting alot of 'tries to slash a <npc> but an <npc> is INVULNERABLE' message.

I could have a typo in the new spell lists... do you have any other data that might suggest what is happening? Is a bot casting invulnerability on the npc? Is the npc casting invulnerability on itself?

Andrew80k
09-03-2008, 06:05 PM
Recently i've noticed my bots are getting alot of 'tries to slash a <npc> but an <npc> is INVULNERABLE' message.

they're equipped with magic weaps - this has happened in Burning Wood (pretty much every mob fairly consistently), Necropolis (only tried phase spiders), in Sirens Grotto (every single Molkor)

i never got to Sirens or Necropolis in live.... but why would they be invulnerable? giants and skels never were that i can remember in bw.

my current tank is equipped with 80664 (sparkling short sword of magma) and (80674) scimitar of the damned

happens to my wiz too - 15867 (wand of impenitrable force)

my berserker can hit them (69297) steel rod of the knight.

client problem? bot problem? my problem? =)
This can happen when the Bot or PC has a weapon that is above its level, but I thought that the bots prevented giving them equipment they couldn't use. Maybe a bug in the equipment stuff?

nosfentora
09-04-2008, 08:22 AM
I don't think the bots/npc are casting invul - my pet is able to hit them, the berserker can hit them. it seems to be the warrior and wizard that this happens to when they are meleeing.


Bots were equipped using Georges' Item Editor - which i don't think checks for level when equipping an item.

it could be a level thing as the bots are 52 and the weaps are for 65, and 75. I never thought about a weapon above its level.

i'll try lower lvl weaps and post back.

gygelly
09-04-2008, 11:31 AM
Congdar, you are THE MAN.
1. The server is no longer crashing constantly.
2. Bards: Not only is the spell list perfect 60+, but bards now TWIST. That's INCREDIBLE.
3. All casters are using their nukes, roots, and dispells intelligently now. Or at least randomly. Anyway, mages are no longer chain dispelling, and wizards are no longer chain rooting...they actually mostly nuke, only casting the utility spells occasionally.

Bugs:
There's something goofy with groups:
1. if you summon the bots, and then invite a player, there's something wrong with group chat...if you try to use it, it says you aren't in a group.
2. if a player leaves a group, all the bots leave too (or the group disbands, not really sure). The interesting thing is the bots don't die as soon as they leave the group like usuall, so you don't have to respawn them, just reinvite them.

gygelly
09-04-2008, 11:43 AM
Another bug:
There is still something wrong with the melee dps of bots. If anything they just seem to miss a LOT.

The best way to check this out:
Make a monk, completely unequipped, level 60, and use setallskills 250.
Make a monkbot (who will also be level 60 and completely unequipped).

#zone chardock, and you'll see 2 equal level sniffers right in front of you. Sick the bot on one of the sniffers, and you attack the other. Youll be able to solo yours no prob, but after you've already killed yours, the bot's sniffer will still be above 80%

nosfentora
09-04-2008, 11:59 AM
A thought about bot owners - what about making the account id the owner of the bot - rather than the character id? that way the same account could use the bots across different characters?

gygelly
09-04-2008, 12:29 PM
Tested the melee bug for a bit:
Equipping weapons makes the problem less severe, but doesn't really fix it.
In each test, I would equip the player monk and the monk bot with exactly the same weapons.
I tried low end and high end 2hders, as well as dualweilding one handers.

But no matter which weapon configuration I tested, the bot's dps was roughly half of the player monks.

Just observing the combat logs (I haven't gone so far as to damage parse) it seems like the monk is using flying kick as often as it can, so that's not it.

Congdar
09-04-2008, 03:47 PM
There's something goofy with groups:
1. if you summon the bots, and then invite a player, there's something wrong with group chat...if you try to use it, it says you aren't in a group.

Bots should be the last group members added after regular PC's

Another bug:
There is still something wrong with the melee dps of bots. If anything they just seem to miss a LOT.

Make a monk, completely unequipped, level 60, and use setallskills 250.

I wonder what the monk bot skills are at

A thought about bot owners - what about making the account id the owner of the bot - rather than the character id? that way the same account could use the bots across different characters?
I like this idea, would keep the number of bots down. I'll see if it's possible.

Ikeren
09-04-2008, 04:48 PM
I like the last idea a lot, too --- it would make equipping a raid significantly easier (having each character go through and equip their own raid is worse than just one doing it).

2. Bards: Not only is the spell list perfect 60+, but bards now TWIST. That's INCREDIBLE.

Seriously? I can't wait to try that out.

Are group buffs/heals/MGB's working yet, or is that still in the works?

Unrelated, but, The Realm still down?

Congdar
09-04-2008, 04:55 PM
Are group buffs/heals/MGB's working yet, or is that still in the works?

Unrelated, but, The Realm still down?

group buffs/heals Yes these are in.

MGB's no


The Realm issue may be a router problem. The last I heard there was going to be a router reboot, so I'll check it later.

Angelox
09-04-2008, 07:34 PM
I've been working on new spell lists for each class and it is a tedious and long process(I think you made the npc lists so probably know this) so during that time some other people have made a release or two with some of the code submissions that were not in the emu build at the time. I only have Beastlord, Bard and Ranger spell lists left to do and once done maybe a bit of tweaking and debugging before I make a new release with the latest emu source. I have 1127 now but it has a group bug in it that is supposedly fixedin 1128 but that download doesn't seem to be available.

I didn't really make those spell sets, I just altered them; I don't know if this still happens, but at the time, NPC pets would 'ghost' at the zones #zone zin - and in reality, most NPCs don't have pets. One of my favorite zones is Droga, when I zoned in there, I was in between a pack of ghosted pets (very unsightly), not to mention, the zone is full of pet casters (none there use pets), and it was really crazy with all the pets . An instant solution for that problem was to eliminate the pets from the NPCs spell sets, and start a new set of spells for the pet users. So , I just duped the current 1-12 spell set to the the 500ish ones, and deleted the pets from the default 1-12 set. And that's how that came to be :)
I guess it wasn't a bad idea, since it is still in use.
Still, zones like Najena, where Magicians are many and most use pets, there is ghosting. but what I did there was make the '#zone in' in a hidden corner in the small pond just before you get to Najenas room. Only GMs are supposed to use #zone, and this way, players won't see the ghost pack at zin.

You really did a great job on the spells, I was working on some spellsets for bots and other NPCs, and I can understand all the labor you put into it.
I also am learning my final part to this emulator which is the code, so I'm able to really see and admire all the work you all are doing, and you did miracles with the Bot code.

I had my little 'BS' arrays going with the spells that wouldn't work right, and was proud of it you made me feel like a first grader with your fixes :) - But it was working! Still I wanted to keep the sow out of the dungeon and had it out tell I added your fix, then it got broke.
I found a spot where you disabled levitation (botAI.cpp);
// Put the zone levitate check here since bots are able to bypass the client casting check
if(IsEffectInSpell(AIspells[i].spellid, SE_Levitate) && !zone->CanLevitate()
added this;
// Put the zone levitate check here since bots are able to bypass the client casting check
if(IsEffectInSpell(AIspells[i].spellid, SE_Levitate) && !zone->CanLevitate() ||
IsEffectInSpell(AIspells[i].spellid, SE_MovementSpeed) && !zone->CanCastOutdoor()){
It's good, but disables all speed movement spells, later on in the expansions there was some dungeon spells like 'Spirit of Shrew' which got caught up in that one, but at least there's more resemblance to dungeon play with that -

I really appreciate your work with the Bots and thank you for posting it!

spider661
09-06-2008, 09:59 PM
i am running Congdar's 1129 version and im having all kinds of problems cpu at 100% world crash with Microsoft debug error.. im not doing anything diff then i did with my old server sept my old server did not have bots.. there working but the problems outweigh the advantage.. any help?

here is the post on the problems im haveing with it and such any help would be apriciated i would like to add the bots really...

http://www.eqemulator.net/forums/showthread.php?p=155374&posted=1#post155374

is there a diff file for all the bots code? i would not mind pulling all the code and putting it in my compile myself. if thats doable but im not sure how to find it all.. is there some key word i can search for that would show me all the bod code? like myself for update reasons i say /////added////// and //////////end added//// after everything i add and changed after everything i change.

spider661
09-06-2008, 11:13 PM
well it seems to be looking good in the compile now so maybe we got it working. thanks to Angelox.. anyways will let you know.

Congdar
09-07-2008, 12:46 PM
If you continue to have issues, please collect any log output or code line numbers that would help debug them. For compiling yourself, the sources are available to anyone in the Offline Bot Code Releases ONLY thread right above this thread in the Custom Code forum.

nosfentora
09-07-2008, 03:23 PM
in agreement with this:

Another bug:
There is still something wrong with the melee dps of bots. If anything they just seem to miss a LOT.

The best way to check this out:
Make a monk, completely unequipped, level 60, and use setallskills 250.
Make a monkbot (who will also be level 60 and completely unequipped).

#zone chardock, and you'll see 2 equal level sniffers right in front of you. Sick the bot on one of the sniffers, and you attack the other. Youll be able to solo yours no prob, but after you've already killed yours, the bot's sniffer will still be above 80%

I was in Nagafen's Lair - my group (bots: Warrior, Berserker, Cleric, Wizard and Shaman all 45 and mid-level geared from GeorgeS' tools - along with my pet!) were taking a 50 Fire Giant Warrior. I (45 Necro) soloed another 50 Fire Giant Warrior and turned to see that their giant was only 45% down.

something's definitely wonky with the bot dps

Congdar
09-07-2008, 05:09 PM
I have never tried GeorgeS' tool. It may not be compatible with the bot code way of equiping npc's. Try equiping them through the trade window, which is where the bot code handles items and equipment. Maybe they'll do better.

I still went ahead and looked at the damage and attack code, the only glaring thing I noticed is that several classes get triple attack at level 60. The bots didn't, so I added that code for next release. I don't think that one attack is gonna make the difference but the code is available for anyone to look at. Maybe something is more obvious to somebody else, or maybe that tool isn't compatible with the bot code and they are attacking naked.

Congdar
09-07-2008, 05:21 PM
Another bug:
There is still something wrong with the melee dps of bots. If anything they just seem to miss a LOT.

The best way to check this out:
Make a monk, completely unequipped, level 60, and use setallskills 250.
Make a monkbot (who will also be level 60 and completely unequipped).

#zone chardock, and you'll see 2 equal level sniffers right in front of you. Sick the bot on one of the sniffers, and you attack the other. Youll be able to solo yours no prob, but after you've already killed yours, the bot's sniffer will still be above 80%

I don't see a difference in the way pc's and bots calculate hits/misses/damage. Maybe it's server settings... are you using IntervalAC rule?

Angelox
09-07-2008, 05:50 PM
Over all, It seems to all work out fine - I imagine there could be some fine tuning, but since I'm in a group (with the bots), I've been able to play and level nicely.
In a balanced group, what's important is the tanks keep aggro off the casters and that works out pretty well. What would be even nicer is, if the caster gets aggro, the tank would know to move to that mob and get aggro off caster - but that might make the game too easy.

nosfentora
09-08-2008, 09:00 AM
I have never tried GeorgeS' tool. It may not be compatible with the bot code way of equiping npc's. Try equiping them through the trade window, which is where the bot code handles items and equipment. Maybe they'll do better.

I still went ahead and looked at the damage and attack code, the only glaring thing I noticed is that several classes get triple attack at level 60. The bots didn't, so I added that code for next release. I don't think that one attack is gonna make the difference but the code is available for anyone to look at. Maybe something is more obvious to somebody else, or maybe that tool isn't compatible with the bot code and they are attacking naked.

I never thought about how the code handles equipping, etc. I had always looked at the bots and saw they were holding/wearing something and it shows up in their gear list.

They seem to equip gear ok using GeorgeS' tool - as their gear shows up in game, in their gear list, their stats change and the bots attacks change from 'punch' to 'slash' (or 'crush') after i've equipped a sword.

I'll try equipping them in-game and see what happens.

I gotta say though, keep up the good work. The addition of the bots is making the game fun again! Well done Magoth78 and thanks Condagar for picking up the project!

I still think if Sony is gonna rip off the bots and get paid for them in live - they should at least give something in return (opcodes or spawn info for our incomplete zones!) .... like that'll happen.... /sigh

gygelly
09-08-2008, 02:47 PM
IntervalAC is set to true...is that what I want it to be?
All the AC stuff in the values table is also set to default, though according to the description they don't take affect if IntervalAC is true.

And just in case, I have been equipping all the bots manually.

I'll do more tests across levels (to ensure it's not just triple attack), but the difference is fairly evident just in casual gameplay, leveling from 1 to 60 with bots. Just yesterday in Mistmoore at lvl 40, I found that I could sick an entire well balanced group of bots on one mob, and nuke a different mob dead with my chanter before theirs died.

Btw: I agree this is CRAZY fun. Me and my guildies are having a blast with it.

Congdar
09-08-2008, 03:31 PM
I'm wondering if the client adds something to the calcs. Specifically, ATK looks wacked in the code. It seems to benefit the defender if the attackers ATK is higher than theirs. Maybe the client does something with the ATK value?

I'm all for making the bots as close to a pc as possible, but nothing is super obvious as far as the code goes. I've tried to copy the attack/damage methods between the pc code and the bot code as closely as possible. Maybe i've missed something somewhere... I'll keep looking.

macvaliant7
09-09-2008, 11:11 PM
I installed the 1129 update pack and the latest EQOffline binaries/dll the problem i have is even though the warrior bot taunts and attacks a mob, it will attack the closest PC regardless if they damaged the mob. Is there a way to stop this default switch to a PC over an NPC? thanks

-Mac

kajika
09-10-2008, 02:34 AM
I installed the 1129 update pack and the latest EQOffline binaries/dll the problem i have is even though the warrior bot taunts and attacks a mob, it will attack the closest PC regardless if they damaged the mob. Is there a way to stop this default switch to a PC over an NPC? thanks

-Mac

I use this patch.

diff -r -c -N ./1129Bots/zone/hate_list.cpp ./1129Bots-changed/zone/hate_list.cpp
*** ./1129Bots/zone/hate_list.cpp 2008-06-19 05:49:00.000000000 +0900
--- ./1129Bots-changed/zone/hate_list.cpp 2008-09-05 14:33:16.000000000 +0900
***************
*** 240,246 ****

sint32 currentHate = cur->hate;

! if(cur->ent->IsClient()){

if(cur->ent->CastToClient()->IsSitting()){
aggroMod += RuleI(Aggro, SittingAggroMod);
--- 240,246 ----

sint32 currentHate = cur->hate;

! if(cur->ent->IsClient() || cur->ent->IsBot()){

if(cur->ent->CastToClient()->IsSitting()){
aggroMod += RuleI(Aggro, SittingAggroMod);
***************
*** 292,298 ****
iterator.Advance();
}

! if(topClientInRange != NULL && top != NULL && !top->IsClient())
return topClientInRange;
else
return top;
--- 292,298 ----
iterator.Advance();
}

! if(topClientInRange != NULL && top != NULL && !top->IsClient() && !top->IsBot())
return topClientInRange;
else
return top;

macvaliant7
09-10-2008, 05:25 AM
I can edit the cpp file easily but i can't get them to compile(make a new zone.exe) with the makefile (shared memory error: shm_r and shm_w undeclared). Could i get the updated zone.exe somewhere?

Thanks,
-Mac

Angelox
09-10-2008, 07:51 AM
I think that's the way the game works - stand away from the fight and the mob stays on the tank. Also, if a caster heals or DDs, he gets aggro.
And finally, The bots are rooting - a rooted mob will attack the one nearest.

gygelly
09-10-2008, 10:50 AM
the problem arises if you are using a PC monk or rogue with a bot tank.
the way I always understood it working, with player characters, when a mob is rooted, was that the npc would attack whichever PC was closest.

So I figure the problem is that the bot tank always stands at the maximum melee range. We need the bot tank to move up close to a mob, like a pc tank, so that monks and rogues can stay at maximum melee range and not get attacked.

Congdar
09-10-2008, 12:17 PM
try changing your server rule Aggro:SmartAggroList = false
this works best for the bots

Ikeren
09-10-2008, 01:01 PM
When using assist to heal against Derek the Vindicator, I found that he spent the entire battle killing the pets. I haven't had time to check this against other raid mobs. Pets get closer then NPC's when attacking, don't they?

macvaliant7
09-10-2008, 03:26 PM
I tested it out before i posted. I walked into the mob, and summoned the bot to me, thus sticking him right on the mob, yet it still chose me (at max melee range) over the bot right up on it. If i root the mob then, it WILL attack the bot instead of me (until root wears off) but even if that is how LIVE worked, that is impractical for eqemu and will not work on raid mobs.

Congdar
09-16-2008, 12:16 PM
I tested it out before i posted. I walked into the mob, and summoned the bot to me, thus sticking him right on the mob, yet it still chose me (at max melee range) over the bot right up on it. If i root the mob then, it WILL attack the bot instead of me (until root wears off) but even if that is how LIVE worked, that is impractical for eqemu and will not work on raid mobs.

The default aggro targeting (Aggro:SmartAggroList=true) favors PC's over Pets(npc's) and since Bots are npc's then it makes sense that you would be the primary target. Add the rule to your rules_values database table Aggro:SmartAggroList=false to solve this. Don't forget to make sure the ruleset_id in the rule_sets table matches the ruleset_id in the rules_values table.

Warleggon
09-18-2008, 02:46 AM
Hi :)

I've just joined the ranks a few days ago, and am really excited about what I see I can do with EQEm. When I got onto a couple of servers that had bots. I was absolutly thrilled. I have three autistic childern who would love to be able to play this version of EQ with customized quests and the idea of bots is perfect for my oldest boy...but on all this I digress.

I used the pdf to install the server and client. I got the server to go up on the public realm no problem. (Awsome set of instructions) I had a little trouble with Minilogin, but after looking at the support forum for that I finally got that figured. Point is this is an installation that is 3 days old. I made the backups, copied the executables, and ran the mysql statments. (got errors that the tables already exist by the way) and copied the npc item table, then emptied it and copied in the data. *deep breath

When I started things up the first thing I noticed was that world.exe spit out a bunch of errors.

[Debug] [RULES__ERROR] Unable to find rule 'World:UseBannedIPsTable'
[Debug] [RULES__ERROR] Unable to find rule 'World:MaxClientsPerIP'
[Debug] [RULES__ERROR] Unable to find rule 'World:ExemptMaxClientsStatus'
[Debug] [RULES__ERROR] Unable to find rule 'Aggro:PetSpellAggroMod'
[Debug] [RULES__ERROR] Unable to find rule 'Aggro:SongAggroMod'
[Debug] [RULES__ERROR] Unable to find rule 'Aggro:SpellAggroMod'
[Debug] [RULES__ERROR] Unable to find rule 'NPC:MinorNPCCorpseDecayTimeMS'
[Debug] [RULES__ERROR] Unable to find rule 'NPC:MajorNPCCorpseDecayTimeMS'
[Debug] [RULES__ERROR] Unable to find rule 'Zone:GraveyardTimeMS'
[Debug] [RULES__ERROR] Unable to find rule 'Zone:EnableShadowrest'
[Debug] [RULES__ERROR] Unable to find rule 'Map:FixPathingZWhenLoading'
[Debug] [RULES__ERROR] Unable to find rule 'Map:FixPathingZAtWaypoints'
[Debug] [RULES__ERROR] Unable to find rule 'Map:FixPathingZWhenMoving'
[Debug] [RULES__ERROR] Unable to find rule 'Map:FixPathingZOnSendTo'
[Debug] [RULES__ERROR] Unable to find rule 'Zone:ClientLinkdeadMS'
[Debug] [RULES__ERROR] Unable to find rule 'NPC:UseItemBonusesForNonPets'
[Debug] [RULES__ERROR] Unable to find rule 'Map:FixPathingZMaxDeltaSendTo'
[Debug] [RULES__ERROR] Unable to find rule 'Map:FixPathingZMaxDeltaLoading'
[Debug] [RULES__ERROR] Unable to find rule 'Map:FixPathingZMaxDeltaMoving'
[Debug] [RULES__ERROR] Unable to find rule 'Map:FixPathingZMaxDeltaWaypoint'
[Debug] [RULES__ERROR] Unable to find rule 'Character:HealOnLevel'
[Debug] [RULES__ERROR] Unable to find rule 'Character:FeignKillsPet'
[Debug] [RULES__ERROR] Unable to find rule 'Character:ItemManaRegenCap'
[Debug] [RULES__ERROR] Unable to find rule 'Character:ItemHealthRegenCap'
[Debug] [RULES__ERROR] Unable to find rule 'Combat:UseIntervalAC'
[Debug] [RULES__ERROR] Unable to find rule 'Combat:PetAttackMagicLevel'
[Debug] [RULES__ERROR] Unable to find rule 'NPC:SayPauseTimeInSec'
[Debug] [RULES__ERROR] Unable to find rule 'NPC:OOCRegen'
[Debug] [RULES__ERROR] Unable to find rule 'Aggro:SmartAggroList'
[Debug] [RULES__ERROR] Unable to find rule 'Aggro:SittingAggroMod'
[Debug] [RULES__ERROR] Unable to find rule 'Aggro:MeleeRangeAggroMod'
[Debug] [RULES__ERROR] Unable to find rule 'Aggro:CurrentTargetAggroMod'
[Debug] [RULES__ERROR] Unable to find rule 'Aggro:CriticallyWoundedAggroMod'
[Debug] [RULES__ERROR] Unable to find rule 'Aggro:SlowAggroMod'
[Debug] [RULES__ERROR] Unable to find rule 'Aggro:IncapacitateAggroMod'
[Debug] [RULES__ERROR] Unable to find rule 'Aggro:MovementImpairAggroMod'
[Debug] [RULES__ERROR] Unable to find rule 'NPC:BuffFriends'
[Debug] [RULES__ERROR] Unable to find rule 'Character:DeathItemLossLevel'
[Debug] [RULES__ERROR] Unable to find rule 'Watermap:CheckWaypointsInWaterWhenLoading'
[Debug] [RULES__ERROR] Unable to find rule 'Watermap:CheckForWaterAtWaypoints'
[Debug] [RULES__ERROR] Unable to find rule 'Watermap:CheckForWaterWhenMoving'
[Debug] [RULES__ERROR] Unable to find rule 'Watermap:CheckForWaterOnSendTo'
[Debug] [RULES__ERROR] Unable to find rule 'Watermap:CheckForWaterWhenFishing'
[Debug] [RULES__ERROR] Unable to find rule 'Watermap:FishingRodLength'
[Debug] [RULES__ERROR] Unable to find rule 'Watermap:FishingLineLength'
[Debug] [RULES__ERROR] Unable to find rule 'Character:ItemDamageShieldCap'
[Debug] [RULES__ERROR] Unable to find rule 'Character:ItemAccuracyCap'
[Debug] [RULES__ERROR] Unable to find rule 'Character:ItemAvoidanceCap'
[Debug] [RULES__ERROR] Unable to find rule 'Character:ItemCombatEffectsCap'
[Debug] [RULES__ERROR] Unable to find rule 'Character:ItemShieldingCap'
[Debug] [RULES__ERROR] Unable to find rule 'Character:ItemSpellShieldingCap'
[Debug] [RULES__ERROR] Unable to find rule 'Character:ItemDoTShieldingCap'
[Debug] [RULES__ERROR] Unable to find rule 'Character:ItemStunResistCap'
[Debug] [RULES__ERROR] Unable to find rule 'Character:ItemStrikethroughCap'
[Debug] [RULES__ERROR] Unable to find rule 'Spells:PartialHitChanceFear'
[Debug] [RULES__ERROR] Unable to find rule 'Zone:MQWarpExemptStatus'
[Debug] [RULES__ERROR] Unable to find rule 'Zone:MQZoneExemptStatus'
[Debug] [RULES__ERROR] Unable to find rule 'Zone:MQGateExemptStatus'
[Debug] [RULES__ERROR] Unable to find rule 'Zone:MQGhostExemptStatus'
[Debug] [RULES__ERROR] Unable to find rule 'Zone:EnableMQWarpDetector'
[Debug] [RULES__ERROR] Unable to find rule 'Zone:EnableMQZoneDetector'
[Debug] [RULES__ERROR] Unable to find rule 'Zone:EnableMQGateDetector'
[Debug] [RULES__ERROR] Unable to find rule 'Zone:EnableMQGhostDetector'
[Debug] [RULES__ERROR] Unable to find rule 'Zone:MQWarpDetectorDistance'
[Debug] [RULES__ERROR] Unable to find rule 'Zone:MQWarpLagThreshold'
[Debug] [RULES__ERROR] Unable to find rule 'Zone:MQWarpThresholdTimer'
[Debug] [RULES__ERROR] Unable to find rule 'Combat:EnableFearPathing'
[Debug] [RULES__ERROR] Unable to find rule 'Combat:FleeHPRatio'
[Debug] [RULES__ERROR] Unable to find rule 'Combat:FleeIfNotAlone'
[Debug] [RULES__ERROR] Unable to find rule 'NPC:EnableNPCQuestJournal'
[Debug] [RULES__ERROR] Unable to find rule 'Character:SkillUpModifier'
[Debug] [RULES__ERROR] Unable to find rule 'NPC:CorpseUnlockTimer'
[Debug] [RULES__ERROR] Unable to find rule 'NPC:EmptyNPCCorpseDecayTimeMS'

I took out the unable to interpert the rule line for brevity...hehe. I was planning on adding the rules, but got to thinking that I may not know how to format the field appropriately, and wanted to ask for help.

nosfentora
09-18-2008, 08:17 AM
Which database are you running? PEQ or Angelox?

If you're using PEQ, there should be 2 .sql files rule_values.sql and rule_sets.sql

if you source both of those, that should fix the unable to find rule errors.

Warleggon
09-18-2008, 02:57 PM
Thanks nosfentora. I am using peq cvs'd from about one day ago. I found that if I use Congdar's 9/3/2008 release, then all my errors and other general performance problems went away. I had used the build that came off of Margoth78's site the first time.

hayward6
09-24-2008, 09:52 PM
I spent a little time today setting this up with all the newest source and I don't seem to have the commands available when I log in... I know the commands aren't in the database, but maybe they aren't supposed to be? basicaly I just get "command unrecognized" when I try and do any #bot commands.

Congdar
09-24-2008, 10:11 PM
you need to add EQBOTS to the preprocessor in Zone. It's different for linux and windows on how you set it, and both are already covered in this thread somewhere.

hayward6
09-25-2008, 11:50 AM
you need to add EQBOTS to the preprocessor in Zone. It's different for linux and windows on how you set it, and both are already covered in this thread somewhere.

Thanks, I'll start digging through this thread when I have more time. I better pack a lunch :)

hayward6
09-25-2008, 05:51 PM
If anyone know what I need could you please let me know? I just went through this thread front to back and didn't see anything about adding the commands. Of course I was going cross eyed around page 30 :) I just don't have the commands and everything I have downloaded was lacking them as well.

Thank you,

Congdar
09-25-2008, 06:52 PM
Substitute EQBOTS for SPELL_EFFECT_SPAM in the instructions below and these will work for VS2005/2008 for windows compiles. If you are compiling on linux it's different.

I had this enabled at one time for windows.

1. In VC2005, right click on the Zone section and select Properties.
2. On the left side of the Zone Property Pages window select the C/C++ Preprocessor section under Configuration Properties.
3. On the right side of the Zone Property Pages window select Preprocessor Settings, these are the compiler settings.
4. Click on the tiny button on the right end of the Preprocessor Settings to open the Preprocessor Definitions window.
5. Edit SPELL_EFFECT_SPAM into its own line at the top of the list of compiler options.
6. Select OK to exit the Preprocessor Definitions window.
7. Select OK to exit the Zone Property Pages window.
8. Rebuild the executables.