|
|
 |
 |
 |
 |
|
 |
 |
|
 |
 |
|
 |
|
Development::Bots Forum for bots. |

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.
|

05-27-2007, 05:35 AM
|
Hill Giant
|
|
Join Date: Mar 2005
Location: japan
Posts: 171
|
|
hehe
heck with a program like these bots soon we real lfe humans won't be needed. The BOTS will take over and do everything. 
|
 |
|
 |

05-27-2007, 08:01 AM
|
Discordant
|
|
Join Date: Jun 2003
Posts: 345
|
|
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 
|
 |
|
 |

05-27-2007, 07:49 AM
|
Sarnak
|
|
Join Date: Dec 2005
Posts: 43
|
|
Quote:
Originally Posted by mattmeck
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.
|

06-17-2007, 07:00 AM
|
Fire Beetle
|
|
Join Date: Apr 2006
Posts: 15
|
|
cant seem to download the files from mag's site, anyone else having problems?
|

06-17-2007, 06:55 PM
|
Discordant
|
|
Join Date: Jun 2003
Posts: 345
|
|
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
|
 |
|
 |

06-28-2007, 01:11 PM
|
Hill Giant
|
|
Join Date: Nov 2004
Posts: 160
|
|
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
Last edited by Zengez; 06-28-2007 at 09:18 PM..
|
 |
|
 |

06-29-2007, 07:47 AM
|
Demi-God
|
|
Join Date: Jul 2006
Posts: 1,552
|
|
I really need to try getting this to work again... I feel I am missing all the fun!
|

06-30-2007, 12:14 AM
|
Discordant
|
|
Join Date: Jun 2003
Posts: 345
|
|
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.
|

06-30-2007, 10:03 AM
|
Discordant
|
|
Join Date: Jun 2003
Posts: 345
|
|
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
|

07-01-2007, 12:16 PM
|
Discordant
|
|
Join Date: Jun 2003
Posts: 345
|
|
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
|

07-01-2007, 12:15 PM
|
Hill Giant
|
|
Join Date: Nov 2004
Posts: 160
|
|
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.
|

07-01-2007, 12:22 PM
|
Discordant
|
|
Join Date: Jun 2003
Posts: 345
|
|
Quote:
Originally Posted by Zengez
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.
|
 |
|
 |

07-06-2007, 09:12 AM
|
Discordant
|
|
Join Date: Jun 2003
Posts: 345
|
|
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
|
 |
|
 |
 |
|
 |

07-07-2007, 05:34 AM
|
Demi-God
|
|
Join Date: Jul 2006
Posts: 1,552
|
|
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...
Code:
/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. :(
|
 |
|
 |
Thread Tools |
|
Display Modes |
Hybrid Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 07:17 AM.
|
|
 |
|
 |
|
|
|
 |
|
 |
|
 |