Azria Texturen verbuggt?

12/29/2012 22:53 Darkmelfice#1
Ich habe mir vor kurzem einen eigenen v15 P-Server erstellt und war geschockt als ich die Azria Welt sah. Die Texturen sind total verbuggt/ bzw beschädigt.
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
Auch der Vulcano Dungeon hat verbuggte/ beschädigte texturen.
Flaris, SM, Darkon sind alle ganz. Auch Mas Dungeon, Ivillis Dungeon, DekineMine.

Ich wollte Fragen woran das liegt und wie man es beheben kann?

mfg
Darkmelfice
12/30/2012 01:20 Crowley™#2
Sollte eig an den Texturen liegen. Kannst du ja im error log nachgucken (findest du im client unter Log. Lösch aber vorher die ganzen alten.) ob dir was fehlt.
Wenn es daran nicht liegt, versuch mal andere Maps zu nehmen.
Eins von beiden geht zu 100% ;)
mfg. Crowley
12/30/2012 01:54 TrøublêMakêr#3
Unter Client/LOG/Error.txt siehst du, welche Texturen dir fehlen.

Wie es aussieht, wurden falsche Texturen als Schnee ausgegeben.
12/31/2012 12:26 Sedrika#4
Den selben fehler hatte ich auch schonmal.
Öffne in der Neuz folgende Funktion in der TerrainMng.ccp

Code:
BOOL CTerrainMng::LoadScript( LPCTSTR lpszFileName )
Und ersetze die gesammte Funktion hiermit:
Code:
BOOL CTerrainMng::LoadScript( LPCTSTR lpszFileName )
{
	CScanner scanner;
	if(scanner.Load(lpszFileName, FALSE )==FALSE)
		return FALSE;

	LPTERRAIN lpTerrain;
	//m_nSize = 0;
	int nBrace = 1;
	scanner.SetMark();
	int i = scanner.GetNumber(); // folder or id
	
	//	ÇöÀç´Â ¹°¸¸ ÀÌ·± ÇüÅÂÀÇ ÇÁ·¹ÀÓÀ» »ç¿ëÇÒ °ÍÀ̶ó´Â ÀüÁ¦ÇÏ¿¡ 
	//	Çϳª¸¸ µÇ¾î ÀÖÁö¸¸ ¿©·¯°³¸¦ »ç¿ëÇÒ¶§´Â ÀÌ ºÎºÐÀ» ±¸Á¶Ã¼³ª
	//	Ŭ·¡½º·Î ¹Ù²Ù¾î¼* ´Ù½Ã ¸¸µé¾î¾ß ÇÒ°ÍÀÌ´Ù.
	int FrameCnt = 0, ImageCnt = 0, IdCnt = 0;
	FrameCnt = scanner.GetNumber();
	if ( nBrace == 1 && FrameCnt )
	{
		m_nWaterFrame = FrameCnt;
		m_pWaterIndexList = new WaterTexList[ m_nWaterFrame ];
		ZeroMemory( m_pWaterIndexList, m_nWaterFrame * sizeof( WaterTexList ) );
	}

	while( nBrace )
	{
		if( *scanner.token == '}' || scanner.tok == FINISHED )
		{
			nBrace--;
			if( nBrace > 0 )
			{
				scanner.SetMark();
				i = scanner.GetNumber();  // folder or id
				//if( i > m_nSize ) m_nSize = i;
				
				FrameCnt = scanner.GetNumber();
				IdCnt = 0;
				if ( nBrace == 1 && FrameCnt )
				{
					m_nWaterFrame = FrameCnt;
					m_pWaterIndexList = new WaterTexList[ m_nWaterFrame ];
					ZeroMemory( m_pWaterIndexList, m_nWaterFrame * sizeof( WaterTexList ) );
					ImageCnt = 0;
				}
				else if ( nBrace == 2 && FrameCnt )
				{
					m_pWaterIndexList[ImageCnt].ListCnt = FrameCnt;
#if __VER >= 14 // __WATER_EXT
					m_pWaterIndexList[ImageCnt].fWaterFrame = 0.15f;
#endif //__WATER_EXT
					m_pWaterIndexList[ImageCnt].pList = new int[ FrameCnt ];
					ZeroMemory( m_pWaterIndexList[ImageCnt].pList, FrameCnt * sizeof(int) );
					ImageCnt++;
				}				
				continue;
			}
			if( nBrace == 0 )
				continue;
		}
		//i = _ttoi( scanner.token );
		scanner.GetToken(); // { or filename

		if( *scanner.token == '{' )
		{
			nBrace++;
			scanner.SetMark();
			i = scanner.GetNumber(); // id
			//	¿©±â¼* Ãß°¡ÇÏ´Â ¹æ¹ýÀÌ °ýÈ£ÈÄ¿¡ ¹Ù·Î ¹®ÀÚ¿*ÀÌ ¿ÀÁö ¸øÇÏ°Ô ÇÏ´Â °Í »ÓÀεíÇÏ´Ù.
			//	¸¶Ä§ µðÆúÆ®´Â °ýÈ£ ´ÙÀ½¿¡ ¿À´Â °ÍÀÌ ¾Æ´Ñ »óÅÂÀ̱⠶§¹®¿¡ °¡´ÉÇÏ´Ù.
			FrameCnt = scanner.GetNumber();	//	Count
			if ( i == 0 )
			{
				if ( nBrace == 2 && FrameCnt )
				{
					m_pWaterIndexList[ImageCnt].ListCnt = FrameCnt;
#if __VER >= 14 // __WATER_EXT
					m_pWaterIndexList[ImageCnt].fWaterFrame = 0.15f;
#endif //__WATER_EXT
					m_pWaterIndexList[ImageCnt].pList = new int[ FrameCnt ];
					ImageCnt++;
				}
			}

			//if( i > m_nSize ) m_nSize = i;
			continue;
		}
		else
		{
			scanner.GoMark();
			i = scanner.GetNumber(); // id
			//if( i > m_nSize ) m_nSize = i;
			FrameCnt = scanner.GetNumber();	//	Count
			if ( nBrace == 3 )
			{
				m_pWaterIndexList[ImageCnt - 1].pList[IdCnt] = i;
				IdCnt++;
			}
		}
		lpTerrain = &m_aTerrain[ i ];
		lpTerrain->m_dwId = i;
		scanner.GetToken();  // texture fileName
		strcpy( lpTerrain->m_szTextureFileName, scanner.token );
		lpTerrain->m_bBlock = scanner.GetNumber(); // block
		scanner.GetToken(); // sound
		strcpy( lpTerrain->m_szSoundFileName, scanner.token );
		scanner.SetMark();
		i = scanner.GetNumber();  // texture fileName
		//if( i > m_nSize ) m_nSize = i;
	}
/*
	
	int i = scanner.GetNumber( TRUE );  // id
	while( scanner.tok != FINISHED )
	{
		lpTerrain = &m_aTerrain[ i ];
		lpTerrain->m_dwId = i;
		scanner.GetToken( TRUE );  // texture fileName
		strcpy( lpTerrain->m_szTextureFileName, scanner.token );
		lpTerrain->m_bBlock = scanner.GetNumber( TRUE ); // block
		scanner.GetToken( TRUE ); // sound
		strcpy( lpTerrain->m_szSoundFileName, scanner.token );
		i = scanner.GetNumber( TRUE );  // texture fileName
		if( i > m_nSize ) m_nSize = i;
	}
*/	
	//m_nSize++;
	return TRUE;
}
Das hat nichts mit fehlenden Terrain zu tun, irgendwie spackt der Loader einfach nur.