PDA

View Full Version : EQoffline, bots and more..


Pages : [1] 2 3 4

Magoth78
04-15-2007, 05:22 AM
Hello,

Due to a recent (and crazy) idea, I'm actually wondering if a single player version of the game -with bots assisting you- would be doable or not.
The point is to give us the availability to play this game with bots and to give another dimension by makeing it very strategic.

There are the plans:

- You start the game, just like the normal game, but you are leader of a guild.

- The guild is composed by 23 bots (24 with you) that are played by the computer. You can start a group with the bots that you want and the bots would gain 4x more exp than you, so you can group with all your bots and you will maintain an adverage guild level.
How I see that: Let's say you enter in a zone. You know you have 23 bots that you created (name, race and class). In the zone that you've just entered, you need a group. You summon your 5 bots by their name, they automatically join your group.

- Each bot has an inventory just like a player but the bags. Each loot can be given to a bot that's auto-equip the given item. The stats of the bots change when the looted item is equipped.

- Each bot has an certain AI depending of its class. Tanks taunt, cleric heal, enchanters mez the adds etc...

- Group: While grouped with bots, you can see their HP/Mana/Experience bars. Yours grouped bots follow you and do a certain job when certain events occur (attack, attacked by, adds, death, buffs, mana/hp break, etc...)

- Raid: as you can have 4 groups, each group is leaded by a bot that you can lead by macros. /msg LeadBot1 "guard the place"/"attack target"/"follow"/"assist"/etc...

Ofcourse, for the moment it's just an idea but I like it. It might be a personnal project that will take much time but I don't really care.. I really would like to play alone, legit and tactically, take my time and rediscover the game as I did in 1999..

Now, my main problem is that I'm trying to figure where to begin...

sorry by advance for the english faults

GeorgeS
04-16-2007, 03:55 PM
Interesting idea. It's possible to script a .pl script that upon /hail/ a few guards spawn and will follow you around until you tell them not to. They will be amiable but may attack others who are evil. I never tried this but I can write a script to do this. You may have to find NPC's id's who are factioned with you and availble in most zones... Just an idea

GeorgeS

Magoth78
04-17-2007, 04:21 AM
Hello Georges, thanks for the answer.

Making bots to spawn wouldn't be the hardest job. As you said, you can use a perl script to make them spawn and follow you.

Now, as a part of a full project, I think it would be better to code a full interface for the bots using the #commands, perl scripts or maybe UI. Yes, because you will need to equip/unequip them, make group/raids depending of situations and assign tasks.

What I think would be the hard part (if not impossible, I don't know at this time) is to make them auto-join the group (so you can see their HP/Man bars) and acting as close as players do. That means they would have a group/Raid AI : melee1 will be the MT, melee2 will tank if any add, healers1 will heal melee1, healers2 will heal melee2, casters will assist melee1, etc...

I agree with you, that sounds like a dream :D

Later,
Mag

Magoth78
04-22-2007, 08:38 AM
Maybe a dream will become real.

I've started to work on the project, there are the principal features:

1/ You can group with your bots.

Once you've spawned your bots, you can group with 5 of them. Their name and HPs are appearing in your normal group bar. If they are damaged or healed, you will see their HPs moving.

*** actually 5 is the limitation because I want to make everything working well in group then I'll start to work on raids.


2/ Attack limitations (melee + spells)

You can't attack your bots. Bots can't attack themselves. Bots can't attack their Master (you by default or any other player who grouped their bots).


3/ Moove

Once you've grouped your bots, they will follow you just like all the others mobs do when they're aggroing you. That's a great thing because they will never be stuck and if they re rooted/snared or anything else and you are far from them, they will always find their way to you.


4/ Master death, Bots death

If you die (or zone/disco/LD) you loose your actual bots and your group is disbanded. But don't worry, you can just spawn them and invite them in your group again.
If a bot dies, he disappears then leaves the group. Also, you can spawn it again and group it.


Now, I'm going to focus on the stats of the bots and their inventory. As I said on a previous post, I would like to give to a choosen bot an item that I've looted. This way, this bot will become stronger.
For that, I've 2 majors ways:
a) A perl quest per bot : once I gave an item to a bot, it gains the benefits of this items. Its stats are updgraded (if the item is better that he had) or downgraded (if I want to unequip this bot).
b) A web feature : A lot of things can be done with php.

When done, I will start to work on their AI. I really want to have the rogue Bots to go behind the mob, Mezzers bots doing some CC, etc... but I think there re a lot of job to do in order to make it working perfectly..


Later,
Mag

Angelox
04-22-2007, 09:43 AM
Here's a helper Bot I started, but have since run out to finish; It actually follows you around and heals, buffs you at your request. I had it working in Gulf of Gunthark, Infact you can test it on the Rathe server;
First, you talk to Cadale Brohat at the vendors in Gunthak;
#zone: gunthak NPC: Cadale_Brohat (224209)
#Angelox

sub EVENT_SAY {
if ($text=~/Hail/i){
quest::emote("smiles widely at you. 'Welcome. You are brave to venture to Broken Skull Rock. Don't mind the others. Everyone is a bit touchy around here. If you are interested in dyes, feel free to peruse what I have to offer. Playing with them has given me hours of entertainment! Just be careful on this rock, and watch your back. Oh, before I forget, I'm looking for someone to help me with some [tasks] that I need to get done. All my time with the dyes has kept me from some of the more important things I need to take care of.'");
quest::emote("Gets closer and whispers,'Or perhaps you might be interested in hiring some [help]?");
}
elsif($text=~/help/i){
quest::emote("chuckles, 'I have some mercenary friends interested in making some plat, they've asked me to handle their [pay]");
}
elsif(($text=~/pay/i)&&($class eq 'Warrior')){
quest::emote("Whispers, 'Not so loud! I'm moonlighting here - 50 plat will get you help tell you leave this world'");
}
elsif(($text=~/pay/i)&&($class eq 'Paladin')){
quest::emote("Whispers, 'Not so loud! I'm moonlighting here - 50 plat will get you help tell you leave this world'");
}
elsif(($text=~/pay/i)&&($class eq 'Shadowknight')){
quest::emote("Whispers, 'Not so loud! I'm moonlighting here - 50 plat will get you help tell you leave this world'");
}
elsif(($text=~/pay/i)&&($class eq 'Ranger')){
quest::emote("Whispers, 'Not so loud! I'm moonlighting here - 50 plat will get you help tell you leave this world'");
}
elsif(($text=~/pay/i)&&($class eq 'Monk')){
quest::emote("Whispers, 'Not so loud! I'm moonlighting here - 50 plat will get you help tell you leave this world'");
}
elsif(($text=~/pay/i)&&($class eq 'Bard')){
quest::emote("Whispers, 'Not so loud! I'm moonlighting here - 50 plat will get you help tell you leave this world'");
}
elsif(($text=~/pay/i)&&($class eq 'Rogue')){
quest::emote("Whispers, 'Not so loud! I'm moonlighting here - 50 plat will get you help tell you leave this world'");
}
elsif(($text=~/pay/i)&&($class eq 'Berserker')){
quest::emote("Whispers, 'Not so loud! I'm moonlighting here - 50 plat will get you help tell you leave this world'");
}
elsif($text=~/pay/i){
quest::says("Sorry, this offer is only for melee-types");
}
}

sub EVENT_ITEM{
if ($platinum<=49){
quest::say("Thank you for your donation $name, it wasn't enough though ...");
}
elsif (($platinum>=50)&&($sandee==0)){
quest::emote("summons a mercenary to your side");
quest::spawn2(224236,1,0,-242.0,1521.1,4.1,108.4);
quest::say("Here she is, be careful not to wander too far away from her, else she comes back to me");
quest::delglobal("sandy");
quest::setglobal("sandy",2,3,"F");
$sandy=undef;
$sandee=1;
quest::delglobal("$name");
quest::setglobal("$name",3,3,"F");
}
elsif ($sandy==2){
quest::say("Sorry, all mercenarys are in use.");
}
elsif (${$name}==3){
quest::say("You can only have one at a time.");
}
elsif (($platinum>=50)&&($sandy==3)){
quest::emote("summons a mercenary to your side");
quest::spawn2(224236,1,0,-242.0,1521.1,4.1,108.4);
quest::say("Here she is, be careful not to wander too far away from her, else she comes back to me");
quest::delglobal("sandy");
quest::setglobal("sandy",2,3,"F");
$sandy=undef;
quest::delglobal("$name");
quest::setglobal("$name",3,3,"F");
}else{
quest::say("Oops! I missed a possibilty!");
}
}

Then , if you payed the right amount and are the proper class, Brohat will pop you some help - Merc Sandy ( A cool looking female dark elf);
# Angelox's EQ Bots
#Gunthak healer

sub EVENT_SAY {
if($class eq 'Cleric'){quest::say("Sorry, I can't help a cleric");
}
elsif($class eq 'Shaman'){
quest::say("Sorry, I can't help a Shaman");
}
elsif($class eq 'Necromancer'){
quest::say("Sorry, I can't help a Necro");
}
elsif($class eq 'Wizard'){
quest::say("Sorry, I can't help a Wizard");
}
elsif($class eq 'Magician'){
quest::say("Sorry, I can't help a Magician");
}
elsif($class eq 'Enchanter'){
quest::say("Sorry, I can't help a Enchanter");
}
elsif($class eq 'Beastlord'){
quest::say("Sorry, I can't help a Beastlord");
}
elsif($text=~/follow/i){
quest::clear_proximity();
quest::say("Following");
quest::follow($userid);
}
elsif($text=~/quit/i){
quest::say("Ok, good-bye!");
quest::delglobal("sandy");
quest::setglobal("sandy","3","3","F");
$sandy=undef;
quest::delglobal("$name");
quest::setglobal("$name","2","3","F");
quest::clear_proximity();
quest::depop();
}
elsif($text=~/hail/i){
quest::say("I'm ready $name, do you need to know the [commands]?");
}
elsif($text=~/commands/i){
quest::say("If you target and say [follow], then I will follow you,");
quest::say("If you target and say [stop], then I will stop, but don't go to far away, else you'll loose me,");
quest::say("If you target and say [quit], I will go away,");
quest::say("I can [heal] you with celestial healing, and I have [temperance] for buffs,");
quest::say("You have to trarget me for my attention.");
quest::say("Don't forget to tell me to [quit] when you're done.");
}
elsif($text=~/heal/i){
quest::say("Casting celestial healing ...");
quest::settimer("cheal1",5);
}
elsif($text=~/temp/i){
quest::say("Casting temperance ...");
quest::settimer("temp1",15);
}
elsif($text=~/stop/i){
quest::clear_proximity();
quest::depop();
my $a = 224236;
my $x = $npc->GetX();
my $y = $npc->GetY();
my $z = $npc->GetZ();
quest::spawn2($a,1,0,$x,$y,$z,$h);
quest::say("Ok, don't stray too far!");
}
}

sub EVENT_SPAWN{
$x = $npc->GetX();
$y = $npc->GetY();
quest::set_proximity($x - 120, $x + 120, $y - 120, $y + 120);
}

sub EVENT_EXIT{
quest::depop();
quest::delglobal("sandy");
quest::setglobal("sandy","3","3","F");
$sandy=undef;
quest::delglobal("$name");
quest::setglobal("$name","2","3","F");
}

sub EVENT_TIMER
{
if ($timer eq "cheal1"){
quest::stoptimer("cheal1");
$npc->CastSpell(1444,$userid);
}
elsif ($timer eq "temp1"){
quest::stoptimer("temp1");
$npc->CastSpell(3692,$userid);
}
}

sub EVENT_DEATH{
quest::delglobal("sandy");
quest::setglobal("sandy","3","3","F");
$sandy=undef;
quest::delglobal("$name");
quest::setglobal("$name","2","3","F");
}


Like I said, this little puppy works - I just need to finish it or maybe you can :) - right now I'm having a hell of a time recuperating some lost data from my server death, also am working, and my little bit of spare time goes to database work (Cavedude: Hatesfury is on its way!) .
I also had plans for this npc to cross into other zones with its owner via quest_globals

Magoth78
04-22-2007, 04:03 PM
Hello angelox,

thanks for the idea.

Perl is surely the easiest way to command your bot. But the limitation of it is that you have to target one bot in order to make it doing an action. I'd prefer to have a bot that know what he can do depending of its class and in most situations..

Let's say you're grouped with 5 bots:
1 war, 1 rogue, 1 enchanter, 1 cleric, 1 shaman and you, 1 ranger

You're pulling.
- Once you or one of your bot has the aggro the war will taunt the mob (wich will become the main target of the group).
- The rogue(bot) will go behind it and start the dps.
- The enchanter(bot) will wait to see if any other mob aggro you or one of your bot. If so, he will mez it and keep it mezzed till the first mob dies. While the add is mezzed, he will cast some DD on the main target.
- The cleric(bot) will check the HPs of the group.
- The shaman(bot) will debuff the mob (debuff+dots), will check the buffs of the groups in fight.
- and you... you do what you want to :)

In the actual state, Perl doesn't permit me to automatize all theses tasks. But I could use it to start a particular AI on a given bot. For example, if I have 2 healers in group, I could set the main and the second healer or 1 bot will be healing and the second one will make dps...

Good day,
Mag

Angelox
04-22-2007, 08:56 PM
There are at least two client programs that I know of that will do that. One is Xylobot - I used it before and worked very well.

Magoth78
04-22-2007, 10:30 PM
Yes Xylo and MQ probably do the thing but client wise...

I will try to code that so it's server wise and only for the bots (mobs). As I've mentionned earlier the bots are mobs, not clients.

And that will make the work harder

mattmeck
04-22-2007, 11:16 PM
This would be useful for a lot of different things, a quest for a perma body guard, a quest where you have to help an NPC with a kill... etc etc.

I could see uses for this even on the legit servers.

Magoth78
04-23-2007, 08:53 AM
Ok, I've added a bot inventory.

Each bot has 21 slots in their inventory just like a Client.

