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... |
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 |
Quote:
Quote:
Also i have to say that i was playing with my cousin, each one with a group of 5 bots. |
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 |
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... |
wow this looks cool !
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? |
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 |
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.
|
It works for me using winxp/titanium.
|
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: Code:
( (atk/delay)*(str/3) ) + lvl Code:
( (atk/delay)*(str/3) ) + (lvl*0.33) 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 |
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. |
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. :-D
|
Quote:
|
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 |
Quote:
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... |
Why attempt to not use the routines/math that EQEmu uses to determine player damage?
|
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...
|
a bug perhaps
More detailed discovery & troubleshooting at this recent thread...
http://www.eqemulator.net/forums/sho...476#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. |
Can anyone else confirm
Can anyone else confirm if this is happening on thier servers?
Thanks, Zard |
cant seem to download the files from mag's site, anyone else having problems?
|
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 |
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 |
I really need to try getting this to work again... I feel I am missing all the fun!
|
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. |
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 |
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.
|
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 |
Quote:
|
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 |
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()' Any clues? I had it compiled once before on Linux, but could never log in. Now, I cannot even get it to make. :( |
You need to add BotAI.cpp, BotAI.h, PetAI.cpp and PetAI.h to your Makefile.
|
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 |
Quote:
|
Yes, thoses files are in the sources package. They are added into the Visual Studio's project but not in the linux's project.
|
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. ;) |
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 ;) |
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 |
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. |
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. |
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 |
All times are GMT -4. The time now is 09:09 PM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.