Register for your free account! | Forgot your password?

You last visited: Today at 01:32

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Lookchange

Discussion on Lookchange within the Flyff PServer Guides & Releases forum part of the Flyff Private Server category.

Reply
 
Old   #16
 
elite*gold: 0
Join Date: Apr 2013
Posts: 511
Received Thanks: 431
Quote:
Originally Posted by Velmore View Post
Was haben bitte Texte in der DefineNeuz zu suchen?

Die TID_MMI Sachen gehören in die DefineText.h
Is ja nich so als könnte man es reinpacken wo man möchte, ne?

Item ID's hab ich uch schon (übersich halber) in die defineWorld.h geschrieben, men jungchen.

Also wenn ich dass richtig verstehe, dass soll also dass "Model Change" von V19 sein? richtig? nadan legen wir mal los mit "Kritisieren", und zwar bei dem unteren Slot wo dass ergebniss angezeigt wird gibt es auch noch ein Tooltip, dann: wer braucht sowas? ich finde dass verwirrt nur andere.
Wanetrain is offline  
Old   #17
 
elite*gold: 10
Join Date: Feb 2011
Posts: 1,760
Received Thanks: 501
Quote:
Originally Posted by Wanetrain View Post
Is ja nich so als könnte man es reinpacken wo man möchte, ne?

Item ID's hab ich uch schon (übersich halber) in die defineWorld.h geschrieben, men jungchen.
Joar aber ich denke nicht das Killian so ne Plan hat. Dann sollte er es in der DefineText.h definieren.
Velmore is offline  
Old   #18
 
elite*gold: 0
Join Date: Jun 2013
Posts: 166
Received Thanks: 259
Code:
BOOL CWndLookChange::SetItem(CItemElem *pItem)
{
	if( !pItem )
		return FALSE;
	CItemElem **ppItemTarget = NULL;
	int nMsg = IsValidItem(pItem);
	if( m_pItemDest )
	{
		if( pItem->m_dwItemId == m_pItemDest->m_dwItemId )
			return FALSE;
		if( nMsg == -1 )
		{

			if( pItem->GetProp()->dwItemKind3 == m_pItemDest->GetProp()->dwItemKind3 
				&& (m_pItemDest->GetProp()->dwItemSex == pItem->GetProp()->dwItemSex 
					|| pItem->GetProp()->dwItemSex == SEX_SEXLESS)
				)
			{
				ppItemTarget = &m_pItemSource;
				m_pStart->EnableWindow();
			}else
				nMsg = TID_MMI_LOOKCHANGE07;
		}
	}else{
		if( nMsg == -1 )
		{
			ppItemTarget = &m_pItemDest;
			if( m_pItemSource )
			{
				m_pItemSource->SetExtra(0);
				m_pItemSource = NULL;
			}
		}
	}
	if( ppItemTarget )
	{
		if( *ppItemTarget )
			(*ppItemTarget)->SetExtra(0);
		*ppItemTarget = pItem;
		(*ppItemTarget)->SetExtra(1);
	}
	if( nMsg != -1 )
	{
		g_WndMng.PutDefinedString(nMsg);
		return FALSE;
	}
	return TRUE;

}
Hier der Teil wo ich etwas auskommentiert habe.

Code:
void CWndLookChange::OnMouseWndSurface(CPoint point)
{
	if( m_pRectDest->PtInRect(point) && m_pItemDest )
	{
		PUT_TOOL_TIP(*m_pRectDest,point,m_pItemDest);
	}else if( m_pRectSource->PtInRect(point) && m_pItemSource )
	{
		PUT_TOOL_TIP(*m_pRectSource,point,m_pItemSource);
	}else if( m_pRectResult->PtInRect(point) )
	{
		CItemElem itemElem = *m_pItemDest;
		itemElem.SetLook(m_pItemSource->m_dwItemId);
		PUT_TOOL_TIP(*m_pRectResult,point,&itemElem);
	}
	CWndNeuz::OnMouseWndSurface(point);
}
Das is der Tooltip, ka obs aufm Offi auch so ist, sieht aber logisch aus.

Das System ist auf V19 Resourcen ausgelegt, weil es ja auch ein V19 System ist, also sollte klar sein, dass das Item und die jeweiligen Texte definiert sind.

Quote:
Originally Posted by Wanetrain View Post
dann: wer braucht sowas? ich finde dass verwirrt nur andere.
Das ist ein billiger Abklatsch vom moggen von wow, ich finds recht cool weil man da, wenn einem das Bloody Model besser als das seiner momentanen Waffe gefällt, das Model übertragen kann, klingt eig logisch, oder?