Once an item is added to their inventory, their stats are updated immediatly. (The client will have to zone in order to see the stats changes on his bot with #showstats but it's just a visual issue.)

Now, let's take an example:
- You loot on a mob a helm. The stats on the helm are +10ac +5str ...
- You give the item to the bot and the stats will be actual_ac=actual_ac+10, actual_str=str+5, etc...

For the moment, there is no check on the slot that can wear the item but I'm planning to add it.

tornar
04-25-2007, 12:47 AM
Hi magoth78, i have to say that it looks a nice idea, it would be great to have bots available for hire.

Magoth78
04-25-2007, 09:23 AM
Hello there,

I also like the idea a lot and that's why I've officially started to work on this project some days ago.

At the moment, I'm working on the bots inventory.

What I've made so far is :

- You loot an item
- You give it to a bot of your choice. If its race/class can equip the item, it places the loot in its inventory (in the right slot) and then, it equips this item. If it has already an item in the same slot, the old item will be remplaced by the new one.
Once the item is in the bot's inventory, the bots stats will change immediatly depending of the item stats.

I will also make the bots showing them wearing the stuffs they have in their personnal inventory.

g'nite,
Mag

Arex
04-26-2007, 01:12 AM
hey Magoth78, it is great to see anybody working on a idea like this. It would give a lot of life to offline servers.

Thank you for try it.

Elysius
04-26-2007, 05:39 AM
Hello there,

I also like the idea a lot and that's why I've officially started to work on this project some days ago.

At the moment, I'm working on the bots inventory.

What I've made so far is :

- You loot an item
- You give it to a bot of your choice. If its race/class can equip the item, it places the loot in its inventory (in the right slot) and then, it equips this item. If it has already an item in the same slot, the old item will be remplaced by the new one.
Once the item is in the bot's inventory, the bots stats will change immediatly depending of the item stats.

I will also make the bots showing them wearing the stuffs they have in their personnal inventory.

g'nite,
Mag

So will you get back the old item or does it disappear? Also, what do you plan on doing with No Drop items, just the same thing?

This project looks awesome.

Magoth78
04-26-2007, 08:01 AM
Hello,

In the actual state, if you give an item to one of your bot, the old item is remplaced (and it's lost) and the new is equiped by the bot.

About the No-drop items, you can give a nodrop to one of your bot. I don't feel like coding the bots so they can loot for you :)

G'nite,
Mag

Arex
04-26-2007, 05:57 PM
In the actual state, if you give an item to one of your bot, the old item is remplaced (and it's lost) and the new is equiped by the bot.

It is enought good, i think.

Magoth78
04-27-2007, 10:30 PM
I've finished to work on the bot's inventory. Everything seems to work as it should.

You can see the updates at : http://eqoffline.free.fr (http://eqoffline.free.fr)

G'day,
Mag

Zard
04-28-2007, 02:18 AM
Very excited about this feature as its hard to duel box on a home PC when you are already using it to run your server & play from as well. Looking forward to seeing how to impliment into my current game. Someone give this guy his own forum category :D

Thanks for the efforts and continued updates Magoth78

GeorgeS
04-28-2007, 03:03 AM
Magoth - I bow to you :)

Great work.

Magoth78
04-29-2007, 02:45 AM
:D

Little update:
- as a first form of AI, the bots are able to :
--- assist/guard you
--- buff you and the other grouped bots.

More info in the website.

G'day,
Mag

kouhei
04-29-2007, 03:34 AM
I like this feature when it is ready
" Make a raid (23bots + you = 4 groups) and fight the toughest raid encounter."

Arex
04-29-2007, 07:24 PM
Magoth78 u are doing a nice work, if u need any help with SQL scripting or testing bots, send me a PM.

Magoth78
04-29-2007, 09:50 PM
Hello there,

thanks for asking but I'm fine for the moment.

My next task is to write a full bot AI from scratch. It will take some time but I'll be sure that the bots will react correctly and not like standard NPCs.

G'day,
Mag

BrainiacVince
04-30-2007, 04:09 AM
Out of curiosity, are you going to make this open source when it is finished? I'd love to see how you made everything work. It looks amazing so far. Great job.

Magoth78
04-30-2007, 04:34 AM
Hello,

Yes, once finished, the sources and binaries will be availables.

Magoth78
05-01-2007, 08:20 AM
Hello there,

Important update!
You can check it on the website http://eqoffline.free.fr

G'nite,
mag

Ueguvil
05-01-2007, 10:20 AM
Looking great!

I got an idea... Is there any chance you could add a "mana call" command where you type something and everyone in the raid will give you their current % of mana?

Edit: Also, when you list the bots inventory is there any way you could make it link to the items instead of just printing out the item?

GeorgeS
05-01-2007, 03:32 PM
Very impressive - this will be awsome for leveling some of my lower characters. The non soloable characters will benefit greately.


Thanks a bunch

GeorgeS

weirdguy508
05-01-2007, 04:57 PM
Wow i cant wait for this... its gets boring playing alone all the time... this will deffinintly spice things up... but it will feel creepy playing with a duh lol... but anyways keep up the work mag looks awsome!!!

Magoth78
05-01-2007, 08:55 PM
Ueguvil, the raid isn't implemented yet. I'll focus on that later.

Adding a command that shows the mana can be done easily. Else, I can also check how to do to add a green bar under the bot name that shows its current mana. Instead of the pet HP, it will show the bot mana..

Concerning the link on items name, you're right, it will be easier to know the stats of the items that a bot is wearing. I'll check what I can do about that.

G'day,
Mag

Magoth78
05-02-2007, 08:10 AM
I've uploaded two videos that I made in Sebilis.

Nothing spectacular at all... just showing the bots and a very bad pull in the 2nd video.. :D

As you can see the bots (the casters atleast) stay packed. I will try to find a way to make them split once they stop. You can also see that the mage pets dosn't attack some time, that will be fixed very soon as I'm actually working on the bot pets AI.

Videos:
Sebilis 1 (http://dl.free.fr/sYhYS7Co/EQoffline-sebilis1.mpg)
Sebilis 2 (http://dl.free.fr/JnL7G7J2/Eqoffline-sebilis2.mpg)

Mag

Arex
05-02-2007, 07:18 PM
wow, very nice videos, congrats magoth. I only would change a thing, his position, they are all stucked

number6
05-02-2007, 08:09 PM
Just wanted to say, I love this idea and really hope it comes to fruition.

Magoth78
05-02-2007, 10:14 PM
Yes I have to make them split when they stop to move.
Shouldn't be too hard to do.. Will check.

John Adams
05-03-2007, 08:06 AM
Ahh, I knew if I procrastinated long enough, someone far more brilliant than I would come up with my dream; the 1-man raid army :) Excellent, indeed. I cannot wait to try it out.

dudeman123
05-03-2007, 09:02 AM
This is the best thing to happen to eqemu in my opinion. I say this because people in most servers behave in the same way... everyone solos until 65 then they become high level arrogant Mobo's...

I'm the type of person that wont level up unless i have group... but like i said, nobody wants to group in the lower levels or it may just be that i am some sort of megan00b without mad skills and nobody wants to group with me...
(either that ^ or my bad jokes)

But that's just my take in it...
Finally... I can enjoy this game with a full group all the time!
I can't wait until Magoth78's creation is complete!


Thanks Magoth78 for giving this game a second chance!

Arex
05-03-2007, 09:57 PM
it is the best idea from eqemu community since the idea of create a emu for eq, i cant wait a new update, i hold checking u webpage Magoth

Magoth78
05-05-2007, 04:39 AM
Hello,

The pets AI is finished and working fine. Every bot that uses pets can now cast their pets correctly.

Now, the mobs split around you so they are not packet anymore.
But, it may cause somes issues in closed places if you're really too near of a wall. One of the bot can go though the wall and if you're aggro'd it will not you assist you. I've experienced this while I was fighting in SolB. Now that I know that, I pay attention and it doesn't happen anymore as long as I stay in the middle of a closed place.

As I'm talking about issues, what doesn't work for the moment:
- Bard bots
- Group buffs (if they're casted by bots.. that's why bards bots re also broken)
- Crow Control by bots

Mag

Arex
05-06-2007, 10:20 PM
hey Magoth, i have checked u webpage, and i think that it is a good idea release code, then more people can test bots and see code, and the bugs should to be corrected before.

The links to code looks broken on u webpage, then i ll wait that u have it available. Thank you!

ArChron
05-07-2007, 03:54 AM
Hi Magoth78, I checked out your web page, and it seems like your AI is at least as good as some of the HI (human intelligence) I've played with in groups... Sounds like a very cool set of functionality you're adding.


" There were some majors issues like the bots were aggro'ing everyone in the dungeon, running everywhere, not assisting etc.."

Magoth78
05-07-2007, 04:45 AM
hehe, that's true :) the bots re working correctly now though... it becomes easy to do certain pulls that are riskys with a real group.

Concerning the sources, I'm making them cleans, commenting everything and pointing out the lines where I think I've made mistakes.

They will be soon available.

Mag

Magoth78
05-07-2007, 08:52 AM
You can see three source files (the most importants) in the Open sources section. Don't hesitate to give advise, be rude if the code is really too sucky (it's the best way to learn :p ), give your ideas..

I will release a beta version soon so you guys can try the bots. I would really like to finish all the things that are group related so we can start to focus on raids.

Just a little resume of the actual features:

1) Commands:
#bot help / #bot help create = shows the help
#bot create [name] [class] [race] [gender] = create your bot
#bot list = show the list of all the available bots
#bot spawn [Bot ID] = spawn yours bots (you can have the IDs with #bot list)
#bot group add [target] = make your targetted bot joining the group
#bot group remove [target] = remove the targetted bot from your group
#bot inventory list [target] = show the inventory of your targetted bot
#bot inventory remove [slotid] [target] = remove an item in the given slot of your targetted bot
#bot update [target] = update your bot (necessary once you've gained a level)

2) In-game
Since the start, you are able to create your bots and make them joining your group. Actually, the exp rate isn't based on the number of bots you have. So, you can set it to 0.3 (variable table) wich is fair.

3) After a level
Target all your bots and "#bot update" them so they will also gain power/spells.

4) Fighting in a closed place
As the bots don't stay packed and split, be careful to not stay too near of a wall. Else, if there is a bot in a wall, it will not assist you if you have the aggro.

5) If you want to play a CC, don't be surprised if the bots break your mezz's :D yes, the CC'ing isn't implemented yet and, in the actual state, the bots will always attack the mob that has the most aggro on you. That will be changed as I would like to make the bots always assist the main tank of the group. This way, it will be easier to CC or to make a bot able to do some CC.

to be continued,
Mag

