[Source] Teleport System Failt rum !

03/11/2012 13:22 Famex33#1
Hi Epvp.

Unzwar habe ich ein Problem mit dem Teleport System , ich habe es ganz einfach nach dem Tut eingefügt, und jap den Fehler Fixx mit dem return FALSE auch.
Bekomme Trotzdem heftige Errors :D

Hoffe jemand kann mir helfen , hier mal ein Screen :

[Only registered and activated users can see links. Click Here To Register...]


Und hier wie ich es eingefügt habe in den jeweils 3 Dateien:

1 ste Datei WndField.cpp:
Im Tut Steht :
Füge darunter :
PHP Code:
#define MAX_GUILDCOMBAT_LIST_PER_PAGE 11
#define MAX_MAIL_LIST_PER_PAGE 6
#define MAX_GUILDCOMBAT_LIST          100 
Das hier ein :

PHP Code:
//--------------- Teleport ----------------------------------
//-----------------------------------------------------------------------------
CWndTeleporter::CWndTeleporter( void ) 
{
}
//-----------------------------------------------------------------------------
CWndTeleporter::~CWndTeleporter( void )
{
    
DeleteDeviceObjects();
}
//-----------------------------------------------------------------------------
BOOL CWndTeleporter::Initialize( CWndBase* pWndParent, DWORD dwType )
{
    return 
CWndNeuz::InitDialog( g_Neuz.GetSafeHwnd(), APP_TELEPORTUSER, 0, CPoint( 0, 0 ), pWndParent );
}
//-----------------------------------------------------------------------------
BOOL CWndTeleporter::OnCommand( UINT nID, DWORD dwMessage, CWndBase* pWndBase ) 
{ 
    return 
CWndNeuz::OnCommand( nID, dwMessage, pWndBase ); 
} 
void CWndTeleporter::OnSize( UINT nType, int cx, int cy ) 
{ 
    
CWndNeuz::OnSize( nType, cx, cy ); 
} 
void CWndTeleporter::OnLButtonUp( UINT nFlags, CPoint point ) 
{ 
} 
void CWndTeleporter::OnLButtonDown( UINT nFlags, CPoint point ) 
{ 
} 
void CWndTeleporter::OnDraw( C2DRender* p2DRender )
{
}
HRESULT CWndTeleporter::RestoreDeviceObjects()
{
    
CWndNeuz::RestoreDeviceObjects();
    return 
S_OK;
}
HRESULT CWndTeleporter::InvalidateDeviceObjects()
{
    
CWndNeuz::InvalidateDeviceObjects();
    return 
S_OK;
}
HRESULT CWndTeleporter::DeleteDeviceObjects()
{
    
CWndNeuz::DeleteDeviceObjects();
    
InvalidateDeviceObjects();
    return 
S_OK;
}
void CWndTeleporter::OnInitialUpdate( void )
{
    
CWndNeuz::OnInitialUpdate(); 
    
RestoreDeviceObjects();
    
CRect rectRoot = m_pWndRoot->GetLayoutRect();
    
CRect rectWindow = GetWindowRect();
    
CPoint point( rectRoot.right - rectWindow.Width(), 110 );
    
Move( point );
    
MoveParentCenter();
}
BOOL CWndTeleporter::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
{
    switch (
nID)
    {
    case 
WIDC_BUTTON_FLARIS1:// Flaris
        
{ 
            
g_DPlay.SendTeleportPosition( 1 );
            
Destroy();
            break;
        }
    case 
WIDC_BUTTON_SM1:// Saint Morning
        
{
            
g_DPlay.SendTeleportPosition( 2 );
            
Destroy();
            break;
        }
    case 
WIDC_BUTTON_DARKON1:// Darkon
        
{
            
g_DPlay.SendTeleportPosition( 3 );
            
Destroy();
            break;
        }
    case 
WIDC_BUTTON_DARKON11:// Darkon1
        
{
            
g_DPlay.SendTeleportPosition( 4 );
            
Destroy();
            break;
        }
    case 
WIDC_BUTTON_DARKON3:// Darkon3
        
{
            
g_DPlay.SendTeleportPosition( 5 );
            
Destroy();
            break;
        }
    case 
WIDC_BUTTON_VULCANO1:// VOLCANO
        
{
            
g_DPlay.SendTeleportPosition( 6 );
            
Destroy();
            break;
        }
    case 
WIDC_BUTTON_PVP1:// Vorm Behemoth Dungeon
        
{
            
g_DPlay.SendTeleportPosition( 7 );
            
Destroy();
            break;
        }
    case 
WIDC_BUTTON_HERODUNGEON:// Aminus Hero
        
{
            
g_DPlay.SendTeleportPosition( 8 );
            
Destroy();
            break;
        }
    case 
WIDC_BUTTON_MASTERDUNGEON:// Aminus Master
        
{
            
g_DPlay.SendTeleportPosition( 9 );
            
Destroy();
            break;
        }
    case 
WIDC_BUTTON_TRAMNUKM:// Tramnuk Master
        
{
            
g_DPlay.SendTeleportPosition( 10 );
            
Destroy();
            break;
        }
    case 
WIDC_BUTTON_TRAMNUK:// Tramnuk Normal
        
{
            
g_DPlay.SendTeleportPosition( 11 );
            
Destroy();
            break;
        }
    case 
WIDC_BUTTON_EVENT:// Event Area
        
{
            
g_DPlay.SendTeleportPosition( 12 );
            
Destroy();
            break;
        }
    }
    return 
CWndNeuz::OnChildNotify( message, nID, pLResult );
}
//---------------- Teleport -------------------- 
Das habe ich gemacht das sieht dann so aus:

PHP Code:
#define MAX_GUILDCOMBAT_LIST_PER_PAGE 11
#define MAX_MAIL_LIST_PER_PAGE 6
#define MAX_GUILDCOMBAT_LIST          100

/--------------- Teleport ----------------------------------
//-----------------------------------------------------------------------------
CWndTeleporter::CWndTeleporter( void ) 
{
}
//-----------------------------------------------------------------------------
CWndTeleporter::~CWndTeleporter( void )
{
    
DeleteDeviceObjects();
}
//-----------------------------------------------------------------------------
BOOL CWndTeleporter::Initialize( CWndBase* pWndParent, DWORD dwType )
{
    return 
CWndNeuz::InitDialog( g_Neuz.GetSafeHwnd(), APP_TELEPORTUSER, 0, CPoint( 0, 0 ), pWndParent );
}
//-----------------------------------------------------------------------------
BOOL CWndTeleporter::OnCommand( UINT nID, DWORD dwMessage, CWndBase* pWndBase ) 
{ 
    return 
CWndNeuz::OnCommand( nID, dwMessage, pWndBase ); 
} 
void CWndTeleporter::OnSize( UINT nType, int cx, int cy ) 
{ 
    
CWndNeuz::OnSize( nType, cx, cy ); 
} 
void CWndTeleporter::OnLButtonUp( UINT nFlags, CPoint point ) 
{ 
} 
void CWndTeleporter::OnLButtonDown( UINT nFlags, CPoint point ) 
{ 
} 
void CWndTeleporter::OnDraw( C2DRender* p2DRender )
{
}
HRESULT CWndTeleporter::RestoreDeviceObjects()
{
    
CWndNeuz::RestoreDeviceObjects();
    return 
S_OK;
}
HRESULT CWndTeleporter::InvalidateDeviceObjects()
{
    
CWndNeuz::InvalidateDeviceObjects();
    return 
S_OK;
}
HRESULT CWndTeleporter::DeleteDeviceObjects()
{
    
CWndNeuz::DeleteDeviceObjects();
    
InvalidateDeviceObjects();
    return 
S_OK;
}
void CWndTeleporter::OnInitialUpdate( void )
{
    
CWndNeuz::OnInitialUpdate(); 
    
RestoreDeviceObjects();
    
CRect rectRoot = m_pWndRoot->GetLayoutRect();
    
CRect rectWindow = GetWindowRect();
    
CPoint point( rectRoot.right - rectWindow.Width(), 110 );
    
Move( point );
    
MoveParentCenter();
}
BOOL CWndTeleporter::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
{
    switch (
nID)
    {
    case 
WIDC_BUTTON_FLARIS1:// Flaris
        
{ 
            
g_DPlay.SendTeleportPosition( 1 );
            
Destroy();
            break;
        }
    case 
WIDC_BUTTON_SM1:// Saint Morning
        
{
            
g_DPlay.SendTeleportPosition( 2 );
            
Destroy();
            break;
        }
    case 
WIDC_BUTTON_DARKON1:// Darkon
        
{
            
g_DPlay.SendTeleportPosition( 3 );
            
Destroy();
            break;
        }
    case 
WIDC_BUTTON_DARKON11:// Darkon1
        
{
            
g_DPlay.SendTeleportPosition( 4 );
            
Destroy();
            break;
        }
    case 
WIDC_BUTTON_DARKON3:// Darkon3
        
{
            
g_DPlay.SendTeleportPosition( 5 );
            
Destroy();
            break;
        }
    case 
WIDC_BUTTON_VULCANO1:// VOLCANO
        
{
            
g_DPlay.SendTeleportPosition( 6 );
            
Destroy();
            break;
        }
    case 
WIDC_BUTTON_PVP1:// Vorm Behemoth Dungeon
        
{
            
g_DPlay.SendTeleportPosition( 7 );
            
Destroy();
            break;
        }
    case 
WIDC_BUTTON_HERODUNGEON:// Aminus Hero
        
{
            
g_DPlay.SendTeleportPosition( 8 );
            
Destroy();
            break;
        }
    case 
WIDC_BUTTON_MASTERDUNGEON:// Aminus Master
        
{
            
g_DPlay.SendTeleportPosition( 9 );
            
Destroy();
            break;
        }
    case 
WIDC_BUTTON_TRAMNUKM:// Tramnuk Master
        
{
            
g_DPlay.SendTeleportPosition( 10 );
            
Destroy();
            break;
        }
    case 
WIDC_BUTTON_TRAMNUK:// Tramnuk Normal
        
{
            
g_DPlay.SendTeleportPosition( 11 );
            
Destroy();
            break;
        }
    case 
WIDC_BUTTON_EVENT:// Event Area
        
{
            
g_DPlay.SendTeleportPosition( 12 );
            
Destroy();
            break;
        }
    }
    return 
CWndNeuz::OnChildNotify( message, nID, pLResult );
}
//---------------- Teleport --------------------  
/////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// ¾ÖÇ÷¿ 
//
/////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// µå·Ó¾ÆÀÌÅÛ
//
///////////////////////////////////////////////////////////////////////////////////////////////////////// 
Weiter geht's zweite datei DpClient.cpp

