You last visited: Today at 05:31
Advertisement
Sphero's allgemeiner Fragen Thread
Discussion on Sphero's allgemeiner Fragen Thread within the Flyff Private Server forum part of the Flyff category.
10/12/2015, 08:17
#1
elite*gold: 0
Join Date: Jan 2010
Posts: 238
Received Thanks: 30
Sphero's allgemeiner Fragen Thread
Hallo,
da ich wahrscheinlich in nächster Zeit noch mehr Fragen haben werde, sammle ich alle hier in diese Thread.
UPDATE !!Dringend!!
Frage 1: Spec_Item.txt und neue Paramter
Ich möchte gerne ein altes System von mir auf meine akutelle Source übernehmen.
Dafür muss ich min. 22 neue Parameter der Spec_Item.txt hinzufügen.
Jedoch crasht der DB Server nach dem Hinzufügen der Parameter in ProjectCommon.cpp und .h sobald die Spec_Item die genaue Anzahl an geforderten Parametern bei jedem Item hat, sind es jedoch weniger oder mehr gibts nur den obligatorischen Error das nen Read Fehler in der Spec_Item gab. (Anmerkung: In meiner alten Source funktioniert es!).
Der Crash erfolgt schon sobald ich nur einen einzigen neuen Parameter hinzufügen (und natürlich in der Spec_Item auch nur 1 neuen dazu ("=" dazu))
Bsp:
ProjectCommon.cpp
unter
Code:
prop.dwSmelting = scanner.GetNumber();
prop.dwAttsmelting = scanner.GetNumber();
prop.dwGemsmelting = scanner.GetNumber();
prop.dwPierce = scanner.GetNumber();
prop.dwUprouse = scanner.GetNumber();
prop.bAbsoluteTime = scanner.GetNumber();
das:
Code:
prop.dwUpgradeStat0 = scanner.GetNumber();
und bei ProjectCommon.h
unter
Code:
DWORD dwSmelting;
DWORD dwAttsmelting;
DWORD dwGemsmelting;
DWORD dwPierce;
DWORD dwUprouse;
BOOL bAbsoluteTime;
das:
Code:
DWORD dwUpgradeStat0;
BOOL bAbsoluteTime; ist der letzte Eintrag der Spec_Item bei mir.
Debuggen bringt mich nicht weiter.
Irgendwer eine Idee? Hab ich irgendwas vergessen
Frage 2: Betrifft BS_EFFECT_LUA
Ich versuche seit gestern die BS_EFFECT_LUA zum laufen zu bringen.
Ich hab alle betreffenden Teile aus den Ace Files kopiert (dort ist es fixxed).
Ich bekomme keine Errors, jedoch ist die SFX Ingame dennoch nicht da.
Sfx Scripts sind vorhanden.
Hier der Abschnitt in der sfxbase.cpp
Code:
#ifdef __BS_EFFECT_LUA
//gmpbigsun: ¿ÜºÎ(·ç¾Æ)¿¡¼* sfx¸¦ µ¹¸®±â À§ÇÔ ( 20100201 )
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//SfxModelSet
SfxModelSet::SfxModelSet( const OBJID idMaster, const char* szSfxName, const char* szBoneName, BOOL bLoop, int nState )
{
_idMaster = idMaster;
_pModel = new CSfxModel;
_pModel->SetSfx( szSfxName );
// ÃÖ´ë ÇÁ·¹ÀÓÀ» ã´Â´Ù
for(int i = 0; i < _pModel->m_pSfxBase->m_apParts.GetSize(); i++)
{
for(int j = 0; j < _pModel->m_pSfxBase->Part( i )->m_apKeyFrames.GetSize(); j++)
{
// °¢ ÆÄÆ®ÀÇ ÇÁ·¹ÀÓ ¼ö¿Í ºñ±³Çؼ* ÃÖ´ë ÇÁ·¹ÀÓÀ» ãÀ½
if(_nMaxFrame < _pModel->m_pSfxBase->Part( i )->Key(j)->nFrame)
_nMaxFrame = _pModel->m_pSfxBase->Part( i )->Key(j)->nFrame;
}
}
strcpy( _szFileName, szSfxName );
strcpy( _szBone, szBoneName );
_bLoop = bLoop;
_nState = nState;
}
SfxModelSet::~SfxModelSet( )
{
SAFE_DELETE( _pModel );
}
BOOL SfxModelSet::Update( )
{
CMover* pMaster = prj.GetMover( _idMaster );
if( !pMaster )
return FALSE;
CModelObject* pMasterModel = (CModelObject*)pMaster->GetModel( );
if( !pMasterModel )
return FALSE;
D3DXVECTOR3 kPos( 0.0f, 0.0f, 0.0f );
BOOL bOK = pMasterModel->GetPosBone( &kPos, _szBone );
if( !bOK )
return FALSE;
D3DXMATRIX* pMat = &pMaster->GetMatrixWorld( );
D3DXVec3TransformCoord( &kPos, &kPos, pMat );
_pModel->m_vPos = kPos;
//looping
if( _nMaxFrame < _pModel->m_nCurFrame )
{
if( _bLoop )
_pModel->m_nCurFrame = 0;
else
return FALSE;
}
_pModel->Process( );
return TRUE;
}
BOOL SfxModelSet::Render( LPDIRECT3DDEVICE9 pd3dDevice )
{
if( _pModel )
_pModel->Render( pd3dDevice );
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//CSfxModelMng
CSfxModelMng* CSfxModelMng::_pThis = NULL;
CSfxModelMng* CSfxModelMng::GetThis()
{
if( !_pThis )
_pThis = new CSfxModelMng;
return _pThis;
}
void CSfxModelMng::Free()
{
SAFE_DELETE( _pThis );
}
CSfxModelMng::CSfxModelMng( )
{
}
CSfxModelMng::~CSfxModelMng( )
{
for( SfxModelSetIter iter = _cDatas.begin(); iter != _cDatas.end(); ++iter )
{
SMSVector& cSMS = iter->second;
SeqDeleter< SMSVector >() ( cSMS );
}
_cDatas.clear();
}
BOOL CSfxModelMng::IsFull( OBJID objID, const char* szSfx, const char* szBone )
{
// ²Ë á´Â°¡?
static const int MAX_PLAY = 5;
SfxModelSetIter iter = _cDatas.find( objID );
if( iter != _cDatas.end() )
{
SMSVector& cSMS = iter->second;
// ÃÖ´ë µ¿½Ã °¡´ÉÇÑ ÀÌÆåÆ® °Ë»ç
if( cSMS.size() > MAX_PLAY )
return TRUE;
// À̸§ÀÌ °°Àº sfx´Â ÀÏ´Ü Áߺ¹ ¾È´ï
for( SMSVector::iterator iter2 = cSMS.begin(); iter2 != cSMS.end(); ++iter2 )
{
SfxModelSet* pData = *iter2;
if( !pData->_bLoop ) //clamp Áߺ¹Çã¿ë
continue;
// loopingÀε¥ bone ÀÌ °°°í , sfx °¡ °°À¸¸é ÀÌ°Ç ¹«½ÃÇÒ µ¥ÀÌÅÍ·Î ÆÇ´Ü.
// Áï °°Àº°÷¿¡ °°Àº ÀÌÆåÆ®¸¦ ·çÇνÃŰÀÚ°í Çß´Ù¸é ¹«½ÃÇÑ´Ù. ( ÀÌ¹Ì °°Àº ÀÌÆåÆ®°¡ Ãâ·ÂµÇ°í ÀÖÀ¸¹Ç·Î )
if( strcmp( pData->_szBone, szBone ) == 0 )
{
if( strcmp( pData->_szFileName, szSfx ) == 0 )
return TRUE;
}
}
}
return FALSE;
}
BOOL CSfxModelMng::AddData( SfxModelSet* pData, BOOL bChecked )
{
// IsFull·Î °Ë»çÇÑ¿ì AddData°¡ ºÒ·Á¾ß ÇÔ, ÃÖ¼ÒÇÑÀÇ ¾ÈÁ¯´ëÃ¥
if( !bChecked )
return FALSE;
//! IsFullÇÔ¼ö·Î ÀÌ¹Ì °Ë»ç°¡ µÇÀÖ´Ù°í ÆÇ´ÜÇÏ¿© Àç °Ë»ç´Â ÇÏÁö ¾ÊÀ½.
SfxModelSetIter iter = _cDatas.find( pData->_idMaster );
if( iter != _cDatas.end() )
{
//Bone nameÀÌ °°Àº°æ¿ì looping ¼Ó¼º¿¡ ´ëÇØ¼* ±âÁ¸ ÀÌÆåÆ® »èÁ¦ ÈÄ Ãß°¡
SMSVector& rSMS = iter->second;
for( SMSVector::iterator iter2 = rSMS.begin(); iter2 != rSMS.end(); )
{
SfxModelSet* pSet = *iter2;
if( !pSet->_bLoop ) //clampÀ̸é Áߺ¹Çã¿ë
{
++iter2;
continue;
}
if( strcmp( pSet->_szBone, pData->_szBone ) == 0 )
{
//À§Ä¡°¡ °°´Ù. ±âÁ¸ sfx»èÁ¦
SAFE_DELETE( pSet );
iter2 = rSMS.erase( iter2 );
}
else ++iter2;
}
rSMS.push_back( pData );
return TRUE;
}
else
{
// new data
SMSVector cSMS;
cSMS.push_back( pData );
pair< SfxModelSetIter, bool > rst = _cDatas.insert( SfxModelSetContainer::value_type( pData->_idMaster, cSMS ) );
assert( rst.second );
return (BOOL)rst.second;
}
return TRUE;
}
BOOL CSfxModelMng::SubData( OBJID objID )
{
SfxModelSetIter iter = _cDatas.find( objID );
if( iter != _cDatas.end() )
{
SeqDeleter< SMSVector >() ( iter->second );
_cDatas.erase( iter++ );
return TRUE;
}
return FALSE;
}
BOOL CSfxModelMng::SubData( OBJID objID, const int nState )
{
// ÇØ´ç »óÅ¿¡ ÇØ´çÇÏ´Â ¸ðµç sfx¸¦ »èÁ¦ÇÑ´Ù.
BOOL bOK = FALSE;
SfxModelSetIter finder = _cDatas.find( objID );
if( finder != _cDatas.end() )
{
SMSVector& kSubData = finder->second;
for( SMSVector::iterator iter = kSubData.begin(); iter != kSubData.end(); /*none*/ )
{
SfxModelSet* pSfx = *iter;
if( pSfx->_idMaster == objID )
{
if( nState == pSfx->_nState )
{
SAFE_DELETE( pSfx );
iter = kSubData.erase( iter );
bOK = TRUE; //ok ã¾Æ¼* Áö¿üÀ½.
}
else ++iter;
}
}
}
return bOK;
}
BOOL CSfxModelMng::SubData( OBJID objID, const char* szBone )
{
//ÇØ´ç º»¿¡ ¸µÅ©µÇ¾î ÀÖ´Â ¸ðµç sfx¸¦ »èÁ¦ÇÑ´Ù.
BOOL bOK = FALSE;
SfxModelSetIter finder = _cDatas.find( objID );
if( finder != _cDatas.end() )
{
SMSVector& kSubData = finder->second;
for( SMSVector::iterator iter = kSubData.begin(); iter != kSubData.end(); /*none*/ )
{
SfxModelSet* pSfx = *iter;
if( pSfx->_idMaster == objID )
{
if( 0 == strcmp( pSfx->_szBone, szBone ) )
{
SAFE_DELETE( pSfx );
iter = kSubData.erase( iter );
bOK = TRUE; //ok ã¾Æ¼* Áö¿üÀ½.
}
else ++iter;
}
}
}
return bOK;
}
void CSfxModelMng::Update( )
{
if( !_cWaitingObj.empty() )
{
for( map<DWORD,int>::iterator iter = _cWaitingObj.begin(); iter != _cWaitingObj.end(); ++iter )
{
CMover* pMover = prj.GetMover( iter->first );
if( pMover )
{
int nState = iter->second;
pMover->m_pActMover->RemoveStateFlag( nState ); //»©°í
pMover->m_pActMover->AddStateFlag( nState ); //³ÖÀ¸¸é lua°¡ ¹ßµ¿
}
}
_cWaitingObj.clear();
}
for( SfxModelSetIter iter = _cDatas.begin(); iter != _cDatas.end(); )
{
SMSVector& cSMS = iter->second;
//sub loop
for( SMSVector::iterator iter2 = cSMS.begin(); iter2 != cSMS.end(); )
{
SfxModelSet* pData = *iter2;
if( !pData->Update() )
{
SAFE_DELETE( pData );
iter2 = cSMS.erase( iter2 );
}
else
++iter2;
}
// main loop
if( cSMS.empty() )
_cDatas.erase( iter++ );
else ++iter;
}
}
void CSfxModelMng::Render( LPDIRECT3DDEVICE9 pd3dDevice )
{
for( SfxModelSetIter iter = _cDatas.begin(); iter != _cDatas.end(); ++iter )
{
SMSVector& cSMS = iter->second;
// for_each( cSMS.begin(), cSMS.end(), bind2nd( mem_fun( &SfxModelSet::Render ), pd3dDevice ) );
for( SMSVector::iterator iter2 = cSMS.begin(); iter2 != cSMS.end(); ++iter2 )
{
SfxModelSet* pData = *iter2;
pData->Render( pd3dDevice );
}
}
}
///////////////////////////////////////////////////////////////////////////////////////////
// lua for sfx
lua_State* g_SfxLua = NULL;
int call_sfx( lua_State* L )
{
// ·ç¾Æ¿¡¼* call ( lua glue )
int n = lua_gettop( L );
int who = lua_tointeger( L, 1 ); // master id
int nKind = lua_tointeger( L, 2 ); // kind of the effect
const char* szSfx = lua_tostring( L, 3 ); // sfx
const char* szBone = lua_tostring( L, 4 ); // bone
BOOL bLoop = lua_tointeger( L, 5 ); // is loop ?
int nState = lua_tointeger( L, 6 ); // state ( create, battle ... )
CMover* pMover = prj.GetMover( who );
if( !pMover )
{
assert( 0 );
return 0;
}
//! »ý¼ºÇϱâ Àü¿¡ ÇÊÈ÷ °Ë»çÇØ¾ßÇÔ.
BOOL bFull = CSfxModelMng::GetThis()->IsFull( who, szSfx, szBone );
if( bFull )
return 0;
SfxModelSet* pSfxSet = new SfxModelSet( who, szSfx, szBone, bLoop, nState );
BOOL bOK = CSfxModelMng::GetThis()->AddData( pSfxSet, TRUE );
if( !bOK )
SAFE_DELETE( pSfxSet );
return 0;
}
int call_mte( lua_State* L )
{
// ·ç¾Æ¿¡¼* call ( lua glue )
// multitexture effect
int n = lua_gettop( L );
int who = lua_tointeger( L, 1 ); // master id
int nKind = lua_tointeger( L, 2 ); // kind of the effect
const char* sz2ndDDS = lua_tostring( L, 3 ); // 2nd dds
CMover* pMover = prj.GetMover( who );
if( !pMover )
{
assert( 0 );
return 0;
}
if( !pMover->IsNPC( ) )
return 0;
CModelObject* pModel = (CModelObject*)pMover->GetModel();
if( !pModel )
return 0;
CObject3D* pObj = pModel->GetObject3D( );
if( !pObj )
return 0;
pObj->m_dwEffect_EX |= XE_MTE;
char szDDS[ 64 ];
strcpy( szDDS, sz2ndDDS );
strcat( szDDS, ".dds" );
BOOL bOK = pMover->SetDataMTE( pMover->GetNameO3D(), szDDS );
if( !bOK )
Error( "please check the mte texture %s", pMover->GetNameO3D() );
return 0;
}
int stop_sfx_bybone( lua_State* L )
{
//2010_05_10 gmpbigsun : ÀÏ´Ü ¸¸µé¾î³ùµû.. Ȥ½Ã³ª ¾î¶²»óŰ¡ ³¡³ª¸é ¾î¶²º»¿¡ ¸µÅ©µÈ sfx¸¸ Áö¿ì°í½ÍÀ»¶§¸¦ ´ëºñÇØ¼*..
int n = lua_gettop( L );
int who = lua_tointeger( L, 1 );
const char* szBone = lua_tostring( L, 2 );
CMover* pMover = prj.GetMover( who );
if( !pMover )
{
assert( 0 );
return 0;
}
BOOL bOK = CSfxModelMng::GetThis()->SubData( who, szBone );
return bOK;
}
void open_lua_sfx()
{
if( !g_SfxLua )
{
g_SfxLua = lua_open();
// luaL_openlibs(g_SfxLua);
// push function
lua_register( g_SfxLua, "call_sfx", call_sfx );
lua_register( g_SfxLua, "call_mte", call_mte );
}
}
void close_lua_sfx()
{
if( g_SfxLua )
lua_close( g_SfxLua );
}
void run_lua_sfx( int nState, OBJID caller, const char* szMoverName )
{
static const CString strPATH( "SFX\\Scripts\\" );
static const CString strFORMAT(".lua");
// setup
if( !g_SfxLua )
open_lua_sfx( );
// caller´Â ¹«¹ö¸¸ Áö¿øÇÑ´Ù. ÇöÀç 2010_0204
CMover* pWho = prj.GetMover( caller );
if( !pWho )
{
// Èì »ý¼ºÀÌ µÇ´ÂµµÁß ºÒ¸±¼ö°¡ ÀÖ´Ù. ÀÌ·±°æ¿ì´Â prj¿¡¼* ¸øÃ¡À»²¯À̹ǷΠµî·Ï»óÅ·ΠµÎ°í ´ÙÀ½ ÇÁ·¹ÀÓ¿¡ ½ÃµµÇÑ´Ù.
CSfxModelMng::GetThis()->_cWaitingObj.insert( map< DWORD, int >::value_type( caller, nState ) );
return;
}
char szFunc[ 64 ];
GetFileTitle( szMoverName, szFunc );
CString strFileName = CString( szFunc ) + strFORMAT;
CString strFullPath = strPATH + strFileName;
Error( "Full Name: %s", strFullPath ); //Testzweck
// res¸¦ Ãë±ÞÇÏ´Â Å×¼· ¹× Á¤¼·Àº buffer¸¦ ¾ò¾î¿Í¼* ·ç¾Æ¸¦ µ¹¸®ÀÚ
#ifdef __CLIENT
if( 0 != luaL_dofile( g_SfxLua, strFullPath.GetBuffer(0) ) )
{
//Error( "run_lua_sfx : %s", (char*)lua_tostring( g_SfxLua, -1 ) );
return;
}
#else
// res·Î mergeµÈ ÆÄÀÏÀº CResFileÀ» ÀÌ¿ëÇØ ¹öÆÛ¸¦ ¾ò°í ·ç¾Æ¸¦ È£Ãâ
CResFile file;
BOOL bRet = file.Open( strFullPath.GetBuffer(50), "rt" );
if( bRet == FALSE )
{
//Error( "run_lua_sfx : %s ÀÐ±â ½ÇÆÐ", strFullPath.GetBuffer(0) );
return;
}
static char pBuff[ 2048 ];
int nLength = file.GetLength();
if( nLength > 2047 )
{
Error( "error!! overflowed size of lua file %s", strFullPath.GetBuffer(0) );
return;
}
if( nLength < 2 ) // Á¸ÀçÀÌÀ¯°¡ ¾ø´Â ±æÀÌ ÀÌ´Ù .
return;
pBuff[ 0 ] = 0;
file.Read( pBuff, nLength );
pBuff[ nLength ] = 0;
// TODO : buffer¸¦ ¾ò¾î¿Í¼* call lua
int a = luaL_loadbuffer( g_SfxLua, pBuff, nLength, NULL );
int b = lua_pcall(g_SfxLua, 0, LUA_MULTRET, 0);
if( (a) != 0 )
{
Error( "error Run_Lua_Sfx A : %s", (char*)lua_tostring( g_SfxLua, -1 ) );
return;
}
if( (b) != 0 )
{
Error( "error run_lua_sfx B : %s", (char*)lua_tostring( g_SfxLua, -1 ) );
return;
}
#endif //__INTERNALSERVER
//¸¸¾à ¸ó½ºÅÍ¿¡ ´ëÇØ¼* ÀϹÝÀûÀÎ lua¸¦ Àû¿ëÇϰí, Ưº°ÇÑ °æ¿ì¸¸ ¸ó½ºÅͰ³°³Àο¡ ´ëÇØ¼* lua¸¦ ÁöÁ¤ÇÑ´Ù¸é
// ¿ì¼±¼øÀ§´Â Ưº°È÷ ÁöÁ¤µÈ°æ¿ì´Ù ,
if( OBJSTAF_COMBAT == nState )
{
strcat( szFunc, "_battle" );
}
else if( OBJSTA_NONE == nState )
{
//»ý¼º»óÅ·Π°£ÁÖÇÑ´Ù.. Áï »ý¼ºµÇ°í ¾Æ¹«°Íµµ ¾Æ´Ñ»óŶõ °É·Î ÇØ¼®Çϱ⠹ٶ÷.
strcat( szFunc, "_create" );
}
else
{
Error( "SFXLUA is not supported the state : %d ", nState );
return;
}
lua_getglobal( g_SfxLua, szFunc );
lua_pushnumber( g_SfxLua, caller );
// lua_call( g_SfxLua, 1, 0 ) ;
//_DEBUG
if( lua_pcall( g_SfxLua, 1, 0, 0 ) != 0 )
{
char* szError = (char*)lua_tostring( g_SfxLua, -1 );
Error( "run_lua_sfx : %s", szError );
}
}
BOOL stop_sfx( OBJID caller )
{
return CSfxModelMng::GetThis()->SubData( caller );
}
#endif //__BS_EFFECT_LUA
Ich kann einfach keinen Fehler finden :/
Lg Sphero
10/12/2015, 09:41
#2
elite*gold: 0
Join Date: Sep 2015
Posts: 5
Received Thanks: 0
Hast du nur etwas in der sfxbase.cpp geändert?
10/12/2015, 09:51
#3
elite*gold: 0
Join Date: Jan 2010
Posts: 238
Received Thanks: 30
Quote:
Originally Posted by
DevilsNumber
Hast du nur etwas in der sfxbase.cpp geändert?
Nein natürlich nicht, ich hab es in allen betreffenden Datein (doppelt und dreifach überprüft, define in der versioncommon der Neuz drinne).
Ich habe nur diesen Teil gepostet, da es eig das meiste ist und evlt der Fehler dort liegt.
10/13/2015, 01:28
#4
elite*gold: 10
Join Date: Jan 2015
Posts: 939
Received Thanks: 452
Hier ich habe dir mal meine SfxBase.cpp gepastet.
Diese kann du ja mal versuche einzufügen.
Ich habe nicht überprüft ob dort irgendwas anders ist
10/28/2015, 22:16
#5
elite*gold: 0
Join Date: Jan 2010
Posts: 238
Received Thanks: 30
1. Post geupdatet ._. 1. Frag neu -> sehr dringend :/
10/28/2015, 22:54
#6
elite*gold: 10
Join Date: Jan 2015
Posts: 939
Received Thanks: 452
Spheromany wegen den Parameter kann ich dir vielleicht helfen.
Schreib mir mal im Teamspeak bei mir und ich guck mal rüber
10/29/2015, 02:03
#7
elite*gold: 0
Join Date: Jan 2010
Posts: 238
Received Thanks: 30
Leider gibt es immernoch keine Lösung :/
10/29/2015, 05:47
#8
elite*gold: 0
Join Date: Apr 2013
Posts: 511
Received Thanks: 431
PN, ich schau mal drüber.
10/29/2015, 14:20
#9
elite*gold: 7
Join Date: Sep 2012
Posts: 4,466
Received Thanks: 3,220
Dein BS Effect fixe ich dir gerne schatzii
Machst ja auch viel für mich :* Meld dich einfach im TS
10/29/2015, 16:05
#10
elite*gold: 0
Join Date: Jan 2010
Posts: 238
Received Thanks: 30
Quote:
Originally Posted by
Avalion
1.) Which spec_item are you using (version)? When you added the value, did you add = to the end of all the lines of spec_item? Is the version of your spec_item compatible with your source?
It's a type of custom Version, it dosnt use all new Parameter, just a few, and yes it is, it was running before fine for server months already. And yes i added it.
Like i wrote, it only crashes if the spec_item has the needed amount of parameter for each item inside, if it is one more or less it only gives the typical spec_item read error.
2.) Are you sure it's defined. By default, if I recall, it is defined only if __INTERNALSERVER was on. Try moving the define to the top if you havent.
Text zum auffüllen und so
Similar Threads
[Allgemeiner Playspan Thread] ~ Fragen hier stellen ~
12/05/2011 - CrossFire - 371 Replies
English Tutorial: (für Leute außerhalb von Deutschland)
http://www.elitepvpers.com/forum/warrock-guides-tu torials-modifications/494059-howto-playspan-f-r-le ute-die-nicht-deutschland-wohnen-wie-man-usa-offer s-macht.html
1: Definition Playspan
- Internetseite, auf der man sich kostenlos Items durch Offerabarbeitungen ergattern kann.
2: Was ermöglicht mir Playspan, im Bezug auf Crossfire?
[ALLGEMEINER THREAD]Clan System 2010 [Fragen hier]
01/25/2011 - WarRock - 19 Replies
hi Leute,
da viele Leute immoment Fragen über das neue Clan System haben, mache ich hier einen Allgemeinen Thread der alle anderen Threads ersetzten soll...also was bisjetzt bekannt ist:
Quelle: Gamersfirst News
wenn ihr Fragen habt, dann schreibt sie hier rein!...
Allgemeiner Minecraft Thread|Kleine Fragen hier
10/29/2010 - Minecraft - 4 Replies
Hier könnt ihr kleine Fragen zu Minecraft posten, die es nicht unbedingt verdient haben ein neuen Thread zu starten.
Außerdem könnt ihr hier über Minecraft reden und eure Ideen posten.
Grüße
Token
Here you can post the small questions of Minecraft, if you think that you should'n start a new thread.
Also you can talk about of Minecraft and post youre Ideas
All times are GMT +2. The time now is 05:33 .