dudeman123
05-07-2007, 09:49 AM
Just a quick question to Magoth78, but before that, let me bow before you. (/bows) Well, how would a novice like me implement this beauty and work of art that you created to a guide like this
eqemu 0.7.0 guide (http://www.eqemulator.net/wiki/wikka.php?wakka=WindowsServer70)

Arex
05-07-2007, 06:13 PM
I have any questions Magoth, my char is lvl65, then i would like create 5 bots lvl65, is it possible using command #bot update, or i need use SQL scripting? and other question, bots belong to database (any player can use any bot) or bots belong to players (each player have his own set of bots)?

Thank you!

Magoth78
05-07-2007, 09:15 PM
Dudeman, nothing special about installing Eqoffline as it's an eqemu server. You can just use your guide then paste the eqoff binaries (when they will be released) into your eqemu dir. You will have 3 things to add into the database also, nothing else.

Arex, you can create your bot when you want to. If you create them at 65, they will be 65 but use "#bot update" to be sure their stats are upgraded.

Mag

Magoth78
05-08-2007, 04:37 AM
Good news, bards bots and group buffs are now working. I'll update the sources on the site, later.

Now, I've to find a way so the bots are following normally and not warping around. Then, I will release the first beta binaries.

G'day,
Mag

Arex
05-08-2007, 06:33 PM
great work magoth!

Magoth78
05-10-2007, 03:58 AM
Hello,

The first beta binaries have been released.
More info on website.

G'day,
Mag

Arex
05-10-2007, 10:44 PM
Magoth, could u release server source code for linux users? Please...

Thank You!

Magoth78
05-11-2007, 01:25 AM
I will upload them tonight.

G'day
Mag

Zard
05-12-2007, 02:58 AM
Excellent work! Testing it out now. As per some email communication I made the mistake after pasting the files and inserting the SQL of starting my world with the same start.bat I always did, which ended up showing me an error when attempting to type any of the #bot commands. If you find yourself in this boat, then just start with zonedebugpearl.exe and worlddebug.exe instead as per Magoth78's advice in an email from him.

Thanks Mag!

Zard
05-13-2007, 05:11 AM
Perhaps I have yet another install issue. The casters do not seem to want to do thier part. Magicians do not cast pets nor help in battles. Most tank classes appear to be working well. Along with the Cleric class who heals me most diligently.
No classes have offered me any type of buff either. Enchanters just hang out like the mages, so do Wizards.
Even without any improvements from what I am experiencing now, it is still nice to have what works. So great job, I'm just letting you know what I am experiencing.

Magoth78
05-13-2007, 06:35 AM
Strange, are you sure that you used "#bot create" correctly ?
Are the casters grouped ?

What spellsID do you have on casters bots ? try a #showstats on them

Zard
05-13-2007, 08:09 AM
When I do #bot list it show them correctly as thier class.
SpellID's
Working: ( they do everything minus buffs )
Cleric: 1
Ranger: 10

NON-Working ( all below but bard just stand around, bard helps attack melee, but without songs)
Wizard he is spellsID: 514
Magician: 516
Enchanter: 517
Shaman: 518
Bard:11


When I do bot create I use the following for magician example:

#bot create Magic_man 13 6 male

This made a Dark Elf Magician Male with the auto spell ID of 516

Magoth78
05-13-2007, 08:32 AM
Your spellsID are fines but if you don't use the latest PEQ database, I'm not sure that they will work.

So first, be sure that you're using the latest PEQ database.
Second, group your bots. The bot AI will only start once the bots are grouped. Else they will do nothing.
If you have a lot of buffers, wait for 4-6mins till everyone in group get buffed.
Then, fight and see if everyone is doing his job.

But, as I've said earlier, when you fight, you must be sure that all your offensives caster bots have a line of sight with the pulled mob. Else, they won't attack and they will wipe their attack list.

Mag

Zard
05-13-2007, 09:02 AM
OK, I will give it a shot. I have been using my own database, but I will make a backup just in case I need to add some of my content back in. I will let you know my progress. Thanks.

Zard

tranquiltwist
05-14-2007, 10:34 AM
Magoth,

I seem to be having some serious issues getting this up and running on my server. I downloaded your beta binaries and put them in my EQEMU folder, and then ran the http://eqoffline.free.fr/README.txt steps in mySQL. everything went by fine- and then I loaded into my server only to find that "command 'bot' is not recognized."

this is my first undertaking with a server or even with mySQL.. so would it be possible for you or somebody else to write a step by step guide for dummies? It would be really appreciated, as I got super hyped when I read this.

Thank you, Mag. You've given the community something amazing!

-ttw

John Adams
05-14-2007, 11:52 AM
I don't know if you've put any effort into the linux/makefiles, but I thought I'd post for you an error I am getting compiling the source under FC4, with gcc 4.0.2:

npc.o(.text+0x9d1): In function `NPC::Process()':
/home/eqemu/build/EQEmu-EQOffline/zone/npc.cpp:563: undefined reference to `Mob::BOT_Process()'
npc.o(.text+0xa0d):/home/eqemu/build/EQEmu-EQOffline/zone/npc.cpp:565: undefined reference to `Mob::PET_Process()'
npc.o(.gnu.linkonce.r._ZTV3NPC[vtable for NPC]+0x16c): undefined reference to `NPC::Bot_AI_IdleCastCheck()'
npc.o(.gnu.linkonce.r._ZTV3NPC[vtable for NPC]+0x170): undefined reference to `NPC::Bot_AI_EngagedCastCheck()'
pets.o(.gnu.linkonce.r._ZTV3Pet[vtable for Pet]+0x16c): undefined reference to `NPC::Bot_AI_IdleCastCheck()'
pets.o(.gnu.linkonce.r._ZTV3Pet[vtable for Pet]+0x170): undefined reference to `NPC::Bot_AI_EngagedCastCheck()'
horse.o(.gnu.linkonce.r._ZTV5Horse[vtable for Horse]+0x16c): undefined reference to `NPC::Bot_AI_IdleCastCheck()'
horse.o(.gnu.linkonce.r._ZTV5Horse[vtable for Horse]+0x170): undefined reference to `NPC::Bot_AI_EngagedCastCheck()'
collect2: ld returned 1 exit status
make[1]: *** [zone] Error 1
make[1]: Leaving directory `/home/eqemu/build/EQEmu-EQOffline/zone'
make: *** [all] Error 2
I don't know enough C to read what this means, except that something appears to be missing. Like a dependency on the new .cpp file(s) maybe? If you can advise, I'd love to check this out. No hurries. My vacation is over, back to work F/T+ for me! sigh...

Magoth78
05-14-2007, 05:35 PM
tranquiltwist> You have to launch worlddebug.exe then zonedebug.exe

John Adams> I didn't try to compile the code under Linux but it seems that you need to add botAI.cpp and petAI.cpp to your project.

Mag

cavedude
05-15-2007, 01:45 AM
This is an excellent project, and I can even see a very good use for it in the normal EQ code. One of the biggest problems PEQ has is the players have to multi box to get to the higher content (some players multi box 6 clients at once... how they do it is my question) This code could help with that problem a bit. I have a couple of questions though.

1. Could you tie this system into the rules system so the server op can control how many bots a player can have at once? By level (1-15, 16-35, 36-55, 56-75, just examples) would be wonderful.

2. Could you diff your changes so they can be integrated into the ever changing EQEmu code easily?

Great work, I am impressed with how fast this project became a reality.

John Adams
05-15-2007, 07:12 AM
John Adams> I didn't try to compile the code under Linux but it seems that you need to add botAI.cpp and petAI.cpp to your project.
Thanks Mag, I'll check into it and let you know how Linux goes.

tranquiltwist
05-15-2007, 07:45 AM
on top of the original world and zone exes? or... alone?

if I run JUST worlddebug and zonedebug I can't zone once i get into the game... and if I run them on top worlddebug.exe crashes.

sorta confused :(

[it says "this zone is not ready to receive visitors yet.. please try again in a few moments."]

I've tried any combo of them... i either get bots and can't zone or i get to zone and no bots. o_O

Zard
05-15-2007, 12:32 PM
on top of the original world and zone exes? or... alone?

if I run JUST worlddebug and zonedebug I can't zone once i get into the game... and if I run them on top worlddebug.exe crashes.

sorta confused :(

[it says "this zone is not ready to receive visitors yet.. please try again in a few moments."]

I've tried any combo of them... i either get bots and can't zone or i get to zone and no bots. o_O
Just double click on zonedebugperl.exe again, each window = a second, third..ect. available zone.

dudeman123
05-15-2007, 01:17 PM
I am having a problem with zonedebugperl.exe. I get this error after i select a character.

AppName: zonedebugperl.exe AppVer: 0.0.0.0 ModName: zonedebugperl.exe
ModVer: 0.0.0.0 Offset: 0002034e
I am using
# Fresh Titanium install
# MySQL 4.0.23.
# ActiveState Perl 5.8
# EQEmulator Map Files
# cavedude's ServerPack 3.6
# MySQLCC
-- I added Magoth's exe's to my eq directory... and added those queries from the readme.
My eqemu server works normally. I start with minilogin.exe, then world.exe, then zone.exe. But when I use Magoth's exe's i cant get past the character select screen. I even tried using minilogin.exe with worlddebug.exe and the ZONE.exe and it worked. I tried using minilogin.exe, world.exe and zonedebugperl.exe but zonedebugperl.exe crashed.

>I did not know what logs to include in this post, but if you need more information or logs i will gladly supply them.

Zard
05-15-2007, 03:06 PM
I am having a problem with zonedebugperl.exe. I get this error after i select a character.

AppName: zonedebugperl.exe AppVer: 0.0.0.0 ModName: zonedebugperl.exe
ModVer: 0.0.0.0 Offset: 0002034e
I am using
# Fresh Titanium install
# MySQL 4.0.23.
# ActiveState Perl 5.8
# EQEmulator Map Files
# cavedude's ServerPack 3.6
# MySQLCC
-- I added Magoth's exe's to my eq directory... and added those queries from the readme.
My eqemu server works normally. I start with minilogin.exe, then world.exe, then zone.exe. But when I use Magoth's exe's i cant get past the character select screen. I even tried using minilogin.exe with worlddebug.exe and the ZONE.exe and it worked. I tried using minilogin.exe, world.exe and zonedebugperl.exe but zonedebugperl.exe crashed.

>I did not know what logs to include in this post, but if you need more information or logs i will gladly supply them.

Try Minilogin.exe, worlddebug.exe,zonedebugperl.exe...I use zonedebugperl.exe twice so that I can move from one zone to another.

tranquiltwist
05-15-2007, 04:07 PM
I ended up getting it to work later today.. but the bots do not zone with you. Mag, maybe you should try to make the bots a "pet type" npc so that they zone with their guild leader? they buffed up every time I zoned and restarted the group. Also, when I would try to #bot group remove [target], the zonedebugperl.exe would crash- thus causing the server to hang. :(

so I can run more than one zonedebugperl.exe? hmm..

Zard
05-15-2007, 04:20 PM
I also experienced the crash whenever removing bots from the group. I found it easier just to #kill them, but then again, I like decepticons :P

Arex
05-15-2007, 06:00 PM
John Adams> I didn't try to compile the code under Linux but it seems that you need to add botAI.cpp and petAI.cpp to your project.

I am having exactly the same problem, how can i add that files to project? I am professional developer (I work with java), and i feel stupid asking it, but i am not sure how to do it.

Magoth78
05-15-2007, 07:19 PM
Hello,

Cavedude: I will check what I can do with the rules system but that should be doable. Concering the diffs, yes I will post them once I've finished the project.

Now, I'd like to clarify some things up concering the install. In the binaries pack that you can download on the project's website, you can find 3 files (for windows). WorldDebug.exe and ZoneDebug.exe are the standard World.exe and Zone.exe with the EQoffline code changes.
So to make it works, you should make a directory named "old" (by example) and you move your actual world.exe, zone.exe and EmuShareMem.dll in it.
Then, you open the EQoffline package and you extract all the files in your eqemu dir.
Finally, you rename WorldDebug.exe > World.exe and ZoneDebug.exe > Zone.exe.
You will be able to launch your server normally with the bots.

Concerning the Linux compile, I think that botAI.o and petAI.o have to be added into the makefile.common, not sure though. I will try on an Unbuntu when I ll get the time.

Crashing when removing bots from the group happened to me but I thought I had it fixed. Does it happen all the time ? Are you using "#bot group remove <your_target>" ?

About the fact that the bots don't zone with you. Yeah, I didn't make them zone with you. At this time, I even don't know if I can do it. Not sure I will start to work on it in the future though, it's not really a prority. I really want to debug all the basics things first.

Now, about the news. I'm actually leveling a character with bots to see what are the bugs and what I could improve.
I think that all the buffing, healing, DD'ing things are fines.
At the start, I didn't really like the way they follow their leader and how they split once they stop. But, I don't know how I can do otherwise. After all, that's working correctly. The only issue is when we're in a closed place and you have the aggro while they re in a wall, they won't assist. I can make them assist but if I do that I remove the Line of Sight check and the bots can aggro mobs through walls, floors etc... wich is not good.

Now what is not fine to me is the way the mobs assist.
Actually, they attack only if they (each individual bot) or you have the aggro.
Their target is the aggro'd mob that has the most aggro on them or you.
It's not good because if you play a CC class, they will break your mez in 80% of the cases.
I really need advise on how they can assist. What I can do is that they only assist the warrior in your group. And the warrior only attack/assist you.

G'day,
Mag

Arex
05-15-2007, 08:15 PM
Concerning the Linux compile, I think that botAI.o and petAI.o have to be added into the makefile.common, not sure though. I will try on an Unbuntu when I ll get the time.

I can try it for u on my ubuntu machine, i ll say tomorrow if adding that files to makefile.common compilation is working.

Crow102
05-15-2007, 09:01 PM
so to install your bots all I would need to do is extract WorldDebug.exe and ZoneDebug.exe and re-name them the standard World.exe and Zone.exe to my emu directory and thats it? I don't have to change anything with Perl or MYSQL?

Sorry if it sounds like a stupid question, still a little bit of a newbie with this stuff.

Magoth78
05-15-2007, 09:16 PM
It's np. Yes, you just have to rename the files in the archive to world.exe and zone.exe

Arex, ok let me know if that works.

Mag

dudeman123
05-15-2007, 11:34 PM
Try Minilogin.exe, worlddebug.exe,zonedebugperl.exe...I use zonedebugperl.exe twice so that I can move from one zone to another.
Still getting an error from zonedebugperl.exe.

tranquiltwist
05-16-2007, 03:30 AM
I get an error from zonedebugperl.exe.

Mag-> I recommended the pet class option so that some control of the bots could be had. I'm playing around with this using a wizard... and he continuously dies before the bots even raise an eyebrow, let alone their sword at the aggro. so just like /pet attack helps out monumentally, i think that a #bot command to have [each one or all of them] attack.

Also: Enchanter just stood around in battle... didn't do any CC at all. He buffed, yes, but that was about it. Bard didn't do any songs except when I first invited him. Also had a graphical issue with the rogue... i gave him an Ifir and a discordant dagger of night... and he was running around with a table in his hands. [i fixed this by giving him other weapons]...

Zard
05-16-2007, 08:20 AM
Dudeman123 - I would be unable to assist further as I am not sure and would hate to lead you on a goose chase. The previous advice is what works for myself.

Tranquil - Just a thought, do you use a large nuke or spell that would cause mass aggro? Your best bet IMO to play while it is in its current state would be to mem a level 1 nuke and use it for pulling purposes. In higher levels this may even cause more concern tho due to the amount of damage a wiz can take from a high level mob even with the first spree of attacks ( assuming your tank could remove aggro that quckly ). I would pull with a low level spell for minimum aggro, then I would let the tank classes build some aggro before continuing the bombfest. Just my thoughts.

Mag - I am still attempting to set up a PEQ database ( it has changed a lot since I first started and have to familiarize myself with some new database tools to set it up ) I have not forgot to follow up when I hopefully get the bots to buff and casters to assist in attacking.

Arex
05-16-2007, 06:57 PM
Arex, ok let me know if that works.

it is working doing the changes that u said in makefile.common

I want give u any fails that i have seen...

* When u invite to group to bot, u can see on u bar group the name of bot like "name_bot000", i think that it should be easy remove that three zeros.

* When give to bots equip that they cant use (for example i gave complete velious rogue set to a CLERIC, and the cleric was equiping it...).

* How can i delete a bot? I did it with SQL scripting, but i didnt see any command for it. command remove group to bot, do zone crash.

* what skills have bots?? improve they his skills like a normal player? I think that there is a problem with stats or skills of bots, they are very weaks...

* When you use #update command, u must respawn bot.

* When u spawn a bot, u cant see his equip, but when u invite him to group, the equip is visible.

Magoth78
05-16-2007, 10:50 PM
Thanks for the reports,

1) Yes, you see the name of the bot with the number behind their name. I had to do that because a mob is an unique entity with an unique name in the zone. I've tried to add their "clean name" (without the number) in the group bar but it didn't work. That's why I had to keep their full entity name.

2) Hm, a cleric shouldn't be able to wear a rogue set. I've checked into the code and I can confirm it. But what you see is "Thank you for this item, Leader." but in fact, the bot dosn't really equips the item. Did you try to "#bot inventory list (target)" on the bot to see if the rogue set was in its inventory ? Did you see any graphic change ?

3) Actually there is no commands to delete bots. I will add it. What you can do is to delete the field in the npc_types table. You would have to delete the entries in the botinventory table also. But, I will add a command that deletes a bot and its inventory.
Concerning the "#bot group remove (target)" commands crashing the zone, I've seen that you guys have this issue. For some reasons I don't, I will check that asap.

4) Actually bots are exactly like mobs. They hit the same ways the mobs do. For that reason, the way they fight isn't good at all. I have to make them as close as the clients but that's a lot of work to do, really.
As you noticed, some of them are weaks even with crazy weapons. That's why I'm going to write a new Attack() function for the bots. I want to make their dps directly depending of their stuff. I want to make the bots being really weak if they don't have any stuff and tougher with stuffs. Again that's a lot of work.

5) Yes, once updated, a bot must be respawned. When you do a "#bot update (target)" it updates its stats in the database. To make them taking effects, you have to respawn the bot so it has the new stats. I didn't see any other way to do otherwise.

6) Yes, a bot doesn't have any equip and doesn't have any form of AI if it's not grouped. Once you invite it, it loads its AI and equips its own stuff. That's not a bug, just a limitation for the moment.

Thanks again for thoses reports. It looks like I have a lot of work left to do before I begin to work on the raid.

G'day,
Mag

Arex
05-16-2007, 11:45 PM
2) Hm, a cleric shouldn't be able to wear a rogue set. I've checked into the code and I can confirm it. But what you see is "Thank you for this item, Leader." but in fact, the bot dosn't really equips the item. Did you try to "#bot inventory list (target)" on the bot to see if the rogue set was in its inventory ? Did you see any graphic change ?

i saw graphic change, but like u say, i have checked bot inventory table, and he havent any item...

Zard
05-18-2007, 12:33 PM
Finially got time to set up the PEQ database and its working like a charm, excellent job Mag!

John Adams
05-18-2007, 02:47 PM
Sadly, I still cannot seem to get into this system. It compiles now, but I think either my database is messed up, or because I am using a Titanium client. I get the old "zone unavailable", which I thought was normally just database.

Sleepy day. I will try again tomorrow.

Arex
05-20-2007, 08:14 PM
more bugs:

* If u spawn a bot already spawned, zone crash

* any times i get zone crashes, and the next log in zone: castspelltoclient(NULL)

* any times u invite to bots and they dont move and dont follow u, then zone crash

* when u give a shield to a mob, they looks dont to be using it correctly, and graphic shield is not showing.

* many times bots dont attack or dont to do dmg, for example rogue...

Magoth78
05-20-2007, 08:32 PM
Hello,

* If u spawn a bot already spawned, zone crash

Can you give more info on that, please.
You used "#bot spawn <id>" 2 times in a row with the same bot ID and the zone crashed ?

* any times i get zone crashes, and the next log in zone: castspelltoclient(NULL)

Ok.

* any times u invite to bots and they dont move and dont follow u, then zone crash

You're on Linux right ? are you sure that you're using the world, zone binaries and libsharemem.so that you've compiled and not your old ones ?

* when u give a shield to a mob, they looks dont to be using it correctly, and graphic shield is not showing.

That's a known issue.

Thanks for the report,
This week, as I have a bit of time to spend on the project, I'll fix the reported issues.

G'day,
Mag

Arex
05-21-2007, 07:53 PM
You used "#bot spawn <id>" 2 times in a row with the same bot ID and the zone crashed ?

yes, i used bot spawn 2700006 2 times and zone crashed...

You're on Linux right ? are you sure that you're using the world, zone binaries and libsharemem.so that you've compiled and not your old ones ?

yes, i was using all ok...

Also i have to say that i was playing with my cousin, each one with a group of 5 bots.

Magoth78
05-21-2007, 09:29 PM
Ah ok, it doesn't crash when you're alone (with your bots) on your server right ?

I forgot to mention that, for the moment (the beta binaries), Eqoffline is offline and solo. The faculty to have multiple clients with bots on the same server is a future option.

Mag

Magoth78
05-23-2007, 06:45 PM
Critical update about zone crashes.

You shouldn't crash anymore when you :
-- use the "#bot group remove (target)" command
-- log off while grouped with bots.
The binaries have been posted on the website.

This week-end, I will write a special attack function for the bots so their damage is calculated on the weapon damage/delay they use, their stats, etc...

smartmonkey777
05-24-2007, 07:00 PM
wow This is a great concept ! i cant wait to try this out ..

will be awsome with multiple client compatability/raid compatability ..

you are planning on this at some point in the future?

Magoth78
05-24-2007, 10:54 PM
Yes, it's planned.

I will work on raid compatability once :
- melee bots damage output is correct
- the bots assist intelligently
- the bots are able to CC

Multiple clients is something that should work right now. What I just have to do is to check the functions where I send the info to their respective bot leaders. I will check that.

G'day,
Mag

John Adams
05-25-2007, 06:57 AM
I'd like to see a working Linux compile (though I think that actually might be ok now), and support for Titanium if at all possible. Maybe that's why I cannot log in - Titanium-boy.

Zard
05-26-2007, 01:41 AM
It works for me using winxp/titanium.

Magoth78
05-26-2007, 05:59 PM
Hello there,

I actually have a problem with formulas for the melee bot output dmg. The goal is to make their dmg calculated on criterias and to be as close as the clients.

My maths are pretty bad and I need your help.

For the dmg calculation, I would like to take into consideration:
- the lvl of the bot
- the class
- the atk/delay ratio of a weapon (1h, dual wield and 2h)
- the str/dex/agi depending of the class
- any other criteria ?


For an example and for a warrior with 100str, I've tried:

For a 1hand weap in the primary melee slot:

( (atk/delay)*(str/3) ) + lvl


For a 1hand weapon in the secondary melee slot:

( (atk/delay)*(str/3) ) + (lvl*0.33)


At lvl10, with a 10/30 weapon, the warrior would deal as its max melee output:
primary: 14dmg

At lvl20,
primary: 18dmg

at lvl50,
primary: 27dmg

wich isn't accurate at all..

This is just an example to show how bad are my maths and what the issue is : to find a correct formula for the melee bot.


The second issue is the way the bots do assist. I need to have advises/ideas on this.
Actually, each bot attacks the mob(s) that attack this bot. Also, each bot attacks the mob(s) that attacks you(the leader).
It needs to be improved and for that I have an idea but I need your advises.
I can make it so each bot (but the CC bots) assist the main melee of the group. I mean, if there is a warrior, they only assist him, else if there is a SK they assist him, else if there is a paladin, etc... This way, it will be easier to code the CC bot so they can do some CC on adds.

But now, what happens if you're not grouped with any melee ? I could make it so they assist you by default... or a pet...

Any ideas on this ?

G'day,
mag

mattmeck
05-26-2007, 07:13 PM
How hard would it be to have them **listen* in group?

Like you state "assist me on this rat" then they assist you on that, "off tank to a_Snake" then the pally or SK goes to that.

Make the player like a general, to distribute the bots.

Another this is, can you tag them as MA, SA etc? like send them a tell, "main healer" "main tank" "off tank" to have them learn there roles?

Having the enchanter auto mezz adds would be nice, but what about unmezzable mobs? need to off tank them, and allowing the players to decide what to do when would add a more **realistic** feel to the bots.

kouhei
05-27-2007, 05:35 AM
heck with a program like these bots soon we real lfe humans won't be needed. The BOTS will take over and do everything. :-D

Elysius
05-27-2007, 07:49 AM
How hard would it be to have them **listen* in group?

Like you state "assist me on this rat" then they assist you on that, "off tank to a_Snake" then the pally or SK goes to that.

Make the player like a general, to distribute the bots.

Another this is, can you tag them as MA, SA etc? like send them a tell, "main healer" "main tank" "off tank" to have them learn there roles?

Having the enchanter auto mezz adds would be nice, but what about unmezzable mobs? need to off tank them, and allowing the players to decide what to do when would add a more **realistic** feel to the bots.

I am really really hoping for something like this.

Magoth78
05-27-2007, 08:01 AM
Hello there,

Mattmeck, this is very interesting.

Making them listening the leader shouldn't be too hard to do.
Giving orders to the bots is what I'm doing automatically depending of situations. Theses methods are defined in their respectives AIs.

Like you say, another option would be to directly give orders to the bots wich would give a strategic dimension. Now, the only issue I see on this is that you would play more as a commander than a player. Even if the orders stay very simples like "assist me on %target", "off-tank1 on %target", "mez %target", etc.. you would spend more time to give order than fighting.
But that's an interesting option.

Concerning the possibility to tag them. That's what I'm actually thinking about. I think that's the only way to work with raid bots. Yes because there will be a gestion of more than one single group and you will have to assign tasks, main tank, off-tanks, etc..
As an example, if you want to have 4 groups, you would have to:
- create the groups
- make the bots joigning their group
- assign each leader (there will be 4 leaders: you and 3 bots)
- give "general" tasks to other groups leaders like, for example, "Assist g1/2/3/4", "Guard the place", "follow g1/2/3/4", etc... I can do that with the #commands so it's easier to bind the keyboard keys.

Concerning the enchanters being able to mez the mobs. As the unmezzable mobs can't be mezz'd, the enchanter must first check the "mezzability" of its target. If it's mezzable, then it will mez. Else, it will pass to the next mob. Once all the engaged mobs have been checked, the enchanter can start to make some damage on the main target.
Now, yes, I can (and it would be easier) to make it so the leader decides when a bot can mez the target. The #commands could be "cc1/2/3/4/.. mezz my target %target".

Kouhei, the bots will always need us to fix the bugs we have coded in them, so don't worry :D

ArChron
05-30-2007, 05:10 AM
Hello there,

For the dmg calculation, I would like to take into consideration:
- the lvl of the bot
- the class
- the atk/delay ratio of a weapon (1h, dual wield and 2h)
- the str/dex/agi depending of the class
- any other criteria ?


For an example and for a warrior with 100str, I've tried:

For a 1hand weap in the primary melee slot:

( (atk/delay)*(str/3) ) + lvl


For a 1hand weapon in the secondary melee slot:

( (atk/delay)*(str/3) ) + (lvl*0.33)


At lvl10, with a 10/30 weapon, the warrior would deal as its max melee output:
primary: 14dmg

At lvl20,
primary: 18dmg

at lvl50,
primary: 27dmg

wich isn't accurate at all..

This is just an example to show how bad are my maths and what the issue is : to find a correct formula for the melee bot.



Does the delay factor into frequency of attack in the Emu? If my weapon's delay is 10 and yours is 40, do I attack 4 times as often (all other things being equal)? If so, delay should be factored out. IIRC, the damage/delay is a rating method for comparing the potential of weapons.

Bot level as an additive factor for damage should probably become a multiplier, but maybe not a full multiplier (a lvl 10 bot need not do 10 times as much damage as a level 1 bot).

Damage = random(0..1) * Item damage * skill factor * strength factor * class factor * level factor.

skill factor could account for a portion of the noob vs l33t toon... I'd probably rate this one with a 1.0 multiplier somewhere in the "competent with the weapon" range of 50-60? Skill 255 could be 4.5 multiplier, Skill 1 could be a 0.1 multiplier.

strength factor ideally takes into account the weight of the weapon. a bot with low strength should be penalized with a heavy weapon. an uber-strength bot should get some damage bonus for all those muscles.

class factor is primarily melee or not, a flat percentage penalty for casters. casters can mitigate this by upping their skill, but they should never be as good as a melee class.

level factor shouldn't be huge... skill with the weapon type should be more important (i.e., bigger multiplier)... Take your level 40 toon in EQ and have it fight using a weapon for which it has no skill... and guess what, you suck!

It would be interesting to do a "live" calibration with established non-AA, untweaked toons... it should be easy enough (for those that have time on their hands) to whip up new toons in EQ, equip them the same and compare output... then you'll at least have a notion of what you're trying to approximate.

Well, that's my own 2 cents for what it is worth...

EmanonCow
05-30-2007, 08:25 AM
Why attempt to not use the routines/math that EQEmu uses to determine player damage?

Magoth78
05-30-2007, 10:30 PM
Because it's too complicated. A player uses skill, item stats(+dmg), AAs, etc.. for his dmg calculation. I can't set it for a bot...

Zard
06-02-2007, 01:40 PM
More detailed discovery & troubleshooting at this recent thread...
http://www.eqemulator.net/forums/showthread.php?p=133476#post133476
In a nutshell, when I use these files to play the bot version, the NPC mobs will not cast buffs on themselves when a zone loads up as they should. At least this is happening for me. I can't believe I did not notice this sooner, perhaps it was because I switched to PEQ's database and expected some differences. If I use the regular world and zone start up files the NPC's act as normal. Let me know if you think it is a bug or my sneoobidness :-D

At the moment, I will stick with bots lol....I would rather play with a group on the solo server with no internet access.

Zard
06-06-2007, 05:40 AM
Can anyone else confirm if this is happening on thier servers?

Thanks,
Zard

shadowdeamon01
06-17-2007, 07:00 AM
cant seem to download the files from mag's site, anyone else having problems?

Magoth78
06-17-2007, 06:55 PM
Hello,

back from vacations.

Zard> You're right, for some reasons the npc (but bots) don't cast their normal spells. That must be something that I've changed recently in the code, I will try to fix that.

shadowdeamon01> At the moment, you can download the windows binaries files. I've removed the codes from the website because it changes very often and I don't want to upload it each time I make a change.

Mag

Zengez
06-28-2007, 01:11 PM
Some things I've noticed... inviting a player to a group where bots already exist crashes the game every time, but adding the player before summoning the bots works fine...

::EDIT:: Also seems trying to zone in to a zone with active bots by another player crashes the zone, at least from char select haven't tried just regular zoning yet

also bots won't help anyone but those that summoned them, so a secondary player won't receive heals or anything from a bot, I know you haven't really put in support for multiple players yet but figured I'd at least give you a heads up

on those lines bot's hp bar in the group window don't show up for anyone but the person with the bots.... so other people in the group see nothing.

And finally as an aside, I can't help but notice that at higher end clerics are healing for 400 while shamans are healing for 600... this is at 50+... I know clerics get smaller faster and more effecient heals at higher end, but it's kinda sad to see a warrior with 10k hp get healed for 400 at a time hehe maybe some way to impliment a check into that, like whatever you use (I assume something along the lines of when player hp is <70% cast: (latest heal spell) but perhaps a sub line like
if player health is <70% then:
If player is missing 100-600 hp cast 400 hp heal
If player is missing 700-1100 hp cast 1k heal
If player is missing 1100+ hp cast CHeal

I know it's not that easy since you have to take into account caster level and spell levels and whatnot, but even if it lagged behind the character's actual ability so that you only type up a new hierarchy every 5 or 10 levels I think people would be willing to deal with a slightly behind the curve cleric that heals accurately instead of one that spams the latest heal even when it's not at all useful... /shrug just my thoughts, If you want I can dig through lucy and come up with an actual hierarchy by level range. For most classes or applications this isn't terribly necessary just healing since it's so Time sensitive /shrug

John Adams
06-29-2007, 07:47 AM
I really need to try getting this to work again... I feel I am missing all the fun!

Magoth78
06-30-2007, 12:14 AM
Hello,

Zengez, there isn't any support for multiplayer at the moment, that's why you re experiencing a lot of issues if you log more than one client.
But multiplier is something that I will like to work on in the future. I can imagine a server where everyone can have his own group. A raid would be doable with 4-5 players, that could be nice on pve and pvp servers.

Concerning heal. A bot, when it spawns, learn its spell list depending its level/class. When a heal is needed, it will scan its spell list and the first heal will be the one it will use everytime. I can't change that for the moment but that's something I will have to look into.

Magoth78
06-30-2007, 10:03 AM
Update:

-- I've fixed the issue that occured since the last patch concerning NPC's spells. They re now working correctly. Download the latest builds on my website.
-- I've added a new command: "#bot group summon" that will summon all your grouped bots to you, then they will take place as they should (they will just split). This command will be usefull in closed place I think.
-- the full project's sources are availables again on the website.

'Nite,
Mag

Zengez
07-01-2007, 12:15 PM
Any chance to get an adapted version to the 6/19 version of the emu, so functions like #traindisc and all those other fixes work in the bot version? Not really sure how extractable your work has been or if that would be a huge PITA.

Magoth78
07-01-2007, 12:16 PM
Last update for the week-end:

-- The way the bots and their pet were assisting has been reworked a bit.
-- New command "#bot ai mez [target]". If grouped with an enchanter, when you will use this command, the enchanter will try to mez the target. Careful, it's based on a random timer so the command isn't always available.

More info on website.

Later,
Mag

Magoth78
07-01-2007, 12:22 PM
Any chance to get an adapted version to the 6/19 version of the emu, so functions like #traindisc and all those other fixes work in the bot version? Not really sure how extractable your work has been or if that would be a huge PITA.

I can't make it, that's too much work for the time I've atm.

Magoth78
07-06-2007, 09:12 AM
Hello,

I've started to work on the raids.

The raid related commands are:

#bot raid help - will show this help
#bot raid create - will create your raid (you will be the raid leader)
#bot raid group create [target] - create a group in order to make it joining your raid (your target will be the leader, basically a bot).
#bot raid invite bot [target] [group: 1/2/3/4] - Invite your target into the group [1/2/3/4]
#bot raid link group [target group] - Add target's group into your raid.
#bot raid remove [target's group] - Remove target's group from your raid.
#bot raid disband - Disband the raid.
#bot raid order maintank [target] - Your target will be flagged as the main tank.
#bot raid order secondtank [target] - Your target will be flagged as the second tank.
#bot raid order maintarget [target] - Your target will be flagged as the main raid's target.
#bot raid order secondtarget [target] - Your target will be flagged as the second raid's target.
#bot raid order grouptarget [group: 2/3/4] [target] - Your target will be flagged as the target of the group [2/3/4].
#bot raid order task [attack/guard] [group: 2/3/4] - You will give a specific task [attack/guard] to a specific group [group 2/3/4].
#bot raid order task [follow/assist] [group: 2/3/4] [group: 1/2/3/4] - Give a task [follow/assist] an other group.

How will that work:

Once you've created your group, you are able to create a raid.
1/ You use "#bot raid create". You become the raid leader and your group is the first group of the raid.
2/ You need to create others groups (A raid = 4 groups max). To do that, you need to target a bot wich isn't already grouped and use the command "#bot raid group create". He will become the leader of its group.
3/ You can add a member to the groups 2/3/4 by using the command "#bot raid invite bot [target] [group: 2/3/4]"
4/ You need to link the group to the raid with the command "#bot raid link group" while targetting a member of the group that you want to link.
5/ And finally you can flag the raid's tanks, assign the raid's target(s) (to the raid or to each group of the raid), give particular tasks to each group, etc... with the "#bot raid order" commands.


All the commands and the functions are coded. Now, I have to do some testing and I have to modify the bot's AI.

Good day,
Mag

John Adams
07-07-2007, 05:34 AM
Very exciting! I still wish I could get mine to compile. ~cries~

I wasn't going to trouble you with my error, but it seems catastrophic. I am not sure how I managed this...
/home/eqemu/build/EQEmu-EQOffline/zone/npc.cpp:563: undefined reference to `Mob::BOT_Process()'
npc.o(.text+0xa0d):/home/eqemu/build/EQEmu-EQOffline/zone/npc.cpp:565: undefined reference to `Mob::PET_Process()'
npc.o(.gnu.linkonce.r._ZTV3NPC[vtable for NPC]+0x16c): undefined reference to `NPC::Bot_AI_IdleCastCheck()'
npc.o(.gnu.linkonce.r._ZTV3NPC[vtable for NPC]+0x170): undefined reference to `NPC::Bot_AI_EngagedCastCheck()'
pets.o(.gnu.linkonce.r._ZTV3Pet[vtable for Pet]+0x16c): undefined reference to `NPC::Bot_AI_IdleCastCheck()'
pets.o(.gnu.linkonce.r._ZTV3Pet[vtable for Pet]+0x170): undefined reference to `NPC::Bot_AI_EngagedCastCheck()'
horse.o(.gnu.linkonce.r._ZTV5Horse[vtable for Horse]+0x16c): undefined reference to `NPC::Bot_AI_IdleCastCheck()'
horse.o(.gnu.linkonce.r._ZTV5Horse[vtable for Horse]+0x170): undefined reference to `NPC::Bot_AI_EngagedCastCheck()'
collect2: ld returned 1 exit status
make[1]: *** [zone] Error 1
This is the latest links from your site, clean tar extract, and I don't think I changed anything in the makefiles this time (like removing eqcollector or whatever). Compiling on Linux FC4, so it's older... mysql 4.1, etc.

Any clues? I had it compiled once before on Linux, but could never log in. Now, I cannot even get it to make. :(

Magoth78
07-07-2007, 06:34 AM
You need to add BotAI.cpp, BotAI.h, PetAI.cpp and PetAI.h to your Makefile.

Magoth78
07-07-2007, 04:46 PM
Update:

-- Bots/pets's assists totally reworked.
-- Fixed the random crashes when a bot died. (should be ok now)
-- Rewrited all the things related to groups (I think you can now have 2 differents clients in a group with bots - need more tests though).

-- And very important... Raid is almost finished!
You can create your raid, create other groups, adding bots to the other groups, setting raid main tank, second tank, main target, second target, targets to be mezz'd, etc...
I've tested the raid thing against Trakanon and it worked perfectly. All the healers healed the main tank in priority. it this one died, they could have healed the second tank. Everything worked fine till I took too much aggro on Trakky and died pretty quickly :P as you can notice... the bot did their job, the only human on the server sucked and caused the raid to wipe... so common :D

The next days, I will finalize all the functions related to raid then I will make a video to show how fun it is.
And finally, the final task will be to make bot doing the melee damage depending of the weaps they have, that will make the game more realistic.

G'day,
Mag

John Adams
07-07-2007, 05:10 PM
You need to add BotAI.cpp, BotAI.h, PetAI.cpp and PetAI.h to your Makefile.
Wow, that simple huh? This was the source package from your site though, so I thought it had everything in the makefile. :) sorry for not doing my due diligence first heh. I'll give it a whirl.

Magoth78
07-07-2007, 05:25 PM
Yes, thoses files are in the sources package. They are added into the Visual Studio's project but not in the linux's project.

John Adams
07-07-2007, 05:42 PM
My sincerest apologies, Magoth... I posted almost the exact same question on page 2 and totally forgot (2 mos ago hehe). You then told me the same thing, and I just spaced out.

Added BotAI.o PetAI.o to zone/makefile.common, and all compiled well (after excluding the normal failures like azone, eqcollector and eqextractor)

I think I'll start with a nice clean database this time too. ;)

John Adams
07-11-2007, 01:38 AM
I am so very pleased to report, I got my EQ-Offline compiled, a new database in stalled and updated, running, and connected! And, got to play with my first Cleric-bot tonight. If I wasn't so sleepy, I'd be up all night messing with this.

It is very, very cool. Nice work, Mag! I'll start finding bugs tomorrow. LOL ;)

Magoth78
07-11-2007, 02:56 AM
Cool John!

Don't forget to link the http://eqoffline.free.fr/npc_spells_entries.rar into your database if not done already. It has the fix for the mez's bot (that you can command with "#bot ai mez").

For my info, does EQoffline eat a lot of CPU/Ram on your server, John ?

G'day,
Mag

John Adams
07-11-2007, 10:52 AM
I got too tired to extensively test last night, but I will setup some monitoring and let you know. FYI, my server is Linux Fedora Core 4 w/MySQL 4.1.

Something that I am sure has nothing to do with your bots, my Linux server overheated last night for the first time ever - started throwing errors that the CPU was going into low-utilization mode. In all my years, I had never seen that. But, the box was also in an un-ventilated, enclosed space... but, it's always been there. this was the first time I saw it do this. If it happens again, I'll let you know. :)