@OT: Die Datei heißt defineText.h, weil da die TIDs, die Text IDs gespeichert werden, warum sollte man die in der defineWorld.h speichern?^^
WurstbrotQT is offline  
Thanks
1 User
Old   #19
 
elite*gold: 4
Join Date: Mar 2010
Posts: 3,148
Received Thanks: 1,535
Es gibt noch 2 Dinge in der neuen Spec_Item von v19 für Modelchange, wegen offi like halten.
Jopsi332 is offline  
Old   #20
 
elite*gold: 0
The Black Market: 814/1/0
Join Date: Jan 2013
Posts: 22,407
Received Thanks: 8,238
:/
Deadline. is offline  
Old   #21
 
elite*gold: 7
Join Date: Oct 2007
Posts: 431
Received Thanks: 253
Danke! Soweit so gut. Nun habe ich jedoch 2 neue:

PHP Code:
WorldServer fatal error LNK1120: 1 unresolved externals
WorldServer error LNK2019
: unresolved external symbol "private: void __thiscall CDPSrvr::OnLookChange(class CAr &,unsigned long,unsigned long,unsigned char *,unsigned long)" (?OnLookChange@CDPSrvr@@AAEXAAVCAr@@KKPAEK@Z) referenced in function "public: __thiscall CDPSrvr::CDPSrvr(void)" (??0CDPSrvr@@QAE@XZ) 
User.h:
PHP Code:
#ifdef __GUILD_HOUSE_MIDDLE
public:
    
void    AddGuildHouseTenderMainWnd( map<OBJID, char*>& mapGHList );
    
void    AddGuildHouseTenderInfoWnd( OBJID objGHId, int nTenderMinPenya, __int64 nTenderPenya, vector<DWORD>& vecGuildId );
    
void    AddGuildHouseTenderResult( OBJID objGHId, BOOL bResult );
#endif // __GUILD_HOUSE_MIDDLE

#ifdef __LOOKCHANGE
public:
    
void    AddLookChange( DWORD dwID, DWORD dwLook );
#endif

#ifdef    __COLOSSEUM
public:
    
void    SendColosseumEnter();
    
void    SendColosseumStart( int nTime );
    
void    SendColosseumReady1( int nTime, BYTE nStage );
    
void    SendColosseumReady2( int nTime );
    
void    SendColosseumEndMatch( BOOL bWin, int nTime );
#endif //__COLOSSEUM 

DpSrvr.cpp
PHP Code:
#ifdef __GUILD_HOUSE_MIDDLE
    
ON_MSG( PACKETTYPE_GUILDHOUSE_TENDER_MAINWND, OnGuildHouseTenderMainWnd );
    
ON_MSG( PACKETTYPE_GUILDHOUSE_TENDER_INFOWND, OnGuildHouseTenderInfoWnd );
    
ON_MSG( PACKETTYPE_GUILDHOUSE_TENDER_JOIN, OnGuildHouseTenderJoin );
#endif // __GUILD_HOUSE_MIDDLE

#ifdef __LOOKCHANGE
    
ON_MSG( PACKETTYPE_LOOKCHANGE, OnLookChange );
#endif

#ifdef    __COLOSSEUM
    
ON_MSG( PACKETTYPE_COLOSSEUM, OnColosseum );
#endif // __COLOSSEUM 
Rodopushin is offline  
Old   #22
 
elite*gold: 0
Join Date: Feb 2013
Posts: 160
Received Thanks: 151
Quote:
Originally Posted by xXXKillianXXx View Post
Danke! Soweit so gut. Nun habe ich jedoch 2 neue:

PHP Code:
WorldServer fatal error LNK1120: 1 unresolved externals
WorldServer error LNK2019
: unresolved external symbol "private: void __thiscall CDPSrvr::OnLookChange(class CAr &,unsigned long,unsigned long,unsigned char *,unsigned long)" (?OnLookChange@CDPSrvr@@AAEXAAVCAr@@KKPAEK@Z) referenced in function "public: __thiscall CDPSrvr::CDPSrvr(void)" (??0CDPSrvr@@QAE@XZ) 
User.h:
PHP Code:
#ifdef __GUILD_HOUSE_MIDDLE
public:
    
void    AddGuildHouseTenderMainWnd( map<OBJID, char*>& mapGHList );
    
