[Release]Transfer Awake

02/25/2013 18:59 lanzelord996#91
@UF.Gamer:
Du kannst es fehlerfrei einbauen aber weißt nicht wie man es in einen NPC einfügt, bzw auf eine Taste legt? Du schaust einfach hier im Thread auf Seite 2 und zack ohne es selbst zu schreiben, obwohl die Funcapplet.cpp einfach zu erschließen ist :P

Quote:
Originally Posted by Teresaty View Post
Menü von NPC

FuncApplet.cpp:

Code:
#ifdef __TRANSFER_AWAKE
DECLAREAPPLET( AppMain_transfer         , new CWndTransfer );
#endif
Code:
#ifdef __TRANSFER_AWAKE
   AddAppletFunc( AppMain_transfer      ,APP_TRANSFER     ,_T( "WndMotion"     )    , _T( "Icon_Motion.dds"   )     , GETTEXT( TID_TIP_MOTION         ),  'F'  );     
#endif
:)
03/12/2013 17:24 Passauer#92
hey, ich wollte fragen wie man beim transfer awa
diesen bugg weg bekommet habs selbe problem wie Ultimate auf seite 6 oder so :
Ultimate:
now this come :// geiles Sprache fuck yeah

Zitat:
Neuz error LNK2019: unresolved external symbol "public: __thiscall CWndTransfer::CWndTransfer(void)" (??0CWndTransfer@@QAE@XZ) referenced in function "class CWndBase * __cdecl AppMain_transfer(void)" (?AppMain_transfer@@YAPAVCWndBase@@XZ)
__________________

siehe hier [Only registered and activated users can see links. Click Here To Register...] ....habs einfach net weg bekommen

ach ja hab das ding von n8chtschatten eingefügt auch auf seite 6 kann das sein dass die parts einfach an der falschen stelle in den dateien sin dund deswegen der fehlercode ausgegeben wird ?
03/12/2013 22:41 lanzelord996#93
Bin zwar nicht der C++ Pro, aber entweder du hast etwas an eine Falsche Stelle gesetzt, oder du hast vergessen den Header in der WndManager zu definieren :P
03/13/2013 01:17 Crowley™#94
Quote:
Originally Posted by lanzelord996 View Post
Bin zwar nicht der C++ Pro, aber entweder du hast etwas an eine Falsche Stelle gesetzt, oder du hast vergessen den Header in der WndManager zu definieren :P
Denke ich auch mal das es der Fehler ist. Du hast es an die falsche Stelle gesetzt. Probier es mal aus und meld dich ob es geklappt hat.

MfG. Crowley
03/14/2013 17:43 luia#95
problem ist passauer weiß nicht wo an welche stellen die einträge genau kommen.

1tag lang rumprobieren und hat nix gebracht.
03/15/2013 19:25 Daft325#96
Wie mach ich das wenn ich jetzt z.B von Hat auf Boots Transfern will gibts dafür noch nen bestimmten Code?
03/15/2013 19:49 Velmore#97
Quote:
Originally Posted by Daft325 View Post
Wie mach ich das wenn ich jetzt z.B von Hat auf Boots Transfern will gibts dafür noch nen bestimmten Code?
Dafür musst die die Abfrage entfernen, wo er nach den IK3 Sachen filtern.
03/16/2013 09:58 Daft325#98
Die Abfrage finde ich wo?
03/16/2013 15:16 lanzelord996#99
Ich = C++ obernoob...
DPSrvr.cpp: if(pMat->GetProp()->dwID != II_TRANS_MAT)
03/25/2013 13:32 Passauer#100
hey ich melde mcih noch mal weil ich den fehler einfach nicht finde ...hab noch x sachen ausprobiert aber eigentlich kommen mir meine stellen wo ich das ganze eingeügt habe relativ schlüssig vor:

den WndWorld.cpp eintrag hab ich inner halb der funktion:
BOOL CWndWorld::OnCommand( UINT nID, DWORD dwMessage, CWndBase* pWndBase )

hier hin gesetzt:

Code:
#ifdef __FASHION_COMBINE
        case MMI_COSTUMEMIX01:
            {
                SAFE_DELETE( g_WndMng.m_pWndFashionCombine );
                g_WndMng.m_pWndFashionCombine = new CWndFashionCombine;
                g_WndMng.m_pWndFashionCombine->Initialize();
            }
            break;
#endif // __FASHION_COMBINE
#ifdef __TRANSFER_AWAKE
		case MMI_TRANSFER_AWA:
			{
				SAFE_DELETE(g_WndMng.m_pWndTrans);
				g_WndMng.m_pWndTrans = new CWndTransfer;
				g_WndMng.m_pWndTrans->Initialize();
			}
			break;
