Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Released Teleport System by Mentus

Newbie Spellweaver
Joined
Apr 28, 2011
Messages
38
Reaction score
8
Firs in Source

Blue: Search
Red: Add
Open WndField.cpp and search:
Code:
[COLOR="#0000FF"]return CWndNeuz::OnChildNotify( message, nID, pLResult );
}
//-----------------------------------------------------------------------------
#endif // __CAMPUS[/COLOR]

[COLOR="#FF0000"]Add under this:

#ifdef __APP_TELEPORTER
CWndTeleporter::CWndTeleporter( void ) 
{
    m_nSelected = NULL;
    m_pPicTexture = NULL;
}
CWndTeleporter::~CWndTeleporter( void )
{
    DeleteDeviceObjects();
}
BOOL CWndTeleporter::Initialize( CWndBase* pWndParent, DWORD dwType )
{
    return CWndNeuz::InitDialog( g_Neuz.GetSafeHwnd(), APP_TELEPORTER, 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 )
{

    CWndStatic* pStatic = (CWndStatic*)GetDlgItem( WIDC_STATIC2 );
    CWndText* pText = (CWndText*)GetDlgItem( WIDC_TEXT1 );
    CString strFile, strLandName, strDes;
    switch( m_nSelected )
    {
    case 0:
        strFile = "flaris.tga"; 
        strLandName ="Flaris"; 
        strDes= ""; 
        break;
    case 1: 
        strFile = "SM.tga"; 
        strLandName ="Saint Morning"; 
        strDes=""; 
        break;
    case 2: 
        strFile = "darkon.tga"; 
        strLandName ="Darkon"; 
        strDes= ""; 
        break;
    case 3: 
        strFile = "darkon1.tga"; 
        strLandName ="Darkon 1"; 
        strDes= ""; 
        break;
    case 4: 
        strFile = "darkon3.tga"; 
        strLandName ="Darkon 3"; 
        strDes= ""; 
        break;
    case 5: 
        strFile = "vulcano.tga"; 
        strLandName ="Vulcano"; 
        strDes= ""; 
        break;
    case 6: 
        strFile = "behemoth.tga"; 
        strLandName ="Behemoth Dungeon"; 
        strDes= ""; 
        break;
    case 7: 
        strFile = "animush.tga"; 
        strLandName ="Animus - Hero Dungeon"; 
        strDes= ""; 
        break;
    case 8: 
        strFile = "animusm.tga"; 
        strLandName ="Animus - Master Dungeon"; 
        strDes= ""; 
        break;
    case 9: 
        strFile = "tramnukm.tga"; 
        strLandName ="Tramnuk - Master Dungeon"; 
        strDes= ""; 
        break;
    case 10: 
        strFile = "tramnuk.tga"; 
        strLandName ="Tramnuk Dungeon"; 
        strDes= ""; 
        break;
    case 11: 
        strFile = "khaldera.tga"; 
        strLandName ="Khaldera"; 
        strDes= ""; 
        break;
    case 12: 
        strFile = "Bahara.tga"; 
        strLandName ="Bahara"; 
        strDes= ""; 
        break;
    case 13: 
        strFile = "Sanpres.tga"; 
        strLandName ="Sanpres 1 Dungeon"; 
        strDes= ""; 
        break;
    case 14: 
        strFile = "Sanpres.tga"; 
        strLandName ="Sanpres 2 Dungeon"; 
        strDes= ""; 
        break;
    case 15: 
        strFile = "Upresia.tga";
        strLandName ="Upresia 1 Dungeon"; 
        strDes= "."; 
        break;
    case 16: 
        strFile = "Upresia.tga"; 
        strLandName ="Upresia 2 Dungeon"; 
        strDes= ""; 
        break;
    case 17: 
        strFile = "Herneos.tga"; 
        strLandName ="Herneos 1 Dungeon"; 
        strDes= ""; 
        break;
    case 18: 
        strFile = "Herneos.tga"; 
        strLandName ="Herneos 2 Dungeon"; 
        strDes= ""; 
        break;
    case 19: 
        strFile = "Knochenpfad.tga"; 
        strLandName ="Knochenpfad"; 
        strDes= ""; 
        break;
    case 20: 
        strFile = "Crystal.tga"; 
        strLandName ="Crystal Dungeon"; 
        strDes= ""; 
        break;
    case 21: 
        strFile = "Kalgas.tga"; 
        strLandName ="Kalgas Dungeon"; 
        strDes= ""; 
        break;
    case 22: 
        strFile = "Eillun.tga"; 
        strLandName ="Eillun"; 
        strDes= ""; 
        break;
    default: strFile = "flaris.tga"; strLandName ="Error"; strDes= "Error"; break;
    }
    pStatic->SetTitle( strLandName );
    pText->SetString( strDes, 0xFF1e90ff );
    m_pPicTexture = m_textureMng.AddTexture( m_pApp->m_pd3dDevice,  MakePath( "Theme\\Default\\LoadMap\\", strFile ), 0xff000000 );
    if( m_pPicTexture != NULL )
    {
        LPWNDCTRL lpWndCtrl = GetWndCtrl( WIDC_STATIC1 );
        if( g_Option.m_nWindowAlpha > 200 )
            m_pPicTexture->Render( p2DRender, lpWndCtrl->rect.TopLeft(), g_Option.m_nWindowAlpha - 55 );
        else
            m_pPicTexture->Render( p2DRender, lpWndCtrl->rect.TopLeft(), g_Option.m_nWindowAlpha );
    }
}
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();
    CWndListBox* pListBox = (CWndListBox*)GetDlgItem( WIDC_LISTBOX1 );
    pListBox->AddString("Flaris");
    pListBox->AddString("Saint Morning");
    pListBox->AddString("Darkon");
    pListBox->AddString("Darkon 1");
    pListBox->AddString("Darkon 3");
    pListBox->AddString("Vulcano");
    //pListBox->AddString("Behemoth D.");
    pListBox->AddString("Amnius Hero");
    pListBox->AddString("Amnius Master");
    //pListBox->AddString("Master Tramnuk");
    //pListBox->AddString("Tramnuk");
    pListBox->AddString("Khaldera");
    //pListBox->AddString("Bahara Desert");
    //pListBox->AddString("Sanpres 1");
    //pListBox->AddString("Sanpres 2");
    //pListBox->AddString("Upresia 1");
    //pListBox->AddString("Upresia 2");
    //pListBox->AddString("Herneos 1");
    //pListBox->AddString("Herneos 2");
    //pListBox->AddString("Knochenpfad");
    //pListBox->AddString("Crystal Dungeon");
    //pListBox->AddString("Kalgas Cave");
    //pListBox->AddString("Eillun");
}
BOOL CWndTeleporter::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
{
    if( nID == WIDC_LISTBOX1 )
    {
        CWndListBox* pWndListBox = (CWndListBox*)GetDlgItem( WIDC_LISTBOX1 );
        if( pWndListBox->GetCurSel() != -1 || pWndListBox->GetCurSel() > 22 )
            m_nSelected= pWndListBox->GetCurSel();

    }
    else if( nID == WIDC_BUTTON1 )
    {
        g_DPlay.SendTeleport( m_nSelected );
        Destroy();
    }
    return CWndNeuz::OnChildNotify( message, nID, pLResult );
}
#endif[/COLOR]