void    AddGuildHouseTenderInfoWnd( OBJID objGHId, int nTenderMinPenya, __int64 nTenderPenya, vector<DWORD>& vecGuildId );
    
void    AddGuildHouseTenderResult( OBJID objGHId, BOOL bResult );
#endif // __GUILD_HOUSE_MIDDLE

#ifdef __LOOKCHANGE
public:
    
void    AddLookChange( DWORD dwID, DWORD dwLook );
#endif

#ifdef    __COLOSSEUM
public:
    
void    SendColosseumEnter();
    
void    SendColosseumStart( int nTime );
    
void    SendColosseumReady1( int nTime, BYTE nStage );
    
void    SendColosseumReady2( int nTime );
    
void    SendColosseumEndMatch( BOOL bWin, int nTime );
#endif //__COLOSSEUM 

DpSrvr.cpp
PHP Code:
#ifdef __GUILD_HOUSE_MIDDLE
    
ON_MSG( PACKETTYPE_GUILDHOUSE_TENDER_MAINWND, OnGuildHouseTenderMainWnd );
    
ON_MSG( PACKETTYPE_GUILDHOUSE_TENDER_INFOWND, OnGuildHouseTenderInfoWnd );
    
ON_MSG( PACKETTYPE_GUILDHOUSE_TENDER_JOIN, OnGuildHouseTenderJoin );
#endif // __GUILD_HOUSE_MIDDLE

#ifdef __LOOKCHANGE
    
ON_MSG( PACKETTYPE_LOOKCHANGE, OnLookChange );
#endif

#ifdef    __COLOSSEUM
    
ON_MSG( PACKETTYPE_COLOSSEUM, OnColosseum );
#endif // __COLOSSEUM 


DPSrvr.cpp Eintrag vergessen.
i33zGames is offline  
Thanks
1 User
Old   #23
 
elite*gold: 7
Join Date: Oct 2007
Posts: 431
Received Thanks: 253
Aiaiai ich blinder Fisch, habe tatsächlich einen Code vergessen, nun ist alles fehlerfrei abgelaufen. Danke nochmal an alle und auch an den TE, der sich trotzdem gemeldet hat, auch wenn er eigentlich keinen Support geben wollte.

Kompilieren fehlerfrei abgelaufen, nun komme ich nichtmehr in den World rein. Werde beim Certifier disconnectet.

Sun Jul 21 19:07:03 2013
0 - CERT_CONNECTED
Sun Jul 21 19:07:03 2013
2 - CERT_SRVR_LIST
Sun Jul 21 19:07:03 2013
4 - LOGIN_CONNECTED
Sun Jul 21 19:07:03 2013
8 - LOGIN_CACHE_ADDR
Sun Jul 21 19:07:03 2013
6 - LOGIN_PLAYER_LIST
Sun Jul 21 19:07:03 2013
15 - CERT_DISCONNECT
network error:64
Sun Jul 21 19:07:04 2013
9 - CACHE_CONNECTED
Sun Jul 21 19:07:05 2013
11 - LOGIN_REQ_PREJOIN
Sun Jul 21 19:07:05 2013
12 - LOGIN_ACK_PREJOIN
Rodopushin is offline  
Old   #24
 
elite*gold: 0
Join Date: Mar 2008
Posts: 665
Received Thanks: 230
The armor appear invisible in your login screen?
alfredico is offline  
Old   #25
 
elite*gold: 7
Join Date: Oct 2007
Posts: 431
Received Thanks: 253
Quote:
Originally Posted by alfredico View Post
The armor appear invisible in your login screen?
No, I compiled the servers and the Neuz.exe without errors.
Then I start Account - World server, create a new account and i don't can login to the worldserver. I don't make modelchange, (and i can't make modelchange, because i can't login^^).

The armor is normal.

Error:
2013/ 7/21 23:57:25
OnJoin(): Test1, 4

Edit:
Es liegt am WorldServer, folgende Dateien können die Ursache sein:
- DpSrvr.cpp
- DpSrvr.h
- User.cpp
- User.h

Zumindest kam ich wieder ins Spiel, als ich den World Server ausgetauscht habe.
Könnte es an den Files liegen, dass es nicht funktioniert? Ich verwende die ****** Flyff Files

Greetings,
Killian
Rodopushin is offline  
Old   #26
 
