|
You last visited: Today at 21:14
Advertisement
Another odd problem
Discussion on Another odd problem within the CO2 Private Server forum part of the Conquer Online 2 category.
12/09/2011, 11:30
|
#16
|
elite*gold: 12
Join Date: Jul 2011
Posts: 8,282
Received Thanks: 4,191
|
Quote:
Originally Posted by Arco.
Lemme clarify something;
When the client disconnects, the source still goes on with everything since the client is still an un-null variable. But when its stuck at initializing, its directly onto the sending of the SetLocation, then the source stops processing said client.
|
Oh... okay... o.O That sounds bazaar. I'm completely stumped. You said that you don't have these problems at all with male characters... right? Are you sure that the packets are being written properly & that you're receiving and handling them accurately? Have you tried using the default hairstyle (410)? A different cipher that you know works flawlessly? I can't think of anything else. =| You could post your character info and receive void here.
|
|
|
12/09/2011, 11:33
|
#17
|
elite*gold: 0
Join Date: Feb 2011
Posts: 335
Received Thanks: 170
|
I've tried with a RANGE of hairstyles, and just same outcome.
|
|
|
12/09/2011, 11:42
|
#18
|
elite*gold: 20
Join Date: Mar 2006
Posts: 6,126
Received Thanks: 2,518
|
Just had a thought, perhaps you should try a different client.
|
|
|
12/09/2011, 11:48
|
#19
|
elite*gold: 12
Join Date: Jul 2011
Posts: 8,282
Received Thanks: 4,191
|
Quote:
Originally Posted by Korvacs
Just had a thought, perhaps you should try a different client.
|
@Arco
You could try client 5187. *shugs*
I know 5180 has a chat issue - so you should probably use 5187 anyways.
|
|
|
12/16/2011, 07:46
|
#20
|
elite*gold: 0
Join Date: Feb 2011
Posts: 335
Received Thanks: 170
|
Quote:
Originally Posted by Fаng
@Arco
You could try client 5187. *shugs*
I know 5180 has a chat issue - so you should probably use 5187 anyways.
|
Such a late reply, but I was working around the problem, just dealing with males only for a while so I can get more stuff done. But I have returned to trying to fix the problem.
I've checked the client's debug log and I see this when females login.
Code:
¡ïASSERT(nLook > 0 && nLook < 1000)¡ï in E:\CQ2ClientRelease-19.10.2\RoleView\3DRole.cpp, 560 -- Thu Dec 15 21:38:19 2011
So I tried using a 5187 client like Fang suggested. Still same outcome. Still being stumped by this.
|
|
|
12/16/2011, 12:23
|
#21
|
elite*gold: 0
Join Date: Jan 2008
Posts: 1,443
Received Thanks: 1,175
|
Post your packet structure/dump... Maybe
|
|
|
12/16/2011, 12:27
|
#22
|
elite*gold: 0
Join Date: Feb 2011
Posts: 335
Received Thanks: 170
|
Quote:
Originally Posted by CptSky
Post your packet structure/dump... Maybe 
|
Of which packet?
|
|
|
12/16/2011, 19:55
|
#23
|
elite*gold: 12
Join Date: Jul 2011
Posts: 8,282
Received Thanks: 4,191
|
Quote:
Originally Posted by Arco.
Of which packet?
|
All of the login packets (1006, 10010/1010, 1004). I don't think it's the packet though unless it's some weird offset problem that male characters get around (somehow). Check the length of the packets coming into the packet splitter (if you have one) and check if you're handling more than one packet at a time.
I'm really running out of ideas on what this could be. This is a really weird problem. Do male characters log in 100% of the time and if the cipher working correctly (decrypts the 10010 packet and doesn't just hang there)?
|
|
|
12/16/2011, 20:01
|
#24
|
elite*gold: 0
Join Date: Feb 2011
Posts: 335
Received Thanks: 170
|
Quote:
Originally Posted by Fаng
All of the login packets (1006, 10010/1010, 1004). I don't think it's the packet though unless it's some weird offset problem that male characters get around (somehow). Check the length of the packets coming into the packet splitter (if you have one) and check if you're handling more than one packet at a time.
I'm really running out of ideas on what this could be. This is a really weird problem. Do male characters log in 100% of the time and if the cipher working correctly (decrypts the 10010 packet and doesn't just hang there)?
|
Males login ONE HUNDRED percent of the time. Females now just get disconnected at after sending the set location to the client. No more just hanging there, just disconnected.
|
|
|
12/16/2011, 20:09
|
#25
|
elite*gold: 12
Join Date: Jul 2011
Posts: 8,282
Received Thanks: 4,191
|
Quote:
Originally Posted by Arco.
Males login ONE HUNDRED percent of the time. Females now just get disconnected at after sending the set location to the client. No more just hanging there, just disconnected.
|
Try changing the Male's mesh to 2003 or 2004. If that doesn't go through, then there might be an offset issue with meshes.
|
|
|
12/16/2011, 20:28
|
#26
|
elite*gold: 0
Join Date: Feb 2011
Posts: 335
Received Thanks: 170
|
Quote:
Originally Posted by Fаng
Try changing the Male's mesh to 2003 or 2004. If that doesn't go through, then there might be an offset issue with meshes.
|
Done that already. Still same outcome.
|
|
|
12/16/2011, 21:58
|
#27
|
elite*gold: 0
Join Date: Jan 2008
Posts: 1,443
Received Thanks: 1,175
|
The packet dump of the character info packet. I want to see the look value you send to the client. With the debug file, it seems that it's the female look that is invalid. We will see by the outgoing packet.
|
|
|
12/16/2011, 22:21
|
#28
|
elite*gold: 0
Join Date: Feb 2011
Posts: 335
Received Thanks: 170
|
Quote:
Originally Posted by CptSky
The packet dump of the character info packet. I want to see the look value you send to the client. With the debug file, it seems that it's the female look that is invalid. We will see by the outgoing packet.
|
Male dump:
Code:
67 00 EE 03 41 42 0F 00 2B 82 05 00 32 03 64 00 g...AB..+...2.d.
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 01 0A 00 00 01 00 00 00 00 00 00 00 00 00 ................
00 01 00 00 00 00 00 00 00 02 07 4C 65 6D 6F 6E ...........Lemon
51 45 04 4E 6F 6E 65 00 00 00 00 00 00 00 00 QE.None........
Female dump:
Code:
67 00 EE 03 41 42 0F 00 11 86 05 00 32 03 64 00 g...AB......2.d.
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 01 0A 00 00 01 00 00 00 00 00 00 00 00 00 ................
00 01 00 00 00 00 00 00 00 02 07 4C 65 6D 6F 6E ...........Lemon
51 45 04 4E 6F 6E 65 00 00 00 00 00 00 00 00 QE.None........
|
|
|
12/16/2011, 22:48
|
#29
|
elite*gold: 0
Join Date: Jan 2008
Posts: 1,443
Received Thanks: 1,175
|
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...
|
|
|
12/16/2011, 23:41
|
#30
|
elite*gold: 0
Join Date: Feb 2011
Posts: 335
Received Thanks: 170
|
Quote:
Originally Posted by CptSky
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...
|
My lookface is always a valid number though.
like 2152001
2012002
|
|
|
All times are GMT +1. The time now is 21:15.
|
|