now open WndField.h and search:
Code:
[COLOR="#0000FF"]#if __VER >= 15 // __CAMPUS
class CWndCampusInvitationConfirm : public CWndNeuz
{
public:
	CWndCampusInvitationConfirm( u_long idSender = 0, const CString& rstrSenderName = _T( "" ) );
	virtual ~CWndCampusInvitationConfirm( void );

public:
	virtual BOOL Initialize( CWndBase* pWndParent = NULL, DWORD nType = MB_OK );
	virtual	void OnInitialUpdate( void );
	virtual BOOL OnChildNotify( UINT message, UINT nID, LRESULT* pLResult );

private:
	u_long m_idSender;
	CString m_strSenderName;
};

class CWndCampusSeveranceConfirm : public CWndNeuz
{
public:
	CWndCampusSeveranceConfirm( u_long idTarget = 0, const CString& rstrTargetName = _T( "" ) );
	virtual ~CWndCampusSeveranceConfirm( void );

public:
	virtual BOOL Initialize( CWndBase* pWndParent = NULL, DWORD nType = MB_OK );
	virtual	void OnInitialUpdate( void );
	virtual BOOL OnChildNotify( UINT message, UINT nID, LRESULT* pLResult );

private:
	u_long m_idTarget;
	CString m_strTargetName;
};
#endif // __CAMPUS
[/COLOR]
[COLOR="#FF0000"]add under this:

#ifdef __APP_TELEPORTER
class CWndTeleporter : public CWndNeuz
{
public:
    int m_nSelected;
    CTexture* m_pPicTexture;
    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 //__APP_TELEPORTER[/COLOR]

now open DPClient.h and search:
Code:
[COLOR="#0000FF"]#ifdef __GUILD_HOUSE_MIDDLE
private:
	void	OnGuildHouseTenderMainWnd( CAr & ar );
	void	OnGuildHouseTenderInfoWnd( CAr & ar );
	void	OnGuildHouseTenderResult( CAr & ar );
public:
	void	SendGuildHouseTenderMainWnd( DWORD dwGHType, OBJID objNpcId );
	void	SendGuildHouseTenderInfoWnd( OBJID objGHId );
	void	SendGuildHouseTenderJoin( OBJID objGHId, int nTenderPerin, int nTenderPenya );
#endif // __GUILD_HOUSE_MIDDLE[/COLOR]

[COLOR="#FF0000"]Add under this:
#ifdef __APP_TELEPORTER
    void    SendTeleport( int nCurSel );
#endif  [/COLOR]

now open DPClient.cpp and search:
Code:
[COLOR="#0000FF"]#ifdef __GUILD_HOUSE_MIDDLE
void CDPClient::OnGuildHouseTenderMainWnd( CAr & ar )
{
	//setup window
	//CWndGuildHouseBid À©µµ¿ì°¡ ÃʱâÈ­ÇÒ¶§ ¿äûÆÐŶÀ» º¸³»°Ô µÇ´Âµ¥, ¸¸¾à »ý¼ºÀÌ µÇ¾îÀÖÁö ¾Ê¾Ò´Ù¸é âÀÌ ¶ßÀÚ¸¶ÀÚ ¹Ù·Î ¾ø¾Ö¹ö¸°°æ¿ì?
	if( !g_WndMng.m_pWndGHBid )
	{
		g_WndMng.m_pWndGHBid = new CWndGuildHouseBid;		
		g_WndMng.m_pWndGHBid->Initialize( );
	}

	int nSize;
	ar >> nSize;
	for( int i = 0; i < nSize; ++i )
	{
		OBJID objGHId;
		char szTitle[128] = {0, };
		ar >> objGHId;
		ar.ReadString( szTitle, 128 );

		g_WndMng.m_pWndGHBid->UpdateData_HouseList( objGHId, szTitle );
	}

	//Refresh window
	g_WndMng.m_pWndGHBid->RefreshWnd_HouseList( );
}

void CDPClient::OnGuildHouseTenderInfoWnd( CAr & ar )
{
	// ¿äûÇÑ Ç׸ñ(ÇϿ졸®½ºÆ®)¿¡ ´ëÇÑ ¼¼ºÎÁ¤º¸
	if( !g_WndMng.m_pWndGHBid )
	{
		//ÀÌ°æ¿ì´Â ÆÐŶ¹«½ÃÇÏ°í óÀ½ºÎÅÍ ´Ù´Ù½Ã, ÀÌ°æ¿ì ¿ª½Ã ¸®½ºÆ®Çϳª¸¦ ¼±ÅÃÇÏ°í âÀ» °ð¹Ù·Î ´Ý¾Æ¹ö¸°°æ¿ì?
		g_WndMng.m_pWndGHBid = new CWndGuildHouseBid;
		g_WndMng.m_pWndGHBid->Initialize( );
		return;
	}

	vector< DWORD > guildIDs;

	OBJID objGHId;
	int nTenderMinPenya = 0, nSize = 0;
	__int64 nTenderPenya = 0;		//±æµåÇ׸ñÁß ³»±æµå°¡ ÀÖ´Ù¸é ÀÌ°ªÀÌ ³»±æµåÀÇ ÀÔÂû±Ý
	ar >> objGHId >> nTenderMinPenya >> nTenderPenya >> nSize;
	for( int i = 0; i < nSize; ++i )
	{
		DWORD dwGuildId;
		ar >> dwGuildId;

		guildIDs.push_back( dwGuildId );

	}

	g_WndMng.m_pWndGHBid->UpdateData_HouseInfo( objGHId, nTenderMinPenya,nTenderPenya, guildIDs );

	//Refresh window
	g_WndMng.m_pWndGHBid->RefreshWnd_HouseInfo( );
}

void CDPClient::OnGuildHouseTenderResult( CAr & ar )
{
	OBJID objGHId;
	BOOL bResult;
	ar >> objGHId >> bResult;

	//ÀÔÂû ¹öÆ° È°¼ºÈ­ 
	g_WndMng.m_pWndGHBid->SetEnableWindow_Apply( TRUE );

	//¸Ó´Ï ÀÔ·Ââ ÃʱâÈ­
	g_WndMng.m_pWndGHBid->ResetInputMoneyWindows( );

	//ÇöÀç ¼±ÅÃµÈ ÇϿ콺¿¡´ëÇÑ ¼¼ºÎÁ¤º¸ ¿äû 
	g_WndMng.m_pWndGHBid->RequestCurrHouseInfo( );
}

void CDPClient::SendGuildHouseTenderMainWnd( DWORD dwGHType, OBJID objNpcId )
{
	BEFORESENDSOLE( ar, PACKETTYPE_GUILDHOUSE_TENDER_MAINWND, DPID_UNKNOWN );
	ar << dwGHType << objNpcId;
	SEND( ar, this, DPID_SERVERPLAYER );
}

void CDPClient::SendGuildHouseTenderInfoWnd( OBJID objGHId )
{
	BEFORESENDSOLE( ar, PACKETTYPE_GUILDHOUSE_TENDER_INFOWND, DPID_UNKNOWN );
	ar << objGHId;
	SEND( ar, this, DPID_SERVERPLAYER );
}

void CDPClient::SendGuildHouseTenderJoin( OBJID objGHId, int nTenderPerin, int nTenderPenya )
{
	BEFORESENDSOLE( ar, PACKETTYPE_GUILDHOUSE_TENDER_JOIN, DPID_UNKNOWN );
	ar << objGHId << nTenderPerin << nTenderPenya;
	SEND( ar, this, DPID_SERVERPLAYER );
}
#endif // __GUILD_HOUSE_MIDDLE[/COLOR]

[COLOR="#FF0000"]add under this:
#ifdef __APP_TELEPORTER
void CDPClient::SendTeleport( int nCurSel )
{
    BEFORESENDSOLE( ar, PACKETTYPE_APP_TELEPORT, DPID_UNKNOWN );
    ar << nCurSel;
    SEND( ar, this, DPID_SERVERPLAYER );
}
#endif  [/COLOR]

now open MsgHdr.h and search:

Code:
[COLOR="#0000FF"]#ifdef __SHOPPING_CART
#define PACKETTYPE_BUYITEMCART						(DWORD)0x88100247
#endif //__SHOPPING_CART
[/COLOR]
[COLOR="#FF0000"]add under this:
#ifdef __APP_TELEPORTER
#define PACKETTYPE_APP_TELEPORT                    (DWORD)0x88100248
#endif  [/COLOR]

now open DPSrvr.cpp and search:

Code:
[COLOR="#0000FF"]BEGIN_MSG;[/COLOR]

[COLOR="#FF0000"]add under this:

#ifdef __APP_TELEPORTER
    ON_MSG( PACKETTYPE_APP_TELEPORT, OnTeleportByAPP );
#endif // __APP_TELEPORTER[/COLOR]

[COLOR="#0000FF"]#ifdef __GUILD_HOUSE_MIDDLE
void CDPSrvr::OnGuildHouseTenderMainWnd( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE, u_long )
{
	CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
	if( IsValidObj( pUser ) == TRUE )
	{
		DWORD dwGHType;
		OBJID objNpcId;
		ar >> dwGHType >> objNpcId;

		GuildHouseMng->ReqTenderGuildHouseList( pUser, dwGHType, objNpcId );
	}
}

void CDPSrvr::OnGuildHouseTenderInfoWnd( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE, u_long )
{
	CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
	if( IsValidObj( pUser ) == TRUE )
	{
		OBJID objGHId;
		ar >> objGHId;

		GuildHouseMng->ReqTenderGuildHouseInfo( pUser, objGHId );
	}
}

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[/COLOR]

[COLOR="#FF0000"]add under this:

#ifdef __APP_TELEPORTER
void CDPSrvr::OnTeleportByAPP( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE, u_long )
{
#ifdef __NEW_DEBUG
    g_Guard.LogDebug("CDPSrvr::OnTeleportByAPP");
#endif
    CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
    int nCurSel;
    if( IsValidObj( pUser ) )
    {
        ar >> nCurSel;
        DWORD dwWorldID;
        D3DXVECTOR3 vPos;
        switch( nCurSel )
        {
            case 0: vPos = D3DXVECTOR3(6973.0F, 100.0F, 3328.0F); dwWorldID = 1; break;
            case 1: vPos = D3DXVECTOR3(8321.0F, 100.0F, 3720.0F); dwWorldID = 1; break;
            case 2: vPos = D3DXVECTOR3(3900.250732F, 59.0F, 4377.806641F); dwWorldID = 1; break;
            case 3: vPos = D3DXVECTOR3(5574.530273F, 75.001129F, 3900.282227F); dwWorldID = 1; break;
            case 4: vPos = D3DXVECTOR3(3240.482910F, 11.316653F, 3409.634766F); dwWorldID = 1; break;
            case 5: vPos = D3DXVECTOR3(881.142883F, 183.273331F, 1008.118652F); dwWorldID = 206; break;
            case 6: vPos = D3DXVECTOR3(6642.931152F, 58.000000F, 6454.676758F); dwWorldID = 1; break;
            case 7: vPos = D3DXVECTOR3(6785.000000F, 100.699989F, 6062.000000F); dwWorldID = 1; break;
            case 8: vPos = D3DXVECTOR3(5986.8989f, 100.0f, 5414.0f); dwWorldID = 1; break;
            case 9: vPos = D3DXVECTOR3(4908.647F, 100.000F, 3457.677F); dwWorldID = 1; break;
            case 10: vPos = D3DXVECTOR3(5267.235F, 100.000F, 4719.388F); dwWorldID = 1; break;
            case 11: vPos = D3DXVECTOR3(5946.719F, 100.392F, 5406.160F); dwWorldID = 1; break;
            case 12: vPos = D3DXVECTOR3(6501.000F, 66.000F, 9095.00F); dwWorldID = 1; break; 
            case 13: vPos = D3DXVECTOR3(6593.000F, 100.000F, 5076.000F); dwWorldID = 1; break;
            case 14: vPos = D3DXVECTOR3(5159.000F, 100.000F, 5273.000F); dwWorldID = 1; break;
            case 15: vPos = D3DXVECTOR3(2762.000F, 150.000F, 5242.000F); dwWorldID = 1; break;
            case 16: vPos = D3DXVECTOR3(2734.000F, 150.000F, 5239.000F); dwWorldID = 1; break;
            case 17: vPos = D3DXVECTOR3(1826.000F, 96.600F, 2756.000F); dwWorldID = 1; break;
            case 18: vPos = D3DXVECTOR3(2011.000F, 96.900F, 2307.000F); dwWorldID = 1; break;
            case 19: vPos = D3DXVECTOR3(7065.011F, 90.962F, 6457.552F); dwWorldID = 1; break;
            case 20: vPos = D3DXVECTOR3(6366.140F, 100.000F, 8050.609F); dwWorldID = 1; break;
            case 21: vPos = D3DXVECTOR3(5730.762F, 87.762F, 8141.579F); dwWorldID = 1; break;
            case 22: vPos = D3DXVECTOR3(7956.923F, 70.000F, 8822.327F); dwWorldID = 1; break;
            default: Error("CDPSrvr::OnTeleportByAPP - %s", pUser->GetName() ); return;
        }
        pUser->REPLACE( g_uIdofMulti, dwWorldID, vPos, REPLACE_NORMAL, nDefaultLayer );
    }
}
#endif  [/COLOR]

now open DPSrvr.h and search:

Code:
[COLOR="#0000FF"]void	OnEnchant( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize);[/COLOR]

[COLOR="#FF0000"]add under this:

#ifdef __APP_TELEPORTER
	void OnTeleportByAPP( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE, u_long );
#endif // __APP_TELEPORTER[/COLOR]

now open FuncApplet.cpp and search:

Code:
[COLOR="#0000FF"]DECLAREAPPLET( AppMain_WndNavigator    , new CWndNavigator   );[/COLOR]

[COLOR="#FF0000"]add under this:

#ifdef	__APP_TELEPORTER
DECLAREAPPLET( AppMain_WndTeleporter    , new CWndTeleporter );
#endif	//__APP_TELEPORTER[/COLOR]

[COLOR="#0000FF"]AddAppletFunc( AppMain_WndParty        , APP_PARTY                   , _T( "WndParty"     )    , _T( "Icon_Troupe.dds"    )    , GETTEXT( TID_TIP_PARTY          ),  'P' );[/COLOR]

[COLOR="#FF0000"]add under this:

#ifdef __APP_TELEPORTER
    AddAppletFunc( AppMain_WndTeleporter      , APP_TELEPORTER         , _T( "WndMotion"    )    , _T( "Icon_Motion.dds"   )     , GETTEXT( TID_TIP_MOTION         ),  'V'  );
#endif //__APP_TELEPORTER[/COLOR]

now open versioncommon.h (of Neuz and World folder)

Code:
 [COLOR="#FF0000"]Add:

#define	__APP_TELEPORTER [/COLOR]

Now in resource

Open Resdata.h and add:
Code:
[COLOR="#FF0000"]#define APP_TELEPORTER    2024  [/COLOR]

Now open Resdata.inc and add:
Code:
[COLOR="#FF0000"]APP_TELEPORTER "WndTile08.tga" "" 1 640 464 0x2410000 26
{
// Title String
IDS_RESDATA_INC_020000
}
{
// Help Key
IDS_RESDATA_INC_020001
}
{
    WTYPE_LISTBOX WIDC_LISTBOX1 "WndEditTile00.tga" 1 40 22 194 346 0x20020000 0 0 0 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_020002
    }
    {
    // ToolTip
IDS_RESDATA_INC_020003
    }
    WTYPE_BUTTON WIDC_BUTTON1 "ButtApply.tga" 0 72 374 144 394 0x220010 0 0 0 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_020004
    }
    {
    // ToolTip
IDS_RESDATA_INC_020005
    }
    WTYPE_STATIC WIDC_STATIC1 "" 0 284 56 534 306 0x2220002 0 0 0 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_020006
    }
    {
    // ToolTip
IDS_RESDATA_INC_020007
    }
    WTYPE_TEXT WIDC_TEXT1 "WndEditTile00.tga" 1 268 328 568 404 0x20020000 0 0 0 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_0020008
    }
    {
    // ToolTip
IDS_RESDATA_INC_0020009
    }
    WTYPE_STATIC WIDC_STATIC2 "WndEditTile200.tga" 1 365 20 498 36 0x2222481 0 0 0 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_020010
    }
    {
    // ToolTip
IDS_RESDATA_INC_020011
    }

}  [/COLOR]