One thing I also noticed, when I was done with Bots, I logged out, and Linux (the whole OS) crashed - BUT, this also happens with the regular EQEmu on occasion. If it's persistent, I'll let you know that too.

John Adams
07-11-2007, 02:19 PM
I do have something to report - though I will level myself up and try in a non-newbie zone. I made my Vah Shir rogue, summoned 1 cleric bot, then went down to the newbie area of Shar Vahl (below the bridge). Not only were the mobs wandering down through the surface of the ground and through solid rocks, none of them got Hate on me even while I was doing damage. They'd stand there, until their timer kicked in to wander. And I'd follow behind a completely non-aggressive mob killing it slowly (level 1).

Now, this might be core Emu as well. I'll test it on my live server tonight to compare.

Magoth78
07-11-2007, 02:24 PM
Look like to me you didn't add the maps in your map repertory.

Btw, there was a serious issue with CPU overheat in the latest sources. I've noticed that while installing the package for a friend. I've found my error and I'm actually fixing it.

Should be ok in the day.

G'Day
Mag

Magoth78
07-11-2007, 03:02 PM
Ok, updates:

1) I've rewrited the Mob::IsBot() command. No more database calls at each Bot_Process(). No more CPU/DB loads.

2) As asked, I have added a new command:
#bot group order follow/guard

Follow: your group will follow you
Guard: Your group will guard the place

3) Next tasks:
-- finalizing raid (almost done)
-- making 2 videos (group and raid)
-- writing the documentation

Later,
Mag

John Adams
07-11-2007, 03:46 PM
Ahh so it was you over-cooking my CPU! hehe... lucky my fancy motherboard took over and shut me down.

I'll check on the maps, though I am sure I have them all in ./Maps. And, I'll try in other zones and on base EQEmu as well.

One more question :-)

Is it fixed where 2 players on the same server/zone can have a group of bots? I will test later, but last I read there was a crash with that. Personally, I think that would be higher value than raiding bots, but a single-player raid sounds great to me! Die, AoW, die!

Magoth78
07-11-2007, 04:05 PM
I've tested yesterday with a friend. Yes, it worked. 2 (or more) players can have their group. They can even have their respective raid... 24 + 24 = 48 ;) that will help a bit on though fights.

John Adams
07-11-2007, 07:30 PM
I am going to name my first baby after you, though he may get mocked in school "Magoth? wtf?"

But thank you for this great customization. Soon as you fix the cooking CPU, I'm going to beat it up. Nice work!

Haerikk
07-12-2007, 08:56 AM
Hello! I just wanted to throw my 2c in and say thanks for developing this. I am no kind of programmer at all myself, so this project here just impresses the heck out of me!

I tested the build you had up yesterday last night, and it seemed to work very well indeed. I can, however, verify that the cpu load is spiking under WinXP sp2 also, to the point of destabilizing my system. Mind you, my system ain't the biggest dog on the block by any means, but I thought you might like the feedback from a non-linux platform as well. If you would like my system specs, just give the word.

Looking forward to your next update, and thanks again for taking the time to do this ;)

-Haerikk

Magoth78
07-12-2007, 12:41 PM
Hello there,

Yes the CPU loads is fixed. I'm just finalizing some stuffs before releasing the new binaries. I think, I will upload the temporary sources/binaries today so you people can play decently.

Mag

John Adams
07-12-2007, 08:28 PM
I am spam-refreshing your page waiting for the new sources hehe. Can't wait.

John Adams
07-13-2007, 01:42 PM
I have some zone crashing bugs to report.

1) If I summon 1 bot (WAR) and tried to add to my group, at first it's ok but after about 5 minutes, the zone crashes. I tried this in multiple zones, static and dynamic. With another player in zone and without. Also, no fighting was happening. I was actually searching for gear for my Tank-bot. This happens every time on my Linux compile. I will try Windows binaries this weekend, see if there is a difference.

2) Same thing happened when I summoned 5 bots (CLR, WAR, MNK, WIZ, ENC), after a few mins of spamming their buffs, they go silent because the zone crashed.

3) Bigger bug - If you create a bot with the same name as a player character, and summon it, the player is booted from the server. New pest control? :D

4) 2 players in same zone, playing with bots, crashed the zone - but this might be because of the 1st bug.


Enhancement Request:
Is it possible to secure the "#bot list" to creator-only? It looks like if I create some bots, anyone else can list them and spawn them, and likely change their gear setup. Is this intended?


I haven't had a chance to start a fight yet, because of the crashing. So for now, this is all I have.

Thanks!
J

madborg
07-13-2007, 03:17 PM
i like the idea of bots a lot. in fact i have been trying in various places for some of the bot like things. a few years ago in a mud-dev list i advocated the use of external bots and that wasnt well recieved. i was going to add that part into my mud server but it wasnt worth my time then.
the best i did was use multiple logins with scripting clients.

a bot port would be nice because there is no need for graphics just the ability to send and read messages. of course i would add in additional hooks - something that a normal player wouldnt have access to but would make the life of the bot easier. maybe a bot port wouldnt be necessary for a first pass since we were able to do a lot with just a scripting client but there are limitations to that.

i found a NWN emulator (very crude) and the guy set up a separate server for mob control. one nice thing about an external mob is that the logic can be very complex without it affecting the game server. well maybe some effect since the server and the mob controller have to talk to each other.

i dont know of any project where they have pushed the whole concept of external controllers and bots.

dark_fusion
07-13-2007, 04:33 PM
This is absolutely awesome Mag! Great job!

I really look forward to the next release, cant wait to play around with those raid commands, thats gonna be sweeeet.

Keep up the good work! 8-)

Magoth78
07-13-2007, 04:52 PM
Thank you. I'm actually debugging the raid stuffs...
It might take more time than I thought.

Sorry about that,
Mag

Magoth78
07-13-2007, 07:04 PM
Temporary windows binaries : http://eqoffline.free.fr/Build.rar
Temporary sources files: http://eqoffline.free.fr/EQEmu-eqoffline.rar

A lot of things got fixed. The raid is almost finished, I'm just finishing the debugs...


G'nite,
Mag

Haerikk
07-14-2007, 12:07 AM
Thank you SO much Magoth!

They seem to be working just fabulously. I am noticing that a pre-update level 6 cleric bot that I had doesn't seem to want to cast buffs on the group, but that may just be a function of level.

I will post if I can confirm after testing^^^playing for a few hours here ;)

Again, thank you for all your hard work. It is appreciated!

-Haerikk

linghuUU
07-14-2007, 02:33 AM
Hi all

can anybody post guides for setting up EQ offline plz?

Thx a lot

John Adams
07-14-2007, 03:51 AM
Magoth, things are looking very nice! I can now report with confidence the Linux compile does behave differently than the Windows Binaries you provide (I have yet to compile on Windows myself). The major difference is, in Windows Binaries, I can form a group of 5 bots and myself - attack something - and it fights back.

But in Linux (FC4), the mobs you are attacking do not aggro. I cannot say why, just reporting what I have discovered.

No more zone crashing with full bot groups, either. Yay!

Also, the #repop command appears to make the bots vanish, but they are still grouped. I think my zone crashed only when I tried to zone to see if it would clear my group. No luck tho.


Goodnight, and happy to see this coming along so nicely!

Magoth78
07-14-2007, 05:20 AM
Haerikk> You have to use "#bot update" on your bot at each leveling (mainly when they have new spells), then you have to repop them.

John> There shouldn't be a difference between windows and linux binaries. ARe you sure that, on your linux, the map are in the right repertory ?

Later,
Mag

John Adams
07-14-2007, 02:25 PM
Yes, but I will re-extract all the maps + the newer ones that came out recently, and try again.

Here's another 2 for ya (if you were bored):
1) #bot spawn - equipped bots are naked until they are grouped. scared the hell out of me, thinking all my bots gear was gone! ;)

2) Mage bot inventory is not saved. I'll go through all the other classes today and let you know if there are more.

Topgun1969
07-14-2007, 06:40 PM
Is it a known issue that when you are grouped with a bot that the corpse vanishes without the chance to loot?

Zengez
07-14-2007, 07:26 PM
Also had that happened but only a couple times, seems to be when the bots do the majority of the damage and get the last hit... which i think is in the NPC encoding more than bot's themselves...

Topgun1969
07-14-2007, 09:19 PM
I have tried to make sure i did the most of damage and last hit. It still vanishes before the chance to loot. Disband the bot and all is normal. Yes. i believe you're right about the npc encoding. I have noticed i cannot let the bot do any damage at all while grouped. Then i can loot it.

Marie
07-15-2007, 12:18 AM
http://eqoffline.free.fr/EQEmu-EQOffline.rar
Please repair this link >_<

Magoth78
07-15-2007, 04:49 AM
Hello,


""" 1) #bot spawn - equipped bots are naked until they are grouped. scared the hell out of me, thinking all my bots gear was gone!
2) Mage bot inventory is not saved. I'll go through all the other classes today and let you know if there are more.""""

John> yes, you will only deal (and see their their stuff) with bots if they are grouped or raiding.
As for the mage's inventory, it's working as intended. What happened exactly ? was the bot grouped ?

""" Is it a known issue that when you are grouped with a bot that the corpse vanishes without the chance to loot? """

Topgun1969/Zengez> Are you talking about the bot's corpse or the killed npc's corpse ? because, yes, you can't loot the corpse of your bot.
Now, if you're talking about the killed mob's corpse, this shouldn't happen. I've made a good amount of tests today and didn't notice that. Could you give more info please.

Marie> did :)


G'day,
Mag

Magoth78
07-15-2007, 09:09 AM
Updates:

-- Mob's corpses shouldn't poof anymore.
-- As asked, I've removed the limitation of 4 groups in raids. You can now have the number of groups that you want to in your raid.
-- "#bot raid info" is now working.
-- "#bot raid order task attack/follow/guard/assist" are now working.


Windows's binaries : http://eqoffline.free.fr/Build.rar
Sources: http://eqoffline.free.fr/EQEmu-EQOffline.rar

Mag

Topgun1969
07-15-2007, 11:44 PM
Great job my friend.. Looting works great :)

Bjerlk
07-16-2007, 02:55 AM
Sorry for sounding way too stupid.

But to use your excellent mod all I need to do is using your binaries /in windows) to start my server?
And IF is it then ok to rename them to zone and world?

Bjerlk

Magoth78
07-16-2007, 03:25 AM
Yes, you also need to do some databse changes:
http://eqoffline.free.fr/README.txt


Later,
Mag

Bjerlk
07-16-2007, 09:27 AM
Working smooth™

Thanks for a great project...
Now I just need to "solo" VP and similar.

Thanks again for extending my enjoyment hehe....

John Adams
07-16-2007, 09:31 AM
John> yes, you will only deal (and see their their stuff) with bots if they are grouped or raiding.
As for the mage's inventory, it's working as intended. What happened exactly ? was the bot grouped ?
First, I created a mage bot, then spawned him and grouped him. Then I sat picking through valid Mage gear, handed it to the bot so he was wearing it. If I go to the botsinventory table, that bots botid is missing. But other bots showed their info just fine - just the mage bot so far. I didn't have time this weekend to check all the other classes.

What I was also going to try is manually entering the data into the botsinventory table and see if the gear is retrieved properly. Haven't done that yet either.

He was a DE Mage, if that matters, and I was level 70 GM at the time.

Magoth78
07-16-2007, 11:26 AM
Updates:

-- fixed a zone crash while raiding. It happened when a full group of bots wiped.
-- added a new command, group related this time: "#bot group order attack [target]". It will force your group to attack your target even if your grouped bots are already engaged.

Windows's binaries : http://eqoffline.free.fr/Build.rar
Sources: http://eqoffline.free.fr/EQEmu-EQOffline.rar

Topgun1969
07-16-2007, 06:04 PM
I don't know why but I can group a bot but i still get the crash in the zones at times. Everything will stop moving and the bot will stop following. I am using the windows binaries. I double checked all installations and they are current. I know that it doesn't support multiplayer yet. So i try solo. Is there something i am doing wrong?

Topgun1969
07-16-2007, 09:23 PM
Ok, i noticed that it crashes the zone when updated sorry

Magoth78
07-17-2007, 04:50 AM
Can you give more info please ?

What is the last line you got on your zone.exe output when it crashes ?

Mag

John Adams
07-17-2007, 09:29 AM
Magoth, things are looking very nice! I can now report with confidence the Linux compile does behave differently than the Windows Binaries you provide (I have yet to compile on Windows myself). The major difference is, in Windows Binaries, I can form a group of 5 bots and myself - attack something - and it fights back.

But in Linux (FC4), the mobs you are attacking do not aggro. I cannot say why, just reporting what I have discovered.
Okies... my confidence is ZERO at the moment!! Magoth, I am embarassed to report, my Linux server was missing not only Maps, but quests dirs. Apparently, my unintelligent auto-setup script I wrote is shit.

I hope you didn't spend any time looking into that one, you were right. Maps.

Topgun1969
07-17-2007, 03:56 PM
As soon as it happens again i will give the message on the zones crashing. Also the bots will equip weapons in the wrong hands as well. I guess mostly it is things that have already been commented such as Rogues, Wizard just stand there. etc.

Topgun1969
07-17-2007, 07:36 PM
Is there anyway to adjust the distance they follow you? The Vah shir race sits right on top of your character.

