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)

gernblan 09-02-2007 10:00 PM

Quote:

Originally Posted by Magoth78 (Post 137870)
Thanks.

In the actual state, it would be really difficult to plug the eqoffline code into the last emu sources because of all the changes. And my code isn't clear.

That's why I'm actually rewriting everything related to bots, based on the last official emu sources. I want to make it a "separate" project that you just could add or not into the official sources easily, just like the Guildwars code.
That's not very hard to do but it takes a lot of time as a lot of functions need to be customized for bots.

Mag

I understand that completely, but at the same time, as this project picks up more and more steam, I would like to recommend folding it into the eqemu code (so that it can keep up with the main source tree more easily), as a long-term goal.

I would imagine that if it was planned properly and the eqemu dev community was on board, that it could be done using includes so as to not turn the main code base into spaghetti. Then perhaps a global environment variable can be added that will either compile in the bot code or not.

Magoth78 09-03-2007 03:37 AM

That's true but I can't believe that the EQEmu dev would accept to keep the actual bots code in the official tree and they would be right.

John> Great job on 1031 port but as I've mentionned everything can be done with diffs. The code just stays the same and modify a lot of things in the official tree.

Technically, what I'm actually doing is to make a public class called Bots that inherits the NPC class. This way I can code the virtual methods that are customized for the bots without modifying the official Entity>Mobs>NPC codes.
Everything related to bots (Stats, Equipment, Attacks, AIs, Orders) are coded in this new class.
The Raid class will stay the same but will have some improvments.

What will be left will be the group thing and that will be an issue. I'm actually wondering how I can make the group working for both players and bots with a minimum of official code modifications.

Mag

John Adams 09-03-2007 02:13 PM

Here, here. I would love to see this as a non-intrusive add-on to the emulator (like GW, if you don't want it, it doesn't break anything). But if it were "core", it could be controlled by a Rule. (?)

Criimson 09-04-2007 12:55 PM

I was wondering about bots casting as I am having some difficulties

I use ax_classic and have patched it according to the readme
These classes cast fine:
Cleric, Paladin
These don't cast at all:
Beastlord
Shaman
Druid
Mage
Necro
Enchanter

Any ideas why

Criimson

gernblan 09-04-2007 01:51 PM

Quote:

Originally Posted by Magoth78 (Post 137955)
That's true but I can't believe that the EQEmu dev would accept to keep the actual bots code in the official tree and they would be right.

John> Great job on 1031 port but as I've mentionned everything can be done with diffs. The code just stays the same and modify a lot of things in the official tree.

Technically, what I'm actually doing is to make a public class called Bots that inherits the NPC class. This way I can code the virtual methods that are customized for the bots without modifying the official Entity>Mobs>NPC codes.
Everything related to bots (Stats, Equipment, Attacks, AIs, Orders) are coded in this new class.
The Raid class will stay the same but will have some improvments.

What will be left will be the group thing and that will be an issue. I'm actually wondering how I can make the group working for both players and bots with a minimum of official code modifications.

Mag

Agreed. But if coded as a "module"... well, I need not carry on about this. I think we're both on the same page already.

I'm thinking the same approach as GuildWars...

Incredible work, by the way.

Aonelyn 09-04-2007 03:53 PM

nice work magoth =]

you have done it yet again..

Criimson 09-04-2007 04:38 PM

EQoffline spells list ID:

Magician: 516
Necromancer: 515
Enchanter: 517
Shaman: 518
Druid: 519
Shadowknight: 512
Beastlord: 524

Other are standards.

This should be posted in the readme :)

Once I changed a couple id's everything works great

I know its been said before, but you are the MAN!

Criiimson

Aonelyn 09-06-2007 08:24 AM

is it normal for my level 75 cleric to cast level 1 spells on me? Or did i do something wrong?

sonicvt 09-06-2007 09:44 AM

Mag,

I was raiding Trakanon today with your bots and each and every encounter I got a zone.exe error. After a few trials with Trak being at various healths I noticed it only happend when one of the Bots "created a mystical portal". This being Trakanon's teleport proc.