Im tut steht :

Suche:

PHP Code:
void CDPClient::SendSwapVis( int nPos1, int nPos2 )
{
    
BEFORESENDSOLE( ar, PACKETTYPE_VISPET_SWAPVIS, DPID_UNKNOWN );
    
ar << nPos1 << nPos2;
    
SEND( ar, this, DPID_SERVERPLAYER );
} 
Füge darunter :

PHP Code:
void CDPClient::SendTeleportPosition( BYTE nID )
{
    
BEFORESENDSOLE( ar, PACKETTYPE_SENDTELEPORTPOSITION, DPID_UNKNOWN );
    
ar << nID;
    
SEND( ar, this, DPID_SERVERPLAYER );
} 
Hab ich gemacht sieht dann so aus :

PHP Code:
void CDPClient::SendSwapVis( int nPos1, int nPos2 )
{
    
BEFORESENDSOLE( ar, PACKETTYPE_VISPET_SWAPVIS, DPID_UNKNOWN );
    
ar << nPos1 << nPos2;
    
SEND( ar, this, DPID_SERVERPLAYER );
}

void CDPClient::SendTeleportPosition( BYTE nID )
{
    
BEFORESENDSOLE( ar, PACKETTYPE_SENDTELEPORTPOSITION, DPID_UNKNOWN );
    
ar << nID;
    
SEND( ar, this, DPID_SERVERPLAYER );
}  

