Hum. I don't understand...
Maybe it will help. When the client receive the MsgUserInfo packet, it's what it does with the Look.
Code:
g_objHero.Create(m_pInfo->dwLookFace%1000);
g_objHero.SetFace((m_pInfo->dwLookFace/10000)%1000);
g_objHero.SetSex(m_pInfo->dwLookFace%1000);
g_objHero.Transform(m_pInfo->dwLookFace/10000000);
The look is basically set by a call inside the Create function. You easily find that it's where you got an error.
Code:
void C3DRole::SetLook(int nLook)
{
MYASSERT (nLook>0 && nLook<1000);
m_nLook = nLook;
if (!m_pArmor)
{
m_pArmor = C3DArmor::CreateNew(m_nLook*1000000);
MYASSERT (m_pArmor);
}
else
{
OBJID idType = m_pArmor->GetTypeID();
if ((idType%1000000) == 0) // no real armor
{
SAFE_DELETE(m_pArmor);
m_pArmor = C3DArmor::CreateNew(m_nLook*1000000);
MYASSERT (m_pArmor);
}
}
// this->SetHead(0); //fot TerrainEffectEditor
}
It seems that Look % 1000 of what you send isn't in the good range... But eh, 362001 % 1000 = 1...