I was able to edit the database to remove Trakanon's spell casting ability (Trakanon npc_spells_id set = 0 not 43 or 46, whichever it was) to stop this error. I don't know if there is anything you can do on the bots side to fix this or not but it is just something I noticed.

Magoth78 09-06-2007 06:32 PM

Aonelyn> You have to do a "#bot update" on your bots once created and leveled.

sonicvt> Thanks for the report. I've also noticed that on Dain and some others targets. I will see what I can do.

Mag

Criimson 09-06-2007 07:20 PM

Sonicvt I did some checking in the database

Go to table npc_spells_entries
Delete row 1270
That is a spell called Trakanon's Touch and is causing your problems
That way at least it isn't a purely melee fight and will be some fun

Criimson

sonicvt 09-07-2007 04:58 AM

Criim,

Thanks for the info. Unfortunately I didn't raid often in EQ and I don't know which Boss Mobs have this Teleport proc (Trakanon, Dain Frostreaver) as I'm assuming that any mob that does this will cause the crash.

Criimson 09-07-2007 06:39 AM

K the spell to check for is 895 (if memory serves) ill check again later, but im pretty sure this is it

I just installed Fedora 6 so haven't set mysql up yet (still fiddling with it)
But if ya don't find it I'll let ya know which mobs have that spell and what rows to delete

Criimson

sonicvt 09-14-2007 12:39 AM

Mag,

I noticed when creating a new group of bots (used to raid with 3 groups, recently created a 4th) that if they didn't have weapons equiped and engaged in battle it would crash. Oddly this didn't happen at 1st-10th level or so when I first started using your bots. Not sure if this issue is on the bot end or the EQEMU end but I thought I would post it anyway.

Additionally, any news on the bots being able to use weapon procs and focus effects/haste from items? Thanks!

Magoth78 09-15-2007 10:45 AM

Hi guys,

I won't upgrade the actual version of version until the 18th october (actually preparing an exam for my job). Then, I will re-write the whole bot system based on the latest sources to make it a real plugin for EQEmu that you will can active or not. EQoffline will become EQbots, a plugin for eqemu that will be playable solo and multi.

For the moment, you can use the EQoffline builds that are based on .994 (I think) wich are more than playables.

Later,
Mag

Bjerlk 09-16-2007 03:33 AM

Nice news. And good luck on the exams..

Not that luck has anything to do with it...

Docs 09-21-2007 11:17 AM

I wish you the very best in this project. Keep up the great work, and by the time you know it everything will be completed.

I too want alot of things in EQemu, but fail at finding the time to sit down and complete anything good like this.

Xzam 11-25-2007 02:05 AM

Wondering
 
I'll start with saying WOW, what you have done with BOT's is amazing!! I for one am looking forward to your new BOT system. I have BOT's on my server and everyone who plays with them love them. You have given players the ability to solo, (with BOTs as friends), even higher level mobs and raids! WOW thanks again!! I have a few questions for you, with the new BOT system will I be able to set the number of BOT's per char? Is there a way to have chars delete the BOT's they don't like, and this may be hard to do but hey you are the man, and last thing is give me a little more space or let me set it, the BOT's are to close to me, sometimes hard to loot with them standing on my feet. I'm not complaining just looking forward to the new BOT system!

sonicvt 11-27-2007 08:51 AM

Any updates in the past month or so? I've noticed it's been a while since Mag posted and his webpage hasn't been updated either. Hope he's ok...

Magoth78 11-28-2007 04:57 AM

Hello there, I'm fine thank you ;)

For the moment, I don't have the time/feeling to work on the new bot system.
Sorry bout that,
Mag

a_troll_01 12-09-2007 01:47 AM

Intersting Crash problem
 
I "had" a stable 0.7.0 Nov 30 build and then I added in the Bot build portions.
Replaced the NPC_Spell_Entries
Replaced the EmuShareMem.Dll in my startup
Changed my startup bat to call WorldDebug & ZoneDebugPerl

Now whenever a PC casts a spell the Zone will crash. I am assuming there is a conflict with the change made when I sources NPC_Spell_Entries.

Anyone have any ideas?

Teremarr 12-10-2007 07:01 AM

