kamerafahrt beim login ?

02/07/2012 16:34 Mr.Greenthumb#1
hallo zusammen

ich habe eine kleine frage wo man die welt einstellt wo die kamera fährt habe ich gefunden allerdings weiss ich nicht wie ich die koordinaten veränder kann mir da jemand weiterhelfen wo ich die koordinaten eingeben muss damit die kamera ihr standort ändert wäre echt nett danke im vorraus für die hilfe
02/07/2012 17:08 Eragøn#2
Das ist ein video wenn ich mich nicht irre
02/07/2012 17:40 Achileus#3
// Çʵå Ãâ·Â
if(m_pTitleWorld != NULL)
{
//static float fCameraPositionX = 445.0f;
//static float fCameraPositionY = 160.0f;
//static float fCameraPositionY = 572.0f;
static const float START_X = 345.0f;
static const float END_X = 445.0f;
static const float START_TO_END_X = END_X - START_X;
static const float START_Y = 110.0f;
static const float END_Y = 160.0f;
static const float START_TO_END_Y = END_Y - START_Y;
static const float START_Z = 572.0f;
static const float END_Z = 572.0f;
static const float START_TO_END_Z = END_Z - START_Z;
static const float SPEED_RATE = 500.0f;

static float fCameraPositionX = START_X;
static float fCameraSpeedX = START_TO_END_X / SPEED_RATE;
if( fCameraPositionX <= END_X )
{
fCameraPositionX += fCameraSpeedX;
}
02/07/2012 18:02 Mr.Greenthumb#4
naja aber was hat das mit dem START und END auf sich ?

sry ich lerne noch und mag soviel erfahren wie es geht ^^
02/07/2012 18:47 Flash!#5
DpClient.cpp:
Unter:
Code:
void CDPClient::SendJoin( BYTE nSlot, DWORD dwWorldID, CMover* pMover, CMessenger* pMessenger, u_long uIdofMulti )
#endif	// __RT_1025
{
Das:
Code:
#ifdef __FLYFF_INITPAGE_EXT
	CWndBase::m_Theme.DestoryTitleWorld();
#endif //__FLYFF_INITPAGE_EXT
Neuz.cpp:
Unter:
Code:
#if __VER >= 15 // __IMPROVE_SYSTEM_VER15
	g_toolTipSub1.Process( point, &m_2DRender );
	g_toolTipSub2.Process( point, &m_2DRender );
#endif // __IMPROVE_SYSTEM_VER15
	g_DamageNumMng.Process();
Das:
Code:
#ifdef __FLYFF_INITPAGE_EXT
	if(CWndBase::m_Theme.m_bRenderTitleWorld)
	{
		g_GameTimer.m_bFixed = TRUE;
		g_GameTimer.m_nHour = 10;
	}
	else
		g_GameTimer.Compute();
#else //__FLYFF_INITPAGE_EXT
	g_GameTimer.Compute();
#endif //__FLYFF_INITPAGE_EXT
ITheme.cpp:
Unter:
Code:
#ifdef __LANG_1013
#include "langman.h"
#endif	// __LANG_1013
Das:
Quote:
#ifdef __FLYFF_INITPAGE_EXT
#include "ResData.h"
#endif //__FLYFF_INITPAGE_EXT
Unter:
Code:
CTheme::CTheme()
{
	m_pVBTexture = NULL;
	m_pVBGauge = NULL;
	m_bNudeSkin = FALSE;
	//m_pActiveDesktop = NULL;
	//m_pd3dsdBackBuffer = NULL;
	m_pd3dDevice =NULL;

	m_pFontStatus = NULL;
Das:
Code:
#ifdef __FLYFF_INITPAGE_EXT
	m_pTitleWorld = NULL;
	m_bLoadTerrainScript = FALSE;
	m_bRenderTitleWorld = FALSE;
	m_dwTexturAlpha1 = 0;
	m_dwTexturAlpha2 = 0;
	m_dwStartTime = 0;
	m_dwEndTime = 0;
	m_bStartCameraWork = FALSE;
#endif //__FLYFF_INITPAGE_EXT
Unter:
Code:
#if __VER >= 12 // __SECRET_ROOM
	m_mapFont.Lookup( _T("gulim11"), (void*&)m_pFontSRMyGiuld );
	m_mapFont.Lookup( _T("gulim9_2"), (void*&)m_pFontSRGiuld );	
#endif //__SECRET_ROOM
Das:
Code:
#ifdef __FLYFF_INITPAGE_EXT
	ReadTitleWorld();
#endif //__FLYFF_INITPAGE_EXT
Unter:
Code:
#ifdef __GAME_GRADE_SYSTEM
	m_GameGradeScreenTexture.DeleteDeviceObjects();
#endif // __GAME_GRADE_SYSTEM
	//g_mesh.DeleteDeviceObjects();
	POSITION pos = m_mapFont.GetStartPosition();
	CString strFont; CD3DFont* pFont;
	while(pos)
	{
		m_mapFont.GetNextAssoc( pos, strFont, (void*&)pFont );
		pFont->DeleteDeviceObjects();
		SAFE_DELETE( pFont );
	}
	m_mapFont.RemoveAll();
Das:
Code:
#ifdef __FLYFF_INITPAGE_EXT
	if(m_pTitleWorld != NULL)
	{
		m_pTitleWorld->InvalidateDeviceObjects();
		m_pTitleWorld->DeleteDeviceObjects();
		SAFE_DELETE(m_pTitleWorld);
	}
#endif //__FLYFF_INITPAGE_EXT
Unter dieser Funktion:
Code:
HRESULT CTheme::RestoreDeviceObjects( )
Das:
Code:
#ifdef __FLYFF_INITPAGE_EXT
void CTheme::ReadTitleWorld()
{
	if(m_pTitleWorld == NULL)
	{
		m_pTitleWorld = new CWorld;
		if(m_pTitleWorld != NULL)
		{
			if(!m_bLoadTerrainScript)
				m_bLoadTerrainScript = prj.m_terrainMng.LoadScript("terrain.inc");
			
			if(m_bLoadTerrainScript)
			{
				if(m_pTitleWorld->InitDeviceObjects( m_pd3dDevice ) == S_OK)
				{
					if(m_pTitleWorld->OpenWorld( MakePath( DIR_WORLD, "WdKebaras" ), TRUE ))
					{
						D3DXVECTOR3 vecWorld(128.0f, 128.0f, 128.0f);
						m_pTitleWorld->ReadWorld(vecWorld);

						D3DXVECTOR3 vecPos(149.0f, 105.0f, 170.0f);
						D3DXVECTOR3 vecLookat(213.0f, 116.0f, 184.0f);
						CCamera camera;
						camera.SetPos(vecPos);
						camera.m_vLookAt = vecLookat;
						m_pTitleWorld->SetCamera(&camera);

						/*m_pFlyffLogo = CWndBase::m_textureMng.AddTexture( m_pd3dDevice, MakePath( "Theme\\", ::GetLanguage(), _T( "flyfftitletest.bmp" ) ), 0xffff00ff );
						m_pGameGrade = CWndBase::m_textureMng.AddTexture( m_pd3dDevice, MakePath( "Theme\\", ::GetLanguage(), _T( "gamegradetest.bmp" ) ), 0xffff00ff );
						m_pAeonLogo = CWndBase::m_textureMng.AddTexture( m_pd3dDevice, MakePath( "Theme\\", ::GetLanguage(), _T( "aeonsoftlogotest.bmp" ) ), 0xffff00ff );
						m_pGalaLogo = CWndBase::m_textureMng.AddTexture( m_pd3dDevice, MakePath( "Theme\\", ::GetLanguage(), _T( "galalogotest.bmp" ) ), 0xffff00ff );*/
						
						m_bRenderTitleWorld = TRUE;
					}
					else
						SAFE_DELETE(m_pTitleWorld);
				}
			}
		}
	}
}

void CTheme::DestoryTitleWorld()
{
	if(m_pTitleWorld != NULL)
	{
		m_pTitleWorld->InvalidateDeviceObjects();
		m_pTitleWorld->DeleteDeviceObjects();
		SAFE_DELETE(m_pTitleWorld);
	}

	m_dwTexturAlpha1 = 0;
	m_dwTexturAlpha2 = 0;
}
#endif //__FLYFF_INITPAGE_EXT
Direkt da drunter:
Code:
HRESULT CTheme::FrameMove()
{
#ifdef __FLYFF_INITPAGE_EXT
	if(m_pTitleWorld != NULL)
	{
		m_pTitleWorld->Process();

		if(!m_bStartCameraWork)
		{
			static const DWORD MAX_ALPHA = 255;
			static const DWORD EVENT_ALPHA = 155;
			static const DWORD EFFECT_ALPHA = 100;
			static const float ALPHA_FRAME = 2.0f;

			static bool bEffect = false;

			if( bEffect == false )
			{
				if(m_dwTexturAlpha1 < MAX_ALPHA)
				{
					m_dwTexturAlpha1 += static_cast<DWORD>(ALPHA_FRAME);
					if(m_dwTexturAlpha1 > MAX_ALPHA)
						m_dwTexturAlpha1 = MAX_ALPHA;
				}

				if(m_dwTexturAlpha1 > EVENT_ALPHA && m_dwTexturAlpha2 < MAX_ALPHA)
				{
					m_dwTexturAlpha2 += static_cast<DWORD>(ALPHA_FRAME);
					if(m_dwTexturAlpha2 > MAX_ALPHA)
						m_dwTexturAlpha2 = MAX_ALPHA;
				}
			}
			else
			{
				if(m_dwTexturAlpha1 > EFFECT_ALPHA)
				{
					m_dwTexturAlpha1 -= static_cast<DWORD>(ALPHA_FRAME);
					if(m_dwTexturAlpha1 < EFFECT_ALPHA)
						m_dwTexturAlpha1 = EFFECT_ALPHA;
				}

				if(m_dwTexturAlpha2 > EFFECT_ALPHA)
				{
					m_dwTexturAlpha2 -= static_cast<DWORD>(ALPHA_FRAME);
					if(m_dwTexturAlpha2 < EFFECT_ALPHA)
						m_dwTexturAlpha2 = EFFECT_ALPHA;
				}
			}

			if( m_dwTexturAlpha1 == MAX_ALPHA && m_dwTexturAlpha2 == MAX_ALPHA )
			{
				bEffect = true;
			}

			if( m_dwTexturAlpha1 == EFFECT_ALPHA && m_dwTexturAlpha2 == EFFECT_ALPHA )
			{
				bEffect = false;
			}
		}
	}
#endif //__FLYFF_INITPAGE_EXT
	return S_OK;
}
Diese Funktion ist direkt die zweite nach der letzt bearbeiteten:
Code:
void CTheme::RenderDesktop( C2DRender* p2DRender )
{
#ifdef __FLYFF_INITPAGE_EXT
	D3DVIEWPORT9 viewport;
	viewport.X      = 0;
	viewport.Y      = 0;
	viewport.Width  = 1360;
	viewport.Height = 768;
	viewport.MinZ   = 0.0f;
	viewport.MaxZ   = 1.0f;

	// ÇÁ·ÎÁ§¼Ç 
	FLOAT fAspect = (FLOAT)viewport.Width / (FLOAT)viewport.Height;
	float fFov = D3DX_PI / 4.0f;
	float fNear = CWorld::m_fNearPlane;

	D3DXMatrixPerspectiveFovLH( &m_pTitleWorld->m_matProj, fFov, fAspect, fNear - 0.01f, CWorld::m_fFarPlane );
	p2DRender->m_pd3dDevice->SetTransform( D3DTS_PROJECTION, &m_pTitleWorld->m_matProj );

	DWORD dwColor = CWorld::GetDiffuseColor();
	p2DRender->m_pd3dDevice->Clear(0, NULL, D3DCLEAR_ZBUFFER | D3DCLEAR_TARGET, dwColor /*D3DCOLOR_ARGB( 255, 255, 255, 255 )*/, 1.0f, 0 ) ;

	// Çʵå Ãâ·Â 
	if(m_pTitleWorld != NULL)
	{
		//static float fCameraPositionX = 445.0f;
		//static float fCameraPositionY = 160.0f;
		//static float fCameraPositionY = 572.0f;
		static const float START_X = 600.0f;
		static const float END_X = 700.0f;
		static const float START_TO_END_X = END_X - START_X;
		static const float START_Y = 200.0f;
		static const float END_Y = 200.0f;
		static const float START_TO_END_Y = END_Y - START_Y;
		static const float START_Z = 600.0f;
		static const float END_Z = 700.0f;
		static const float START_TO_END_Z = END_Z - START_Z;
		static const float SPEED_RATE = 1000.0f;

		static float fCameraPositionX = START_X;
		static float fCameraSpeedX = START_TO_END_X / SPEED_RATE;
		if( fCameraPositionX <= END_X )
		{
			fCameraPositionX += fCameraSpeedX;
		}
		static float fCameraPositionY = START_Y;
		static float fCameraSpeedY = START_TO_END_Y / SPEED_RATE;
		if( fCameraPositionY <= END_Y )
		{
			fCameraPositionY += fCameraSpeedY;
		}
		static float fCameraPositionZ = START_Z;
		static float fCameraSpeedZ = START_TO_END_Z / SPEED_RATE;
		if( fCameraPositionZ <= END_Z )
		{
			fCameraPositionZ += fCameraSpeedZ;
		}
		D3DXVECTOR3 vecPos( fCameraPositionX, fCameraPositionY, fCameraPositionZ );
		D3DXVECTOR3 vecLookat(530.9f, 123.0f, 503.6f);
		CCamera camera;
		camera.SetPos(vecPos);
		camera.m_vLookAt = vecLookat;
		m_pTitleWorld->SetCamera( &camera );

		m_pTitleWorld->Render( p2DRender->m_pd3dDevice, m_pFontWorld );

		p2DRender->m_pd3dDevice->SetRenderState( D3DRS_ALPHABLENDENABLE,   TRUE );
		p2DRender->m_pd3dDevice->SetRenderState( D3DRS_SRCBLEND,  D3DBLEND_SRCALPHA );
		p2DRender->m_pd3dDevice->SetRenderState( D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA );
		p2DRender->m_pd3dDevice->SetRenderState( D3DRS_ZWRITEENABLE, FALSE );
		p2DRender->m_pd3dDevice->SetRenderState( D3DRS_ZENABLE, FALSE );
		p2DRender->m_pd3dDevice->SetRenderState( D3DRS_ALPHABLENDENABLE,   TRUE );
		p2DRender->m_pd3dDevice->SetRenderState( D3DRS_ALPHATESTENABLE, TRUE );
		p2DRender->m_pd3dDevice->SetRenderState( D3DRS_ALPHAREF,        0x08 );

		if(m_pFlyffLogo != NULL)
		{
			CPoint ptPos;
			ptPos.x = (g_Option.m_nResWidth / 2) - (m_pFlyffLogo->m_size.cx / 2);
			ptPos.y = g_Option.m_nResHeight / 9;
			m_pFlyffLogo->Render( p2DRender, ptPos, m_dwTexturAlpha1 );
		}
		if(m_pGameGrade != NULL)
		{
			CPoint ptPos;
			ptPos.x = (g_Option.m_nResWidth - 10) - m_pGameGrade->m_size.cx;
			ptPos.y = 20;
			m_pGameGrade->Render( p2DRender, ptPos, m_dwTexturAlpha2 );
		}
		if(m_pAeonLogo != NULL)
		{
			CPoint ptPos;
			ptPos.x = (g_Option.m_nResWidth - 10) - m_pAeonLogo->m_size.cx;
			ptPos.y = g_Option.m_nResHeight - m_pAeonLogo->m_size.cy - 10;
			m_pAeonLogo->Render( p2DRender, ptPos, m_dwTexturAlpha2 );
		}
		if(m_pGalaLogo != NULL)
		{
			CPoint ptPos;
			ptPos.x = 10;
			ptPos.y = g_Option.m_nResHeight - m_pGalaLogo->m_size.cy - 10;
			m_pGalaLogo->Render( p2DRender, ptPos, m_dwTexturAlpha2 );
		}
	}
#else //__FLYFF_INITPAGE_EXT
#if __VER >= 9 // __CSC_VER9_RESOLUTION
	int xOffset = 0;
	int rectWidth = 0;
	BOOL isWide = FALSE;
#endif //__CSC_VER9_RESOLUTION
	CTexture texture
		= m_texWallPaper;
	texture.SetAutoFree( FALSE );
	p2DRender->m_pd3dDevice->SetRenderState( D3DRS_ZWRITEENABLE, FALSE );
	CRect rectWindow = p2DRender->m_clipRect;
	if( m_dwWallPaperType == WPT_STRETCH ) // Àüü ´Ã¸®±â 
	{
#if __VER >= 9 // __CSC_VER9_RESOLUTION
		if(rectWindow.Width() == 1280 && (rectWindow.Height() == 720 || rectWindow.Height() == 768 || rectWindow.Height() == 800)) //Wide
		{
			rectWidth = 960;
			isWide = TRUE;
		}
		else
		{
			switch(rectWindow.Width())
			{
			case 1360:
				rectWidth = 1024;
				isWide = TRUE;
				break;
			case 1440:
				rectWidth = 1200;
				isWide = TRUE;
				break;
			case 1680:
				rectWidth = 1400;
				isWide = TRUE;
			    break;
			}
		}

		if(isWide)
		{
			texture.m_size.cx = rectWidth;
			texture.m_size.cy = rectWindow.Height();
			xOffset = (rectWindow.Width() - rectWidth) / 2;
		}
		else
		{
			texture.m_size.cx = rectWindow.Width();
			texture.m_size.cy = rectWindow.Height();
		}

		p2DRender->m_pd3dDevice->Clear(0, NULL,  D3DCLEAR_TARGET, m_d3dcBackground, 1.0f, 0 ) ;
		p2DRender->RenderTexture( CPoint( xOffset, 0 ), &texture );
#else //__CSC_VER9_RESOLUTION
		texture.m_size.cx = rectWindow.Width();
		texture.m_size.cy = rectWindow.Height();
		p2DRender->m_pd3dDevice->Clear(0, NULL,  D3DCLEAR_TARGET, m_d3dcBackground, 1.0f, 0 ) ;
		p2DRender->RenderTexture( CPoint( 0, 0 ), &texture );
#endif //__CSC_VER9_RESOLUTION
	}
	else
	if( m_dwWallPaperType == WPT_CENTER ) // Áß¾Ó Á¤·Ä 
	{
		CPoint pt( ( rectWindow.Width() / 2 ) - ( texture.m_size.cx / 2 ), ( rectWindow.Height() / 2 ) - ( texture.m_size.cy / 2 ) );
		p2DRender->m_pd3dDevice->Clear(0, NULL,  D3DCLEAR_TARGET, m_d3dcBackground, 1.0f, 0 ) ;
		p2DRender->RenderTexture( pt, &texture );
	}
	else
	if( m_dwWallPaperType == WPT_CENTERSTRETCH ) // Áß¾Ó ´Ã¸®±â  
	{
		if(( (int) rectWindow.Width() - texture.m_size.cx ) < ( (int)rectWindow.Height() - texture.m_size.cy ) )
		{
			// texture.m_size.cx : m_pd3dsdBackBuffer->Width = texture.m_size.cy : y;
			texture.m_size.cy = rectWindow.Width() * texture.m_size.cy / texture.m_size.cx;
			texture.m_size.cx = rectWindow.Width();
		}
		else
		{
			// texture.m_size.cy : m_pd3dsdBackBuffer->Height = texture.m_size.cx : x;
			texture.m_size.cx = rectWindow.Height() * texture.m_size.cx / texture.m_size.cy;
			texture.m_size.cy = rectWindow.Height();
		}

		CPoint pt( ( rectWindow.Width() / 2 ) - ( texture.m_size.cx / 2 ), ( rectWindow.Height() / 2 ) - ( texture.m_size.cy / 2 ) );
		p2DRender->m_pd3dDevice->Clear(0, NULL,  D3DCLEAR_TARGET, m_d3dcBackground, 1.0f, 0 ) ;
		p2DRender->RenderTexture( pt, &texture );
	}
	else
	if( m_dwWallPaperType == WPT_TILE ) // ŸÀÏ Á¤·Ä 
	{
		FLOAT fu = (FLOAT)rectWindow.Width()  / texture.m_size.cx;
		FLOAT fv = (FLOAT)rectWindow.Height() / texture.m_size.cy;
		texture.m_size.cx = rectWindow.Width();
		texture.m_size.cy = rectWindow.Height();
		texture.m_fuLT = 0.0f; texture.m_fvLT = 0.0f;
		texture.m_fuRT = fu  ; texture.m_fvRT = 0.0f;
		texture.m_fuLB = 0.0f; texture.m_fvLB = fv  ;
		texture.m_fuRB = fu  ; texture.m_fvRB = fv  ;
		p2DRender->m_pd3dDevice->Clear(0, NULL,  D3DCLEAR_TARGET, m_d3dcBackground, 1.0f, 0 ) ;
		p2DRender->RenderTexture( CPoint( 0, 0), &texture );
	}
	p2DRender->m_pd3dDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, TRUE );
	p2DRender->m_pd3dDevice->SetRenderState( D3DRS_CULLMODE, D3DCULL_NONE );
#if __VER >= 9 // __CSC_VER9_RESOLUTION
	p2DRender->TextOut( 1 + xOffset, 1, "Version", 0xffffffff  );
	p2DRender->TextOut( 50 + xOffset, 1, g_szVersion, 0xffffffff  );
#else //__CSC_VER9_RESOLUTION
	p2DRender->TextOut(  1, 1, "Version", 0xffffffff  );
	p2DRender->TextOut( 50, 1, g_szVersion, 0xffffffff  );
#endif //__CSC_VER9_RESOLUTION
#endif //__FLYFF_INITPAGE_EXT
}
Zu guter letzt den Kram noch in der VersionCommon.h der Neuz definieren:
Code:
#define __FLYFF_INITPAGE_EXT


___________________________


Den ganzen Kram umändern kannst du in diesen Zeilen:
Code:
		if(m_pTitleWorld->OpenWorld( MakePath( DIR_WORLD, "WdKebaras" ), TRUE )) //Welche Welt angezeigt werden soll, hier ist gerade Azria eingetragen.
					{
						D3DXVECTOR3 vecWorld(128.0f, 128.0f, 128.0f);//Position 1
						m_pTitleWorld->ReadWorld(vecWorld);

						D3DXVECTOR3 vecPos(149.0f, 105.0f, 170.0f);//Position 2
						D3DXVECTOR3 vecLookat(213.0f, 116.0f, 184.0f); // In welche Richtung er schauen soll
02/07/2012 19:44 Mr.Greenthumb#6
noch eine frage am rande sry anscheinend bin ich zu dumm oder so um das zu verstehen aber das sind alles 3 stellige zahlen wenn ich beast aufmache und mir eine posi raussuche sind das bei x=9340 y=100 z=9650 zum beispiel muss ich die posis nicht mit dem beast raussuchen ?
02/07/2012 21:16 dennisdra#7
Ja doch, du sollst mit den Positionen ja die Startposition (x,y,z) und die Endposition der Map-"fahrt" angeben.
Es kommt ja drauf an was für eine Map du öffnest, manche sind näher am "Meeresspiegel" und manche halt nicht.
Such dir im Beast bei der jeweiligen Map die Koordinaten raus und add sie im Source :)

Das f steht für float (datentyp)
02/07/2012 22:53 Mr.Greenthumb#8
Quote:
if(m_pTitleWorld != NULL)
{
//static float fCameraPositionX = 445.0f;
//static float fCameraPositionY = 160.0f;
//static float fCameraPositionY = 572.0f;
static const float START_X = 6959.0f;
static const float END_X = 1100.0f;
static const float START_TO_END_X = END_X - START_X;
static const float START_Y = 110.0f;
static const float END_Y = 110.0f;
static const float START_TO_END_Y = END_Y - START_Y;
static const float START_Z = 3266.0f;
static const float END_Z = 3280.0f;
static const float START_TO_END_Z = END_Z - START_Z;
static const float SPEED_RATE = 1000.0f;
ich habe das nu so umgeschrieben allerdings zeigt der mir nur den himmel was ist denn da falsch nu die koordinaten sind doch von flaris markt Oo ????
02/10/2012 02:39 Mr.Greenthumb#9
hmm also ich bin immer noch nicht weiter -.-
ich gebe die daten an und der zeigt mir nur wolken und wasser an
02/10/2012 05:41 Flash!#10
Bei welcher World(Map) versuchst du es denn einzustellen? :S
02/10/2012 12:22 Mr.Greenthumb#11
bei der WdMadrigal dann habe ich versucht WdCisland beides geht nichts immer bekomme ich nur wolken zu sehen
06/20/2015 10:04 n5xda#12
Bei mir ist es wenn ich starte bleibt das Fenster weiß und es kommt kein Login Fenster nichts und es hängt sich auf weiß einer wieso?
es kommen auch keine errors :(