|
You last visited: Today at 21:23
Advertisement
[V16] OnJoin Error Source
Discussion on [V16] OnJoin Error Source within the Flyff Private Server forum part of the Flyff category.
06/02/2011, 20:21
|
#1
|
elite*gold: 23
Join Date: Jun 2008
Posts: 949
Received Thanks: 376
|
[V16] OnJoin Error Source
Heyho,
hab da mal schnell ne Frage.
Ich habe die V16 Jobs, Skills etc. aus Aldimasters Source in ne cleane v15 source eingefügt.
Problem ist jedoch nun, das ich nicht ingame reinkomme.
Errorlog ist nur dies hier(Serverseitig, Clientseitig nichts)
Quote:
2011/ 6/ 2 20:17:29
OnJoin(): dennisdra, 2
2011/ 6/ 2 20:18:07
OnJoin(): dennisdra1, 1
2011/ 6/ 2 20:18:51
OnJoin(): rtesjkfioerjg, 4
|
Ich hoffe, das iwer weiter weiß.
Thx im vorraus.
Mfg
dennisdra
|
|
|
06/02/2011, 20:34
|
#2
|
elite*gold: 18
Join Date: Sep 2009
Posts: 20,177
Received Thanks: 14,471
|
Das sind fehler der DB aus.
Bei OnJoin mit dem Error 4 ist der fehler bei "m_tGuildMember"
|
|
|
06/02/2011, 20:46
|
#3
|
elite*gold: 0
Join Date: Feb 2010
Posts: 294
Received Thanks: 85
|
Quote:
Originally Posted by Sedrika
Das sind fehler der DB aus.
Bei OnJoin mit dem Error 4 ist der fehler bei "m_tGuildMember"
|
Was für ein Schman du laberst xD.
Mach sicher das du in der Funktion
CDPDatabaseClient::OnJoin()
Das drinne hast.
Code:
#ifdef __3RD_LEGEND16 // __LEGEND // 10Â÷ Àü½Â½Ã½ºÅÛ Neuz, World, Trans
if( pUser->GetLevel() > MAX_CHARACTER_LEVEL )
#else //__LEGEND // 10Â÷ Àü½Â½Ã½ºÅÛ Neuz, World, Trans
if( pUser->GetLevel() > MAX_LEVEL )
#endif //__LEGEND // 10Â÷ Àü½Â½Ã½ºÅÛ Neuz, World, Trans
{
WriteError( "MAX_LEVEL//%s//%d", pUser->GetName(), pUser->GetLevel() );
#ifdef __3RD_LEGEND16
pUser->m_nLevel = MAX_CHARACTER_LEVEL;
#else
pUser->m_nLevel = MAX_LEVEL;
#endif // __3RD_LEGEND16
|
|
|
06/02/2011, 21:41
|
#4
|
elite*gold: 23
Join Date: Jun 2008
Posts: 949
Received Thanks: 376
|
Es gibt jedoch 2 DPDatabaseClient.cpp
1st im Cacheserver
2nd im Worldserver
würde es denn so gehen, wenn ich es einbaue?
Code:
void CDPDatabaseClient::OnJoin( CAr & ar, DPID dpidCache, DPID dpidUser )
{
DWORD dwWorldId, dwIndex;
DWORD dwSavePlayerTime = 0;
DWORD dwSaveFlyTime = 0;
int nMaximumLevel = 0;
char lpOutputString[128] = { 0, };
sprintf( lpOutputString, "WORLDSERVER.EXE\t// PACKETTYPE_JOIN\t// %d", g_uKey );
OutputDebugString( lpOutputString );
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
if( pUser )
{
DWORD dwAuthKey;
ar >> dwAuthKey;
if( pUser->m_dwAuthKey != dwAuthKey )
{
WriteLog( "OnJoin(): Different dwAuthKey" );
return; //
}
char lpAddrtmp[16];
[COLOR="Red"]#ifdef __3RD_LEGEND16 // __LEGEND // 10Â÷ Àü½Â½Ã½ºÅÛ Neuz, World, Trans
if( pUser->GetLevel() > MAX_CHARACTER_LEVEL )
#else //__LEGEND // 10Â÷ Àü½Â½Ã½ºÅÛ Neuz, World, Trans
if( pUser->GetLevel() > MAX_LEVEL )
#endif //__LEGEND // 10Â÷ Àü½Â½Ã½ºÅÛ Neuz, World, Trans
{
WriteError( "MAX_LEVEL//%s//%d", pUser->GetName(), pUser->GetLevel() );
#ifdef __3RD_LEGEND16
pUser->m_nLevel = MAX_CHARACTER_LEVEL;
#else
pUser->m_nLevel = MAX_LEVEL;
#endif // __3RD_LEGEND16[/COLOR]
#ifdef __ON_ERROR
int nOnError = 0;
try
{
#endif // __ON_ERROR
|
|
|
06/02/2011, 21:41
|
#5
|
elite*gold: 18
Join Date: Sep 2009
Posts: 20,177
Received Thanks: 14,471
|
Quote:
Originally Posted by Ancientsword
Was für ein Schman du laberst xD.
Mach sicher das du in der Funktion
CDPDatabaseClient::OnJoin()
Das drinne hast.
Code:
#ifdef __3RD_LEGEND16 // __LEGEND // 10Â÷ Àü½Â½Ã½ºÅÛ Neuz, World, Trans
if( pUser->GetLevel() > MAX_CHARACTER_LEVEL )
#else //__LEGEND // 10Â÷ Àü½Â½Ã½ºÅÛ Neuz, World, Trans
if( pUser->GetLevel() > MAX_LEVEL )
#endif //__LEGEND // 10Â÷ Àü½Â½Ã½ºÅÛ Neuz, World, Trans
{
WriteError( "MAX_LEVEL//%s//%d", pUser->GetName(), pUser->GetLevel() );
#ifdef __3RD_LEGEND16
pUser->m_nLevel = MAX_CHARACTER_LEVEL;
#else
pUser->m_nLevel = MAX_LEVEL;
#endif // __3RD_LEGEND16
|
Du laberst hier Schman...
Guck doch mal in der DB nach, wie die struktur bei diesem char ist für die spalte.
|
|
|
06/02/2011, 21:43
|
#6
|
elite*gold: 0
Join Date: Feb 2010
Posts: 294
Received Thanks: 85
|
@Sedrika
...... Angenommen du erstellst einen Lvl 1. Charakter. Da ist der Error in dem Sinne völliger Schwachsinn von Aeonsoft(Gala-Lab).
@TE Neuz, World, Trans sind von den Jobs in der Hinsicht eigentlich nur betroffen.
|
|
|
06/02/2011, 21:44
|
#7
|
elite*gold: 23
Join Date: Jun 2008
Posts: 949
Received Thanks: 376
|
Was ist denn jetzt hier richtig und was nicht?
Sedrika's Aussage oder Ancientsword's Aussage.
@Sedrika
wenn es DB-Seitig Probleme gibt, gäbe es ne Möglichkeit das auch ohne neue Db hinzukriegen?
Kann schlecht 3xx Usern nen Wipe antun
|
|
|
06/02/2011, 21:57
|
#8
|
elite*gold: 18
Join Date: Sep 2009
Posts: 20,177
Received Thanks: 14,471
|
Quote:
Originally Posted by dennisdra
@Sedrika
wenn es DB-Seitig Probleme gibt, gäbe es ne Möglichkeit das auch ohne neue Db hinzukriegen?
Kann schlecht 3xx Usern nen Wipe antun
|
Der Fehler ist, dass dort ein Eintrag falsch gespeichert wurde.
Mach mal:
PHP Code:
UPDATE [CHARACTER_01_DBF].[DBO].[CHARACTER_TBL] SET [m_tGuildMember] = '20110531132723'
danach sollte der Error verschwinden. Und wenn du bei OnJoin guckst, wo es den Error auf 4 setzt siehst du das auch....
|
|
|
06/02/2011, 22:00
|
#9
|
elite*gold: 0
Join Date: May 2009
Posts: 122
Received Thanks: 160
|
Okay Leute...
zum Aufbau der OnJoin Funktion:
die besteht aus einem try{}catch(...){} Block
Im Verlauf der Funktion werden der nOnError Variable Werte zugewießen und wenn jetzt im try Block was net klappt, dann gehts ab in den catchblock, wo Charactername und nOnError ausgegeben werden
Für nOnError 4 steht folgendes im Code:
Code:
#ifdef __ON_ERROR
nOnError = 4;
#endif // __ON_ERROR
ar.ReadString( pUser->m_szPartyName, 32 );
ar.ReadString( pUser->m_szBankPass, 5 );
ar >> dwSavePlayerTime;
pUser->SetPlayerTime( dwSavePlayerTime );
#ifndef __JEFF_9_20
ar >> dwSaveFlyTime;
pUser->SetSaveFlyTime( dwSaveFlyTime );
#endif // __JEFF_9_20
ar >> nMaximumLevel;
// ÂÊÁö¸¦ ÀоîµéÀδÙ.
short nTagCount;
ar >> nTagCount;
TAG_ENTRY tags[MAX_TAGS];
for( short i=0; i<nTagCount; ++i )
{
ar >> tags[i].idFrom; // ´©±¸¿¡°Ô¼*
ar >> tags[i].dwDate; // ¾ðÁ¦
ar.ReadString( tags[i].szString, 256 ); // ÂÊÁö ³»¿ë
}
char GuildMemberTime[15] = {0,};
ar.ReadString( GuildMemberTime, 15 );
char cYear[5] = {0,};
char cMonth[3] = {0,};
char cDay[3] = {0,};
char cHour[3] = {0,};
char cMin[3] = {0,};
strncpy(cYear, GuildMemberTime, 4);
strncpy(cMonth, GuildMemberTime + 4, 2 );
strncpy(cDay, GuildMemberTime + 6, 2 );
strncpy(cHour, GuildMemberTime + 8, 2 );
strncpy(cMin, GuildMemberTime + 10, 2 );
CTime tGuildMember( atoi(cYear), atoi(cMonth), atoi(cDay), atoi(cHour), atoi(cMin), 0 );
pUser->m_tGuildMember = tGuildMember;
ar >> pUser->m_dwReturnWorldID;
ar >> pUser->m_vReturnPos;
#ifdef __EVENT_1101
#ifdef __EVENT_1101_2
ar >> pUser->m_nEventFlag;
#else // __EVENT_1101_2
ar >> pUser->m_dwEventFlag;
#endif // __EVENT_1101_2
ar >> pUser->m_dwEventTime;
ar >> pUser->m_dwEventElapsed;
#endif // __EVENT_1101
#ifdef __EXP_ANGELEXP_LOG
ar >> pUser->m_nExpLog;
ar >> pUser->m_nAngelExpLog;
#endif // __EXP_ANGELEXP_LOG
#ifdef __EVENTLUA_COUPON
ar >> pUser->m_nCoupon;
#endif // __EVENTLUA_COUPON
#if __VER >= 14 // __PCBANG
DWORD dwPCBangClass;
ar >> dwPCBangClass;
#endif // __PCBANG
#if __VER >= 15 // __GUILD_HOUSE
int nRestPoint; time_t tLogOut;
ar >> nRestPoint >> tLogOut;
if( pUser->m_idGuild != 0 )
pUser->SetRestPoint( nRestPoint );
#endif // __GUILD_HOUSE
Ich kann dir jetzt leider nicht genau sagen, wo dein Fehler liegt, aber nur soviel zu dem worum sich Ancient und Sedrika streiten ^^
|
|
|
06/02/2011, 22:04
|
#10
|
elite*gold: 18
Join Date: Sep 2009
Posts: 20,177
Received Thanks: 14,471
|
Quote:
Originally Posted by Krustenkäse
Okay Leute...
zum Aufbau der OnJoin Funktion:
die besteht aus einem try{}catch(...){} Block
Im Verlauf der Funktion werden der nOnError Variable Werte zugewießen und wenn jetzt im try Block was net klappt, dann gehts ab in den catchblock, wo Charactername und nOnError ausgegeben werden
Für nOnError 4 steht folgendes im Code:
Code:
#ifdef __ON_ERROR
nOnError = 4;
#endif // __ON_ERROR
ar.ReadString( pUser->m_szPartyName, 32 );
ar.ReadString( pUser->m_szBankPass, 5 );
ar >> dwSavePlayerTime;
pUser->SetPlayerTime( dwSavePlayerTime );
#ifndef __JEFF_9_20
ar >> dwSaveFlyTime;
pUser->SetSaveFlyTime( dwSaveFlyTime );
#endif // __JEFF_9_20
ar >> nMaximumLevel;
// ÂÊÁö¸¦ ÀоîµéÀδÙ.
short nTagCount;
ar >> nTagCount;
TAG_ENTRY tags[MAX_TAGS];
for( short i=0; i<nTagCount; ++i )
{
ar >> tags[i].idFrom; // ´©±¸¿¡°Ô¼*
ar >> tags[i].dwDate; // ¾ðÁ¦
ar.ReadString( tags[i].szString, 256 ); // ÂÊÁö ³»¿ë
}
char GuildMemberTime[15] = {0,};
ar.ReadString( GuildMemberTime, 15 );
char cYear[5] = {0,};
char cMonth[3] = {0,};
char cDay[3] = {0,};
char cHour[3] = {0,};
char cMin[3] = {0,};
strncpy(cYear, GuildMemberTime, 4);
strncpy(cMonth, GuildMemberTime + 4, 2 );
strncpy(cDay, GuildMemberTime + 6, 2 );
strncpy(cHour, GuildMemberTime + 8, 2 );
strncpy(cMin, GuildMemberTime + 10, 2 );
CTime tGuildMember( atoi(cYear), atoi(cMonth), atoi(cDay), atoi(cHour), atoi(cMin), 0 );
pUser->m_tGuildMember = tGuildMember;
ar >> pUser->m_dwReturnWorldID;
ar >> pUser->m_vReturnPos;
#ifdef __EVENT_1101
#ifdef __EVENT_1101_2
ar >> pUser->m_nEventFlag;
#else // __EVENT_1101_2
ar >> pUser->m_dwEventFlag;
#endif // __EVENT_1101_2
ar >> pUser->m_dwEventTime;
ar >> pUser->m_dwEventElapsed;
#endif // __EVENT_1101
#ifdef __EXP_ANGELEXP_LOG
ar >> pUser->m_nExpLog;
ar >> pUser->m_nAngelExpLog;
#endif // __EXP_ANGELEXP_LOG
#ifdef __EVENTLUA_COUPON
ar >> pUser->m_nCoupon;
#endif // __EVENTLUA_COUPON
#if __VER >= 14 // __PCBANG
DWORD dwPCBangClass;
ar >> dwPCBangClass;
#endif // __PCBANG
#if __VER >= 15 // __GUILD_HOUSE
int nRestPoint; time_t tLogOut;
ar >> nRestPoint >> tLogOut;
if( pUser->m_idGuild != 0 )
pUser->SetRestPoint( nRestPoint );
#endif // __GUILD_HOUSE
Ich kann dir jetzt leider nicht genau sagen, wo dein Fehler liegt, aber nur soviel zu dem worum sich Ancient und Sedrika streiten ^^
|
Steht da doch xD
PHP Code:
char GuildMemberTime[15] = {0,}; ar.ReadString( GuildMemberTime, 15 );
char cYear[5] = {0,}; char cMonth[3] = {0,}; char cDay[3] = {0,}; char cHour[3] = {0,}; char cMin[3] = {0,}; strncpy(cYear, GuildMemberTime, 4); strncpy(cMonth, GuildMemberTime + 4, 2 ); strncpy(cDay, GuildMemberTime + 6, 2 ); strncpy(cHour, GuildMemberTime + 8, 2 ); strncpy(cMin, GuildMemberTime + 10, 2 ); CTime tGuildMember( atoi(cYear), atoi(cMonth), atoi(cDay), atoi(cHour), atoi(cMin), 0 );
pUser->m_tGuildMember = tGuildMember;
|
|
|
06/02/2011, 22:04
|
#11
|
elite*gold: 23
Join Date: Jun 2008
Posts: 949
Received Thanks: 376
|
Ich habe es ja extra mit einem cleanen lv 1 char probiert gehabt.
Kann jetzt grad net überprüfen, ob es funktioniert, werde ich morgen nachholen und dann hier Bescheid geben.
Aber thx schonmal im vorraus.
|
|
|
06/02/2011, 22:08
|
#12
|
elite*gold: 0
Join Date: May 2009
Posts: 122
Received Thanks: 160
|
@Sedrika:
Ja stimmt :O hatte wohl grade n Brett vorm Kopf
|
|
|
06/02/2011, 23:37
|
#13
|
elite*gold: 23
Join Date: Jun 2008
Posts: 949
Received Thanks: 376
|
Dies würde ja aber nur auf den OnJoin() 4 zutreffen, was is mit den anderen
|
|
|
06/03/2011, 00:00
|
#14
|
elite*gold: 0
Join Date: Mar 2011
Posts: 715
Received Thanks: 598
|
Liegt bestimmt an MAX_SKILL hast da wohl vergessen die Zahl für die v16 Skills noch hinzuzufügen.
|
|
|
|
Similar Threads
|
[v16] Snippets - OnJoin Problem
04/30/2011 - Flyff Private Server - 10 Replies
Hallo leute,
ich habe mir die snippets von den v16 Jobs zusammengesucht
und alles so eingetragen wie es eigentlich auch hingehört.
Errors gibt es keine, ich komm einfach nicht in die World.
Es gibt vom World Server einen OnJoin Error, allerdings ist
darüber auch nicht mehr zu erfahren. Hab erweiterten Error
Log eingebaut -> Kein Ergebnis. Auch der Debugmode hat
mich leider nicht zum Fehler geführt.
|
Source 8x Error
04/09/2011 - Flyff Private Server - 4 Replies
Ich nutze die Source von hier :http://www.elitepvpers.com/forum/flyff-pserver-dis cussions-questions/1059998-tut-einrichten-nutzen-v on-vs2003.html bzw http://www.elitepvpers.com/forum/flyff-pserver-disc ussions-questions/879689-release-offical-source-v1 5.html
VS 2003 + SP 1 ist installiert.
Ich hab eig alles gemacht wie es im obrigen genannten tut beschrieben ist und bekomme diese errors:
Output
------ Rebuild All started: Project: Neuz, Configuration: NoGameguard Win32 ------
Deleting...
|
4267 source error???
10/07/2010 - CO2 Private Server - 0 Replies
NULL...exception
http://www.image-share.com/upload/385/23.png
in this code
http://www.image-share.com/upload/385/24.png
FirstDataArrived.Invoke(this, D);
//this method !!
why that??
|
Help with 5165 Source Error
06/19/2010 - CO2 Private Server - 1 Replies
I set up a Conquer Private server running a 5165 source. The server runs fine, but when I try to log in i get this error:
System.BadImageFormatException: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)
at NewestCOServer.Native.BF_set_key(IntPtr _key, Int32 len, Byte data)
at NewestCOServer.Main.GameCrypto..ctor(Byte key) in C:\Users\Kody\Desktop\Eternal Abyss Co\5165 Files\5165 Source\Main\Blowfish.cs:line 15
at...
|
All times are GMT +2. The time now is 21:23.
|
|