So, are you actually just sticking in the binaries? If you're using the Nov. 30th build, then I'm assuming that you picked up EQEmu-0.7.0-1064. If you used the BOT binaries for EQ-Offline, then you actually back-leveled the running code to something like build 946 or something close. You might be stumbling over both old bugs. Might also have problems with changes/removals from the database.

I wonder... If I look up above, maybe I can find the source. It might be interesting to see if we can just merge his code into an interim build...

a_troll_01 12-10-2007 09:45 AM

Correct, I just replaced the binaries from the EQEmu-0.7.0-1065 build with the binaries from the Build.rar found on EQ Offline home page. So, the DB that I am using is from the 1065 build.


Are suggesting that I go back to the DB version from the 946 build? Ugg. That means I'll have to figure out if I can save the account and character info.

Thanks.

meshershark 12-13-2007 11:39 AM

Can anyone confirm the latest EQEmu build that is compatible with EQoffline? The two I've seen mentioned are 994 and 946, neither of which appears in the download list.

I'm getting ready to setup a server for solo play and I want to make sure I put it together with compatible pieces from the get go. Thanks.

cavedude 12-13-2007 12:16 PM

It uses 992. I had started working on getting merged into the current build but haven't had time to complete that yet.

meshershark 12-14-2007 08:14 AM

Thanks.

Are there any compatibility issues between EQoffline and PEQ I need to watch out for, or am I set as long as EQEmu and EQoffline are compatible versions and EQEmu and PEQ are compatible versions?

The reason I ask is, I notice that the latest beta PEQ only needs 0.7.0 base EQEmu, so it should work with 992, but it looks to have been done many months after EQoffline was last updated. Not having setup and worked with any of this stuff yet, I'm not sure how and at what levels they interact. It seems like bots should be fairly independent of zones and quest content, but I just wanted to make sure.

From what I can tell, I should be able to play with bots up through Luclin and most of Ykesha, but not PoP. Does that mean no PoK stones? I'm not averse to roughing it a bit, having started live EQ before PoP (just before Luclin, in fact), but it would be handy to have the stones and spell vendors in PoK since I was used to them before I quit years ago.

cavedude 12-14-2007 08:35 AM

Actually, you should be able to use the newest Ykesha db with the older 992 build. Columns and tables were added but not deleted or changed. The server will simply ignore that extra data.

I am not sure how the bots will handle PoP with the flagging system and such. My instincts say the bots are probably just treated as NPCs so they shouldn't need flags, allowing you to progress normally. However, due to the fact that the bot code is based on an older 992 build much of PoP may be buggy and/or completely unplayable. A lot has changed in the code since then that has allowed PoP to function correctly. Though, to answer your question, if you use the Ykesha db the PoK books will be there and PoK at the least will be fully usable.

John Adams 12-26-2007 08:55 AM

As previously stated, I already ported the 992 bot work to a much newer release, but poor Magoth didn't have the time to really check my work. I would be happy to re-post it (I think my last port was to 1035 or so). The reason I hadn't bothered to do it to current is mostly because Mag was considering making it more "modular", and it made no sense to keep bumping the bot code every core release.

Cavedude, if you want my code, let me know. It worked, but I haven't been able to really give it a good test. Might be a good place to start. But lots has changed since 1035. Might be worth starting from scratch.

cavedude 01-01-2008 03:31 AM

JA, I'd love to take a look at your code. My hope is we can get it current as this system is really nifty and I'd hate to lose it due to it being in an obsolete build.

burnme 01-06-2008 11:43 AM

Hey there. Did anyone ever finish typing up full custom npc_spells_entries for the bots so they cast the right spells at the right levels?

I've been using the bots and messing around with customizing them for a while now, and I'm frustrated by their casting (often very) incorrect spells. It's pretty bad at the mid-high level ranges, with level 65 magicians not even using their latest pets!

Anyway, just thought I'd ask here if whoever said they were going to do it was finished yet, and also to make a request to Magoth or anyone else who might be able to do it: Could the bots or whatever's necessary be tweaked so that pet-centric classes heal and haste their pets?

Thanks.

Richardo 01-14-2008 03:33 AM

