Register for your free account! | Forgot your password?

You last visited: Today at 02:21

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Release]V19 Minimap

Discussion on [Release]V19 Minimap within the Flyff PServer Guides & Releases forum part of the Flyff Private Server category.

Reply
 
Old   #1
 
elite*gold: 4
Join Date: Mar 2010
Posts: 3,148
Received Thanks: 1,535
[Release]V19 Minimap

Voher : Diese Minimap ist NICHT von Wurstbrot ! Sondern die von mir

Da ich es schon vor ein paar Tagen auf RZ released habe mach ich es nun noch hier.

<- Runterladen

Versioncommon in Neuz -> __NEW_THEME


Anleitung
Code:
1. Solution öffnen
2. Neuz -> Rechtsklick -> Hinzufügen -> Vorhandenes Item
3. WndNavigator.cpp & .h auswählen
4. WndField.cpp & .h
Code:
die alte CWndNavigator klasse entfernen durch

#ifndef __NEW_THEME
#define OBJFILTER_PLAYER   0
#define OBJFILTER_PARTY    1 
#define OBJFILTER_NPC      2
#define OBJFILTER_MONSTER  3 

CWndNavigator::CWndNavigator()
{

und 

void CWndNavigator::OnLButtonDown(UINT nFlags, CPoint point)
{

	CRect rect = GetClientRect();
	D3DXVECTOR3 vPos, vCenter = ( g_pPlayer != NULL ? g_pPlayer->GetPos() : D3DXVECTOR3( 0, 0 , 0 ) );
	// 128 : m_texture.m_size.cx = 1 : x
	FLOAT fx = (FLOAT)m_size.cx / ( MAP_SIZE * MPU );
	FLOAT fy = (FLOAT)m_size.cy / ( MAP_SIZE * MPU );

	CWorld* pWorld	= g_WorldMng();

	g_pPlayer->m_nvPoint.Pos.x = vCenter.x + ( (float)( point.x - (rect.right / 2) ) / fx );
	g_pPlayer->m_nvPoint.Pos.z = vCenter.z - ( (float)( point.y - (rect.bottom / 2) ) / fy );
	//	ÀÌ ½Ã°£Àº ³×ºñ°ÔÀÌÅÍ¿¡ ³²¾Æ ÀÖ´Â ½Ã°£À¸·Î µðÆÄÀÎÀ̳ª ÆÄÀÏ·Î »¬¼öµµ ÀÖÀ»µíÇÏÁö¸¸ ¿ì¼± Çϵå ÄÚµùÀÌ´å
	g_pPlayer->m_nvPoint.Time = 200;	
	if( pWorld )
	{
		CObj* pObj	= pWorld->GetObjFocus();
		if( IsValidObj( pObj ) && pObj->GetType() == OT_MOVER && ( (CMover*)pObj )->IsPlayer() )
		{
				g_DPlay.SendSetNaviPoint( g_pPlayer->m_nvPoint.Pos, ( (CCtrl*)pObj )->GetId() );
		}
		else
		{
			if( g_Party.IsMember( g_pPlayer->m_idPlayer ) )
				g_DPlay.SendSetNaviPoint( g_pPlayer->m_nvPoint.Pos, NULL_ID );
		}
	}

	vCenter.x *= fx;
	vCenter.z *= fy;
	int xCenter = (int)( vCenter.x );
	int yCenter = (int)( - vCenter.z );
	
	CObj* pObj;
	CLandscape* pLand;
//	CWorld* pWorld	= g_WorldMng();
	CMover *pMover;
	FOR_LAND( pWorld, pLand, pWorld->m_nVisibilityLand, FALSE )
	{
		FOR_OBJ( pLand, pObj, OT_MOVER )
		{
			if( pObj->GetType() == OT_MOVER )
			{
				pMover = (CMover *)pObj;
				if( pMover->IsMode( TRANSPARENT_MODE ) == FALSE )
				{
					vPos = pObj->GetPos();
					vPos.x *= fx;
					vPos.z *= fy;
					int x = (int)( ( rect.Width() / 2 ) + vPos.x );
					int y = (int)( ( rect.Height() / 2 ) - vPos.z );
					x -= xCenter + 2;
					y -= yCenter + 2;
					CRect rectHittest( x, y, x + 5, y + 5);
					if( rectHittest.PtInRect( point ) )
					{
						if( CMover::GetActiveMover() != pObj )
							pWorld->SetObjFocus( pObj );
						return;
					}
				}
			}
		}
		END_OBJ
	}
	END_LAND

}
#endif //__NEW_THEME
Code:
#ifndef __NEW_THEME
class CWndNavigator : public CWndNeuz
{
	CWndButton m_wndPlace;
	CWndButton m_wndMover;
	CWndButton m_wndZoomIn;
	CWndButton m_wndZoomOut;
	CWndMenu   m_wndMenuPlace;
	CWndMenu   m_wndMenuMover;
	BILLBOARD  m_billboard;
	CTexture   m_texArrow;
	CTexture   m_texDunFog;
	CTexturePack m_texNavObjs;
	DWORD		 m_iFrame;
	DWORD		 m_iPastTime;
	CTexturePack m_texNavPos;
	inline void	 AccuFrame() { 
		DWORD CurTime = g_tmCurrent;
		if (CurTime - m_iPastTime > 120)
		{
			m_iFrame++; 
			m_iPastTime = CurTime;
		}
		if ( m_iFrame >= 4 )
			m_iFrame = 0;
	};
	void RenderMark( C2DRender* p2DRender, CMover* Player );	//	ÂüÁ¶µÇ´Â º¯¼ö´Â Ç÷¹À̾î¿Í ÆÄƼÇ÷¹À̾ ¾òÀ» ¼ö ÀÖ´Â °ÍÀ̾î¾ß ÇÏÁö¸¸ 
																//	ÇöÀç´Â ÀڽŸ¸À» Âï´Â °ÍÀ» ÇÏ°í ±× ´ÙÀ½¿¡ ÆÄƼ Ç÷¹À̾îµéÀ» ãÀ»¼ö ÀÖ´Â ¹æ¹ýÀ» ã¾Æ º¸ÀÚ²Ù³ª
	void RenderMarkAll( C2DRender* p2DRender , CMover* Player );
	CBillboard m_billArrow;
	CSize      m_size;
	int        m_nSizeCnt;
	TCHAR      m_szName[ 64 ];
	void ResizeMiniMap();
	
	CTexture m_GuildCombatTextureMask;
#if __VER >= 15 // __IMPROVE_QUEST_INTERFACE
	CTexture* m_pDestinationPositionTexture;
#endif // __IMPROVE_QUEST_INTERFACE

public:
	BOOL m_bObjFilterPlayer ;
	BOOL m_bObjFilterParty  ;
	BOOL m_bObjFilterNPC    ;
	BOOL m_bObjFilterMonster;
	

	void RenderPartyMember( C2DRender* p2DRender, TEXTUREVERTEX** pVertices, CRect rect, D3DXVECTOR3 vPos, u_long uIdPlayer, LPCTSTR lpStr );
	void SetRegionName( TCHAR *tszName );		// Áö¿ª
		
	virtual void SerializeRegInfo( CAr& ar, DWORD& dwVersion );
	
	CWndNavigator(); 
	virtual ~CWndNavigator();
	virtual void OnDraw(C2DRender* p2DRender);
	virtual	void OnInitialUpdate();
	virtual BOOL Initialize(CWndBase* pWndParent = NULL,DWORD dwWndId = 0);
	// message
	virtual	void SetWndRect( CRect rectWnd, BOOL bOnSize = TRUE );
	virtual BOOL OnChildNotify(UINT message,UINT nID,LRESULT* pLResult);
	virtual BOOL OnCommand( UINT nID, DWORD dwMessage, CWndBase* pWndBase = NULL );
	virtual void OnSize(UINT nType, int cx, int cy);
	virtual void OnLButtonUp(UINT nFlags, CPoint point);
	virtual void OnLButtonDown(UINT nFlags, CPoint point);
	virtual void OnRButtonDown(UINT nFlags, CPoint point);
	virtual BOOL OnEraseBkgnd(C2DRender* p2DRender);
	virtual HRESULT RestoreDeviceObjects();
	virtual HRESULT InvalidateDeviceObjects();
	virtual HRESULT DeleteDeviceObjects();
	virtual void OnLButtonDblClk( UINT nFlags, CPoint point);
};
#endif
5. Überschrift einfügen
Code:
void CWndBase::Paint(C2DRender* p2DRender, BOOL bPaintChild)
{
	if(m_nWinSize == 2)
		m_bFullWnd = TRUE; 
	m_p2DRender = p2DRender;

	if( !IsWndStyle( WBS_NODRAWFRAME ) ) //&& !IsWndStyle( WBS_NOFRAME ))
		PaintFrame(p2DRender);
	else
	if( IsWndStyle( WBS_CAPTION ) )
	{
		// ¿©±â´Â ÄÜÆ®·ÑÀÇ Å¸ÀÌƲÀ» Ãâ·ÂÇÏ´Â °÷ 
	}
#ifdef __NEW_THEME
	if(GetWndId() == APP_NAVIGATOR && IsWndStyle(WBS_CAPTION))
	{
				CRect rect = GetWindowRect(); 
				CD3DFont* pOldFont = p2DRender->GetFont();
				p2DRender->SetFont( CWndBase::m_Theme.m_pFontWndTitle );
				POINT pt = GetStrCenter( p2DRender, m_strTitle );
				p2DRender->SetFont( CWndBase::m_Theme.m_pFontFirst1 );
				p2DRender->TextOut( pt.x, 5, m_strTitle, D3DCOLOR_ARGB(255,246,204,77),0xff000000  );

				p2DRender->SetFont(pOldFont);
	}
#endif
6. X Button entfernen
Code:
WndNavigator.cpp öffnen

CWndNavigator::CWndNavigator suchen

im Konstruktor

m_bNoCloseButton = TRUE;

einfügen
7. ? entfernen

Code:
ersetzt

return CWndNeuz::InitDialog( g_Neuz.GetSafeHwnd(), dwWndId, 0, CPoint( 792, 130 ), pWndParent );

durch

return CWndNeuz::InitDialog( g_Neuz.GetSafeHwnd(), dwWndId, ~WBS_HELP, CPoint( 792, 130 ), pWndParent );
8.

Code:
#ifdef __VCINEMASCOPE
int m_nCinemaScopeCnt = -100;
#endif
HRESULT CNeuzApp::Render()
{
	_PROFILE("CNeuzApp::Render()");

	if(	m_bActive == FALSE )
		return S_FALSE;
	// Clear the viewport
	m_pd3dDevice->Clear(0, NULL, D3DCLEAR_ZBUFFER | D3DCLEAR_TARGET, CWndBase::m_Theme.m_d3dcBackground, 1.0f, 0 ) ;
	
	CWndWorld* pWndWorld = (CWndWorld*)g_WndMng.GetWndBase( APP_WORLD );
	
	if( pWndWorld )
		pWndWorld ->ClearFlyTarget();		// ºñÇට °ø°Ý°¡´ÉÇÑ Å¸°Ùµé ¸®½ºÆ® Áö¿öÁÜ.	

	//pd3dDevice->Clear(0, NULL, D3DCLEAR_ZBUFFER | D3DCLEAR_TARGET, D3DCOLOR_ARGB( 255, 90, 146, 222 ), 1.0f, 0 ) ;
	//m_pd3dDevice->Clear(0, NULL, D3DCLEAR_ZBUFFER | D3DCLEAR_TARGET, D3DCOLOR_ARGB( 255, 255, 255, 255 ), 1.0f, 0 ) ;
	//m_pd3dDevice->Clear(0, NULL, D3DCLEAR_ZBUFFER | D3DCLEAR_TARGET, D3DCOLOR_ARGB( 255, 0, 0, 0 ), 1.0f, 0 ) ;
	// Begin the scene
	
	if( g_Option.m_nShadow < 2 )		// ³ôÀ½/Áß°£ ¸¸ ½¦µµ¿ì ¸ÊÀ» ¸¸µç´Ù.
	{
		_PROFILE("Make Shadow Map");
		CHECK1();
		void RenderShadowMap( LPDIRECT3DDEVICE9 pd3dDevice, CObj **pList, int nMax );
		if( g_pPlayer )
		{
			CWorld *pWorld = g_pPlayer->GetWorld();
			if( pWorld )
			{
#if __VER >= 13 // __HOUSING

#if __VER >= 14 // __BS_FIX_SHADOW_ONOBJECT
		if( pWorld->GetID() != WI_WORLD_MINIROOM ) // 7.28±âȹ¿äû : ÇÏ¿ì¡ ±×¸²ÀÚ Á¦°Å
			RenderShadowMap( m_pd3dDevice, pWorld->m_aobjCull, pWorld->m_nObjCullSize );
#else 
		if(pWorld->GetID() != WI_WORLD_MINIROOM && pWorld->GetID() != WI_INSTANCE_OMINOUS && pWorld->GetID() != WI_INSTANCE_OMINOUS_1)
			RenderShadowMap( m_pd3dDevice, pWorld->m_aobjCull, pWorld->m_nObjCullSize );

#endif	//__VER >= 14

#endif	//__VER >= 13
			}

		}
		CHECK2( " Render ShadowMap" );
	}

	// »Ç»þ½Ã ¿É¼ÇÀÌ ÄÑÁ®ÀÖÀ¸¸é ·»´õŸ°Ù¿¡ °ÔÀÓÈ*¸éÀ» ·»´õÇÔ.
	if( g_Option.m_nBloom )
	{
		_PROFILE("Make Bloom");
		CWorld* pWorld = g_WorldMng.Get();
		if( pWorld && g_pPlayer && g_Glare.m_bActive )
		{
			pWorld->Projection( m_pd3dDevice, g_Glare.m_Src.m_nWidth, g_Glare.m_Src.m_nHeight );
			pWorld->SetCamera( &m_camera );
			g_Glare.m_Src.BeginScene();
			DWORD dwColor = CWorld::GetDiffuseColor();
			m_2DRender.m_pd3dDevice->Clear(0, NULL, D3DCLEAR_ZBUFFER | D3DCLEAR_TARGET, dwColor /*D3DCOLOR_ARGB( 255, 255, 255, 255 )*/, 1.0f, 0 ) ;
			pWorld->RenderBase( m_pd3dDevice, g_WndMng.m_Theme.m_pFontWorld );		// ÁöÇü°ú ¿ÀºêÁ§Æ®¸¦ ¹Ì¸® ·»´õ¸µ ÇصÒ.
			g_Glare.m_Src.EndScene();

			g_Glare.Blur( m_pd3dDevice );		// m_Src¸¦ m_Surface[0]¿¡ ºí·¯ÇÔ.		
		}
	}

	CHECK1();
#ifdef __NEW_THEME
	CWndNavigator* pWndNavigator = (CWndNavigator*)g_WndMng.GetWndBase(APP_NAVIGATOR);
	if(pWndNavigator)
	{
		pWndNavigator->Render(m_pd3dDevice);
	}
#endif
	if(SUCCEEDED(m_pd3dDevice->BeginScene()))
	{
		_PROFILE("BeginScene");

		CHECK2( "Begin" );

Resdata.inc

Code:
APP_NAVIGATOR "" "" 0 256 256 0x2410000 26
{
// Title String
IDS_RESDATA_INC_002400
}
{
// Help Key
IDS_RESDATA_INC_002401
}
{

}
ergebnis sollte so aussehen

Jopsi332 is offline  
Thanks
10 Users
Old 01/09/2014, 12:32   #2
 
elite*gold: 0
Join Date: Nov 2013
Posts: 124
Received Thanks: 115
there is something wrong HAHAHAHAHA

look at your navigator name its not on the center :O
Rhyder' is offline  
Old 01/09/2014, 15:34   #3
 
WooTheFck's Avatar
 
elite*gold: 0
Join Date: May 2013
Posts: 239
Received Thanks: 11
Where can i declare this

WooTheFck is offline  
Old 01/09/2014, 15:43   #4
 
Supr3matt's Avatar
 
elite*gold: 80
Join Date: May 2013
Posts: 146
Received Thanks: 23
Plz -Reupload
Supr3matt is offline  
Old 01/09/2014, 16:34   #5

 
elite*gold: 142
Join Date: Apr 2010
Posts: 859
Received Thanks: 428
Quote:
Originally Posted by Supr3matt View Post
Plz -Reupload
look @rz dude There is the working Link :P

Für alle:


Have Fun.
(Link is von Jopsi!)

Greetz
©ross is offline  
Thanks
1 User
Old 01/10/2014, 11:32   #6
 
trashee09's Avatar
 
elite*gold: 0
Join Date: Aug 2005
Posts: 231
Received Thanks: 66
Quote:
Originally Posted by WooTheFck View Post
this
dud look at the tutorial. there's a file you need to include *WndNavigator.h"
trashee09 is offline  
Thanks
2 Users
Old 01/10/2014, 14:30   #7
 
yvansinues's Avatar
 
elite*gold: 0
Join Date: Jul 2012
Posts: 127
Received Thanks: 4
Quote:
Originally Posted by trashee09 View Post
dud look at the tutorial. there's a file you need to include *WndNavigator.h"
I include the wndnavi cpp and h but still have many errors undeclared ..
yvansinues is offline  
Thanks
1 User
Old 01/10/2014, 17:44   #8
 
elite*gold: 0
Join Date: Nov 2013
Posts: 124
Received Thanks: 115
Quote:
Originally Posted by yvansinues View Post
I include the wndnavi cpp and h but still have many errors undeclared ..
easy way is to replace the old code on wndfield.cpp from the wndnavigator.cpp.. its not hard i try it already and it works well
Rhyder' is offline  
Thanks
1 User
Old 01/10/2014, 18:23   #9
 
lolxdflyx3's Avatar
 
elite*gold: 0
Join Date: Jul 2011
Posts: 331
Received Thanks: 64
läuft gut, aber wenn ich Schritt 7 ausführe verschwindet der Navigator :/

Quote:
Originally Posted by yvansinues View Post
I include the wndnavi cpp and h but still have many errors undeclared ..
I havent errors. You have to include "party.h" in WndNavigator.cpp and you have to include WndNavigator.h in the StdAfx.h!
Then you should only have 2 warnings.
lolxdflyx3 is offline  
Thanks
1 User
Old 01/10/2014, 18:33   #10
 
Supr3matt's Avatar
 
elite*gold: 80
Join Date: May 2013
Posts: 146
Received Thanks: 23
My New problem
Supr3matt is offline  
Old 01/10/2014, 19:32   #11
 
elite*gold: 0
Join Date: Jul 2013
Posts: 143
Received Thanks: 2
Quote:
Originally Posted by Supr3matt View Post
My New problem
Declar the font in the ITheme.cpp& Itheme.h (v19 font)

Ps: Thanks for the release Jopsi !
LoscArmy is offline  
Old 01/10/2014, 19:48   #12
 
elite*gold: 0
Join Date: Nov 2013
Posts: 124
Received Thanks: 115
Quote:
Originally Posted by Supr3matt View Post
My New problem
do it like this one:
from
Code:
p2DRender->SetFont( CWndBase::m_Theme.m_pFontFirst1 );
to
Code:
p2DRender->SetFont( CWndBase::m_Theme.m_pFontWndNewTitle );
or
p2DRender->SetFont( CWndBase::m_Theme.m_pFontWndTitle );
Rhyder' is offline  
Thanks
1 User
Old 01/10/2014, 20:05   #13
 
Supr3matt's Avatar
 
elite*gold: 80
Join Date: May 2013
Posts: 146
Received Thanks: 23
My problem no have NAVI :/
Supr3matt is offline  
Old 01/10/2014, 21:49   #14
 
lolxdflyx3's Avatar
 
elite*gold: 0
Join Date: Jul 2011
Posts: 331
Received Thanks: 64
Quote:
Originally Posted by Supr3matt View Post
My problem no have NAVI :/
Try to undo Step 7. I have the same problem with Step 7...
lolxdflyx3 is offline  
Thanks
1 User
Old 01/11/2014, 01:49   #15
 
yvansinues's Avatar
 
elite*gold: 0
Join Date: Jul 2012
Posts: 127
Received Thanks: 4
#fixed
yvansinues is offline  
Reply


Similar Threads Similar Threads
[RELEASE] Map 75, 76 + Minimap 3D
12/31/2013 - Shaiya PServer Guides & Releases - 0 Replies
Here the map 75 and 76 change : Update client : Simple File Sharing and Storage"]http://www.mediafire.com/download/w7 323ai20b4difa/Data.zip]Simple File Sharing and Storage Update Pserver : http://www.mediafire.com/download/5xi5ji01kxrr9ia/ data+pserver.zip \SERVER\PSM_Client\Bin\Data
[Release] The WarZ Minimap-Mod
12/21/2012 - Infestation - 7 Replies
http://i.imgur.com/Xdabx.jpg?1 Large Screenshots: Screenshot 1 Screenshot 2 Virusscan
[Release] WarZ Minimap-Mod v1.2 by Sketchyy
12/21/2012 - Infestation - 1 Replies
close pls
[Mini-Release] Minimap/Radar entfernen
11/14/2012 - Metin2 PServer Guides & Strategies - 7 Replies
Hallöchen zu meinem ersten Release, Post und Thread :D Wollte euch heut zeigen wir ihr die Minimap od. das Radar entfernen könnt (also nicht die Map die mit M aufrufbar ist sondern die sowieso immer da ist) es ist sicher für Map designer od die die einfacher welche machen nützlich fals sie in der richtung Dungeon gehn... Naja hier nach ist das Radar so wie im Affendungeon weg... Fangen wa ma an: Als erstes suchen wir uns die: "uiminimap.py" raus (ab hier ist wohl klar was man...



All times are GMT +2. The time now is 02:21.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.