#ifdef _PETFILTER_HOL_B 
Nun die letze datei , das wäre die DPSrvr.cpp
Suche:

PHP Code:
#ifdef __QUIZ
    
ON_MSG( PACKETTYPE_QUIZ_ENTRANCE, OnQuizEventEntrance );
    
ON_MSG( PACKETTYPE_QUIZ_TELEPORT, OnQuizEventTeleport );
#endif // __QUIZ 
Füge Darunter :

PHP Code:
ON_MSG( PACKETTYPE_SENDTELEPORTPOSITION, OnSendTeleportPosition); 
Sieht dann so aus :

PHP Code:
#ifdef __QUIZ
    
ON_MSG( PACKETTYPE_QUIZ_ENTRANCE, OnQuizEventEntrance );
    
ON_MSG( PACKETTYPE_QUIZ_TELEPORT, OnQuizEventTeleport );
    
ON_MSG( PACKETTYPE_SENDTELEPORTPOSITION, OnSendTeleportPosition); 
#endif // __QUIZ 
Feddig . :D

Hoffe mir kann jemand helfen :D

-UND NEIN ICH LASS DIE FINGER NICHT VON DER SOURCE :P
03/11/2012 14:33 Spheromany#2
Änder mal
#ifdef __QUIZ
ON_MSG( PACKETTYPE_QUIZ_ENTRANCE, OnQuizEventEntrance );
ON_MSG( PACKETTYPE_QUIZ_TELEPORT, OnQuizEventTeleport );
ON_MSG( PACKETTYPE_SENDTELEPORTPOSITION, OnSendTeleportPosition);
#endif // __QUIZ

zu
#ifdef __QUIZ
ON_MSG( PACKETTYPE_QUIZ_ENTRANCE, OnQuizEventEntrance );
ON_MSG( PACKETTYPE_QUIZ_TELEPORT, OnQuizEventTeleport );
#endif // __QUIZ
ON_MSG( PACKETTYPE_SENDTELEPORTPOSITION, OnSendTeleportPosition);

Vielleicht hilft es ja ^^
03/11/2012 14:45 Flyff_Service#3
Hast du die Funktion in dem jeweiligen Klassen-Header auch definiert? (DPClient.h, DPSrvr.h)
Außerdem fehlt deine OnSendTeleportPosition Funktion
03/11/2012 14:54 Deda94#4
in der Class CDPClient musst du void SendTeleportPosition( BYTE nID ); adden.

Das fixxt es aufjedenfall...
03/11/2012 15:20 Famex33#5
Quote:
Originally Posted by ToxicLibrary™ View Post
in der Class CDPClient musst du void SendTeleportPosition( BYTE nID ); adden.

Das fixxt es aufjedenfall...

In welcher datei nun genau? :D

mom ich show noma wie ich es bei mir habe :


WndField.cpp:

PHP Code:
#define MAX_GUILDCOMBAT_LIST_PER_PAGE 11
#define MAX_MAIL_LIST_PER_PAGE 6
#define MAX_GUILDCOMBAT_LIST          100