#endif
		} // switch
		// Æ÷Ä¿½º¸¦ À©µµ·Î µ¹·ÁÁÖ¾î¾ß ¸Å´º°¡ ´ÝÈù´Ù.
		SetFocus();
	}

	return CWndNeuz::OnCommand( nID, dwMessage, pWndBase );
}

wndmanager.h eintrag :

Code:
#ifdef __FASHION_COMBINE
    CWndFashionCombine*	m_pWndFashionCombine;
#endif // __FASHION_COMBINE  

#ifdef __TRANSFER_AWAKE
    CWndTransfer* m_pWndTrans;
#endif //__TRANSFER_AWAKE
wnd manager.cpp einträge:

1. inner halb CWndMgr::CWndMgr()
hier hin:
Code:
#ifdef __GUILD_HOUSE_MIDDLE
	m_pWndGHBid = NULL;
#endif //__GUILD_HOUSE_MIDDLE

#ifdef __MAIL_REQUESTING_BOX
	m_bWaitRequestMail = FALSE;
#endif

#ifdef __TRANSFER_AWAKE
    m_pWndTrans = NULL;
#endif //__TRANSFER_AWAKE

#ifdef	__COLOSSEUM
	m_pColosseumComplete = NULL;
	m_pColosseumEnter	= NULL;
	m_pColosseumMassage	= NULL;
	m_pColosseumRankGuild	= NULL;
	m_pColosseumRankNomal	= NULL;
	m_pColosseumRetry	= NULL;
	m_pColosseumStart	= NULL;
	m_pColosseumStartReady1	= NULL;
	m_pColosseumStartReady2	= NULL;
#endif // __COLOSSEUM
}
2.inner halb void CWndMgr::Free()

hier hin:
Code:
#ifdef __GUILD_HOUSE_MIDDLE
	SAFE_DELETE( m_pWndGHBid );
#endif //__GUILD_HOUSE_MIDDLE

#ifdef __TRANSFER_AWAKE
    SAFE_DELETE( m_pWndTrans );
#endif //__TRANSFER_AWAKE

#ifdef	__COLOSSEUM
	SAFE_DELETE( m_pColosseumComplete );
	SAFE_DELETE( m_pColosseumEnter );
	SAFE_DELETE( m_pColosseumMassage );
	SAFE_DELETE( m_pColosseumRankGuild );
	SAFE_DELETE( m_pColosseumRankNomal );
	SAFE_DELETE( m_pColosseumRetry );
	SAFE_DELETE( m_pColosseumStart );
	SAFE_DELETE( m_pColosseumStartReady1 );
	SAFE_DELETE( m_pColosseumStartReady2 );
#endif	// __COLOSSEUM
}
3.inner halb void CWndMgr::OnDestroyChildWnd( CWndBase* pWndChild )

hier hin :

Code:
#ifdef __GUILD_HOUSE_MIDDLE
	else if( m_pWndGHBid == pWndChild )
	{
		SAFE_DELETE( m_pWndGHBid );
		pWndChild = NULL;
	}
#endif //__GUILD_HOUSE_MIDDLE

#ifdef __TRANSFER_AWAKE
    if( m_pWndTrans == pWndChild )
    {
        SAFE_DELETE( m_pWndTrans );
        pWndChild = NULL;
    }
#endif //__TRANSFER_AWAKE

#ifdef	__COLOSSEUM

4.innerhalb void CWndMgr::ClearAllWnd()

