HeyHo,
Habe mich mal rangesetzt und mein Teleport System etwas erweitert.
Geflame und so könnt ihr euch sparen, wenns euch nicht gefällt lasst es bleiben.
Es ist nicht das schönste Fenster, aber es erfüllt seinen Zweck :awesome:
------------------------------------------------------------------------------------------
In die VersionCommon.h vom WORLDSERVER & NEUZ das:
------------------------------------------------------------------------------------------
MsgHdr.h
unter:
das:
------------------------------------------------------------------------------------------
DPClient.cpp
unter:
das:
------------------------------------------------------------------------------------------
DPClient.h
unter:
das:
------------------------------------------------------------------------------------------
FuncApplet.cpp
ÜBER:
das:
unter:
das:
------------------------------------------------------------------------------------------
WndField.cpp
unter:
das:
------------------------------------------------------------------------------------------
WndField.h
unter:
das:
------------------------------------------------------------------------------------------
DPSrvr.cpp
unter:
das:
unter:
das:
------------------------------------------------------------------------------------------
DPSrvr.h
unter:
das:
------------------------------------------------------------------------------------------
Fügt die Snippets aus diesen ResData's bei euch ein BEVOR ihr compilen tut:
[Only registered and activated users can see links. Click Here To Register...]
Und zuletzt noch ein Screen, so sieht es aus, wenn ihr alles richtig gemacht habt:
[Only registered and activated users can see links. Click Here To Register...]
Credits:
Me - 90%
yannick****(keine ahnung wie du grad heisst) - 10%
Fragen bitte hier stellen.
Greez.
Habe mich mal rangesetzt und mein Teleport System etwas erweitert.
Geflame und so könnt ihr euch sparen, wenns euch nicht gefällt lasst es bleiben.
Es ist nicht das schönste Fenster, aber es erfüllt seinen Zweck :awesome:
------------------------------------------------------------------------------------------
In die VersionCommon.h vom WORLDSERVER & NEUZ das:
PHP Code:
#define __TELEPORT_SYSTEM
MsgHdr.h
unter:
PHP Code:
#define PACKETTYPE_QUERYMAILBOX_COUNT (DWORD)0x88100241
PHP Code:
#ifdef __TELEPORT_SYSTEM
#define PACKETTYPE_SENDTELEPORTPOSITION (DWORD)0x88100299
#endif //__TELEPORT_SYSTEM
DPClient.cpp
unter:
PHP Code:
void CDPClient::SendSwapVis( int nPos1, int nPos2 )
{
BEFORESENDSOLE( ar, PACKETTYPE_VISPET_SWAPVIS, DPID_UNKNOWN );
ar << nPos1 << nPos2;
SEND( ar, this, DPID_SERVERPLAYER );
}
PHP Code:
#ifdef __TELEPORT_SYSTEM
void CDPClient::SendTeleportPosition( BYTE nID )
{
BEFORESENDSOLE( ar, PACKETTYPE_SENDTELEPORTPOSITION, DPID_UNKNOWN );
ar << nID;
SEND( ar, this, DPID_SERVERPLAYER );
}
#endif //__TELEPORT_SYSTEM
------------------------------------------------------------------------------------------
DPClient.h
unter:
PHP Code:
void SendGuildHouseTenderJoin( OBJID objGHId, int nTenderPerin, int nTenderPenya );
#endif // __GUILD_HOUSE_MIDDLE
PHP Code:
#ifdef __TELEPORT_SYSTEM
public:
void SendTeleportPosition( BYTE nID );
#endif //__TELEPORT_SYSTEM
------------------------------------------------------------------------------------------
FuncApplet.cpp
ÜBER:
PHP Code:
DECLAREAPPLET( AppMain_WndNavigator , new CWndNavigator );
PHP Code:
#ifdef __TELEPORT_SYSTEM
DECLAREAPPLET( AppMain_TeleportTool , new CWndTeleporter );
#endif //__TELEPORT_SYSTEM
unter:
PHP Code:
AddAppletFunc( AppMain_WndTrade , APP_TRADE , _T( "WndTrade" ) , _T( "Icon_Trade.dds" ) , GETTEXT( TID_TIP_TRADE ), 0 );
PHP Code:
#ifdef __TELEPORT_SYSTEM
AddAppletFunc( AppMain_TeleportTool , APP_TELEPORTUSER , _T( "WndMotion" ) , _T( "Icon_Motion.dds" ) , GETTEXT( TID_TIP_MOTION ), 'Z' );
#endif //__TELEPORT_SYSTEM
------------------------------------------------------------------------------------------
WndField.cpp
unter:
PHP Code:
#define MAX_GUILDCOMBAT_LIST_PER_PAGE 11
#define MAX_MAIL_LIST_PER_PAGE 6
#define MAX_GUILDCOMBAT_LIST 100
PHP Code:
#ifdef __TELEPORT_SYSTEM
//--------------- 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:// Khaldera
{
g_DPlay.SendTeleportPosition( 12 );
Destroy();
break;
}
case WIDC_BAHARA:// Bahara Desert
{
g_DPlay.SendTeleportPosition( 13 );
Destroy();
break;
}
case WIDC_SANPRESS_1:// Sanpress 1
{
g_DPlay.SendTeleportPosition( 14 );
Destroy();
break;
}
case WIDC_SANPRESS_2:// Sanpress 2
{
g_DPlay.SendTeleportPosition( 15 );
Destroy();
break;
}
case WIDC_UPRESIA_1:// Upresia 1
{
g_DPlay.SendTeleportPosition( 16 );
Destroy();
break;
}
case WIDC_UPRESIA_2:// Upresia 2
{
g_DPlay.SendTeleportPosition( 17 );
Destroy();
break;
}
case WIDC_HERNEOS_1:// Herneos 1
{
g_DPlay.SendTeleportPosition( 18 );
Destroy();
break;
}
case WIDC_HERNEOS_2:// Herneos 2
{
g_DPlay.SendTeleportPosition( 19 );
Destroy();
break;
}
case WIDC_KNOCHENPFAD:// Knochenpfad / Valley of the Risen
{
g_DPlay.SendTeleportPosition( 20 );
Destroy();
break;
}
case WIDC_CRYSTAL:// Crystal Dungeon
{
g_DPlay.SendTeleportPosition( 21 );
Destroy();
break;
}
case WIDC_KALGAS:// Kalgas Cave
{
g_DPlay.SendTeleportPosition( 22 );
Destroy();
break;
}
case WIDC_EILLUN:// Eillun
{
g_DPlay.SendTeleportPosition( 23 );
Destroy();
break;
}
}
return CWndNeuz::OnChildNotify( message, nID, pLResult );
}
//---------------- Teleport --------------------
#endif //__TELEPORT_SYSTEM
------------------------------------------------------------------------------------------
WndField.h
unter:
PHP Code:
#ifdef __MAIL_REQUESTING_BOX
#include "WndMailRequestingBox.h"
#endif // __MAIL_REQUESTING_BOX
PHP Code:
#ifdef __TELEPORT_SYSTEM
class CWndTeleporter : public CWndNeuz
{
public:
CWndTeleporter( void );
~CWndTeleporter( void );
virtual HRESULT RestoreDeviceObjects();
virtual HRESULT InvalidateDeviceObjects();
virtual HRESULT DeleteDeviceObjects();
public:
virtual BOOL Initialize( CWndBase* pWndParent = NULL, DWORD nType = MB_OK );
virtual BOOL OnChildNotify( UINT message, UINT nID, LRESULT* pLResult );
virtual void OnDraw( C2DRender* p2DRender );
virtual void OnInitialUpdate();
virtual BOOL OnCommand( UINT nID, DWORD dwMessage, CWndBase* pWndBase );
virtual void OnSize( UINT nType, int cx, int cy );
virtual void OnLButtonUp( UINT nFlags, CPoint point );
virtual void OnLButtonDown( UINT nFlags, CPoint point );
};
#endif //__TELEPORT_SYSTEM
------------------------------------------------------------------------------------------
DPSrvr.cpp
unter:
PHP Code:
#ifdef __QUIZ
ON_MSG( PACKETTYPE_QUIZ_ENTRANCE, OnQuizEventEntrance );
ON_MSG( PACKETTYPE_QUIZ_TELEPORT, OnQuizEventTeleport );
#endif // __QUIZ
PHP Code:
#ifdef __TELEPORT_SYSTEM
ON_MSG( PACKETTYPE_SENDTELEPORTPOSITION, OnSendTeleportPosition);
#endif //__TELEPORT_SYSTEM
unter:
PHP Code:
void CDPSrvr::OnGuildHouseTenderJoin( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE, u_long )
{
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
if( IsValidObj( pUser ) == TRUE )
{
OBJID objGHId;
int nTenderPerin, nTenderPenya;
ar >> objGHId >> nTenderPerin >> nTenderPenya;
GuildHouseMng->OnGuildHouseTenderJoin( pUser, objGHId, nTenderPerin, nTenderPenya );
}
}
#endif // __GUILD_HOUSE_MIDDLE
PHP Code:
#ifdef __TELEPORT_SYSTEM
void CDPSrvr::OnSendTeleportPosition( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE, u_long )//Teleport Fenster Stuff
{
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
if( IsValidObj( pUser ) )
{
BYTE nID;
D3DXVECTOR3 vPos;
int dwWorldID;
ar >> nID;
switch( nID )
{
case 1:
vPos = D3DXVECTOR3(6973.0F, 100.0F, 3328.0F); dwWorldID = 1;
break;
case 2:
vPos = D3DXVECTOR3(8321.0F, 100.0F, 3720.0F); dwWorldID = 1;
break;
case 3:
vPos = D3DXVECTOR3(3900.250732F, 59.0F, 4377.806641F); dwWorldID = 1;
break;
case 4:
vPos = D3DXVECTOR3(5574.530273F, 75.001129F, 3900.282227F); dwWorldID = 1;
break;
case 5:
vPos = D3DXVECTOR3(3240.482910F, 11.316653F, 3409.634766F); dwWorldID = 1;
break;
case 6:
vPos = D3DXVECTOR3(881.142883F, 183.273331F, 1008.118652F); dwWorldID = 206;
break;
case 7:
vPos = D3DXVECTOR3(8268.617F, 70.0F, 9378.295F); dwWorldID = 1;
break;
case 8:
vPos = D3DXVECTOR3(6785.000000F, 100.699989F, 6062.000000F); dwWorldID = 1;
break;
case 9:
vPos = D3DXVECTOR3(6642.931152F, 58.000000F, 6454.676758F); dwWorldID = 1;
break;
case 10:
vPos = D3DXVECTOR3(4908.647F, 100.000F, 3457.677F); dwWorldID = 1;
break;
case 11:
vPos = D3DXVECTOR3(5267.235F, 100.000F, 4719.388F); dwWorldID = 1;
break;
case 12:
vPos = D3DXVECTOR3(5946.719F, 100.392F, 5406.160F); dwWorldID = 1;//Khaldera
break;
case 13:
vPos = D3DXVECTOR3(6501.000F, 66.000F, 9095.00F); dwWorldID = 1;//Bahara Wüste
break;
case 14:
vPos = D3DXVECTOR3(6593.000F, 100.000F, 5076.000F); dwWorldID = 1;//Sanpress 1
break;
case 15:
vPos = D3DXVECTOR3(5159.000F, 100.000F, 5273.000F); dwWorldID = 1;//Sanpress 2
break;
case 16:
vPos = D3DXVECTOR3(2762.000F, 150.000F, 5242.000F); dwWorldID = 1;//Upresia 1
break;
case 17:
vPos = D3DXVECTOR3(2734.000F, 150.000F, 5239.000F); dwWorldID = 1;//Upresia 2
break;
case 18:
vPos = D3DXVECTOR3(1826.000F, 96.600F, 2756.000F); dwWorldID = 1;//Herneos 1
break;
case 19:
vPos = D3DXVECTOR3(2011.000F, 96.900F, 2307.000F); dwWorldID = 1;//Herneos 2
break;
case 20:
vPos = D3DXVECTOR3(7065.011F, 90.962F, 6457.552F); dwWorldID = 1;//Knochenpfad / Valley of the Risen
break;
case 21:
vPos = D3DXVECTOR3(6366.140F, 100.000F, 8050.609F); dwWorldID = 1;//Crystal Dungeon
break;
case 22:
vPos = D3DXVECTOR3(5730.762F, 87.762F, 8141.579F); dwWorldID = 1;//Kalgas Cave
break;
case 23:
vPos = D3DXVECTOR3(7956.923F, 70.000F, 8822.327F); dwWorldID = 1;//Eillun
break;
}
pUser->REPLACE( g_uIdofMulti, dwWorldID , vPos, REPLACE_NORMAL, nDefaultLayer );
}
}
#endif //__TELEPORT_SYSTEM
DPSrvr.h
unter:
PHP Code:
#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
PHP Code:
#ifdef __TELEPORT_SYSTEM
public:
void OnSendTeleportPosition( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE, u_long );
#endif //__TELEPORT_SYSTEM
Fügt die Snippets aus diesen ResData's bei euch ein BEVOR ihr compilen tut:
[Only registered and activated users can see links. Click Here To Register...]
Und zuletzt noch ein Screen, so sieht es aus, wenn ihr alles richtig gemacht habt:
[Only registered and activated users can see links. Click Here To Register...]
Credits:
Me - 90%
yannick****(keine ahnung wie du grad heisst) - 10%
Fragen bitte hier stellen.
Greez.