Forums WoW Modding Discussion Serverside [Archive] [Trinity] New problem with goblin race (invalid appearance attributes)

[Archive] [Trinity] New problem with goblin race (invalid appearance attributes)

[Archive] [Trinity] New problem with goblin race (invalid appearance attributes)

rektbyfaith
Administrator
0
11-07-2016, 08:18 PM
#1
Archived author: Athris • Posted: 2016-11-07T20:18:04+00:00
Original source

Hello,

i convert my old 3.3.5a trinity core (2014) to a new 3.3.5a core (2016).

I create goblins as custom race, but now if i want to create or login i get the follow message from trinity core:
Quote: Quote

Player::Create: Possible hacking attempt: Account %u tried to create a character named '%s' with invalid appearance attributes - refusing to do so
So i try to debug it. I think something with the CharSelection.dbc is wrong, but i dont know why. See attach for my CharSection.dbc

Does anybody has an idea?

CharSections.dbc
rektbyfaith
11-07-2016, 08:18 PM #1

Archived author: Athris • Posted: 2016-11-07T20:18:04+00:00
Original source

Hello,

i convert my old 3.3.5a trinity core (2014) to a new 3.3.5a core (2016).

I create goblins as custom race, but now if i want to create or login i get the follow message from trinity core:

Quote: Quote

Player::Create: Possible hacking attempt: Account %u tried to create a character named '%s' with invalid appearance attributes - refusing to do so
So i try to debug it. I think something with the CharSelection.dbc is wrong, but i dont know why. See attach for my CharSection.dbc

Does anybody has an idea?

CharSections.dbc

rektbyfaith
Administrator
0
11-07-2016, 09:24 PM
#2
Archived author: MrXJKz • Posted: 2016-11-07T21:24:40+00:00
Original source

It's in core, not DBC.
rektbyfaith
11-07-2016, 09:24 PM #2

Archived author: MrXJKz • Posted: 2016-11-07T21:24:40+00:00
Original source

It's in core, not DBC.

rektbyfaith
Administrator
0
11-07-2016, 09:37 PM
#3
Archived author: Rangorn • Posted: 2016-11-07T21:37:42+00:00
Original source

https://github.com/TrinityCore/TrinityCo...r.cpp#L635

https://github.com/TrinityCore/TrinityCo....cpp#L1655

Delete lines related to ValidateAppearance and recompile ur core
rektbyfaith
11-07-2016, 09:37 PM #3

Archived author: Rangorn • Posted: 2016-11-07T21:37:42+00:00
Original source

https://github.com/TrinityCore/TrinityCo...r.cpp#L635

https://github.com/TrinityCore/TrinityCo....cpp#L1655

Delete lines related to ValidateAppearance and recompile ur core

rektbyfaith
Administrator
0
11-07-2016, 09:47 PM
#4
Archived author: Athris • Posted: 2016-11-07T21:47:30+00:00
Original source

Mhm i activate the race 9 in SharedDefines.h. Did i forgot something?
rektbyfaith
11-07-2016, 09:47 PM #4

Archived author: Athris • Posted: 2016-11-07T21:47:30+00:00
Original source

Mhm i activate the race 9 in SharedDefines.h. Did i forgot something?

rektbyfaith
Administrator
0
11-07-2016, 09:58 PM
#5
Archived author: Athris • Posted: 2016-11-07T21:58:44+00:00
Original source

Quote: 20 minutes ago, Rangorn said:

https://github.com/TrinityCore/TrinityCo...r.cpp#L635

https://github.com/TrinityCore/TrinityCo....cpp#L1655

Delete lines related to ValidateAppearance and recompile ur core
Yes but thats only a workaround... not a solution [Image: unsure.png]
rektbyfaith
11-07-2016, 09:58 PM #5

Archived author: Athris • Posted: 2016-11-07T21:58:44+00:00
Original source

Quote: 20 minutes ago, Rangorn said:

https://github.com/TrinityCore/TrinityCo...r.cpp#L635

https://github.com/TrinityCore/TrinityCo....cpp#L1655

Delete lines related to ValidateAppearance and recompile ur core
Yes but thats only a workaround... not a solution [Image: unsure.png]

rektbyfaith
Administrator
0
11-07-2016, 10:43 PM
#6
Archived author: Rangorn • Posted: 2016-11-07T22:43:01+00:00
Original source

and ? Works for me
rektbyfaith
11-07-2016, 10:43 PM #6

Archived author: Rangorn • Posted: 2016-11-07T22:43:01+00:00
Original source

and ? Works for me

rektbyfaith
Administrator
0
11-08-2016, 11:42 AM
#7
Archived author: barncastle • Posted: 2016-11-08T11:42:11+00:00
Original source

I'd personally do what Rangorn suggested as it would be a lot simpler than trying to debug this...

I've not tested but the problem looks to be that one of the records has the 0x4 (SECTION_FLAG_DEATH_KNIGHT) flag set and is being used when the class is not a death knight. I'd suggest stepping through the ValidateAppearance function in player.cpp and seeing at what point it is returning false.
rektbyfaith
11-08-2016, 11:42 AM #7

Archived author: barncastle • Posted: 2016-11-08T11:42:11+00:00
Original source

I'd personally do what Rangorn suggested as it would be a lot simpler than trying to debug this...

I've not tested but the problem looks to be that one of the records has the 0x4 (SECTION_FLAG_DEATH_KNIGHT) flag set and is being used when the class is not a death knight. I'd suggest stepping through the ValidateAppearance function in player.cpp and seeing at what point it is returning false.

rektbyfaith
Administrator
0
11-08-2016, 09:47 PM
#8
Archived author: Athris • Posted: 2016-11-08T21:47:37+00:00
Original source

Thats the problem:

if (CharSectionsEntry const* entry = GetCharSectionEntry(race, SECTION_TYPE_SKIN, gender, 0, skinColor))

GetCharSectionEntry returns NULL:

std::pair<CharSectionsMap::const_iterator, CharSectionsMap::const_iterator> eqr = sCharSectionMap.equal_range(uint32(genType) | uint32(gender << 8) | uint32(race << 16));
for (CharSectionsMap::const_iterator itr = eqr.first; itr != eqr.second; ++itr)
{
if (itr->second->Type == type && itr->second->Color == color)
return itr->second;
}

return NULL;

The eqr variable contains the wrong values. So the "for loop" exit on the first "run" and returns null. I dont know why...
rektbyfaith
11-08-2016, 09:47 PM #8

Archived author: Athris • Posted: 2016-11-08T21:47:37+00:00
Original source

Thats the problem:

if (CharSectionsEntry const* entry = GetCharSectionEntry(race, SECTION_TYPE_SKIN, gender, 0, skinColor))

GetCharSectionEntry returns NULL:

std::pair<CharSectionsMap::const_iterator, CharSectionsMap::const_iterator> eqr = sCharSectionMap.equal_range(uint32(genType) | uint32(gender << 8) | uint32(race << 16));
for (CharSectionsMap::const_iterator itr = eqr.first; itr != eqr.second; ++itr)
{
if (itr->second->Type == type && itr->second->Color == color)
return itr->second;
}

return NULL;

The eqr variable contains the wrong values. So the "for loop" exit on the first "run" and returns null. I dont know why...

Recently Browsing
 1 Guest(s)
Recently Browsing
 1 Guest(s)