[Source] NPC im World nicht laden lassen

03/17/2011 12:10 Sedrika#1
.
03/17/2011 13:23 Fullscreen#2
Toller Guide, danke dafür.

Ist der Code dafür von dir oder wem anderem?

Würde mich mal interessieren, wie du so am C++ lernen bist, habe das Buch "C++ lernen und professionell anwenden" durch (1000+ Seiten) und ich bin nicht so begeistert. Kannst du mir ein besseres empfehlen?
03/17/2011 13:37 Sedrika#3
Der code ist ganz von mir ^^
Ich habe mir erstmal die funktion angesehen und versucht es zu verstehen, was ja nicht so schwer ist eigendlich, wer logisch denken kann ^^

Ich habe das Buch C++ von A bis Z
aber ich lerne mehr durch machen als nur lesen.
03/20/2011 10:35 Kaidra#4
Der Code ist ja nie wirklich das Problem!
Man muss sich bloß über die Aufteilung des Codes klar werden.
Die hälfte aus solchen Büchern braucht man eigentlich nicht da der Inhalt meißt eh schon veraltet ist.
03/20/2011 11:25 Sedrika#5
Quote:
Originally Posted by Kaidra View Post
Der Code ist ja nie wirklich das Problem!
Man muss sich bloß über die Aufteilung des Codes klar werden.
Die hälfte aus solchen Büchern braucht man eigentlich nicht da der Inhalt meißt eh schon veraltet ist.
Wer lernen will, der wird schon wissen, wie man lernen soll.
Zudem nutzt man sicherlich nicht 1:1 die sachen wie im buch, sondern man muss flexibel sein.
07/13/2011 12:05 Deda94#6
Bei mir werden die NPC's trotzdem geladen & angezeigt^^
07/13/2011 12:11 Sedrika#7
Zeig mal, was du in der WorldServer.ini hast.
07/13/2011 12:21 Deda94#8
Code:
Sys		1
ResourceFolder "C:\Users\Administrator\Desktop\Files\Resource"
Key		101
DB		"*zensiert*"
Core		"*zensiert*"
LANG		1
18
Heartbeat	10101
GUILDWAR 1
GUILDBANK 1
WORMON 0
//DROPITEM_REMOVE 0
GUILDCOMBAT 1
ARENA 1
SCHOOL 1
//PK 1
//STEAL 1
PKCOST 0
RECOMMEND 1
RAINBOWRACE 1
SECRETROOM 1
GUILDCOMBAT1TO1 1
NO_POSTBOX
EVE_NO_POSTBOX
Hab zum testen noch EVE_NO_POSTBOX dazu gemacht aber nichts..xD
07/13/2011 12:45 Sedrika#9
Zeig mal die Source abschnitte, die du gesetzt hast.
07/13/2011 12:51 Deda94#10
puhh k...

VersionCommon.h
Code:
#define        __NO_POSTBOX

WorldServer.cpp

Code:
BOOL Script( LPCSTR lpszFileName )
{
	g_eLocal.SetState( EVE_RESPAWN, 1 );

	CScanner s;
	if( s.Load( lpszFileName ) == FALSE)
	{
		Error("Fail to open file - %s", lpszFileName );
		return FALSE;
	}

	[B]#ifdef __NO_POSTBOX[/B]
        else if ( s.Token == "NO_POSTBOX" )
        {
            g_eLocal.SetState( EVE_NO_POSTBOX, 1 );
        }
	[B]#endif // __NO_POSTBOX[/B]  

	s.GetToken();
flyffevent.h
Code:
enum
{
	EVE_0401A, EVE_18, ENABLE_GUILD_INVENTORY,
	EVE_GUILDWAR,
	EVE_SCHOOL, EVE_SCHOOL_BATTLE,
	EVE_NOFLYMONSTER, // ºñÇà ¸ó½ºÅÍ Á¦°Å 
	EVE_NODARKON, // ´ÙÄÜ Á¦°Å 
	EVE_NOGUILD, // ±æµå Á¦°Å 
	EVE_WORMON,
	EVE_RESPAWN,
	EVE_PK,
	EVE_PKCOST,
	EVE_STEAL,
	EVE_EVENT0913,
	EVE_GUILDCOMBAT,
	[B]#ifdef __NO_POSTBOX[/B]
    EVE_NO_POSTBOX,
[B]#endif // __NO_POSTBOX  [/B]
	EVE_DROPITEMREMOVE,
	EVE_EVENT1206,
	EVE_EVENT1219,
	EVE_EVENT0127,
	EVE_EVENT0214,
worldfile.cpp
Code:
BOOL CWorld::IsUsableDYO( CObj* pObj )
{
	if( pObj->GetType() == OT_MOVER )
	{
		LPCHARACTER pCharacter	= ( (CMover*)pObj )->GetCharacter();
		if( pCharacter )
		{
			#ifdef __NO_POSTBOX
            // Dont Load Gilden Haus Verwalter
            if( stricmp( pCharacter->m_szKey, "MaFl_GUILDHOUSESALE" ) == 0 )
            {
                if( g_eLocal.GetState( EVE_NO_POSTBOX ) == TRUE )
                    return FALSE;
            }
			#endif // __NO_POSTBOX  
			#ifdef __NO_POSTBOX
            // Dont Load SR Verwalter WESTEN Darkon
            if( stricmp( pCharacter->m_szKey, "MaDa_SecretRoom_WEST" ) == 0 )
            {
                if( g_eLocal.GetState( EVE_NO_POSTBOX ) == TRUE )
                    return FALSE;
            }
			#endif // __NO_POSTBOX  
			#ifdef __NO_POSTBOX
            // Dont Load SR Verwalter OSTEN Flaris
            if( stricmp( pCharacter->m_szKey, "MaFl_SecretRoom_EAST" ) == 0 )
            {
                if( g_eLocal.GetState( EVE_NO_POSTBOX ) == TRUE )
                    return FALSE;
            }
			#endif // __NO_POSTBOX  
			#ifdef __NO_POSTBOX
            // Dont Load Lord Verwalter
            if( stricmp( pCharacter->m_szKey, "MaFl_KINGAIDE" ) == 0 )
            {
                if( g_eLocal.GetState( EVE_NO_POSTBOX ) == TRUE )
                    return FALSE;
            }
			#endif // __NO_POSTBOX
			#ifdef __NO_POSTBOX
            // Dont Load Tower Typie
            if( stricmp( pCharacter->m_szKey, "MaFl_HEAVENMAN" ) == 0 )
            {
                if( g_eLocal.GetState( EVE_NO_POSTBOX ) == TRUE )
                    return FALSE;
            }
			#endif // __NO_POSTBOX
<- mehrere NPC's
07/13/2011 13:04 Sedrika#11
Wieso machst du eine Definition bei allen NPC's ?

in Worlfile.cpp füg das ein:

Quote:
if( stricmp( pCharacter->m_szKey, "MaFl_Postbox" ) == 0 )
{
if( g_eLocal.GetState( EVE_NO_POSTBOX ) == TRUE )
return FALSE;
}
07/13/2011 22:12 Deda94#12
Sagen wirs so ich kann bei einem NPC der dort schon war TRUE hinschreiben und dann klappt es, aber neue NPC's adden will einfach nicht klappen >.<

€: Nur zur info - Problem besteht weiterhin xD