Topgun1969
07-17-2007, 08:55 PM
[Debug] [WORLD__CLIENT] New client from 192.168.1.102:2426
[Debug] [WORLD__CLIENT] 1969: Logged in. Mode=(Zoning)
[Debug] [WORLD__CLIENT] 1969: LS Account #26109
[Debug] [WORLD__CLIENT] 1969: Telling client to continue session.
[Debug] [WORLD__CLIENT] 1969: Zoning to bazaar (151)
[Debug] [WORLD__CLIENT] 1969: Sending client to zone bazaar (151) at 192.1
68.1.103:7010
[Debug] [WORLD__ZONE] [11] [bazaar] Setting to 'bazaar' (151)
[Debug] [WORLD__CLIENT] 1969: Client disconnected (not active in process)
[Debug] [WORLD__ZONELIST] Removing zoneserver #11 at :7010
[Debug] [WORLD__ZONELIST] Hold Zones mode is ON - rebooting lost zone
[Debug] [WORLD__LAUNCH] zone: dynamic_02 reported state STOPPED (2 starts)
[Debug] [WORLD__LAUNCH] zone: dynamic_02 reported state STARTED (3 starts)
[Debug] [WORLD__ZONE] New TCP connection from 127.0.0.1:3098
[Debug] [WORLD__CONSOLE] New zoneserver #12 from 127.0.0.1:3098
[Debug] [WORLD__ZONE] [12] Zone started with name dynamic_02 by launcher zone
[Debug] [WORLD__ZONE] [12] Auto zone port configuration. Telling zone to use po
rt 7011
[Debug] [WORLD__CLIENT] New connection from 192.168.1.102:2430
[Debug] [NET__IDENT_TRACE] 192.168.1.102:2430: First opcode 0x4dd0 did not match
expected 0x2792
[Debug] [NET__IDENT_TRACE] 192.168.1.102:2430: Tried patch 6.2_world, and it did
not match.
[Debug] [NET__IDENT_TRACE] 192.168.1.102:2430: First opcode 0x4dd0 did not match
expected 0x2ec9
[Debug] [NET__IDENT_TRACE] 192.168.1.102:2430: Tried patch 6.2_zone, and it did
not match.
[Debug] [NET__IDENT_TRACE] 192.168.1.102:2430: First opcode matched 0x4dd0 and l
ength matched 464
[Debug] [NET__IDENTIFY] Identified stream 192.168.1.102:2430 with signature Tita
nium_world
[Debug] [WORLD__CLIENT] New client from 192.168.1.102:2430
[Debug] [WORLD__CLIENT] 1969: Logged in. Mode=(CharSel)
[Debug] [WORLD__CLIENT] 1969: LS Account #26109

John Adams
07-17-2007, 09:54 PM
Magoth, here's a few more things to report. (sorry if this is a repeat)

1) Bots gear "stats" do not seem to effect the bot. A level 70 ogre warrior has 5375 HP @ level 70 before or after adding armor.

2) Bots do not seem to benefit from group buffs. My poor warrior and monk were torn to shreds by Aaryonar in seconds!

3) There is still something odd with NPC reaction gfx during a fight, even with maps in place properly. In NToV, the wyverns that initially attack in mass - once the first wyvern falls, the next few just stand there while the Warrior beats it up. However, the bot IS taking damage (according to it's health bar, I am pretty sure).

4) I know this is not in the scope yet, but I grouped another player in my group first, then spawned 4 bots. They do not show up for the other grouped player.

I did crash the zone once, but I am not sure how. I was fighting Eashen of the Sky when it happened.


Oh, and I figured out why my Mage gear didn't save. Because he was a Wizard. Tee hee. OOPS.


The raid stuff looks pretty intense. I won't have time to play with that until this weekend.

Magoth78
07-18-2007, 05:06 AM
Topgun1969> you shouldn't crash, it's probably due to your install.


John> thanks for the reports,
1/ Once you have equiped your bot and you did a "#bot update" on it, it's stats must be upgraded. I will change a lot of things about the bot's stuffs very soon as I don't like how I coded it. Also, I want to make the damages based on the stuffs of the bots, etc..
2/ Group buffs are only casted by the player. A bot won't cast a group buff, he will just give individual buffs.
3/ I used to test the bots in Ntov also and noticed almost the same thing but only on wyverns. What is possible is that the wyverns are feared by the fear classes, that's why the wyverns stand there. I dunno if in Live thoses wyverns were fearables but that could be the reason.
4/ Yes, I've also tested with a friend, the bots don't appear in the list of the other client. I will check what I can do.

If you play in raid and you got a zone crash, it's important to give me the last line of your zone's binaries. I've added a lot of debugs tags in the code, and the last zone's line output should give me somes infos about your crash.

Yes, the raid is very intense. I've tested the bots in Ntov and noticed something important :
In the actual version of EQoffline, when a bot is the maintank and the raid is engaged:
1- it will force all the healers to focus on him wich isn't necessary good with the AEs. I will probably make all the second healers focus on others players and will keep the clerics on the maintank.
2- the maintank (that should be a warrior in all the case) doesn't have any defense discipline and die very quickly against dragon like Lord Vyemm. I think I will add something for the maintank to be more defensive.


G'day,
Mag

John Adams
07-18-2007, 07:43 AM
Thanks for the feedback.
1/ Once you have equiped your bot and you did a "#bot update" on it, it's stats must be upgraded. I will change a lot of things about the bot's stuffs very soon as I don't like how I coded it. Also, I want to make the damages based on the stuffs of the bots, etc..
Ahh, I did not do a #bot update since I gave him his wares. I'll try that and check #npcstats

2/ Group buffs are only casted by the player. A bot won't cast a group buff, he will just give individual buffs.
I was the guy casting the group buffs, but I didn't see stats change - though I do not know how to see what buffs are active on a bot, much like a pet.


If you play in raid and you got a zone crash, it's important to give me the last line of your zone's binaries. I've added a lot of debugs tags in the code, and the last zone's line output should give me somes infos about your crash.
I wasn't "raidiing" yet, just single group - but I will check this out this weekend and see what I come up with. It is very exciting indeed.

What you have working right now is amazing, and I can see where many enhancements are possible growing from this excellent idea. The only thing that does still concern me is MY bots being available to anyone - and therefore changable by anyone.

Say I am level 70 and build up my bots with nice level 70 gear. Then some level 20 comes along and spawns my bots. What will happen? The same bots will be level 20, but with level 70 gear? Or, what if that level 20 player changes the gear sets, and when I come back later all my level 70 twinking is gone? Not sure what your plans are - if any - for making the #bot list "private" since I think your first run is meant for single-player servers anyway. Just a thought.

Magoth78
07-18-2007, 09:55 AM
You can use #showbuffs to see what buffs are on any npc.

That's true. Actually, anyone can use any bot on a server. The reason is because I've developped this mod, from the start, for the solo only. Now, it has been upgraded so you can play it with your friends, though it may cause certain bugs that crashes the zone. That's why I need to see the last zone's binarie output when it occurs.

Concerning the fact that anyone can spawn any bot, I will change that soon.
Also, people asked me to :
1/ make only the bot creator to be able to spawn his own bots .
2/ remove the possibility to spawn more than one particular bot in a zone. Actually, you can clone any bot that you have by just "#bot spawn"'ing them.

John Adams
07-18-2007, 01:23 PM
1/ make only the bot creator to be able to spawn his own bots .
I was thinking this morning (instead of working, omg!!) - This opens the door for those admins who wish to add "Hire a Mercinary" vendors. For a fee, the player can hire a Warrior of a pre-determined level / gear (defined by the admin) to help the player along. Up to the full group limit. Then, lock down the #bot commands for altering those pre-defined system bots.

So generally, if a system admin wanted, they could create level 10, 20, 30 etc... 70 bots, fully geared, locked from modification, and a player can either spawn them for themselves, or hire them from a vendor NPC. hmm! Then, no #bot update would be needed, since you'd just hire a more uber bot for your next set of levels. :)

How exciting.

Topgun1969
07-18-2007, 08:17 PM
Thx for the advice to try re-installs. I have did just that and hoped for a new beginning. No good though. I noticed that the tables botinventory and botleader were giving problems about sourcing in. So i used navicat to get them in. After new installation, all problems i stated before remain the same. Ty for your time and patience i will drop in at times to see how progress goes and then i will hope to install it on my server at a later time. *Peace everyone*

*Hotenough server*

dark_fusion
07-19-2007, 05:32 PM
So far the raid commands have worked like a charm, I was testing it out in mistmoore. It felt great to have an army of bots backing me up :grin:

So far no crashes, awesome work Mag. Thanks!

Blakine
07-21-2007, 08:18 AM
I cant seem to get to your site, but would love to download this. Is it available on another site?

GeorgeS
07-21-2007, 03:05 PM
Just in case you missed my thread about a new tool to create BOT/RAID NPC's - (it's added to my NPC Editor)
http://www.eqemulator.net/forums/showthread.php?p=135360&posted=1#post135360

I'm hard at work finishing up the tool, but in essence it does make BOT creation pretty easy. The tool to equip the BOTS is being added next.

GeorgeS

Magoth78
07-21-2007, 08:22 PM
I cant seem to get to your site, but would love to download this. Is it available on another site?

Yes, there is a problem with my website. It will probably be up tomorrow if my isp does its job.

Magoth78
07-21-2007, 08:24 PM
Just in case you missed my thread about a new tool to create BOT/RAID NPC's - (it's added to my NPC Editor)
http://www.eqemulator.net/forums/showthread.php?p=135360&posted=1#post135360

I'm hard at work finishing up the tool, but in essence it does make BOT creation pretty easy. The tool to equip the BOTS is being added next.

GeorgeS


That's nice Georges. It will help people to deal with their raid bot members.

GeorgeS
07-22-2007, 06:55 AM
Pet classes not casting?

I tried creating a Mage (spells id=4) and Necro (spells id=3)and both just stand there not casting pets. They are lvl 51, and not one spell's cast by them. The cleric works excellent though

Not sure what's up. My npc's are ok in the db and I sourced the sql for spell_entries from Magoth's site
Mage uses spell entries
Anyone having difficulties as well?

GeorgeS

Magoth78
07-22-2007, 07:24 AM
" I tried creating a Mage (spells id=4) and Necro (spells id=3)"

A mage and a Necro shouldn't have those Spells ID on EQoffline.

Try to:
1/ "#bot update" them
2/ kill them
3/ "#bot spawn" them
4/ group them.

Mag

Blakine
07-22-2007, 08:00 AM
Yes, there is a problem with my website. It will probably be up tomorrow if my isp does its job.

Yep, working now thanks!

GeorgeS
07-22-2007, 08:11 AM
Ok still no go, I can create any npc and it casts fine - but never any pets.
Can someone post the sql for table npc_spells please
I think that's the problem

Thanks
GeorgeS

btw - here's sql to check - there's no pet summoning here. hmm I going to look at another database as investigate further

Select npc_spells.name,npc_spells_entries.npc_spells_id,n pc_spells_entries.spellid,npc_spells_entries.type, npc_spells_entries.minlevel,npc_spells_entries.max level,
spells.name
FROM npc_spells_entries,spells,npc_spells
WHERE
(npc_spells_entries.spellid=spells.spellid)
AND
(npc_spells.id=npc_spells_entries.npc_spells_id)
ORDER BY npc_spells_entries.npc_spells_id ASC

GeorgeS
07-22-2007, 01:18 PM
I looked further into this and even after adding pet spells to the magician pet list (#216), the mage bot only casts 3 buff spells but the pet spells he does not cast.

So my question, is how does your code handle pet spell casting and selection?

GeorgeS

Blakine
07-23-2007, 02:35 AM
Hey Magoth,

So far eqoffline has worked great. When I first created a bot I used a level one character, the bot was a cleric and he did well at healing. I then tried to use the same bot for a level 50 character, his level updated but his spells did not. He still used a very low level heal on me.

I looked in the database and his level is 50, and I updated, killed and respawned him but he is still casting very low level heals. So I created a new bot and he has the same problem. Is there a bug with this? Have not looked at the code yet :)

Blakine
07-23-2007, 09:23 AM
Hey Magoth,

So far eqoffline has worked great. When I first created a bot I used a level one character, the bot was a cleric and he did well at healing. I then tried to use the same bot for a level 50 character, his level updated but his spells did not. He still used a very low level heal on me.

I looked in the database and his level is 50, and I updated, killed and respawned him but he is still casting very low level heals. So I created a new bot and he has the same problem. Is there a bug with this? Have not looked at the code yet :)

update:

Checked the mana calculation ( I assume bots are under same rules as NPCs?) and my bot at level 50 should have 1100 mana (no equipment). Complete heal is 400 mana, but he casts light healing on me =/ From the code, the only thing I can see is that they check against there mana to make sure they can cast the spell.

But I have not found the logic on how they choose what spell to cast. Anyway..doing more testing. I am going to go in as Admin and #showstats on him to make sure he has the mana I think he does.

Is there a way we can see what spells they are able to cast? Or do they get them all based on level?

Magoth78
07-23-2007, 09:29 AM
If your bot is a cleric, lvl50 and you "#bot update" 'd him, it should cast the lvl44-49 cleric's spells.

If you want to see what spells your bots can use, you have to see on what spell's ID it is. A magician by example should by 516 (by memories). Then you can check what spell your bot should cast by checking in the database, the npc_spells_entries table.

Blakine
07-23-2007, 09:47 AM
If your bot is a cleric, lvl50 and you "#bot update" 'd him, it should cast the lvl44-49 cleric's spells.

If you want to see what spells your bots can use, you have to see on what spell's ID it is. A magician by example should by 516 (by memories). Then you can check what spell your bot should cast by checking in the database, the npc_spells_entries table.

Thanks, I will check that. One other question, I didn't see this in the code. Do bots always spawn at level 1?

John Adams
07-23-2007, 12:19 PM
I then tried to use the same bot for a level 50 character, his level updated but his spells did not. He still used a very low level heal on me.
I second that, my level 70 cleric casts very low level buffs, though that is ok in itself. Also, she will spam heals on me for very low amounts, and keeps casting Yaulp over and over if there is no fighting going on.

I have a release coming this week, so I am again swamped at work... but I'll get back to playing with Bots first week of August or so. Regardless, Blakine, you might have missed the post that bots do not appear to be benefiting from their uber gear. My level 70 Ogre Warrior decked in Gladiator's has 5k HP... which I think is shy of what he should have (12k or so heh).

Blakine
07-25-2007, 02:33 AM
Regardless, Blakine, you might have missed the post that bots do not appear to be benefiting from their uber gear. My level 70 Ogre Warrior decked in Gladiator's has 5k HP... which I think is shy of what he should have (12k or so heh).

Nah I saw that, he was a naked cleric lol. Since that time I have made a low level warrior and leveling up legit with her. Bots have been a great help and have sped up leveling. A few issues but nothing major. One request I would have (again have not looked at code in depth) is if you could make the bots stay like a pet does? This way you could tell them to stay in one spot and then go grab a pull and run it back to them. Just a thought :)

Magoth78
07-25-2007, 05:05 AM
... if you could make the bots stay like a pet does? This way you could tell them to stay in one spot and then go grab a pull and run it back to them. Just a thought :)

#bot group order [attack/guard]
#bot group summon

Blakine
07-27-2007, 03:04 AM
3/ You can add a member to the groups 2/3/4 by using the command "#bot raid invite bot [target] [group: 2/3/4]"


One more question is [target] the bots name you want to be grouped or just an indicator that you need the bot targeted. Also do you have to put in "group" in the last command or just the group number. Having some trouble getting this command to work. My bots wont group after I pick a group leader.

Thanks.

Damilis
07-27-2007, 03:38 AM
I can't remember, are Bot formations implimented or on the ToDo list?

Blakine
07-27-2007, 04:34 AM
I can't remember, are Bot formations implimented or on the ToDo list?

