You last visited: Today at 06:47
Advertisement
Problem mit Aipet.cpp
Discussion on Problem mit Aipet.cpp within the Flyff Private Server forum part of the Flyff category.
10/21/2011, 16:52
#1
elite*gold: 0
Join Date: Oct 2011
Posts: 26
Received Thanks: 0
Problem mit Aipet.cpp
hey, bin neu bei epvp und habe eine frage ..
Meine AiPet.cpp:
PHP Code:
// AIPet.cpp : // #include "stdafx.h" #include "AIPet.h" #include "lang.h" #include "User.h" #include "dpcoreclient.h" extern CUserMng g_UserMng ; extern CDPCoreClient g_DPCoreClient ; enum { STATE_INIT = 1 , STATE_IDLE , STATE_RAGE }; BEGIN_AISTATE_MAP ( CAIPet , CAIInterface ) ON_STATE ( STATE_INIT , StateInit ) ON_STATE ( STATE_IDLE , StateIdle ) ON_STATE ( STATE_RAGE , StateRage ) END_AISTATE_MAP () #define PETSTATE_IDLE 0 #define PETSTATE_TRACE 1 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #ifndef __VM_0820 #ifndef __MEM_TRACE #ifdef __VM_0819 MemPooler < CAIPet >* CAIPet :: m_pPool = new MemPooler < CAIPet >( 128 , "CAIPet" ); #else // __VM_0819 MemPooler < CAIPet >* CAIPet :: m_pPool = new MemPooler < CAIPet >( 128 ); #endif // __VM_0819 #endif // __MEM_TRACE #endif // __VM_0820 CAIPet :: CAIPet () { Init (); } CAIPet :: CAIPet ( CObj * pObj ) : CAIInterface ( pObj ) { Init (); } CAIPet ::~ CAIPet () { Destroy (); } void CAIPet :: Init ( void ) { m_idOwner = NULL_ID ; m_bLootMove = FALSE ; m_idLootItem = NULL_ID ; m_nState = PETSTATE_IDLE ; #if __VER >= 12 // __PET_0519 m_dwSkillId = NULL_ID ; // m_idPetItem = NULL_ID ; // ¸ÔÆê ¾ÆÀÌÅÛ #endif // __PET_0519 } void CAIPet :: Destroy ( void ) { // ¿©±â´Ù ÆÄ±«Äڵ带 ³ÖÀ»°Í. Init (); } void CAIPet :: InitAI () { PostAIMsg ( AIMSG_SETSTATE , STATE_IDLE ); } // vDstÂÊÀ¸·Î À̵¿. void CAIPet :: MoveToDst ( D3DXVECTOR3 vDst ) { CMover * pMover = GetMover (); CWorld * pWorld = GetWorld (); pMover -> SetDestPos ( vDst ); pMover -> m_nCorr = - 1 ; g_UserMng . AddSetDestPos ( pMover , vDst , 1 ); } // idTargetÂÊÀ¸·Î À̵¿. void CAIPet :: MoveToDst ( OBJID idTarget ) { CMover * pMover = GetMover (); if( pMover -> GetDestId () == idTarget ) return; pMover -> SetDestObj ( idTarget ); // ¸ñÇ¥¸¦ Àç¼³Á¤ÇØÁØ´Ù. g_UserMng . AddMoverSetDestObj ( ( CMover *) pMover , idTarget ); } // ±ÙóÀÇ ¾ÆÀÌÅÛÀ» ÁýÀ¸·¯ °£´Ù. BOOL CAIPet :: SubItemLoot ( void ) { #define FILTER_ENABLE 1 #define FILTER_PENYA 2 #define FILTER_ARMOR 4 #define FILTER_JEWELS 8 #define FILTER_FOOD 16 #define FILTER_WEAPON 32 #define FILTER_POTION 64 #define FILTER_QUEST 128 #define FILTER_REFRESHER 256 if( (( CUser *) pOwner )-> m_dwPetfilter & FILTER_ENABLE ) { if( ((( CUser *) pOwner )-> m_dwPetfilter & FILTER_PENYA ) && pItem -> GetProp ()-> dwItemKind1 == IK1_GOLD ) b1 = FALSE ; if( ((( CUser *) pOwner )-> m_dwPetfilter & FILTER_ARMOR ) && pItem -> GetProp ()-> dwItemKind1 == IK1_ARMOR ) b1 = FALSE ; if( ((( CUser *) pOwner )-> m_dwPetfilter & FILTER_JEWELS ) && pItem -> GetProp ()-> dwItemKind2 == IK2_JEWELRY ) b1 = FALSE ; if( ((( CUser *) pOwner )-> m_dwPetfilter & FILTER_FOOD ) && pItem -> GetProp ()-> dwItemKind2 == IK2_FOOD ) b1 = FALSE ; if( ((( CUser *) pOwner )-> m_dwPetfilter & FILTER_WEAPON ) && pItem -> GetProp ()-> dwItemKind1 == IK1_WEAPON ) b1 = FALSE ; if( ((( CUser *) pOwner )-> m_dwPetfilter & FILTER_POTION ) && pItem -> GetProp ()-> dwItemKind2 == IK2_POTION ) b1 = FALSE ; if( ((( CUser * pOwner )-> m_dwPetfilter & FILTER_QUEST ) && pItem -> GetProp ()-> dwItemKind2 == IK2_GEM ) b1 = FALSE ; if( ((( CUser *) pOwner )-> m_dwPetfilter & FILTER_REFRESHER ) && pItem -> GetProp ()-> dwItemKind2 == IK2_REFRESHER ) b1 = FALSE ; } if( pOwner -> IsLoot ( pItem , TRUE ) && b1 ) CMover * pMover = GetMover (); CMover * pOwner = prj . GetMover ( m_idOwner ); CWorld * pWorld = GetWorld (); MoverProp * pProp = pMover -> GetProp (); D3DXVECTOR3 vPos = pMover -> GetPos (); CObj * pObj = NULL ; int nRange = 0 ; D3DXVECTOR3 vDist ; FLOAT fDistSq , fMinDist = 9999999.0f ; CObj * pMinObj = NULL ; vDist = pOwner -> GetPos () - pMover -> GetPos (); fDistSq = D3DXVec3LengthSq ( & vDist ); if( fDistSq > 32.0f * 32.0f ) // ÁÖÀδ԰úÀÇ °Å¸®°¡ 32¹ÌÅͰ¡ ³ÑÀ¸¸é ¾ÆÀÌÅÛ ¾ÈÁý´Â´Ù. return FALSE ; if( pOwner && pOwner -> IsFly () ) return FALSE ; // ±ÙóÀÇ ¾ÆÀÌÅÛÀ» °Ë»öÇÔ. - ÁÖÀδԲ¨¸¸ °Ë»öÇØ¾ßÇÒµí... FOR_LINKMAP ( pWorld , vPos , pObj , nRange , CObj :: linkDynamic , pMover -> GetLayer () ) { if( pObj -> GetType () == OT_ITEM ) // ¾ÆÅÛ¸¸ °Ë»ö { CItem * pItem = ( CItem *) pObj ; ItemProp * pItemProp = pItem -> GetProp (); // ÀÌ°É µû·Î ³ÖÀºÀÌÀ¯´Â StateIdle ARRIVAL¿¡¼* DoLoot()ÇÏ°í ³*Á÷ÈÄ¿¡ ´Ù½Ã SubItemLoot()À» È£ÃâÇßÀ»¶§ // LootÇÑ ¾ÆÀÌÅÛÀÌ ¾ÆÁ÷ ¾ÈÁö¿öÁ®¼* ¿©±â¼* ¶Ç °Ë»öÀÌ µÇ´õ¶ó°í.. ±×·¡¼* Áߺ¹µÇ´Â ¾ÆÀÌÅÛÀº °Ë»ö ¾ÈµÇ°Ô °íÃĺôÙ. // if( pItem->GetId() != m_idLootItem ) if( pItem -> IsDelete () == FALSE ) { if( pItemProp ) { if( pOwner -> IsLoot ( pItem , TRUE ) ) // ·çÆÃµÇ´Â¾ÆÀÌÅÛÀÎÁö °Ë»çÇÔ. { vDist = pObj -> GetPos () - pMover -> GetPos (); fDistSq = D3DXVec3LengthSq ( & vDist ); // °Å¸® ±¸ÇÔ. if( fDistSq < 15 * 15 && fDistSq < fMinDist ) // 10¹ÌÅÍ À̳»°í... °¡Àå °Å¸®°¡ °¡±î¿î ¾ÆÅÛÀ» ãÀ½. pMinObj = pObj ; } } } } } END_LINKMAP if( pMinObj ) { // Get object ID of the loot item DWORD dwIdLootItem = (( CItem *) pMinObj )-> GetId (); // Get the item obj CCtrl * pCtrl = prj . GetCtrl ( dwIdLootItem ); // if exists... if( IsValidObj ( pCtrl ) ) { MoveToDst ( pMinObj -> GetPos () ); // ¸ñÇ¥ÂÊÀ¸·Î À̵¿. m_idLootItem = dwIdLootItem ; m_bLootMove = TRUE ; } } return m_bLootMove ; } BOOL CAIPet :: StateInit ( const AIMSG & msg ) { return TRUE ; } BOOL CAIPet :: MoveProcessIdle ( const AIMSG & msg ) { CMover * pMover = GetMover (); CMover * pOwner = prj . GetMover ( m_idOwner ); CWorld * pWorld = GetWorld (); MoverProp * pProp = pMover -> GetProp (); // µ¥¹ÌÁö »óŰųª Á×¾úÀ» °æ¿ì À̵¿ ó¸® ¼öÇà ¾ÊÀ½ if( pMover -> IsDie () || ( pMover -> m_pActMover -> GetState () & OBJSTA_DMG_FLY_ALL ) ) return FALSE ; if( NotOwnedPetInactivated () ) return FALSE ; if( m_bLootMove == FALSE ) // ·çÆÃÇÏ·¯ °¥¶© ¾Æ·¡ 󸮸¦ ÇÏ¸é ¾ÈµÇ±ßÁ¦... { // ÁÖÀδ԰úÀÇ °Å¸®°¡ ¸Ö¾îÁö¸é ÁÖÀδÔÂÊÀ¸·Î ´Þ·Á°£´Ù. if( m_nState == PETSTATE_IDLE ) { D3DXVECTOR3 vDist = pOwner -> GetPos () - pMover -> GetPos (); FLOAT fDistSq = D3DXVec3LengthSq ( & vDist ); if( fDistSq > 1.0f * 1.0f ) { MoveToDst ( m_idOwner ); m_nState = PETSTATE_TRACE ; } } else if( m_nState == PETSTATE_TRACE ) { if( pOwner -> IsRangeObj ( pMover , 0 ) == TRUE ) // ÁÖÀÎ´Ô °çÀ¸·Î ´Ù°¡°¬´Ù. { m_nState = PETSTATE_IDLE ; // ´ë±â»óÅ·ΠÀüȯ pMover -> SendActMsg ( OBJMSG_STOP ); // ¸ð¼Ç Á¤Áö pMover -> ClearDest (); // À̵¿¸ñÇ¥ Ŭ¸®¾î. } if( pMover -> IsEmptyDest () ) // ¾Ë¼ö¾ø´Â ÀÌÀ¯·Î ÀÎÇØ À̵¿ÇÏÁö ¾Ê°í Á¦ÀÚ¸® ÀÖÀ¸¸é . { m_bLootMove = FALSE ; // ÁýÀ¸·¯ °¡´ø°Å Ãë¼Ò. m_idLootItem = NULL_ID ; m_nState = PETSTATE_IDLE ; } } } // ¾ÆÀÌÅÛ ½ºÄµ/·çÆÃ { { if( ( pMover -> GetCount () & 15 ) == 0 ) // °¡²û¾¿ ÁÖº¯À» ½ºÄµÇؼ*... ¼*¹ö´Ï±î 15°¡ 1ÃÊ { if( m_bLootMove == FALSE ) // ·çÆÃÇÏ·¯ °¡°í ÀÖÀ»¶§ ¶Ç üũÇÏ¸é ¾ÈŠ• if( SubItemLoot () ) // ¾ÆÀÌÅÛÀ» ·çÆÃÇÔ. m_nState = PETSTATE_IDLE ; // ·çÆÃ½ÃÀÛÇßÀ¸¸é ´ë±â»óÅ·Π¹Ù²ã¾ßÇÔ. } } if( m_bLootMove == TRUE ) { CCtrl * pCtrl = prj . GetCtrl ( m_idLootItem ); // ±×¾ÆÀÌÅÛÀÌ »ç¶óÁ³À»¼ö ÀÖÀ¸´Ï±î °Ë»çÇÔ. if( IsInvalidObj ( pCtrl ) ) // ¾ÆÀÌÅÛ ÁýÀ¸·¯ À̵¿Áß¿¡ ¾ÆÅÛÀÌ ¾ø¾îÁö¸é { MoveToDst ( pMover -> GetPos () ); // Á¦ÀÚ¸®¿¡ ¼¶. m_bLootMove = FALSE ; m_idLootItem = NULL_ID ; m_nState = PETSTATE_IDLE ; } else { if( pMover -> IsEmptyDest () ) // ¾Ë¼ö¾ø´Â ÀÌÀ¯·Î ÀÎÇØ À̵¿ÇÏÁö ¾Ê°í Á¦ÀÚ¸® ÀÖÀ¸¸é . { m_bLootMove = FALSE ; // ÁýÀ¸·¯ °¡´ø°Å Ãë¼Ò. m_idLootItem = NULL_ID ; m_nState = PETSTATE_IDLE ; } } } } return TRUE ; } BOOL CAIPet :: StateIdle ( const AIMSG & msg ) { CMover * pMover = GetMover (); CWorld * pWorld = GetWorld (); BeginAIHandler ( ) /////////////////////////////////////////////////////////////////////////////////////////////////// OnMessage ( AIMSG_INIT ) // SetStop( SEC( 0 ) ); /////////////////////////////////////////////////////////////////////////////////////////////////// OnMessage ( AIMSG_INIT_TARGETCLEAR ) // m_dwIdTarget = NULL_ID; /////////////////////////////////////////////////////////////////////////////////////////////////// OnMessage ( AIMSG_PROCESS ) MoveProcessIdle ( msg ); /////////////////////////////////////////////////////////////////////////////////////////////////// OnMessage ( AIMSG_DAMAGE ) /////////////////////////////////////////////////////////////////////////////////////////////////// OnMessage ( AIMSG_DIE ) SendAIMsg ( AIMSG_EXIT ); /////////////////////////////////////////////////////////////////////////////////////////////////// OnMessage ( AIMSG_COLLISION ) /////////////////////////////////////////////////////////////////////////////////////////////////// OnMessage ( AIMSG_ARRIVAL ) { if( m_bLootMove ) // ¾ÆÀÌÅÛ ·çÆÃ¸ðµå¿´À½. { CMover * pOwner = prj . GetMover ( m_idOwner ); if( IsValidObj ( pOwner ) ) { BOOL bSuccess = FALSE ; CCtrl * pCtrl = prj . GetCtrl ( m_idLootItem ); // ±×¾ÆÀÌÅÛÀÌ »ç¶óÁ³À»¼ö ÀÖÀ¸´Ï±î °Ë»çÇÔ. if( IsValidObj ( pCtrl ) ) { CItem * pItem = ( CItem *) pCtrl ; D3DXVECTOR3 vDist = pCtrl -> GetPos () - pMover -> GetPos (); FLOAT fDistSq = D3DXVec3LengthSq ( & vDist ); if( fDistSq < 5.0f * 5.0f ) // µµÂøÇؼ* °Å¸® °Ë»ç Çѹø´õ ÇØ¼* { if( pItem -> IsDelete () ) return TRUE ; CItemElem * pItemElem = ( CItemElem *) pItem -> m_pItemBase ; ItemProp * pItemProp = pItem -> GetProp (); // ÁÖÀÎÀÌ ¾ÆÀÌÅÛÀ» Áݴ°Ͱú °°Àº È¿°ú¸¦ ³¿. bSuccess = pOwner -> DoLoot ( pItem ); } } if( bSuccess ) { if( SubItemLoot () == FALSE ) // ¾ÆÀÌÅÛÁý°í ÁÖÀ§¸¦ Çѹø´õ ½ºÄµÇؼ* ¸ÔÀ»°Å ÀÖÀ¸¸é ´Ù½Ã°¡°í ¾øÀ¸¸é ÁÖÀο¡°Ô µ¹¾Æ°£´Ù. { m_bLootMove = FALSE ; // this°¡ ¾ÆÀÌÅÛ Áý´ÂÁßÀ̶ó´Â°Å ÇØÁ¦. m_idLootItem = NULL_ID ; } } else { m_bLootMove = FALSE ; // this°¡ ¾ÆÀÌÅÛ Áý´ÂÁßÀ̶ó´Â°Å ÇØÁ¦. m_idLootItem = NULL_ID ; } } } } /////////////////////////////////////////////////////////////////////////////////////////////////// OnMessage ( AIMSG_EXIT ) EndAIHandler ( ) return TRUE ; } ///////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////// BOOL CAIPet :: MoveProcessRage ( const AIMSG & msg ) { CMover * pMover = GetMover (); CWorld * pWorld = GetWorld (); MoverProp * pProp = pMover -> GetProp (); // µ¥¹ÌÁö »óŰųª Á×¾úÀ» °æ¿ì À̵¿ ó¸® ¼öÇà ¾ÊÀ½ if( pMover -> IsDie () || ( pMover -> m_pActMover -> GetState () & OBJSTA_DMG_FLY_ALL ) ) return FALSE ; return TRUE ; } BOOL CAIPet :: StateRage ( const AIMSG & msg ) { CMover * pMover = GetMover (); CWorld * pWorld = GetWorld (); if( IsInvalidObj ( pMover ) ) return FALSE ; BeginAIHandler ( ) /////////////////////////////////////////////////////////////////////////////////////////////////// OnMessage ( AIMSG_INIT ) /////////////////////////////////////////////////////////////////////////////////////////////////// OnMessage ( AIMSG_INIT_TARGETCLEAR ) // Ÿ°ÙÀ» Ŭ¸®¾îÇÏ°í ´ë±â¸ðµå·Î µ¹¾Æ°¨. /////////////////////////////////////////////////////////////////////////////////////////////////// OnMessage ( AIMSG_PROCESS ) MoveProcessRage ( msg ); /////////////////////////////////////////////////////////////////////////////////////////////////// OnMessage ( AIMSG_DAMAGE ) /////////////////////////////////////////////////////////////////////////////////////////////////// OnMessage ( AIMSG_COLLISION ) /////////////////////////////////////////////////////////////////////////////////////////////////// OnMessage ( AIMSG_DIE ) /////////////////////////////////////////////////////////////////////////////////////////////////// OnMessage ( AIMSG_DSTDIE ) SendAIMsg ( AIMSG_SETSTATE , STATE_IDLE ); /////////////////////////////////////////////////////////////////////////////////////////////////// OnMessage ( AIMSG_BEGINMOVE ) /////////////////////////////////////////////////////////////////////////////////////////////////// OnMessage ( AIMSG_ARRIVAL ) /////////////////////////////////////////////////////////////////////////////////////////////////// OnMessage ( AIMSG_EXIT ) // SendAIMsg( AIMSG_SETPROCESS, FALSE ); EndAIHandler ( ) return TRUE ; } BOOL CAIPet :: NotOwnedPetInactivated ( void ) { CMover * pEatPet = GetMover (); CMover * pOwner = prj . GetMover ( m_idOwner ); if( IsInvalidObj ( pOwner ) ) { pEatPet -> Delete (); return TRUE ; } /*#if __VER < 15 // __REACTIVATE_EATPET if( pOwner->IsDie() || !pOwner->IsValidArea( pEatPet, 32 ) ) { pOwner->InactivateEatPet(); return TRUE; } #else // __REACTIVATE_EATPET*/ if( pOwner -> IsDie () ) { pOwner -> InactivateEatPet (); return TRUE ; } else if( ! pOwner -> IsValidArea ( pEatPet , 32 ) ) { CItemElem * pItemElem = pOwner -> GetVisPetItem (); pOwner -> InactivateEatPet (); pOwner -> ActivateEatPet ( pItemElem ); return TRUE ; } //#endif // __REACTIVATE_EATPET return FALSE ; } #if __VER >= 12 // __PET_0519 void CAIPet :: SetItem ( CMover * pPlayer , CItemElem * pItem ) { // »ç¿ëÀÚ¿¡°Ô ¸ÔÆê °¢¼º È¿°ú Àû¿ë m_idPetItem = pItem -> m_dwObjId ; pPlayer -> SetDestParamRandomOptExtension ( pItem ); SetSkill ( pPlayer , pItem -> GetProp () ); // ÇöÀç »ç¿ë ¿¹ ¾øÀ½ // À±»óÀÌ ÀÌÀü ÀÛ¾÷ ºÎºÐÀ» ¸®ÆÑÅ丵Çϸé¼* À̰÷À¸·Î À̵¿ ½ÃÅ´ } void CAIPet :: SetSkill ( CMover * pPlayer , ItemProp * Prop ) { // ÇöÀç »ç¿ë ¿¹ ¾øÀ½ if( Prop -> dwActiveSkill != NULL_ID ) { SetSkillId ( Prop -> dwActiveSkill ); pPlayer -> DoActiveSkill ( Prop -> dwActiveSkill , 1 , pPlayer ); } } void CAIPet :: ResetItem ( void ) { // ÁÖÀÎÀ¸·ÎºÎÅÍ ¸ÔÆê °¢¼º È¿°ú Á¦°Å CMover * pPlayer = prj . GetMover ( m_idOwner ); if( IsValidObj ( pPlayer ) ) { CItemElem * pItem = static_cast < CItemElem *>( pPlayer -> GetItemId ( m_idPetItem ) ); if( pItem && pItem -> IsEatPet () ) { pPlayer -> ResetDestParamRandomOptExtension ( pItem ); ResetSkill ( pPlayer ); // »ç¿ë ¿¹ ¾øÀ½ } } m_idPetItem = NULL_ID ; } void CAIPet :: ResetSkill ( CMover * pPlayer ) { // »ç¿ë ¿¹ ¾øÀ½ if( GetSkillId () != NULL_ID && pPlayer -> HasBuff ( BUFF_SKILL , ( WORD )( GetSkillId () ) ) ) pPlayer -> RemoveBuff ( BUFF_SKILL , ( WORD )( GetSkillId () ) ); } #endif // __PET_0519
Hier bekomme ich immer folgende errors:
PHP Code:
F :\ Sourcefiles \ Source \ _AIInterface \ AIPet . cpp ( 117 ): error C2065 : 'pOwner' : undeclared identifier F :\ Sourcefiles \ Source \ _AIInterface \ AIPet . cpp ( 117 ): error C2227 : left of '->m_dwPetfilter' must point to class/ struct / union type is '' unknown - type '' F :\ Sourcefiles \ Source \ _AIInterface \ AIPet . cpp ( 119 ): error C2227 : left of '->m_dwPetfilter' must point to class/ struct / union type is '' unknown - type '' F :\ Sourcefiles \ Source \ _AIInterface \ AIPet . cpp ( 119 ): error C2065 : 'pItem' : undeclared identifier F :\ Sourcefiles \ Source \ _AIInterface \ AIPet . cpp ( 119 ): error C3861 : 'pOwner' : identifier not found , even with argument - dependent lookup F :\ Sourcefiles \ Source \ _AIInterface \ AIPet . cpp ( 120 ): error C2065 : 'b1' : undeclared identifier F :\ Sourcefiles \ Source \ _AIInterface \ AIPet . cpp ( 121 ): error C2227 : left of '->m_dwPetfilter' must point to class/ struct / union type is '' unknown - type '' F :\ Sourcefiles \ Source \ _AIInterface \ AIPet . cpp ( 121 ): error C2227 : left of '->GetPropA' must point to class/ struct / union type is '' unknown - type '' F :\ Sourcefiles \ Source \ _AIInterface \ AIPet . cpp ( 121 ): error C2227 : left of '->dwItemKind1' must point to class/ struct / union F :\ Sourcefiles \ Source \ _AIInterface \ AIPet . cpp ( 121 ): error C3861 : 'pOwner' : identifier not found , even with argument - dependent lookup Und so weiter .. <.<
10/21/2011, 18:10
#2
elite*gold: 20
Join Date: Apr 2009
Posts: 804
Received Thanks: 829
Einfaches Codebeispiel für Kleingeister:
Hmm, wo ist hier wohl der Fehler? -.-
10/21/2011, 18:29
#3
elite*gold: 0
Join Date: Aug 2011
Posts: 206
Received Thanks: 117
xD Gerade nicht gesehen o.O
All times are GMT +2. The time now is 06:48 .