[DiscordArchive] I was trying to add a 22nd race (it seems to be possible, since some pservers managed to do it), mod
[DiscordArchive] I was trying to add a 22nd race (it seems to be possible, since some pservers managed to do it), mod
![[Image: image.png?ex=690c0049&is=690aaec9&hm=1f1...da3912965&]](https://cdn.discordapp.com/attachments/415944535718494208/1065630820020264960/image.png?ex=690c0049&is=690aaec9&hm=1f1290b489580deadfd7c153ee7b29f19bdba614a24aca55deb237dda3912965&)
![[Image: image.png?ex=690c004a&is=690aaeca&hm=af4...a2ff3f9f6&]](https://cdn.discordapp.com/attachments/415944535718494208/1065630820313862234/image.png?ex=690c004a&is=690aaeca&hm=af480950121f6eec99df2d4b2e88aec716c02a89c10065315e3a519a2ff3f9f6&)
Archived author: Stevie • Posted: 2023-01-19T13:56:26.082000+00:00
Original source
I was trying to add a 22nd race (it seems to be possible, since some pservers managed to do it), modified SharedDefines race section, edited the required dbcs (correct me please if I'm missing something: ChrRaces, CharBaseInfo, CharStartOutfit, CharHairGeosets, CharacterFacialHairstyles, EmotesTextSound, VocalUISound, BarberShopStyle, CharSections, CreatureModeldata & DisplayInfo), got the compatible .exe, added needed entries to DB (playercreateinfo, playercreateinfo_action, playercreateinfo_skills, player_classlevelstats, player_levelstats). However, I'm stuck at this error for now - on character selection screen all of my characters, regardless of their class or race are missing, and I'm unable to create a new one with error logs on second pic showing up.
The issue persists even if I revert DBC changes to stable ones.
What could be the issue here and how can I fix it?
![[Image: image.png?ex=690c0049&is=690aaec9&hm=1f1...da3912965&]](https://cdn.discordapp.com/attachments/415944535718494208/1065630820020264960/image.png?ex=690c0049&is=690aaec9&hm=1f1290b489580deadfd7c153ee7b29f19bdba614a24aca55deb237dda3912965&)
![[Image: image.png?ex=690c004a&is=690aaeca&hm=af4...a2ff3f9f6&]](https://cdn.discordapp.com/attachments/415944535718494208/1065630820313862234/image.png?ex=690c004a&is=690aaeca&hm=af480950121f6eec99df2d4b2e88aec716c02a89c10065315e3a519a2ff3f9f6&)
Archived author: stoneharry • Posted: 2023-01-19T13:57:12.015000+00:00
Original source
You can search that error message in the emulator source code to see the validation failing
![[Image: image.png?ex=690c04db&is=690ab35b&hm=979...5377b867d&]](https://cdn.discordapp.com/attachments/415944535718494208/1065635724990357544/image.png?ex=690c04db&is=690ab35b&hm=9799703604b4091a6f5cf8eeefd09fafaf4196974ba2cd3105fd6b75377b867d&)
Archived author: Stevie • Posted: 2023-01-19T14:15:55.421000+00:00
Original source
yep, I found it, but I'm having some hard time understanding it since I'm not much of a cpp coder
If I understand it correctly, it grabs info from checks performed at object mgr ( ObjectMgr::LoadPlayerInfo()), and if the info is somehow wrong, it returns this log msg and prevents from reading characters from DB.
The problem is that I cannot find where exactly the checks are performed. The only related strings I found are checking info in playercreate DBs, and if check is failed, it prints another error message, which is not my case, because I have these DBs filled. So I'm kinda confused about that, perhaps I'm searching it in a wrong place or do not understand how it works correctly
![[Image: image.png?ex=690c04db&is=690ab35b&hm=979...5377b867d&]](https://cdn.discordapp.com/attachments/415944535718494208/1065635724990357544/image.png?ex=690c04db&is=690ab35b&hm=9799703604b4091a6f5cf8eeefd09fafaf4196974ba2cd3105fd6b75377b867d&)
Archived author: Nix • Posted: 2023-01-19T14:24:05.271000+00:00
Original source
So it looks like GetPlayerInfo doesn't return a valid PlayerInfo pointer
Archived author: Nix • Posted: 2023-01-19T14:24:41.190000+00:00
Original source
So you'd need to go into GetPlayerInfo to check why it wouldn't do so, sometimes there can be multiple reasons as to why. If you know how to use a debugger, you can find the exact reason that way.
Archived author: Nix • Posted: 2023-01-19T14:25:23.982000+00:00
Original source
It may be nested in another call inside of GetPlayerInfo, or the data GetPlayerInfo depends on fails to load because of another issue
Archived author: Stevie • Posted: 2023-01-19T14:34:01.013000+00:00
Original source
Aight, gonna see if I find something
Archived author: Bset • Posted: 2023-01-19T14:37:32.513000+00:00
Original source
Excellent, thanks!