//--------------- Teleport ----------------------------------
//-----------------------------------------------------------------------------
CWndTeleporter::CWndTeleporter( void ) 
{
}
//-----------------------------------------------------------------------------
CWndTeleporter::~CWndTeleporter( void )
{
    
DeleteDeviceObjects();
}
//-----------------------------------------------------------------------------
BOOL CWndTeleporter::Initialize( CWndBase* pWndParent, DWORD dwType )
{
    return 
CWndNeuz::InitDialog( g_Neuz.GetSafeHwnd(), APP_TELEPORTUSER, 0, CPoint( 0, 0 ), pWndParent );
}
//-----------------------------------------------------------------------------
BOOL CWndTeleporter::OnCommand( UINT nID, DWORD dwMessage, CWndBase* pWndBase ) 
{ 
    return 
CWndNeuz::OnCommand( nID, dwMessage, pWndBase ); 
} 
void CWndTeleporter::OnSize( UINT nType, int cx, int cy ) 
{ 
    
CWndNeuz::OnSize( nType, cx, cy ); 
} 
void CWndTeleporter::OnLButtonUp( UINT nFlags, CPoint point ) 
{ 
} 
void CWndTeleporter::OnLButtonDown( UINT nFlags, CPoint point ) 
{ 
} 
void CWndTeleporter::OnDraw( C2DRender* p2DRender )
{
}
HRESULT CWndTeleporter::RestoreDeviceObjects()
{
    
CWndNeuz::RestoreDeviceObjects();
    return 
S_OK;
}
HRESULT CWndTeleporter::InvalidateDeviceObjects()
{
    
CWndNeuz::InvalidateDeviceObjects();
    return 
S_OK;
}
HRESULT CWndTeleporter::DeleteDeviceObjects()
{
    
CWndNeuz::DeleteDeviceObjects();
    
InvalidateDeviceObjects();
    return 
S_OK;
}
void CWndTeleporter::OnInitialUpdate( void )
{
    
CWndNeuz::OnInitialUpdate(); 
    
RestoreDeviceObjects();
    
CRect rectRoot = m_pWndRoot->GetLayoutRect();
    
CRect rectWindow = GetWindowRect();
    
CPoint point( rectRoot.right - rectWindow.Width(), 110 );
    
Move( point );
    
MoveParentCenter();
}
BOOL CWndTeleporter::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
{
    switch (
nID)
    {
    case 
WIDC_BUTTON_FLARIS1:// Flaris
        
{ 
            
g_DPlay.SendTeleportPosition( 1 );
            
Destroy();
            break;
        }
    case 
WIDC_BUTTON_SM1:// Saint Morning
        
{
            
g_DPlay.SendTeleportPosition( 2 );
            
Destroy();
            break;
        }
    case 
WIDC_BUTTON_DARKON1:// Darkon
        
{
            
g_DPlay.SendTeleportPosition( 3 );
            
Destroy();
            break;
        }
    case 
WIDC_BUTTON_DARKON11:// Darkon1
        
{
            
g_DPlay.SendTeleportPosition( 4 );
            
Destroy();
            break;
        }
    case 
WIDC_BUTTON_DARKON3:// Darkon3
        
{
            
g_DPlay.SendTeleportPosition( 5 );
            
Destroy();
            break;
        }
    case 
WIDC_BUTTON_VULCANO1:// VOLCANO
        
{
            
g_DPlay.SendTeleportPosition( 6 );
            
Destroy();
            break;
        }
    case 
WIDC_BUTTON_PVP1:// Vorm Behemoth Dungeon
        
{
            
g_DPlay.SendTeleportPosition( 7 );
            
Destroy();
            break;
        }
    case 
WIDC_BUTTON_HERODUNGEON:// Aminus Hero
        
{
            
g_DPlay.SendTeleportPosition( 8 );
            
Destroy();
            break;
        }
    case 
WIDC_BUTTON_MASTERDUNGEON:// Aminus Master
        
{
            
g_DPlay.SendTeleportPosition( 9 );
            
Destroy();
            break;
        }
    case 
WIDC_BUTTON_TRAMNUKM:// Tramnuk Master
        
{
            
g_DPlay.SendTeleportPosition( 10 );
            
Destroy();
            break;
        }
    case 
WIDC_BUTTON_TRAMNUK:// Tramnuk Normal
        
{
            
g_DPlay.SendTeleportPosition( 11 );
            
Destroy();
            break;
        }
    case 
WIDC_BUTTON_EVENT:// Event Area
        
{
            
g_DPlay.SendTeleportPosition( 12 );
            
Destroy();
            break;
        }
    }
    return 
CWndNeuz::OnChildNotify( message, nID, pLResult );
}
//---------------- Teleport -------------------- 