yeah nm..lol I figured it out.

Damilis
07-27-2007, 05:10 AM
yeah nm..lol I figured it out.

...huh? You talking to me or did you accidentally quote me?

Blakine
07-27-2007, 07:01 AM
I found the function in the code, you can disregard my post. But I believe this should be working.

Magoth78
07-27-2007, 11:40 AM
Once your group is full, you want to create a raid :
#bot raid create

Then, you have to create other groups :
You spawn one of your bot, when done you target him and do:
#bot raid group create

That will show the entity's name of the leader of the new created group.
Then you spawn other bots. You must target them and do :
#bot raid invite bot <group_leader_name>

6 bots per group.

Then, if you want to have a maintank. You target him and do:
#bot raid order maintank

If you want to give order the other groups, you have to use the command :
#bot raid order task attack/follow/assist/guard <group leader entity's name>.

At any moment, if you need info about your raid :
#bot raid info

John Adams
07-27-2007, 11:44 AM
Mag, got any new sources posted I can play with this weekend? I'm jonesin to 'bot.

Damilis
07-27-2007, 12:53 PM
Magoth: Are Bot formations implemented or on the ToDo list?

John Adams
07-27-2007, 01:14 PM
I have started the ever frightening Wakka for Bots. I'll throw together a quick opener page in a sec, but wanted to get some of these commands posted so others can add/change them. I do not know much about the Raid functions yet, so I basically guessed.

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

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

Magoth78
07-27-2007, 11:21 PM
I have started the ever frightening Wakka for Bots. I'll throw together a quick opener page in a sec, but wanted to get some of these commands posted so others can add/change them. I do not know much about the Raid functions yet, so I basically guessed.

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

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

Thanks for that John. That's something I've projected to do in the future but I didn't have the time.

Magoth78
07-27-2007, 11:26 PM
Mag, got any new sources posted I can play with this weekend? I'm jonesin to 'bot.

The latest sources should be on the website:
http://eqoffline.free.fr/EQEmu-EQOffline.rar


Damilis> What are bot formations ?

Blakine
07-28-2007, 12:40 PM
Thanks Mag, I figured it out. It's working great both groups and raids! :)

Damilis
07-28-2007, 10:04 PM
Damilis> What are bot formations ?

Instead of all the Bots stacking on top of each other, they are offset by a few preprogrammed dX and dY such as to make a formation ( circle, line, flying V, etc)

I kept running into a problem with the Iksar Bots stacking right on top of me and not allowing me to click anything other than them. (IE go to click on a Mob or corpse and all I get is my Bot, can't select ANYTHING else.)

Magoth78
07-28-2007, 10:44 PM
Ok, well no, there are no bot formations actually.

Damilis
07-29-2007, 04:41 AM
Any way to get something of the sort added to the to-do list? Or atleast something to disperse them away from being stacked right on top of the Player?

Also, I dunno if its a bug or just not implimented correctly yet, but when two actual players are in a group and someone adds a Bot, the Bot doesnt show up in the Group list to anyone else but the person who added it and shortly there after the zone crashes. Anyone else have this issue?

John Adams
07-29-2007, 04:58 AM
You could use the "guard" comment to get your bots to stand back from you. This is how I got out of my monk standing on my face.

As for multiplayer, Mag has said a number of times this is not yet supported. I cannot find the post, but yes I saw the exact same thing.

GeorgeS
07-29-2007, 12:57 PM
As promised, eqitems editor now supports the ability to equip your bots via manual equipping and via saved profiles. If let's say you have a high level warrior, select the high level gear for a warrior and it's auto equipped. You can also create custom profiles. My other tool NPC editor will quickly create BOTS. I use these tools all the time and they save much time.

GeorgeS

Magoth78
07-29-2007, 10:36 PM
Good stuff, Georges, thank you.

Mag

Magoth78
07-29-2007, 10:50 PM
Also, I dunno if its a bug or just not implimented correctly yet, but when two actual players are in a group and someone adds a Bot, the Bot doesnt show up in the Group list to anyone else but the person who added it and shortly there after the zone crashes. Anyone else have this issue?

Two players in the same group with bots isn't supported for the moment. What you can do is to create 2 groups, on per player.

Damilis
07-29-2007, 11:43 PM
Two players in the same group with bots isn't supported for the moment. What you can do is to create 2 groups, on per player.

Ok, okay, so thats what was meant by 'multiplayer support' ! Gotcha. Nice work by the way, this makes EQEmu a completely new experience for me.... just when I was starting to get burned out! :)

Blakine
07-30-2007, 05:07 AM
As promised, eqitems editor now supports the ability to equip your bots via manual equipping and via saved profiles. If let's say you have a high level warrior, select the high level gear for a warrior and it's auto equipped. You can also create custom profiles. My other tool NPC editor will quickly create BOTS. I use these tools all the time and they save much time.

GeorgeS





That will be a time saver, I spent about an hour equiping 23 bots for raiding..lol.

Magoth78
07-30-2007, 05:34 AM
Important stuffs about EQoffline.

As I'm actually working on the next update wich will have 3 important changes, I would like to have your advise.

1/ The mana regen.
As you ve probably noticed, some fights are really easy in raid. That's because the bots do exactly what they have to do under certain situations. But that's because, also, of their mana regen. To give more fun, more challenge, I could drastically remove the mana regen of the bots. But that will mean that we will have a real downtime instead of the actual version wich is more arcade.

2/ The bot melee's damage.
Actually, if a bot uses a crappy weapon or a very good one, the damage output is the same. STR/AGI/DEX etc... are not criteria for the melee output in the actual version of EQoffline.
Looks like some peeps want to keep the melee damage like it is right now while others would like to make it so it will force the player to equip his bots with the right stuff.
I think it could be more fun to make the melee dps depending of the stuff, caracs and buffs...

3/ Bots managment
In the next update, you won't be able to spawn two times the same bot in a zone.
Also, someone asked me to make the command "#bot spawn" unavailable if we're engaged. What do you guys think about that ?

Mag

Blakine
07-30-2007, 08:32 AM
Important stuffs about EQoffline.

As I'm actually working on the next update wich will have 3 important changes, I would like to have your advise.

1/ The mana regen.
As you ve probably noticed, some fights are really easy in raid. That's because the bots do exactly what they have to do under certain situations. But that's because, also, of their mana regen. To give more fun, more challenge, I could drastically remove the mana regen of the bots. But that will mean that we will have a real downtime instead of the actual version wich is more arcade.

2/ The bot melee's damage.
Actually, if a bot uses a crappy weapon or a very good one, the damage output is the same. STR/AGI/DEX etc... are not criteria for the melee output in the actual version of EQoffline.
Looks like some peeps want to keep the melee damage like it is right now while others would like to make it so it will force the player to equip his bots with the right stuff.
I think it could be more fun to make the melee dps depending of the stuff, caracs and buffs...

3/ Bots managment
In the next update, you won't be able to spawn two times the same bot in a zone.
Also, someone asked me to make the command "#bot spawn" unavailable if we're engaged. What do you guys think about that ?

Mag


I would suggest a command that can turn these features on, or off. Maybe something like:

#bot regen low
#bot regen high

Or

#bot use item damage on
#bot use item damage off

I think this would work well, then if you did not want to use these options you wouldn't be forced to :)

Bjerlk
07-30-2007, 09:12 AM
Well I for one would love to see the management/itemizing of the bots to be a part of the offlne experiment.

What else would I do with all the stuff I find ;)
As for the manaregen rate. Sure its a bit too easy now. But then again it shouldnt be boring either. Need to tune it. Lets try low for a patch and see...

Spawning as in combat is too a bit easy. Sounds fair to have it removed/unavailable as you are engaged (witha DE female at least ;) )

Spawning same bot isnt realy a problem if you choose not to have them gear dependant. But IF you do. Then suddenly they can become too powerful in masses if you get your hands on some uber gear for a specific type of character...

I vote for not being able to spawn same bot over and over again. ut in the same time. Needing 40 or so bots equipped for a major raid just seems stupid... Maybe raids could limit it to 3 or so per botnpc?

cavedude
07-30-2007, 09:54 AM
I think you should make them all rules and let the server op decide. Botregen and a value, botstrictcombat true or false, spawnlimit and a value, and canspawnincombat true or false. Something along those lines.

John Adams
07-30-2007, 11:46 AM
1/ The mana regen.
As you ve probably noticed, some fights are really easy in raid. That's because the bots do exactly what they have to do under certain situations. But that's because, also, of their mana regen. To give more fun, more challenge, I could drastically remove the mana regen of the bots. But that will mean that we will have a real downtime instead of the actual version wich is more arcade.

2/ The bot melee's damage.
Actually, if a bot uses a crappy weapon or a very good one, the damage output is the same. STR/AGI/DEX etc... are not criteria for the melee output in the actual version of EQoffline.
Looks like some peeps want to keep the melee damage like it is right now while others would like to make it so it will force the player to equip his bots with the right stuff.
I think it could be more fun to make the melee dps depending of the stuff, caracs and buffs...
I would definitely like to see a bot benefit from enhancing it's gear. If it's using a rusty dagger, or an Ifir, the Bot should be far more effective with the latter. Loading your bots up with stats gear makes them more effective fighters, or should right? This would inspire the player/bot owner to continually upgrade their bots with new stuff.

As for regen and strict vs lazy bot melee rules, I agree with cavedude - if they were rules, the server admin could decide globally.

Magoth78
08-01-2007, 10:11 PM
Updates:
--------

For a best challenge, I've done some changes.

1/ Items, stats and buffs became very important criterias for the melee damage output. Better will be the stuff of your bots, better will be the dps. The buffs will seriously augment the DPS of your bots, also.
2/ Spawning bots while engaged (you or your group) isn't allowed anymore.
3/ Spawning the same bot in a zone isn't allowed anymore.
4/ The bot's mana regen has been reworked. Engaged, their mana regen will be slow. Not engaged, it will be very fast.
5/ As asked, the way the bots are following their leader has been reworked. No more bots in front of the leader wich caused targetting issues.

Window's Binaries: http://eqoffline.free.fr/Build.rar
Source's package: http://eqoffline.free.fr/EQEmu-EQOffline.rar

G'day,
Mag

Damilis
08-01-2007, 11:49 PM
/grovel

I bow before thee.

;)

Zengez
08-02-2007, 03:22 AM
Any news on someone making this work into a diff file, or the latest updates to the emu source into a diff file for Magoth.... would be nice to run an updated server with the eqoffline bots, instead of the, now quickly becoming antiqueted, server....

John Adams
08-02-2007, 09:03 AM
Zengez, can't you diff the version Magoth is using against it's original source, and merge the changes into a current version? I don't think Magoth should bump all his changes from version to version just so we stay on the latest... and, I am not sure this will become "core" because it is so very custom (though it could be a nice addition). The problem for over a year has been no one has labeled anything a "stable" version. I personally use the 931 build as an anchor point because it matches the Luclin PEQ database... but even that is not tagged as "stable". No one has gone through and tested every feature to give it that tag in some time.

Maybe when we go Anniversary, we'll branch to 0.8.0 and start all over. :)

Magoth78
08-02-2007, 11:20 AM
Little but important update:

1) Each bot has now a real leader who is an unique character. Other characters won't be able to deal with the bots they don't own. Only the bot owner will be able to spawn/group/degroup/equip/unequip his bots.
2) #bot list, will show all the bots. You will can see the tag "(YOUR BOT)" if you own a bot in the list.
3) #bot listmine, will only show your bot.
4) To own a bot, that's simple. Create it, then spawn it. It becomes your bot, definitly. For the bots that you have already created, just spawn them one time, they will become your bot.
5) As asked, DPS casters have been upped a bit (they cast a bit more in fight).

Window's binaries: http://eqoffline.free.fr/Build.rar
Sources: http://eqoffline.free.fr/EQEmu-EQOffline.rar

Database update:
-- Table "botsowners" DDL