Hi, I would like to make modifications to this system and I would like to know if this is possible or not with your creation.

I will give an example server.

On this server, I want players to be able to create a guild. Now once they have created their guild, they then have the choice to add 3 bots to their guild choosing any class and race (after which they cannot ever change what they have chosen). These bots can be utilized by any of the guild members.
Also, the bots would begin at level 1 and it would be the guild members responsibility to level these bots. Here is a command list idea of what im talking about..


#guildbot list -Lists bots accordingly to class, race and level.
<GuildName> Bot List
23 Warrior, Barbarian ID:242
42 Cleric, Dwarf ID: 243
12 Rogue, Dwarf ID: 244

#guildbot summon id -Summons the bot ONLY if you're in the zone in which it was created.

#guildbot create class race -Creates one of the 3 allowed bots in the guild.
(Only for the leader.)


I don't know if I am dreaming but I think this would be very cool to allow members to add bots to their guild.

bowmaster 01-16-2008 02:41 AM

how do i get this 2 work ?

Congdar 01-16-2008 04:19 AM

I've managed to merge the bots code into a 1071 build but there are issues. Here
I can create bots but...

The caster bots only cast a few spells and only the low level spells even if the bots are level 65.
The zone crashes if you try to fight something.

What I haven't done is gone through the code to change anything. I just merged it all inside #ifdef EQBOTS

I can see where Magoth78 has copied some existing methods and modified them to be his new methods. The problem is that the methods he has copied from have been changed/improved and now those changes need to be reflected in the eqbots code.

Has anyone else done any work on this? Magoth78 coming back would be a great help but I haven't seen him post in a while.

a_troll_01 01-19-2008 02:50 AM

The low level spell casting problem is a DB issue not a code problem. You can modify the "npc_spell_entries" table and change what spells ALL NPC will cast or you can define a new npc types and build a spell table for them.

Congdar 01-19-2008 01:38 PM

So I figured out that the bots would cast the correct level spells after I updated them then removed them from the group and then spawned them again.

They fight and kill the monsters fine too.

If you try to trade with them the zone crashes. I went and downloaded Magoth's current source and got it to build and it has the same bug as the 1077 sources i've diff'd to.

Does anyone have a working set of Magoth's source?

John Adams 01-26-2008 05:25 AM

Magoth also provided binaries, you should try them too just to make sure BOTS are working at all for you.

Magoth78 01-27-2008 05:03 AM

Hello,

I'm sorry about not giving any information on this project. There reasons are :

#1 When I've stopped this project, the bots were working correctly wit hthe old code except, maybe, some spells as related in this topic. But that's just a database's entries issues.
#2 In order to have the bots working with the newer version, I wanted to make the bot system totally independant and "pluggable" to the emu's code at any time on any emu's official version. That's a lot of work that requires time, feeling, etc... wich I have not actually.
#3 I've started a similar project on WoW based on the emu Mangos. (didn't really finish it though bots are working correctly :> )
#4 I'm now playing EQ2 a lot and I like it.

Richardo> It'd be easily doable with a bit of c++ knowledge (wich you have, don't you?)

G'day,
Mag

a_troll_01 02-01-2008 03:18 AM

BOT code on 1086
 
I have rolled the BOT code, with some tweaks, into the 1086 build.
1. BOT pathing
2. BOT Item exchange, including rings, bracers, and earrings(2 slots)
3. Zerkers are working
4. Beastlords melee
5. Rogues and Rangers don't crash the zone

cavedude 02-01-2008 12:51 PM

Could you post the source for that?

Wildcard and I were talking about the bot code to see if it would be feasible to add it to the official code base as a rule or something such, similar to the old Guild Wars system for those familiar with it.

Congdar 02-01-2008 04:51 PM

I also have been working on the bot sources. I have merged John Adams' 1035 source bot code and Magoth's current download(some differences) into the 1090 sources.

You can test them on The Realm server down near the bottom of the list. I'm debugging some raiding issues but i'll post the sources when I'm done with that.

I have all bot code inside #ifdef EQBOTS blocks like the Guildwars code is in #ifdef GUILDWARS blocks.


All times are GMT -4. The time now is 12:21 AM.

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