DPSrvr.cpp:
PHP Code:
#ifdef __QUIZ
    
ON_MSG( PACKETTYPE_QUIZ_ENTRANCE, OnQuizEventEntrance );
    
ON_MSG( PACKETTYPE_QUIZ_TELEPORT, OnQuizEventTeleport );  
#endif // __QUIZ
    
ON_MSG( PACKETTYPE_SENDTELEPORTPOSITION, OnSendTeleportPosition);
#ifdef    _PETFILTER_HOL_B 
DPClient.cpp:

PHP Code:
void CDPClient::SendSwapVis( int nPos1, int nPos2 )
{
    
BEFORESENDSOLE( ar, PACKETTYPE_VISPET_SWAPVIS, DPID_UNKNOWN );
    
ar << nPos1 << nPos2;
    
SEND( ar, this, DPID_SERVERPLAYER );
}

void CDPClient::SendTeleportPosition( BYTE nID )
{
    
BEFORESENDSOLE( ar, PACKETTYPE_SENDTELEPORTPOSITION, DPID_UNKNOWN );
    
ar << nID;
    
SEND( ar, this, DPID_SERVERPLAYER );
}  
#ifdef _PETFILTER_HOL_B 
03/11/2012 15:33 Deda94#6
DPClient.h , wo denn sonst?!
03/11/2012 15:57 Famex33#7
So ein Error noch hier mal 2 Screens :D

1 ster Screen:

[Only registered and activated users can see links. Click Here To Register...]

2 ter Screen:

[Only registered and activated users can see links. Click Here To Register...]

Hoffe jemand kann mir helfen :D
03/11/2012 16:53 Deda94#8
DPSrvr.h öffnen. void OnSendTeleportPosition ( das was in klammern steht);
03/11/2012 17:05 Famex33#9
Sry habs jetzt nicht so gecheckt .

Da mal ne übersicht:

#ifdef __GUILD_HOUSE_MIDDLE
void OnGuildHouseTenderMainWnd( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE, u_long );
void OnGuildHouseTenderInfoWnd( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE, u_long );
void OnGuildHouseTenderJoin( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE, u_long );
#endif // __GUILD_HOUSE_MIDDLE

public:
void OnSendTeleportPosition( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE, u_long );

#ifdef __COLOSSEUM

PS: Hast du vlt Skype? , damit wir hier nicht rumspammen. :D
03/11/2012 17:18 Deda94#10
hast die OnSendTeleportPosition Funktion nicht in der DPSrvr.cpp
03/11/2012 17:24 Famex33#11
Natürlich habe ich es.

#ifdef __QUIZ
ON_MSG( PACKETTYPE_QUIZ_ENTRANCE, OnQuizEventEntrance );
ON_MSG( PACKETTYPE_QUIZ_TELEPORT, OnQuizEventTeleport );
#endif // __QUIZ
ON_MSG( PACKETTYPE_SENDTELEPORTPOSITION, OnSendTeleportPosition);
#ifdef _PETFILTER_HOL_B
ON_MSG( PACKETTYPE_VISPET_UPDATECOLLECTIONS, OnBuffPetUpdateCollection );


bin langsam verzweifelt :P
03/11/2012 18:08 Deda94#12
Nein das ist es nicht :D

Das sind nur die Packets die mit der jeweiligen Funktion, aber die Funktion selbst müsste ganz unten in die DPSrvr.cpp rein.
03/11/2012 19:13 Famex33#13
Ich verstehe dich nicht , oder du mich nicht.

PS: Brauche immernoch hilfe ;S
03/12/2012 09:37 Deda94#14
Dann lass die Finger davon.
03/12/2012 09:51 ™Adrenalin#15
ToxicLibrary kann nie jemanden helfen .....