EQEmulator Forums

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

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

Will do in a few
 
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

Cool
 
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

Quote:

Originally Posted by Congdar (Post 148257)
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

Quote:

Originally Posted by Davood (Post 149307)
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.





Quote:

Originally Posted by eski2 (Post 149308)
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

Quote:

Originally Posted by Congdar (Post 149312)
...
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!!

Code:

---------------------------------------------
[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 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 and binaries

eski2 05-27-2008 09:42 AM

Quote:

Originally Posted by Congdar (Post 149348)
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


Quote:

Originally Posted by Congdar (Post 149348)
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 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

Code:

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?

Code:

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?

Code:

[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

odd
 
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

Quote:

Originally Posted by davood3 (Post 149438)
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?

Quote:

Originally Posted by davood3 (Post 149438)
*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.

Quote:

Originally Posted by davood3 (Post 149438)
*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.

Quote:

Originally Posted by davood3 (Post 149438)
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.

Quote:

Originally Posted by davood3 (Post 149438)
*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.

Quote:

Originally Posted by davood3 (Post 149438)
*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

Quote:

Originally Posted by Congdar (Post 149546)
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

Quote:

Originally Posted by davood3 (Post 149558)
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:
Code:

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.

Code:

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.


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

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