now open Resdata.txt.txt and add
Code:
[COLOR="#FF0000"]IDS_RESDATA_INC_020000	Teleport System
IDS_RESDATA_INC_020001	
IDS_RESDATA_INC_020002	
IDS_RESDATA_INC_020003	
IDS_RESDATA_INC_020004	
IDS_RESDATA_INC_020005	
IDS_RESDATA_INC_020006	
IDS_RESDATA_INC_020007	
IDS_RESDATA_INC_020008	
IDS_RESDATA_INC_020009	
IDS_RESDATA_INC_020010	
IDS_RESDATA_INC_020011	[/COLOR]

now in your client

Open folder Theme, later default and extract this rar :

Done :3

Credits by Mentus

Screenshots
afb2919247864666b429836 - Released Teleport System by Mentus - RaGEZONE Forums

Sry for my bad english :c
 

Attachments

You must be registered for see attachments list
Last edited:
Experienced Elementalist
Joined
Nov 13, 2008
Messages
213
Reaction score
68
Im sorry if im being rude, but i wouldn't considere it a constructive release.. this is more like.. someone trowing a peace of bread..
Any developer can see how basic this system is, and the ones who cannot build something like this shouldn't even be able setup it's own server.

Dont get me wrong, i understand that having rivals is the main key to keep thing evolving.. but this is not about rivalism or something like this.. this is someone just trying to get some attention by releasing something that probably wasn't even coded by him...