hier hin:
Code:
void CWndMgr::ClearAllWnd()
{
	CWndNeuz* pWndBase;
	DWORD dwIdApplet;
	if(!m_clearFlag)
	{
		POSITION pos = m_mapWndApplet.GetStartPosition();
		while( pos )
		{
			m_mapWndApplet.GetNextAssoc( pos, dwIdApplet, (void*&)pWndBase );
			if( pWndBase && pWndBase->GetWndId() != APP_WORLD)
			{
				m_tempWndId.push_back(pWndBase->GetWndId());
				pWndBase->SetVisible(FALSE);
			}
		}
		CWndChat* pWndChat = (CWndChat*)g_WndMng.GetApplet( APP_COMMUNICATION_CHAT );
		if(pWndChat != NULL && pWndChat->m_bChatLog)
			m_pWndChatLog->SetVisible(FALSE);


#ifdef __TRANSFER_AWAKE
        CWndTransfer* pWndTrans = (CWndTransfer*)g_WndMng.GetWndBase( APP_TRANSFER );
        if(pWndTrans!= NULL)
            pWndTrans->SetVisible(FALSE);
#endif //__TRANSFER_AWAKE

#if __VER >= 9 // __CSC_VER9_1
		CWndPetStatus* pWndPetStatus = (CWndPetStatus*)g_WndMng.GetWndBase( APP_PET_STATUS );
		if(pWndPetStatus != NULL)
			pWndPetStatus->SetVisible(FALSE);
und 5. zu guter letzt innerhalb void CWndMgr::RestoreWnd()

hier hin:
Code:
void CWndMgr::RestoreWnd()
{
	CWndNeuz* pWndBase;
	DWORD dwIdApplet;
	BOOL stopFlag = TRUE;
	int wndId;

	if(m_clearFlag)
	{
		std::list<int>::iterator it = m_tempWndId.begin();
		while(it !=  m_tempWndId.end())
		{
			POSITION pos = m_mapWndApplet.GetStartPosition();
			while( pos && stopFlag)
			{
				m_mapWndApplet.GetNextAssoc( pos, dwIdApplet, (void*&)pWndBase );
				wndId = *it;
				if(wndId == pWndBase->GetWndId())
				{
					pWndBase->SetVisible(TRUE);
					stopFlag = FALSE;
				}
			}
			it++;
			stopFlag = TRUE;
		}
		m_tempWndId.clear();
		CWndChat* pWndChat = (CWndChat*)g_WndMng.GetApplet( APP_COMMUNICATION_CHAT );
		if(pWndChat != NULL && pWndChat->m_bChatLog)
			m_pWndChatLog->SetVisible(TRUE);

#ifdef __TRANSFER_AWAKE
        CWndTransfer* pWndTrans = (CWndTransfer*)g_WndMng.GetWndBase( APP_TRANSFER );
        if(pWndTrans!= NULL)
            pWndTrans->SetVisible(TRUE);
#endif //__TRANSFER_AWAKE

#if __VER >= 9 // __CSC_VER9_1
		CWndPetStatus* pWndPetStatus = (CWndPetStatus*)g_WndMng.GetWndBase( APP_PET_STATUS );
		if(pWndPetStatus != NULL)
			pWndPetStatus->SetVisible(TRUE);
so weit so gut ich hoffe es kann jemand damit etwas anfangen und mir evtl die augen öffnen wo ich etwas an der falschen stelle eingefügt habe :-S

Mit ganz freundlichen Grüßen Passauer :D
03/27/2013 17:13 Passauer#101
weiß net ob man das hier darf ich machs trozdem mal
-push-
bitte helft mir
03/27/2013 18:27 Smilieface#102
Mach mal in der Wndmanager.h über das
#ifdef __TRANSFER_AWAKE
CWndTransfer* m_pWndTrans;
#endif //__TRANSFER_AWAKE
ein public:
03/28/2013 09:44 Passauer#103
Danke für deine Idee hat aber leider nicht funktioniert :-S

kann das ganze nun etwas eingrenzen:
habe hier mal
Code:
#ifdef __TRANSFER_AWAKE
		case MMI_TRANSFER_AWA:
			{
				SAFE_DELETE(g_WndMng.m_pWndTrans);
				g_WndMng.m_pWndTrans = new CWndTransfer;
				g_WndMng.m_pWndTrans->Initialize();
			}
			break;
#endif

das new CWndTransfer ggn. new CWndFashionCombine er setzt .. klar das kann man net einfach machen aber beim compilen war dann der error: Neuz error LNK2019: unresolved external symbol "public: __thiscall CWndTransfer::CWndTransfer(void)" (??0CWndTransfer@@QAE@XZ) referenced in function "public: virtual int __thiscall CWndWorld::OnCommand(unsigned int,unsigned long,class CWndBase *)" (?OnCommand@CWndWorld@@UAEHIKPAVCWndBase@@@Z)

nicht mehr da

damit sollte der fehler wohl bei dem eintrag new CWndTransfer liegen :-S
wie das genau zusammen hängt kannich als c+ noob net wirklich sagen einträge in WndField.h und WndManager.h sind eigentlich formanden...
05/26/2013 16:06 Calle257#104
Ich bekomme beim compilen folgenden error..

Quote:
c:\Source\Source\WORLDSERVER\DPSrvr.h(487): warning C4067: unexpected tokens following preprocessor directive - expected a newline

c:\Source\Source\WORLDSERVER\DPSrvr.h(546): fatal error C1070: mismatched #if/#endif pair in file 'c:\source\source\worldserver\dpsrvr.h'
woran liegt das und wie bekomme ich den weg ?
05/26/2013 16:10 lanzelord996#105
Du hast entweder ein paar einträge unvollständig eingebaut oder an der falschen Stelle eingebaut, oder halt einen oder mehrere einträge vergessen.
Weil z.b. bei deiner DPSrvr.h entweder ein #if oder #endif fehlt.