Register for your free account! | Forgot your password?

You last visited: Today at 05:02

  • 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 07/21/2013, 11:15   #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 07/21/2013, 12:09   #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 07/21/2013, 14:50   #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 07/21/2013, 15:44   #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 07/21/2013, 15:46   #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 07/21/2013, 17:40   #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 LNK11201 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@Zreferenced in function "public: __thiscall CDPSrvr::CDPSrvr(void)" (??0CDPSrvr@@QAE@XZ
User.h:
PHP Code:
#ifdef __GUILD_HOUSE_MIDDLE
public:
    
void    AddGuildHouseTenderMainWndmap<OBJIDchar*>& mapGHList );
    
void    AddGuildHouseTenderInfoWndOBJID objGHIdint nTenderMinPenya__int64 nTenderPenyavector<DWORD>& vecGuildId );
    
void    AddGuildHouseTenderResultOBJID objGHIdBOOL bResult );
#endif // __GUILD_HOUSE_MIDDLE

#ifdef __LOOKCHANGE
public:
    
void    AddLookChangeDWORD dwIDDWORD dwLook );
#endif

#ifdef    __COLOSSEUM
public:
    
void    SendColosseumEnter();
    
void    SendColosseumStartint nTime );
    
void    SendColosseumReady1int nTimeBYTE nStage );
    
void    SendColosseumReady2int nTime );
    
void    SendColosseumEndMatchBOOL bWinint nTime );
#endif //__COLOSSEUM 

DpSrvr.cpp
PHP Code:
#ifdef __GUILD_HOUSE_MIDDLE
    
ON_MSGPACKETTYPE_GUILDHOUSE_TENDER_MAINWNDOnGuildHouseTenderMainWnd );
    
ON_MSGPACKETTYPE_GUILDHOUSE_TENDER_INFOWNDOnGuildHouseTenderInfoWnd );
    
ON_MSGPACKETTYPE_GUILDHOUSE_TENDER_JOINOnGuildHouseTenderJoin );
#endif // __GUILD_HOUSE_MIDDLE

#ifdef __LOOKCHANGE
    
ON_MSGPACKETTYPE_LOOKCHANGEOnLookChange );
#endif

#ifdef    __COLOSSEUM
    
ON_MSGPACKETTYPE_COLOSSEUMOnColosseum );
#endif // __COLOSSEUM 
Rodopushin is offline  
Old 07/21/2013, 18:31   #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 LNK11201 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@Zreferenced in function "public: __thiscall CDPSrvr::CDPSrvr(void)" (??0CDPSrvr@@QAE@XZ
User.h:
PHP Code:
#ifdef __GUILD_HOUSE_MIDDLE
public:
    
void    AddGuildHouseTenderMainWndmap<OBJIDchar*>& mapGHList );
    
void    AddGuildHouseTenderInfoWndOBJID objGHIdint nTenderMinPenya__int64 nTenderPenyavector<DWORD>& vecGuildId );
    
void    AddGuildHouseTenderResultOBJID objGHIdBOOL bResult );
#endif // __GUILD_HOUSE_MIDDLE

#ifdef __LOOKCHANGE
public:
    
void    AddLookChangeDWORD dwIDDWORD dwLook );
#endif

#ifdef    __COLOSSEUM
public:
    
void    SendColosseumEnter();
    
void    SendColosseumStartint nTime );
    
void    SendColosseumReady1int nTimeBYTE nStage );
    
void    SendColosseumReady2int nTime );
    
void    SendColosseumEndMatchBOOL bWinint nTime );
#endif //__COLOSSEUM 

DpSrvr.cpp
PHP Code:
#ifdef __GUILD_HOUSE_MIDDLE
    
ON_MSGPACKETTYPE_GUILDHOUSE_TENDER_MAINWNDOnGuildHouseTenderMainWnd );
    
ON_MSGPACKETTYPE_GUILDHOUSE_TENDER_INFOWNDOnGuildHouseTenderInfoWnd );
    
ON_MSGPACKETTYPE_GUILDHOUSE_TENDER_JOINOnGuildHouseTenderJoin );
#endif // __GUILD_HOUSE_MIDDLE

#ifdef __LOOKCHANGE
    
ON_MSGPACKETTYPE_LOOKCHANGEOnLookChange );
#endif

#ifdef    __COLOSSEUM
    
ON_MSGPACKETTYPE_COLOSSEUMOnColosseum );
#endif // __COLOSSEUM 


DPSrvr.cpp Eintrag vergessen.
i33zGames is offline  
Thanks
1 User
Old 07/21/2013, 18:53   #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 07/21/2013, 20:06   #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 07/21/2013, 20:14   #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 07/22/2013, 07:48   #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 07/23/2013, 01:13   #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
    
{
        
AddMenuMMI_BEAUTYSHOP_SKIN );
        
AddMenuMMI_LOOKCHANGE ); 
                  
        
SetImage
        
(
        
IDS_CHARACTER_INC_000628
        
);
    }

    
SetName
    
(
    
IDS_CHARACTER_INC_000629
    
);

Er findet MMI_LOOKCHANGE aber nicht.

PHP Code:
20137/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_DELETEpLook );
                
pLook = new CWndLookChange();
                
pLook->Initialize();
            }
            break;
#endif 
Rodopushin is offline  
Old 07/23/2013, 02:26   #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 07/23/2013, 03:15   #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 07/23/2013, 06:53   #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 05:03.


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.