Im sure that many will disagree of me, but the ones who work hard to have their own features will agree that it's pretty annoying to create a feature for your own server, and few days later, someone release it, and your rival that can't understand an "IF" in the code, copy and past and eventually, some user still says that you stole the feature from another server....
 
Newbie Spellweaver
Joined
Apr 28, 2011
Messages
38
Reaction score
8
Im sorry if im being rude, but i wouldn't considere it a constructive release.. this is more like.. someone trowing a peace of bread..
Any developer can see how basic this system is, and the ones who cannot build something like this shouldn't even be able setup it's own server.

Dont get me wrong, i understand that having rivals is the main key to keep thing evolving.. but this is not about rivalism or something like this.. this is someone just trying to get some attention by releasing something that probably wasn't even coded by him...

Im sure that many will disagree of me, but the ones who work hard to have their own features will agree that it's pretty annoying to create a feature for your own server, and few days later, someone release it, and your rival that can't understand an "IF" in the code, copy and past and eventually, some user still says that you stole the feature from another server....

I understand, but put it on elite-pvpers, and I just transferred the to ragezone

Sry for my bad english :c
 
Newbie Spellweaver
Joined
Sep 8, 2011
Messages
67
Reaction score
252
It's a decent system, thanks for the Re-up and post on RZ.