elite*gold: 0
Join Date: Jun 2013
Posts: 166
Received Thanks: 259
Quote:
Originally Posted by alfredico View Post
The armor appear invisible in your login screen?
This is caused by wrong/old database entries.
You could fix it by setting the Look to 0xFFFFFFFF when the Look you try to apply to the item is 0, because the GetIntPaFromStr returns 0 if the location is higher then the length of the given string.

Obj.h:
Code:
#ifdef __LOOKCHANGE
	void SetLook(DWORD dwId){ m_dwLookId = (dwId == 0 ? NULL_ID : dwId); }
	DWORD GetLook(){ return m_dwLookId; }
	bool IsChangedLook(){ return m_dwLookId != NULL_ID; }
#endif


Quote:
Originally Posted by xXXKillianXXx View Post
No, I compiled the servers and the Neuz.exe without errors.
Then I start Account - World server, create a new account and i don't can login to the worldserver. I don't make modelchange, (and i can't make modelchange, because i can't login^^).

The armor is normal.

Error:
2013/ 7/21 23:57:25
OnJoin(): Test1, 4

Edit:
Es liegt am WorldServer, folgende Dateien können die Ursache sein:
- DpSrvr.cpp
- DpSrvr.h
- User.cpp
- User.h

Zumindest kam ich wieder ins Spiel, als ich den World Server ausgetauscht habe.
Könnte es an den Files liegen, dass es nicht funktioniert? Ich verwende die Bloody Flyff Files

Greetings,
Killian
Irgendetwas läuft beim serialisieren des Movers schief. Das könnte daran liegen, dass du vergessen hast in einer der VersionCommon.h __LOOKCHANGE zu definieren.
Ich denke mal im DB-Server, weil sonst auch nichts mit dem normalen WS laufen würde.




EDIT:
Auf neusten Parameter in der Spec_Item.txt angepasst.

Die aktuelle Version steht nun auch zum Download bereit.

DPSrvr.cpp:
Code:
#ifdef __LOOKCHANGE
void CDPSrvr::OnLookChange(CAr &ar, DPID dpidCache, DPID dpidUser, LPBYTE, u_long)
{
	CUser *pUser = g_UserMng.GetUser(dpidCache, dpidUser);
	if( IsInvalidObj(pUser) )
		return;
	CItemElem *pDest, *pSrc;
	DWORD dwIdSrc, dwIdDest;
	ar >> dwIdSrc >> dwIdDest;

	pSrc = pUser->m_Inventory.GetAtId(dwIdSrc);
	pDest = pUser->m_Inventory.GetAtId(dwIdDest);

	if(!IsUsableItem(pSrc) || !IsUsableItem(pDest))
	{
		pUser->AddDefinedText(TID_MMI_LOOKCHANGE06);
		return;
	}
	if(pSrc->IsChangedLook() || pDest->IsChangedLook())
	{
		pUser->AddDefinedText(TID_MMI_LOOKCHANGE01);
		return;
	}
	if((!pSrc->GetProp() || !pDest->GetProp()) || pDest->GetProp()->dwItemKind3 != pSrc->GetProp()->dwItemKind3 )
	{
		pUser->AddDefinedText(TID_MMI_LOOKCHANGE07);
		return;
	}
	if(!pSrc->GetProp()->bIsLooksChangeMaterial || !pDest->GetProp()->bCanLooksChange)
	{
		pUser->AddDefinedText(TID_MMI_LOOKCHANGE08);
		return;
	}

	pDest->SetLook(pSrc->m_dwItemId);
	pUser->RemoveItem((BYTE)pSrc->m_dwObjId, 1);
	pUser->AddLookChange( pDest->m_dwObjId, pDest->GetLook() );
	pUser->AddDefinedText(TID_MMI_LOOKCHANGE04);
}
#endif

