Closed YunataSavior closed 3 years ago
Please add a task list at the start of your post so it's easier to follow
I've added a list and another issue I've ran into (threat management by bots)
another issue I've ran into (threat management by bots)
IIRC, bots don't know if player is a tank unless you are in a raid and assign this role (/maintank, /mt)
Alright, so that fixed my problem; I'll edit the post.
One other thing, how do I make a raid group with bots? I tried converting a party to a raid, then hiring another bot, but I cannot invite that bot into my party.
I have the option enabled that enables bots to go inside raid instances btw.
What do you mean 'cannot invite that bot into my party'? You don't have that option in gossip or what?
Actually, I am able to hire them into the party and bring them into raids, but I'm unable to have raid frames of bots past a team of 5
Regarding having shamans pop hero/lust, by default, they shouldn't automatically pop lust.
Instead, have the player character emote "/charge" (which can target anyone or not), which prompts the shaman to pop lust.
Regarding having shamans pop hero/lust, by default, they shouldn't automatically pop lust.
Instead, have the player character emote "/charge" (which can target anyone or not), which prompts the shaman to pop lust.
Not the best idea. Probably better would be to make bots react to chat commands (for variety), plus the whole thing requires allowing player to disable autocast / enable manual cast of certain spells. Maybe spell could be scheduled to be casted by first available bot or something but that's gonna take way more time.
@trickerer I'm going to bump the issue of disappearing NPC bots because the issue happened to me again :confused:
One hypothesis, by looking at world.creature, is that the NPC bot travels from the logout location to its "home" location. In travel, I think it dies or something; nevertheless, when you restart the server, the NPC doesn't show up, and when you teleport to the NPC bot's location (using .go xyz), the NPC isn't there.
What controls making NPC bots visible/invisible? What code can I inject into the core, or what SQL/server commands can I use, in order to go about fixing this locally? If I can fix this locally, I can 100% determine (1) the exact cause of this bug, and (2) write code to avoid this issue from ever happening.
I vaguely remember struggling with saving dead bots like this
Try to comment out this as a tempfix. It will make bots always teleport home instead of traveling by foot
I've commented out that if () statement, but the NPC is still invisible and stuck at the coordinate mentioned above.
For reference, here's the bot's entry in world.creature:
mysql> SELECT * from creature WHERE id=70180;
+--------+-------+-----+--------+--------+-----------+-----------+---------+--------------+------------+------------+------------+-------------+---------------+-----------------+-----------------+-----------+---------+--------------+---------+------------+--------------+------------+---------------+
| guid | id | map | zoneId | areaId | spawnMask | phaseMask | modelid | equipment_id | position_x | position_y | position_z | orientation | spawntimesecs | wander_distance | currentwaypoint | curhealth | curmana | MovementType | npcflag | unit_flags | dynamicflags | ScriptName | VerifiedBuild |
+--------+-------+-----+--------+--------+-----------+-----------+---------+--------------+------------+------------+------------+-------------+---------------+-----------------+-----------------+-----------+---------+--------------+---------+------------+--------------+------------+---------------+
| 213869 | 70180 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | -4436.68 | -1017.46 | -47.7864 | 5.25797 | 300 | 0 | 0 | 12600 | 0 | 0 | 0 | 0 | 0 | | 0 |
+--------+-------+-----+--------+--------+-----------+-----------+---------+--------------+------------+------------+------------+-------------+---------------+-----------------+-----------------+-----------+---------+--------------+---------+------------+--------------+------------+---------------+
This roughly corresponds to Thousand Needles. The bot's home location is within Thrall's throne room in Orgrimmar, and I logged out in Silithus.
That change only prevents this from happening again (if issue is what I think it is). Try .npc move
. If this doesn't help, you'll have to fix coordinates manually. Also check in GM mode if bot is there (after .npc move
) with infinite (or very long) respawn time.
Moving the NPC bot into Thrall's throne room works (it updates the SQL entry), but toggling GM mode does not make the NPC bot appear.
How do I go about checking respawn timers?
For further debugging information, even when updating characters.characters_npcbot and resetting the "owner" column to 0, the NPC Hiring Valkyr does not offer the NPC bot that's having this issue for sale.
If he does not appear right away he will after server restart. He may need to be respawned manually (.npc info
may show current respawn timer being ridiculously big) but after that everything should be fine.
The whole problem must be with respawn time not being saved at death (or loaded at server start)
After a bit of finesse, I managed to get the NPC bot back, just letting you know.
I did reboot the server a couple of times while issuing ".respawn" next to where I put the NPC bot.
Sometimes i have npcbot dissappearing on login or server start,but i have fix this problems with one solution: 1.Shut down server. 2.using navicat enter to character DB and find respawn table,use command to empty this respawn table. 3.after server start,npcbot appear again(and so all killed npcs too)
Also npcbots can disappear if player log out from raid dungeons or some dungeons like blackwing lair or upper or lower blackrock spire,and only that thing which i described later fixed npcbots disappearing
Вообщем проверить изчезаемость ботов можно даже так,взять пати из 4 ботов,телепортнуться в blackwing lair.Закрыть клиент игрока с помощью альт+ф4,зайди на сервер снова-боты пропадут и не будут появляться до тех пор пока не сделать очищение в ДБ characters ,папка\table respawn.ЕЕ очищаем и боты после рестарта сервера появляются.
I've been looking at what I was doing with bots before switching to other projects and it seems like actually I had a fix for bots disappearing for 2 months now, but never pushed it (it is for 2013 branch). I'll port it soon.
For (1) and (2): unfortunately it is hard to tell what produces more pathing issues - bots' movement algorithms or native TC pathfinding. Bots do much more pathfinding than normal mobs or pets, thus exposing existing flaws in pathing system. Over the years I've seen countless pathdinding / map height calculation fixes, here is another one: 9f0b5526f0. MMaps generation settings could also affect this, but it's probably less relevant.
I've been trying to produce Anub'ar Crushers crash for a bit, but I was getting crashes even without bots. Crash was caused by Crushing Webs spell dot tick when Hadronox and all trash despawn (invalidates aura caster pointer).
Toggling certain types of CCs amongst party members
Right now there is a way to disable certain spells (Manage abilities -> manage allowed abilities), though these settings are not saved between server restarts. Also, gossip cannot hold more than 32 items and some classes have more spells than that, especially classes with CC spells.
Maybe I could split the list by categories or just add a submenu with CC spells only.
Maybe I could split the list by categories or just add a submenu with CC spells only.
Если есть возможность сделать в меню диалогов подменю для каждой ветки талантов/заклинаний у каждого типа ботов чтобы лучше кастомизировать их способности.Но я так понимаю настроив бота к примеру запретить использовать страх, то после перезагрузки сервера их настройки сбрасываются?
Maybe I could split the list by categories or just add a submenu with CC spells only.
Если есть возможность сделать в меню диалогов подменю для каждой ветки талантов/заклинаний у каждого типа ботов чтобы лучше кастомизировать их способности.Но я так понимаю настроив бота к примеру запретить использовать страх, то после перезагрузки сервера их настройки сбрасываются?
Пока да. Насчет веток не согласен, ручного распределения талантов пока нет, а в(ы)ключать спеллы лучше по их применению: контроль, дамаг, хил, диспел и т.д. (например)
(2) Worth mentioning: TC pull 24020
I got the exact same error "Disappearing NPCbots on login". I did the following attempts to remove the bot (entry 70228) but all failed:
.npcbot delete 70228
. This does not work as the command only accepts selected target..npcbot spawn 70228
. Getting an error saying the bot already exists.characters_npcbot
(as it is reported working in this post), and tried .npcbot spawn 70228
, getting an error saying the bot already exists in creature
table.Starting NpcBot system...
>> Bot appearance data loaded
>> Bot race data loaded
>> Loaded 8 bot data entries
c:\users\conan\desktop\trinitybuilderv3\trinitybuilder\source\tc_npcbots\src\server\game\ai\npcbots\bot_ai.cpp:9590 in b
ot_ai::InitFaction ASSERTION FAILED:
npcBotData && "bot_ai::InitFaction(): data not found!"
Me: MapID: 0 Map name: 'Eastern Kingdoms' X: -10511 Y: 1055.97 Z: 58. 1259 O: 5.80435
GUID Full: 0xf1300112540000f7 Type: Creature Entry: 70228 Low: 247 Entry 70228
Name: Nara
IsAIEnabled: true DeathState: 0 UnitMovementFlags: 0 ExtraUnitMovementFlags: 0 Class: 8
MoveSpline
spline Id: 0
flags: Done
time passed: 0
total time: 0
spline point Id: 0
path point Id: 1
mode: Uninitialized
points count: 0
AIName: ScriptName: priest_bot WaypointPath: 0 SpawnId: 213827
I want to 1) fix the server starting error and get server running again; 2) find a workaround of the bot missing issue (being able to delete it and respawn it). Any help would be appreciated.
DELETE FROM creature WHERE id = 70228;
Thanks for the prompt reply! That did work.
I take the liberty of editing the OP since author seems to be inactive for more that half a year now.
I don't want to spam the "Issues" page, but I want to report a multitude of issues that I've encountered when playing this mod:
I'll edit this post and strikethrough issues that get resolved; I'll leave this Issue open until all issues become resolved.
Bug (B) List
NPC Bots fall through the floor in GundrakBots part fixed in ed1aa713c1When swimming, bots sink to the floor of the pool/sea/ocean/etc.Not a bots issueShamans using lust/hero at stupid timesBots are stupid - disable the ability and use cast ordersIn Azjol-Nerub, pulling the Anub Crushers up the ramp crashes the coreFixedDisappearing NPCbots on loginMost likely fixed in f4f66672a5Arms Warrior bot with Tank role disabled still pulls threat off the tankFeature Request (FR) List
Toggling certain types of CCs amongst party membersSpell disables by category implementedIncremental Updates#73Dialog options to create/customize NPC bots with the NPC Bot Vrykul ladyrejectedBugs
NPC Bots fall through the floor in Gundrak
I've observed the NPC bots failing to path properly in the following two places:
(1) When entering the Tomb of the Ancients from the East side (see https://www.wowhead.com/gundrak#map:4416.1 for reference), they fall through the floor. (2) The NPC bots fail to properly follow you up the staircase to the final boss area; they instead fall through the floor and into the pool below.
When swimming, bots sink to the floor of the pool/sea/ocean/etc.
Title. The expected behavior is they will stay at the same height as you....
Shamans using lust/hero at stupid times
I know the bots are "dumb", but one specific case stands out amongst all: in the Culling of Stratholme instance, shamans pop lust/hero when surrounded by Risen Zombies (as a reminder, these are a few hundred health non-elite mobs littered around the first part of the instance). If you'd rather not code complex logic for when to use lust/hero for shamans, could you implement an NPC bot command that is issued by the player to signal when to lust? If there is already a command for that, then I'll mark this section as resolved.
In Azjol-Nerub, pulling the Anub Crushers up the ramp crashes the core
Title. IDK if this is solely the fault of the core, or if it's caused by the Trinity Bots.
Also, semi-related, bots fall through the floor sometimes and start whacking Hadronox before defeating the crushers.
Disappearing NPCbots on login
Alright, I'll try my best to describe this particular bug. I'm not exactly sure how to reproduce this, but I'll state what happened:
I set MaxBots=4 and had the following group composition: (1) Warrior (2) Priest (3) Druid (4) Hunter (with a pet) I was unmounted, so the hunter brought out her pet, then I logged out and shut down the server. Then, the next morning, I started up the server and logged in, but the Warrior never reappeared! The entries for the Warrior still populate each table, and I've tried going to where the Warrior SHOULD BE (by looking in world.creature and TPing to the XYZ coords (yes, I used the correct map ID)), but the Warrior is invisible and untargetable!!
I'd like your help with debuging this, so please add me on Discord/etc.
Solved: Arms Warrior bot with Tank role disabled still pulls threat off the tank
I'm spamming my 69696 rotation with Righteous Fury active, yet mobs are still being attracted by the Warrior.Use "/maintank" or "/mt" on yourself.
Feature Requests
Toggling certain types of CCs amongst party members
One REALLY ANNOYING THING I'm encountering is that: when running dungeons, certain party members cast Fear spells, and this messes up the mobs/npcbots, causing us to pull a ton of trash (or even the bosses), which leads to us wiping.
I'd like the option of toggling what CCs your minions can/cannot use, such as:
.npcbot command disable fear
Incremental Updates
Right now, you are publishing monolithic .patch files; could you also create a .patch file that contains only the changes between commits? I don't want to have to spend 20 minutes recompiling the entire core anytime you only modify a total of 5 C++ lines.
Same goes for SQL update files.
Dialog options to create/customize NPC bots with the NPC Bot Vrykul lady
Rather than having to manually insert entries into the corresponding SQL tables yourself, why not have a dialog tree for the Vrykul lady (id 70000) that allows you to pick-and-choose elements to create custom NPCbots.
In the dialog tree, you would have:
Etc
More to come; will update.
PS: Do you have a Discord/IRC to communicate about this project? I'm fluent in C++/Unix/SQL, so if you'd like me to debug things on my end, I'm very capable of doing so :)