@WebSpider: It was released by Mentus, who apparently coded it, on the other forums. I can understand what you mean though.
 
Banned
Banned
Joined
Sep 18, 2011
Messages
112
Reaction score
63
This is completely pointless. There's already a nicer teleporter system in the source. I do like this interface however the code behind is horrible and not as flexible as the code that's already in the source, for example to add the teleport function to an npc all you have to do is:

Code:
AddMenu( MMI_TELEPORTER ); 
AddTeleport( 7161, 3264 );

in character.inc

This is also exploitable, in the smallest sense. If I was fighting a monster and about to die and I didn't want to die, I could just send the packet to the server and be teleported at no cost or time. If you wanted to fix that, you could use the NPC checker stuff that's already built in. I won't say any more though.
 
Newbie Spellweaver
Joined
May 3, 2014
Messages
29
Reaction score
0
im having this error when i compile DPSrvr.cpp(279) : error C2065: 'OnEnchant' : undeclared identifierDPSrvr.cpp(5648) : error C2039: 'OnEnchant' : is not a member of 'CDPSrvr'
d:\FLYFFSERVERMAKING\V19FILES\Source\SRC\WORLDSERVER\DPSrvr.h(15) : see declaration of 'CDPSrvr'
DPSrvr.cpp(5649) : error C2365: 'OnEnchant' : redefinition; previous definition was a 'formerly unknown identifier'
DPDatabaseClient.cpp ......... --HELP PLEASE----
 