WndGold.cpp:
Code:
int CWndLookChange::IsValidItem(CItemElem *pItem)
{
	ItemProp *prop = pItem->GetProp();
	if( !prop )
		return TID_MMI_LOOKCHANGE01;
	if( pItem->IsChangedLook() )
		return TID_MMI_LOOKCHANGE01;
	return -1;
}
BOOL CWndLookChange::SetItem(CItemElem *pItem)
{
	if( !pItem )
		return FALSE;
	CItemElem **ppItemTarget = NULL;
	int nMsg = IsValidItem(pItem);
	if( m_pItemDest )
	{
		if( pItem->m_dwItemId == m_pItemDest->m_dwItemId )
			return FALSE;
		if( nMsg == -1 )
		{
			if( pItem->GetProp()->bIsLooksChangeMaterial )
			{
				if( pItem->GetProp()->dwItemKind3 == m_pItemDest->GetProp()->dwItemKind3 
					&& (m_pItemDest->GetProp()->dwItemSex == pItem->GetProp()->dwItemSex 
						|| pItem->GetProp()->dwItemSex == SEX_SEXLESS)
					)
				{
					ppItemTarget = &m_pItemSource;
					m_pStart->EnableWindow();
				}else
					nMsg = TID_MMI_LOOKCHANGE07;
			}else
				nMsg = TID_MMI_LOOKCHANGE08;
		}
	}else{
		if( nMsg == -1 )
		{
			if( pItem->GetProp()->bCanLooksChange )
			{
				ppItemTarget = &m_pItemDest;
				if( m_pItemSource )
				{
					m_pItemSource->SetExtra(0);
					m_pItemSource = NULL;
				}
			}else
				nMsg = TID_MMI_LOOKCHANGE;
		}
	}
	if( ppItemTarget )
	{
		if( *ppItemTarget )
			(*ppItemTarget)->SetExtra(0);
		*ppItemTarget = pItem;
		(*ppItemTarget)->SetExtra(1);
	}
	if( nMsg != -1 )
	{
		g_WndMng.PutDefinedString(nMsg);
		return FALSE;
	}
	return TRUE;

}
WurstbrotQT is offline  
Thanks
1 User
Old   #27
 
elite*gold: 7
Join Date: Oct 2007
Posts: 431
Received Thanks: 253
Ich habe nun die beiden Dateien ausgetauscht bzw. den Code ausgewechselt und nun komme ich auch in den World rein ohne Probleme.

Habe bei der character.inc folgendes hinzugefügt:
PHP Code:
MaFl_FaceOff
{
    
setting
    
{
        
AddMenu( MMI_BEAUTYSHOP_SKIN );
        
AddMenu( MMI_LOOKCHANGE ); 
                  
        
SetImage
        
(
        
IDS_CHARACTER_INC_000628
        
);
    }

    
SetName
    
(
    
IDS_CHARACTER_INC_000629
    
);
} 
Er findet MMI_LOOKCHANGE aber nicht.

PHP Code:
2013/ 7/23   01:05:51   FileName character.inc(977) : MMI_LOOKCHANGE Not Found. : MMI_LOOKCHANGE ); 

                  

        
SetImage

        
(

        
IDS_CHARACTER_INC_00 


WndWorld.cpp:
PHP Code:
#ifdef __LOOKCHANGE
        
case MMI_LOOKCHANGE:
            {
                
CWndLookChange *pLook = (CWndLookChange*)g_WndMng.GetWndBase(APP_LOOKCHANGE);
                if( 
pLook )
                    
SAFE_DELETE( pLook );
                
pLook = new CWndLookChange();
                
pLook->Initialize();
            }
            break;
#endif 
Rodopushin is offline  
Old   #28
 
TrøublêMakêr's Avatar
 
elite*gold: 51
Join Date: Sep 2012
Posts: 1,141
Received Thanks: 575
Gehört in DefineNeuz.h (Resource). Beachte dass du die selbe nummer angeben musst wie in Source. Dann gehört in TID_MMI_MODELCHANGE in Definetext.h und Textclient.txt und Textclient.txt.txt Name setzen!
TrøublêMakêr is offline  
Thanks
1 User
Old   #29
 
elite*gold: 7
Join Date: Oct 2007
Posts: 431
Received Thanks: 253
Habe Eintrag in defineneuz.h gemacht (MMI_LOOKCHANGE): Resource und Source, auf gleiche Nummer geachtet.

defineText.h habe ich TID_MMI_LOOKCHANGE ebenso Resource wie auch in der Source angegeben.

Bei der textClient.inc und textClient.txt habe ich ebenso alles überarbeitet wie du gesagt hast. Auch Resource & Source wieder

--------------------------------------------------------------

Nun wird bei mir ingame als Tab angezeigt "????????.????? ??????" etc.
Aber in der textClient.inc & textClient.txt.txt steht es drin.
Wenn ich draufklicke, passiert nix.

Eine textClient.txt besitze ich nicht.
Rodopushin is offline  
Old   #30
 
elite*gold: 0
Join Date: Oct 2012
Posts: 26
Received Thanks: 12
Dann Poste doch mal deine Einträge, dann kann dir bestimmt jemand besser Helfen.
Blend™ is offline  
Reply




All times are GMT +1. The time now is 01:33.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.