CREATE TABLE `botsowners` (
`botnpctypeid` int(11) NOT NULL default '0',
`botleadercharacterid` int(11) NOT NULL default '0',
PRIMARY KEY (`botnpctypeid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

(http://eqoffline.free.fr/README.txt upgraded)

All thoses things need to be tested but they seem to be working well.

Later and good week-end,
Mag

Zengez
08-02-2007, 03:01 PM
Zengez, can't you diff the version Magoth is using against it's original source, and merge the changes into a current version? I don't think Magoth should bump all his changes from version to version just so we stay on the latest... and, I am not sure this will become "core" because it is so very custom (though it could be a nice addition). The problem for over a year has been no one has labeled anything a "stable" version. I personally use the 931 build as an anchor point because it matches the Luclin PEQ database... but even that is not tagged as "stable". No one has gone through and tested every feature to give it that tag in some time.

Maybe when we go Anniversary, we'll branch to 0.8.0 and start all over. :)

Well I for one don't know how to diff, although I think there's a wikki part somewhere that can tell me, but that's not really my point...

Haven't heard anyone say they wouldn't want to use this on their server, and if they didn't it seems to me to be fairly straight foward to just make a rule for bots on and bots off to enable/disable the entire bot structure, then fold it into mainstream... don't even need bot update work done every time magoth does something, just diff it once a week or two weeks of work or whatnot at his discreation (or someone else if they feel like doing it themselves) and that way you can fold in the newest diffed version into the newest server version and life is peachy, best of both worlds... Seems to me that any version released as pre-constructed binaries is 'stable' by any test definition, so I don't see the need to have to wait for someone to lable it stable before doing the above... and I'm not suggesting we update the binaries under download every time anyone makes a change to anything... it's merely been a while, something like 3 months or so between magoth's version with his bot's folded in, and the latest compiled version availible to download under the download section, so I was suggesting an update... wouldn't even have to be a continued update, a one time update would help... Although it seems silly to go that route when building into the mainstream fold seems to be just as easy....

/shrug it's somewhere on the order of a billion degrees in my house right now, so perhaps i'm not thinking straight, but makes sense to me is all.

narcberry
08-03-2007, 09:57 AM
I'm going to implement this on my server. I'm excited to buff up Kurns and do lower level raids :) . Really really great work, thanks for spending so much time on this.

Anyhow, I have a question about bot ownership. Let's say that I own 5 bots and someone else owns 5 bots, can we raid together with our bots?

Magoth78
08-03-2007, 10:44 PM
...
Anyhow, I have a question about bot ownership. Let's say that I own 5 bots and someone else owns 5 bots, can we raid together with our bots?

You can raid together (1 raid per player) but you can't raid a single raid for both of you.

What you can do is instead of creating a raid of 24 bots bots, just create 2 of 12 bots. Both of you will be the raids leader.

GeorgeS
08-04-2007, 06:07 AM
...Maybe when we go Anniversary, we'll branch to 0.8.0 and start all over. :)

Now that sounds good - we've been on 0.7 for ages..

Thanks for the continuing work on the offline bots

GeorgeS

Bjerlk
08-04-2007, 07:00 PM
You can raid together (1 raid per player) but you can't raid a single raid for both of you.

What you can do is instead of creating a raid of 24 bots bots, just create 2 of 12 bots. Both of you will be the raids leader.

I was just wondering what happends to loot issues then... SInce the mob will be tagged for either one of the 2. Since they cant be in same raid. Or am I completely off the charts?

Magoth78
08-04-2007, 10:35 PM
Bjerlk> I see what you mean. Well, the issue there is if your raid (let's say 12 bots so 2 groups) has the most damage, you will be able to loot items on corpse then equip your own bots. The other guy couldn't loot and so, equip his own bot.

Actually, that's the way EQoffline is working. The other guy should wait to be able to loot.

But, I think I will make thoses command working on Player Character, in a soon future : "#bot group add <target_who_is_a_player>" while grouped, or "#bot raid group create <target_who_is_a_player>" while raiding.

Magoth78
08-04-2007, 10:41 PM
...
Maybe when we go Anniversary, we'll branch to 0.8.0 and start all over. :)

If EQEmu ever decides to go on Anniversary, that could be a cool thing because I would rewrite the entire EQoffline code base. This way it would be easier for me to create a separate project that people could add easily to the EQEMu code if they want to play at EQoffline.

John Adams
08-05-2007, 08:21 AM
This way it would be easier for me to create a separate project that people could add easily to the EQEMu code if they want to play at EQoffline.
If you mean like a plugin (or maybe like GuildWars was?) that would be perfect. If the code was not so dependent on EQEmu, admins could turn it on and off easily, and it could become a part of the core, too.

There is no question, this is a fantastic add-on to EQEmu.

sonicvt
08-06-2007, 06:35 AM
Is there any issue with the Bot code for if you update (source into MySQL) to a newer version of the PEQ database? Will they still work since the database was modified (create table botinventory, botleader, and botsowners)? I'm not a coder and wouldn't want to source the most recent PEQ database and have all the information (equipment) on the bots be lost. Thanks and great work.

Zengez
08-06-2007, 07:20 AM
The PEQ updater only drops the tables it replaces, so if you use the update system files rather than the create new database tables you should be fine. At least so far as I remember of how PEQ works...

cavedude
08-06-2007, 07:27 AM
Yes, the newest PEQ database is compatible with eqoffline. However, if you have existing bot data then you do not want to run drop_player.sql. I would suggest running drop_system.sql and then load_system.sql against your current db (back it up first before doing this of course) and then you should be set. The bot tables are considered player and not system, so sourcing drop_player.sql will destroy that data.

John Adams
08-07-2007, 02:57 AM
Will it actually drop the bot* tables? That would mean someone would have added those tables to drop_players.sql. If they did not, the PEQ drop_players.sql should just skip anything it is not told to drop? Or is that sql a "drop everything"? I can't remember.

cavedude
08-07-2007, 03:39 AM
Yes, it'll drop them because I added them to the file. By newest PEQ I assume the CVS is meant.

If the older Luclin package is implied, then no those bot tables will remain after running drop_player.sql.

John Adams
08-07-2007, 10:35 AM
Yes, it'll drop them because I added them to the file.
Oooh, do I sense a Bots-Core merge?

/rumor on

Blakine
08-09-2007, 03:18 AM
Has anyone had an issue where your bots stop responding to anything but the attack order?

Normally I dont have this problem, but the last couple of night I have been camping spawns in Charasis and at some point my bots will:

- Quit buffing and/or healing
- Stop following me

I can summon them and use the "attack" order, which they will respond to. But nothing else. Not sure why this dungeon seems to be the one place this happens in, I did fall through some of the pit traps. Anyway, thought I would mention it.

Magoth78
08-09-2007, 03:38 AM
When it happens, do the following things please :

- target the bots that don't respond
- type #hatelist
- say me what you see

Thx,
Mag

Bjerlk
08-09-2007, 05:26 PM
Tha tis because you have gott aggro bug. Well you"magically" have got aggro from some mob in the zone that is out of reach for the mobs.

Thus they are in combat and try to get to the mob. But since it is to far away. They just stand there, but in combat mode. And since they are in combat. They dont buff...

Magoth78
08-09-2007, 06:53 PM
Tha tis because you have gott aggro bug. Well you"magically" have got aggro from some mob in the zone that is out of reach for the mobs.

Thus they are in combat and try to get to the mob. But since it is to far away. They just stand there, but in combat mode. And since they are in combat. They dont buff...

Yes that's why I'm asking to have some reports.
But, that should'nt happen because mobs or bots test the Line of Sight with the mobs in their hatelist. If they don't have a los, the mob is wiped from the hatelist and it continues its normal AI.

oghog
08-10-2007, 02:14 AM
Awesome work Mag.

I have a question though. Does eqoffline now support more than one real life player in the group.

My wife and 2 kids play EQ with me, but we are limited in what we can do with just 4 people.

I know this project started with the intention of being just able to play solo with the bots, but I was wondering if the project would move in the direction to allow us to use 2 more bots to fill out our group, and then eventually spawn 3 or so more groups of bots to raid??? (can you say run on sentence )

Thanks for any info!

sonicvt
08-10-2007, 03:38 AM
I know a while back someone had mentioned adding the item link feature to the items that are returned with the #bot inventory command. Is there any work planned for/on this?

Also, I was able to kill the Fabled Emperor Crush twice. I gave both of the Fabled Screaming Mace to my ranger bot. When I do #bot inventory he says that in both slots 13 and 14 (main and off hand respectively) that he has the Fabled screaming mace but the graphics only show it in his off hand. Is this a bug or will bots not actually equip a lore item in both locations. Thanks Mag.

Magoth78
08-10-2007, 04:16 AM
oghog> Create a group with your family and try a "#bot group add" on your bots. You should normally invite 2 bots. I didn't test it yet because as you mentionned the project was initially based to be solo with bots.. but I'm actually modifying some stuffs so you can play with other people.

Once your group is created, just create a raid with the command #bot raid create", etc...


sonicvt>an eqemu server can't send item links for the moment so it is not something that will be implemented to eqoffline.
Concerning the dual wield stuffs, be sure that your bot has the right level/class.
I've also noticed that when a bot is wearing an item that can go to the secondary slot, it equips it even if it's not a weapon/shield/totem/cristal.
I'm going to fix that so weapon are shown in priority.

Btw I'm actually doing some debug on weapons, melee dmg formulas and a new version should appear soon.
Mag

sonicvt
08-10-2007, 04:42 AM
Mag,

Thanks for the reply. All my bots are level 34 and rangers dual weild at 14 or so. The same goes for the warrior (also 34). The inventory list says he has both Fabled Screaming Maces in slot 13 and 14 but it only displays the offhand one.

As a side note, the cleric and shaman bot both display their primary weapon (slot 13) and their sheilds (slot 14). I haven't found a weapon suitable for the ranger and warrior to replace the fabled mace or i would test it with a new weapon. Thanks!

John Adams
08-10-2007, 05:11 AM
It's likely that same-typed weapons get the bot confused on what to display... which would explain why a club+shield show up ok. I remember pets had a problem long ago with dual weild gfx, but had been fixed on live.

As for grouping humans with bots, I think it works fine at the moment, but your human groupies won't see the Bots in the group box... which makes interacting with them a challenge... but should work still.

Now, getting humans and bots on the same raid will pretty much solve 90% of the population problems in EQEmu. Magoth needs to have a shrine to him in game somewhere we can all go pay homage.

oghog
08-10-2007, 06:08 AM
Thanks so much for the replies and info guys. I will try it out this weekend hopefully!

Blakine
08-10-2007, 08:56 AM
When it happens, do the following things please :

- target the bots that don't respond
- type #hatelist
- say me what you see

Thx,
Mag

Ok I will. I went to a bunch of different dungeons last night with no issues. I'll go back to Charasis tonight and if it happens again I will do what you ask and give you the info.

Edit: If I remember correctly I fell through the floor of the east stairs pit trap at the entrance. My bots jumped on a skeleton down there and I took the teleporter back up, I then summoned my bots. This may have been when the issue occured. I will test it tonight.

oghog
08-10-2007, 03:49 PM
Ok got it working, sort of.

I had a level 14 rogue and made a cleric and warrior bot.

The cleric bot keeps casting yaulp and courage as it wore off. No other buffs, and he kept casting a low level heal.

I then logged on my level 70 GM character, and created a new cleric bot. I added her to the group, and did a #bot update (where the bot said she was updated) followed by a #bot group remove, then respawned and regrouped her.

She still casted courage and yaulp, no other buffs. When fighting, she casted a small heal and thats it..

So what am I not doing. I did drop and source the npc spells from the website so I dont know what im doing wrong. Its basically like they are staying at a low level and the #bot update isnt working.

Thanks for any help!

This is at level 70...

Update : Looks like you have to ZONE after you do a #bot update for it to take effect, still testing....


Update 2 : She seems to cast resist buffs, (fire, cold, magic, poison, and disease) and frienzied strength...but isnt casting any HP or AC buffs at all. She does cast a higher level heal tho.....still testing...

drakelord
08-11-2007, 03:01 PM
Dear Magoth,

You are awesome. I've been waiting for a long time for something like this to hit the EQEmu world. It makes life so much easier for people who want to play on their own server with live level content.

I've begun playing on my server with the bots, and I'll let you know of things as I see them to help out.

My other question though is are you accepting donations for this project? This is a lot of work, and I would like to see you rewarded at least a small bit for all the effort you are putting into this!

Magoth78
08-11-2007, 10:27 PM
Thanks drakelord but for the moment, I don't need any donation.

If you really want to donate, you can still donate to the eqemulator's crew for the nice whole Everquest emulator project.

Mag

Magoth78
08-12-2007, 06:19 AM
Updates:
--------


EQoffline is now at version 1.02.

- Fixed some minor bugs.
- Warriors bots are now able to do critical hits. Some other melee classes do critical hits after level 60 also.
- Weapons should be shown correctly.
- The melee dmg formulas have been reworked a bit.
- Unequiped bots (bots that don't have any weapon) will do minor damage. That rule doesn't apply for monks of course.
- High level clerics and shaman should now cast more buffs.

Build: http://eqoffline.free.fr/Build.rar
Sources: http://eqoffline.free.fr/EQEmu-EQOffline.rar

You need to replace the old npc_spells_entries table by the new: http://eqoffline.free.fr/npc_spells_entries.rar

Have fun,
Mag

drakelord
08-12-2007, 02:38 PM
I did some more playing today. I have a few issues here and there, a lot to do with class dynamics, which I will type up a seperate list for each class later.

Main issues though were with the combat formulas. I made myself level 50, and geared myself accordingly, and made a bot with the exact same level and gear and class. I was hitting the mob for 40-70ish damage per hit, while the bot was hitting for 200-400. I could understand that damage at level 65 with epic lewt, but at level 50? Ouch.

And the bots do still have combat issues sometimes in confined zones. I was in Sirens Grotto, and a mob would agro me, and the bots would do nothing in some areas, despite the mob being on their hate list and them being right next to me.

Magoth78
08-12-2007, 10:00 PM
"Main issues though were with the combat formulas. I made myself level 50, and geared myself accordingly, and made a bot with the exact same level and gear and class. I was hitting the mob for 40-70ish damage per hit, while the bot was hitting for 200-400. I could understand that damage at level 65 with epic lewt, but at level 50? Ouch."

- More info is needed. What is the level of the bot, its class, the weapon(s) he uses, its strength, its buffs ?

I paste the damage formulas so I can have advise on them (I repeat that I'm pretty bad a math formulas... ).

Standard melee hit formulas with weapons :

mindmgtmp = ( (weapon->Damage * (((GetSTR()*20) + ((GetLevel()*4)*15) + (GetLevel()*10)) / 1000)) /2 ) / (weapon->Delay / weapon->Damage);
maxdmgtmp = (weapon->Damage * (((GetSTR()*20) + ((GetLevel()*6)*15) + (GetLevel()*10)) / 1000)) / (weapon->Delay / weapon->Damage);


No weapons and class is Monk:

mindmgtmp = ( ((2+(GetLevel()/4)) * (((GetSTR()*20) + ((GetLevel()*4)*15) + (GetLevel()*10)) / 1000)) /2 );
maxdmgtmp = ( (2+(GetLevel()/4)) * (((GetSTR()*20) + ((GetLevel()*6)*15) + (GetLevel()*10)) / 1000));


No weapons (punching):

mindmgtmp = 2+(GetLevel()/10)+(GetSTR()/50);
maxdmgtmp = 2+(GetLevel()/5)+(GetSTR()/50);


The final hit is a integer random'ed between the min and the maxdmg.

As you can see there is no difference between 1hand and 2hands weap. There is no malus on off-hand weaps also, should I add it ? guess yes.

Mag

sonicvt
08-13-2007, 04:55 AM
Mag,

I was down in Lower Guk the other day and my bot warrior (Gnome 40) was using an Executioners Axe from a_ghoul_executioner. He was QUADDING for near 200 damage constantly against red cons. I'm pretty sure he should only be able to hit twice per attack since it is a two handed sword (axe). Also, I didn't notice if the bots can proc on weapons that have the ability to do so. Thanks and keep up the good work.

Magoth78
08-13-2007, 05:31 AM
Yeah, there is no particular check when a bot is using a 2hand weap.
I will fix that in the next days.

drakelord
08-13-2007, 06:04 AM
I think I might have found the problem.

I checked the database for the various stats of the characters, and for some reason, they are insane. 980 STR, 988 STA, 624 DEX, 632 AGI, etc.

A level 50 bot of the same level and class only has 80 STR naked, so my guess is that it is not taking the right numbers for equipment.

drakelord
08-13-2007, 06:35 AM
Sorry for the double post, but I found the problem, me thinks.

Each time I did #update on the bot after I put on a piece of gear, it added the stats. So with an item that adds +5 str, I updated 10 times, and the bot gained 50 str.

Magoth78
08-13-2007, 08:57 AM
Ok, I will check that, thank you

sonicvt
08-15-2007, 01:44 AM
Mag another question,

Do static effects on equipment (such as haste on Flowing Black Silk Sash or DoT sheilding on some of the higher end items) affect the bots in anyway. I don't notice a change in the attack rate of my two bots with the FBSS but I don't have a parser to verify.

Do hit point adjustments on equipment modify the hit points of the bots? I notice that if a bot is at 100% health and I give him an item with +45HP his health doesn't drop to 99% (as it does with me) until natural regeneration 'heals' those 45 hit points.

Is there anyway to choose which spells your bots cast? I don't like how my shaman will not cast slow as this is a semi class defining skill. It would be nice to have an interface that you could use once you've spawned the bots to choose the spells they load.

Thanks!

Magoth78
08-15-2007, 07:05 AM
Updates:
--------

version 1.03.

-- Rewrited the functions related to the trading with bot and the way the stats of the bots were calculated.
-- Now, when you will give an item to a bot, the previous item that was in the slot of the new item, will pop on your cursor. This way, you will be able to give the replaced item to an other bot.
-- Worked once again on the damage formulas.
-- Added checks on 2hands: special dmg formula, number of hits, etc..
-- Rewrited the "#bot update" method and added a special Mob::CalcBotStats() function to the Mob class. This method is called each time a bot receives a new item.

Binaries: http://eqoffline.free.fr/Build.rar
Sources: http://eqoffline.free.fr/EQEmu-EQOffline.rar

Have fun,
Mag

Magoth78
08-15-2007, 09:00 AM
Mag another question,

Do static effects on equipment (such as haste on Flowing Black Silk Sash or DoT sheilding on some of the higher end items) affect the bots in anyway. I don't notice a change in the attack rate of my two bots with the FBSS but I don't have a parser to verify.

Do hit point adjustments on equipment modify the hit points of the bots? I notice that if a bot is at 100% health and I give him an item with +45HP his health doesn't drop to 99% (as it does with me) until natural regeneration 'heals' those 45 hit points.

Is there anyway to choose which spells your bots cast? I don't like how my shaman will not cast slow as this is a semi class defining skill. It would be nice to have an interface that you could use once you've spawned the bots to choose the spells they load.

Thanks!

Effect on item doesn't affect the bot for the moment. I will see what I can do about that.

HP on item updates the stats of the bot. But it really takes effect once you zone.

For the moment, you can't really choose the spells unless you modify, by hands, the npc_spells_entries table. It's doable, not hard at all, but it requires some time to do. If someone wants to make a npc_spells_entries table with the right levels and spells, that could be really nice. What you just have to figure is the spells type and the priority then you're set.

sonicvt
08-15-2007, 10:55 AM
Mag,

I updated to 1.03 and when I gave a bot a piece of equipment it didn't give me back what it USED TO have but rather what I just gave it. When I did #bot inventory list it showed the bot as having the item I gave it so the code seems to be duping the item instead of returning what it used to have.