trickerer / Trinity-Bots

NPCBots for TrinityCore and AzerothCore 3.3.5
https://github.com/trickerer/TrinityCore-3.3.5-with-NPCBots/
449 stars 148 forks source link

[TC] [AC] [Question] [Core]Questions about model modification in NPCBOTS. #842

Open moncat2005 opened 3 days ago

moncat2005 commented 3 days ago

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

Description

Questions about model modification in NPCBOTS.

The model of npcbots can be modified except for the displaymodel in creatue_template_model.

There is also a data table: gender definition in creature_template_npcbot_appearance, There are also character feature extensions, such as skin, face,hair,haircolor,features.

Recently, some players suggested that I modify some of the newly added characters in the original copy to be female. After trying to modify the model ID of the reference female NPC in creatue_template_model Also modified the gender field in the creature_template_npcbot_appearance table I am not sure about the parameter definitions for skin, face, hair, haircolor, and features. But after trying to modify it, I found that the skin color and facial shape of female characters of the Draenei race were very strange.

Where does the data reference for these extended parameters come from?

TrinityCore or AzerothCore

AzerothCore

Core rev. hash/commit

AzerothCore rev. 4bdf5b7 2024-07-01 11:24:18 +0800 (npcbots_3.3.5 branch)

Operating system

ubuntu 18.04

trickerer commented 3 days ago

There are several potential reasons for model screw-up:

As far as I remember client's cache doesn't affect this.

Ranges for model details (skin, face, etc.) come from DBCs. There are some quirks though, like some hairstyles and colors are only available through barbershop and although they can be assigned almost all bots use standard ranges I didn't use DBCs since the values are not condensed within a single table, I had to make my own chart giving a name to every skin tone (per race), face type (per gender per race), hair style and everything else - was kinda fun but not very readable as it's intentionally in engrish. Also enumerated model presets my voice type but that data is outdated now.

moncat2005 commented 2 days ago

What I'm saying is strange: for example, the expression on the face is very strange, the complexion turns black and the skin tone is not consistent, and the hair color is pure green.

Yes, it should be the manifestation of parameter overflow that you explained.

Which DBC data files are the specific configurations of these parameters in?

trickerer commented 2 days ago

Ranges can be picked up from CharSections.dbc: column 5 (index 4) usually states the name of a texture which contains race, gender and appearance detail, like HumanMaleSkinXX_YY.blp and column 10 stores variation index. The maximum value is 14 for this race/gender/type combination so there are 15 different human male skin tones. Note however that only first 10 are used for playable characters, the rest are usually different zombified skins. And so on.

Specific values used per creature are listed in CreatureDisplayInfoExtra.dbc which is referenced by CreatureDisplayInfo.dbc, semi-useful.

As I said, I had to find those base max values experimentally. Essentially I made a command which spawns a temporary mirror image creature with wanted values assigned and matches it against existing creatures in world repeatedly as well as character creation screen.

icedcolor commented 1 day ago

@trickerer [AC] Error after compiling in the new update

7

trickerer commented 22 hours ago

@trickerer [AC] Error after compiling in the new update

7

It's an AC update not Trinity-Bots, you don't need to report this. Bots update schedule can be found in the very beginning of the Readme.