Newbie Spellweaver
Joined
Apr 11, 2014
Messages
55
Reaction score
0
Hi How can i add more Map into the teleport system? i can only see few maps to be teleported
 
Initiate Mage
Joined
Jan 29, 2016
Messages
1
Reaction score
0
Need help on ressource (resdata.inc), my source is v15.
 
Last edited:
Newbie Spellweaver
Joined
May 29, 2017
Messages
9
Reaction score
0
Hi Guys
I have a problem . If i want to start Neuz always this happend

https://mega.nz/#!5QU0jDjR!ronBMyMwHfufSGohrn12nR416but862ft47tJdKI5Z8
i dont know how to add pic so i uploaded it on Mega ...

Please can someone help me :)
 
Inactive
Joined
Jan 20, 2009
Messages
1,015
Reaction score
1,830
Hi Guys
I have a problem . If i want to start Neuz always this happend

https://mega.nz/#!5QU0jDjR!ronBMyMwHfufSGohrn12nR416but862ft47tJdKI5Z8
i dont know how to add pic so i uploaded it on Mega ...

Please can someone help me :)

Wrong APP format.

Try:
Code:
APP_TELEPORTER "WndTile08.tga" 1 640 464 0x2410000 26
{
// Title String
IDS_RESDATA_INC_020000
}
{
// Help Key
IDS_RESDATA_INC_020001
}
{
    WTYPE_LISTBOX WIDC_LISTBOX1 "WndEditTile00.tga" 1 40 22 194 346 0x20020000 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_020002
    }
    {
    // ToolTip
IDS_RESDATA_INC_020003
    }
    WTYPE_BUTTON WIDC_BUTTON1 "ButtApply.tga" 0 72 374 144 394 0x220010 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_020004
    }
    {
    // ToolTip
IDS_RESDATA_INC_020005
    }
    WTYPE_STATIC WIDC_STATIC1 "" 0 284 56 534 306 0x2220002 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_020006
    }
    {
    // ToolTip
IDS_RESDATA_INC_020007
    }
    WTYPE_TEXT WIDC_TEXT1 "WndEditTile00.tga" 1 268 328 568 404 0x20020000 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_0020008
    }
    {
    // ToolTip
IDS_RESDATA_INC_0020009
    }
    WTYPE_STATIC WIDC_STATIC2 "WndEditTile200.tga" 1 365 20 498 36 0x2222481 0 0 0 0
    {
    // Title String
IDS_RESDATA_INC_020010
    }
    {
    // ToolTip
IDS_RESDATA_INC_020011
    }
}
 
Last edited:
Back
Top