|
You last visited: Today at 11:03
Advertisement
[Release] V17 Char Select by Crasy
Discussion on [Release] V17 Char Select by Crasy within the Flyff PServer Guides & Releases forum part of the Flyff Private Server category.
02/20/2012, 14:21
|
#1
|
elite*gold: 0
Join Date: Sep 2010
Posts: 209
Received Thanks: 94
|
[Release] V17 Char Select by Crasy
Jo, da nicht alle auf Mcore aktiv sind:
Quote:
Ja, Hallu. 
Ich Release mal das V17 Char Select, warum? weil schöner als das alte ist ;>
Natürlich werden hier wieder welche sagen "C&Pler" bla, mir latte.
Ansich ist es nicht viel Arbeit, aber ich würd euch raten es ein zu bauen für die Server, die sich Full V17+ nennen, denn ihr seid es nicht.
Meines wissens nach ist es noch nicht Released und es hat auch noch kein Server, also kommt der Thread hier.
Was benötigt ihr?
- FlyFF Source
- Mind. v17 ResData
- Brain ( Wobei ich ausgehen, wenn ihr das Thread lesen tut, das ihr keins habt )
Fangen wir an!
Öffnet die Neuz Source ( Nur Neuz! ) und sucht die datei "WndTitle.cpp" im Interface/WndTitle/ ist diese Datei drin, anschließend öffnet ihr auch noch die Header Datei dazu "WndTitle.h".
In der WndTitle.cpp sucht ihr folgendes:
Code:
CWndSelectChar::CWndSelectChar()
Addet darin das:
Code:
#if __VER >= 17
m_bFlash = TRUE;
m_nFlashAlpha = 0;
m_nChars = 0;
#endif
Anschließend sucht ihr:
Code:
BOOL CWndSelectChar::Process()
Addet darin:
Code:
#if __VER >= 17
if( m_bFlash == TRUE )
{
m_nFlashAlpha += 1;
if( m_nFlashAlpha > 40 )
{
m_nFlashAlpha = 40;
m_bFlash = FALSE;
}
}
else
{
m_nFlashAlpha -= 1;
if( m_nFlashAlpha < 0 )
{
m_nFlashAlpha = 0;
m_bFlash = TRUE;
}
}
m_nChars = 0;
if( g_Neuz.m_apPlayer[0] != NULL )
m_nChars ++;
if( g_Neuz.m_apPlayer[1] != NULL )
m_nChars ++;
if( g_Neuz.m_apPlayer[2] != NULL )
m_nChars ++;
CWndStatic* pWndStatic = (CWndStatic*)GetDlgItem( WIDC_ST_CHARCOUNT );
char cStatic[10];
sprintf( cStatic, "%d", m_nChars );
pWndStatic->SetTitle( cStatic );
#endif
nun geht ihr zu:
Code:
void CWndSelectChar::OnDraw( C2DRender* p2DRender )
Diese funktion ersetzt ihr vollständig durch das hier:
Code:
void CWndSelectChar::OnDraw( C2DRender* p2DRender )
{
CWndButton* pWndAccept = (CWndButton*)GetDlgItem( WIDC_ACCEPT );
CWndButton* pWndCreate = (CWndButton*)GetDlgItem( WIDC_CREATE );
CWndButton* pWndDelete = (CWndButton*)GetDlgItem( WIDC_DELETE );
#if __VER >= 17
CWndStatic* pWndStaticChar[4];
pWndStaticChar[1] = (CWndStatic*)GetDlgItem( WIDC_ST_CHARNAME01 );
pWndStaticChar[2] = (CWndStatic*)GetDlgItem( WIDC_ST_CHARNAME02 );
pWndStaticChar[3] = (CWndStatic*)GetDlgItem( WIDC_ST_CHARNAME03 );
CWndButton* pWndButton1 = (CWndButton*)GetDlgItem( WIDC_BT_LEFT );
CWndButton* pWndButton2 = (CWndButton*)GetDlgItem( WIDC_BT_RIGHT );
LPWNDCTRL lpCustom[3];
lpCustom[0] = GetWndCtrl( WIDC_CUSTOM1 );
lpCustom[1] = GetWndCtrl( WIDC_CUSTOM2 );
lpCustom[2] = GetWndCtrl( WIDC_CUSTOM3 );
LPWNDCTRL lpStatic[3];
lpStatic[0] = GetWndCtrl( WIDC_ST_CHARNAME01 );
lpStatic[1] = GetWndCtrl( WIDC_ST_CHARNAME02 );
lpStatic[2] = GetWndCtrl( WIDC_ST_CHARNAME03 );
pWndButton1->EnableWindow( false );
pWndButton2->EnableWindow( false );
pWndButton1->SetVisible( false );
pWndButton2->SetVisible( false );
#endif
CRect rect;
for( int i = 0; i < MAX_CHARACTER_LIST; i++ )
{
rect = m_aRect[ i ];
if( g_Neuz.m_apPlayer[i] != NULL )
{
if( g_WndMng.GetWndBase( APP_2ND_PASSWORD_NUMBERPAD ) == NULL )
{
POINT point = GetMousePoint();
if( m_aRect[ i ].PtInRect( point ) )
{
CRect rectHittest = m_aRect[ i ];
CPoint point2 = point;
ClientToScreen( &point2 );
ClientToScreen( rectHittest );
g_WndMng.PutToolTip_Character( i, point2, &rectHittest );
}
}
if( m_nSelectCharacter == i )
{
#if __VER >= 17
CRect rectNew;
CRect rectFlash;
rectNew.top = lpCustom[i]->rect.top;
rectNew.left = lpCustom[i]->rect.left;
rectNew.bottom = lpCustom[i]->rect.bottom;
rectNew.right = lpCustom[i]->rect.right;
rectFlash.top = lpStatic[i]->rect.top + 3;
rectFlash.left = lpStatic[i]->rect.left + 2;
rectFlash.bottom = lpStatic[i]->rect.bottom - 3;
rectFlash.right = lpStatic[i]->rect.right - 2;
// Background
p2DRender->RenderFillRect(rectNew, D3DCOLOR_ARGB( 20, 80, 250, 80 ) );
// Flash
p2DRender->RenderFillRect(rectFlash, D3DCOLOR_ARGB( m_nFlashAlpha, 80, 250, 80 ) );
#else
CRect rectTemp = rect;
rectTemp.top += 10;
rectTemp.bottom -= 10;
rectTemp.left += i;
rectTemp.right += i;
p2DRender->RenderFillRect(rectTemp, D3DCOLOR_ARGB( 20, 80, 250, 80 ) );
#endif
#if __VER >= 17
pWndStaticChar[i+1]->SetTitle( g_Neuz.m_apPlayer[i]->GetName() );
switch( i )
{
case 0: pWndStaticChar[1]->m_dwColor = 0xFFCA6544, pWndStaticChar[2]->m_dwColor = 0xFF666666, pWndStaticChar[3]->m_dwColor = 0xFF666666; break;
case 1: pWndStaticChar[1]->m_dwColor = 0xFF666666, pWndStaticChar[2]->m_dwColor = 0xFFCA6544, pWndStaticChar[3]->m_dwColor = 0xFF666666; break;
case 2: pWndStaticChar[1]->m_dwColor = 0xFF666666, pWndStaticChar[2]->m_dwColor = 0xFF666666, pWndStaticChar[3]->m_dwColor = 0xFFCA6544; break;
}
#else
p2DRender->TextOut( rect.left, rect.bottom + 10, g_Neuz.m_apPlayer[i]->GetName(), 0xffFF0000 );
p2DRender->TextOut( rect.left + 1, rect.bottom + 10, g_Neuz.m_apPlayer[i]->GetName(), 0xffFF0000 );
#endif
}
else
{
#if __VER >= 17
pWndStaticChar[i+1]->SetTitle( g_Neuz.m_apPlayer[i]->GetName() );
#else
p2DRender->TextOut( rect.left, rect.bottom + 10, g_Neuz.m_apPlayer[i]->GetName(), 0xff505050 );
#endif
}
CModelObject* pModel = (CModelObject*)m_pBipedMesh[ i ];
LPDIRECT3DDEVICE9 pd3dDevice = p2DRender->m_pd3dDevice;
pd3dDevice->SetRenderState( D3DRS_ZWRITEENABLE, TRUE );
pd3dDevice->SetRenderState( D3DRS_ZENABLE, TRUE );
pd3dDevice->SetRenderState( D3DRS_CULLMODE, D3DCULL_CCW );
pd3dDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, FALSE );
pd3dDevice->SetRenderState( D3DRS_FILLMODE, D3DFILL_SOLID );
pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_SELECTARG1 );
pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_SELECTARG1 );
pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_SELECTARG1 );
pd3dDevice->SetSamplerState( 0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR );
pd3dDevice->SetSamplerState( 0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR );
pd3dDevice->SetRenderState( D3DRS_AMBIENT, D3DCOLOR_ARGB( 255, 255,255,255) );
pd3dDevice->SetRenderState( D3DRS_ZWRITEENABLE, TRUE );
D3DVIEWPORT9 viewport;
#if __VER >= 17
viewport.X = p2DRender->m_ptOrigin.x + lpCustom[i]->rect.left;
viewport.Y = p2DRender->m_ptOrigin.y + lpCustom[i]->rect.top;
#else
viewport.X = p2DRender->m_ptOrigin.x + rect.left;
viewport.Y = p2DRender->m_ptOrigin.y + rect.top;
#endif
viewport.Width = rect.Width();
viewport.Height = rect.Height();
viewport.MinZ = 0.0f;
viewport.MaxZ = 1.0f;
pd3dDevice->SetViewport(&viewport);
pd3dDevice->Clear(0, NULL, D3DCLEAR_ZBUFFER, 0xffa08080, 1.0f, 0 ) ;
CRect rectViewport( 0, 0, viewport.Width, viewport.Height );
D3DXMATRIX matProj;
D3DXMatrixIdentity( &matProj );
FLOAT fAspect = ((FLOAT)viewport.Width) / (FLOAT)viewport.Height;
D3DXMatrixPerspectiveFovLH( &matProj, D3DX_PI/4.0f, fAspect, CWorld::m_fNearPlane - 0.01f, CWorld::m_fFarPlane );
pd3dDevice->SetTransform( D3DTS_PROJECTION, &matProj );
D3DXMATRIX matView;
D3DXVECTOR3 vecLookAt( 0.0f, 0.0f, 1.0f );
D3DXVECTOR3 vecPos( 0.0f, 0.5f, -3.5f );
D3DXMatrixLookAtLH( &matView, &vecPos, &vecLookAt, &D3DXVECTOR3(0.0f,1.0f,0.0f) );
pd3dDevice->SetTransform( D3DTS_VIEW, &matView );
D3DXMATRIXA16 matWorld;
D3DXMATRIXA16 matScale;
D3DXMATRIXA16 matRot;
D3DXMATRIXA16 matTrans;
D3DXMatrixIdentity(&matScale);
D3DXMatrixIdentity(&matRot);
D3DXMatrixIdentity(&matTrans);
D3DXMatrixIdentity(&matWorld);
D3DXMatrixScaling(&matScale,1.6f,1.6f,1.6f);
D3DXMatrixTranslation(&matTrans,0.0f,-1.15f,0.0f);
D3DXMatrixMultiply(&matWorld,&matWorld,&matScale);
D3DXMatrixMultiply(&matWorld, &matWorld,&matRot);
D3DXMatrixMultiply(&matWorld, &matWorld, &matTrans );
pd3dDevice->SetTransform( D3DTS_WORLD, &matWorld );
pd3dDevice->SetRenderState( D3DRS_ZWRITEENABLE, TRUE );
pd3dDevice->SetRenderState( D3DRS_ZENABLE, TRUE );
pd3dDevice->SetRenderState( D3DRS_FOGENABLE, FALSE );
pd3dDevice->SetRenderState( D3DRS_LIGHTING, FALSE );
::SetLight( FALSE );
::SetFog( FALSE );
SetDiffuse( 1.0f, 1.0f, 1.0f );
SetAmbient( 1.0f, 1.0f, 1.0f );
O3D_ELEMENT *pElem = pModel->GetParts( PARTS_RIDE );
if( pElem && pElem->m_pObject3D )
pModel->TakeOffParts( PARTS_RIDE );
pElem = pModel->GetParts( PARTS_HAIR );
if( pElem && pElem->m_pObject3D )
{
pElem->m_pObject3D->m_fAmbient[0] = g_Neuz.m_apPlayer[i]->m_fHairColorR;
pElem->m_pObject3D->m_fAmbient[1] = g_Neuz.m_apPlayer[i]->m_fHairColorG;
pElem->m_pObject3D->m_fAmbient[2] = g_Neuz.m_apPlayer[i]->m_fHairColorB;
}
D3DXVECTOR4 vConst( 1.0f, 1.0f, 1.0f, 1.0f );
#ifdef __YENV
g_Neuz.m_pEffect->SetVector( g_Neuz.m_hvFog, &vConst );
#else //__YENV
pd3dDevice->SetVertexShaderConstantF( 95, (float*)&vConst, 1 );
#endif //__YENV
::SetTransformView( matView );
::SetTransformProj( matProj );
g_Neuz.m_apPlayer[i]->OverCoatItemRenderCheck(pModel);
// Çï¸äÀÌ ¸Ó¸®Ä«¶ô ³¯·Á¾ßÇϴ°ÍÀ̳Ä? // Àκ¥ÀÌ ¾ø´Â°æ¿ì
DWORD dwId = g_Neuz.m_apPlayer[i]->m_aEquipInfo[PARTS_CAP].dwId;
ItemProp* pItemProp = NULL;
if( dwId != NULL_ID )
{
O3D_ELEMENT* pElement = NULL;
pItemProp = prj.GetItemProp( dwId );
if( pItemProp && pItemProp->dwBasePartsIgnore != -1 )
{
pElement = pModel->SetEffect(pItemProp->dwBasePartsIgnore, XE_HIDE );
}
// ¿ÜÅõÀÇ»óÀ» ÀÔ¾úÀ»°æ¿ì ¸Ó¸®³¯¸±°ÍÀΰ¡ÀÇ ±âÁØÀ» ¿ÜÅõ ¸ðÀÚ¸¦ ±âÁØÀ¸·Î ¹Ù²Û´Ù
dwId = g_Neuz.m_apPlayer[i]->m_aEquipInfo[PARTS_HAT].dwId;
if( dwId != NULL_ID )
{
if( !(g_Neuz.m_apPlayer[i]->m_aEquipInfo[PARTS_HAT].byFlag & CItemElem::expired) )
{
pItemProp = prj.GetItemProp( dwId );
if( pItemProp && pItemProp->dwBasePartsIgnore != -1 )
{
if( pItemProp->dwBasePartsIgnore == PARTS_HEAD )
pModel->SetEffect(PARTS_HAIR, XE_HIDE );
pModel->SetEffect(pItemProp->dwBasePartsIgnore, XE_HIDE );
}
else
{
if( pElement )
pElement->m_nEffect &= ~XE_HIDE;
}
}
}
}
else
{
// ¿ÜÅõÀÇ»óÀ» ÀÔ¾úÀ»°æ¿ì ¸Ó¸®³¯¸±°ÍÀΰ¡ÀÇ ±âÁØÀ» ¿ÜÅõ ¸ðÀÚ¸¦ ±âÁØÀ¸·Î ¹Ù²Û´Ù
dwId = g_Neuz.m_apPlayer[i]->m_aEquipInfo[PARTS_HAT].dwId;
if( dwId != NULL_ID )
{
if( !(g_Neuz.m_apPlayer[i]->m_aEquipInfo[PARTS_HAT].byFlag & CItemElem::expired) )
{
pItemProp = prj.GetItemProp( dwId );
if( pItemProp && pItemProp->dwBasePartsIgnore != -1 )
{
if( pItemProp->dwBasePartsIgnore == PARTS_HEAD )
pModel->SetEffect(PARTS_HAIR, XE_HIDE );
pModel->SetEffect(pItemProp->dwBasePartsIgnore, XE_HIDE );
}
}
}
}
#ifdef __YENV
SetLightVec( D3DXVECTOR3( 0.0f, 0.0f, 1.0f ) );
#endif //__YENV
pModel->Render( p2DRender->m_pd3dDevice, &matWorld );
p2DRender->m_pd3dDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, TRUE );
p2DRender->m_pd3dDevice->SetRenderState( D3DRS_CULLMODE, D3DCULL_NONE );
#if __VER >= 17
viewport.X = p2DRender->m_ptOrigin.x + lpCustom[i]->rect.left;
viewport.Y = p2DRender->m_ptOrigin.y + lpCustom[i]->rect.top;
#else
viewport.X = p2DRender->m_ptOrigin.x + 5;
viewport.Y = p2DRender->m_ptOrigin.y + 5;
#endif
viewport.Width = p2DRender->m_clipRect.Width();
viewport.Height = p2DRender->m_clipRect.Height();
viewport.MinZ = 0.0f;
viewport.MaxZ = 1.0f;
pd3dDevice->SetViewport(&viewport);
}
else
{
#if __VER >= 17
pWndStaticChar[i+1]->SetTitle( "" );
#else
if( m_nSelectCharacter == i )
p2DRender->TextOut( rect.left, rect.bottom + 10, prj.GetText( TID_GAME_WND_SELECT_CHARACTER_EMPTY ), 0xff6060ff );
else
p2DRender->TextOut( rect.left, rect.bottom + 10, prj.GetText( TID_GAME_WND_SELECT_CHARACTER_EMPTY ), 0xff505050 );
#endif
}
if( m_nSelectCharacter == i )
{
if( g_Neuz.m_apPlayer[i] )
{
pWndCreate->EnableWindow( FALSE );
pWndAccept->EnableWindow( TRUE );
pWndDelete->EnableWindow( TRUE );
}
else
{
pWndCreate->EnableWindow( TRUE );
pWndAccept->EnableWindow( FALSE );
pWndDelete->EnableWindow( FALSE );
#if __VER >= 17
switch( i )
{
case 0: pWndStaticChar[1]->m_dwColor = 0xFFCA6544, pWndStaticChar[2]->m_dwColor = 0xFF666666, pWndStaticChar[3]->m_dwColor = 0xFF666666; break;
case 1: pWndStaticChar[1]->m_dwColor = 0xFF666666, pWndStaticChar[2]->m_dwColor = 0xFFCA6544, pWndStaticChar[3]->m_dwColor = 0xFF666666; break;
case 2: pWndStaticChar[1]->m_dwColor = 0xFF666666, pWndStaticChar[2]->m_dwColor = 0xFF666666, pWndStaticChar[3]->m_dwColor = 0xFFCA6544; break;
}
#endif
}
}
}
}
jetzt sucht ihr:
Code:
void CWndSelectChar::OnInitialUpdate()
fügt darin:
Code:
LPWNDCTRL lpCustom[3];
lpCustom[0] = GetWndCtrl( WIDC_CUSTOM1 );
lpCustom[1] = GetWndCtrl( WIDC_CUSTOM2 );
lpCustom[2] = GetWndCtrl( WIDC_CUSTOM3 );
#if __VER >= 17
m_aRect[ i ] = lpCustom[i]->rect;
#else
m_aRect[ i ] = rect;
rect.OffsetRect( 170, 0 );
#endif
ein.
Jetzt seit ihr mit der Schweren Arbeit fertig, nun Speichern und Schließen, jetzt geht ihr in die Head Datei WndTitle.h und sucht nach:
Code:
BEGIN_WNDCLASS( CWndSelectChar )
Darin addet ihr:
Code:
#if __VER >= 17
private:
int m_nFlashAlpha;
bool m_bFlash;
int m_nChars;
#endif
Abspeichern und Schließen.
Jetzt nur noch, für die, die es noch nicht haben in der VersionCommon.h der Neuz die __VER auf 17 setzen, dannach Compilen.
Wer alles richtig gemacht hat, hat nun so ein Bild
Credits: Gala Labs, Crasy, TwiLight ( Für die allgemeinen Infos. )
Iwann werd ich evtl. noch Treasure Releasen.
Wer Hilfe braucht, oder sonstige Probleme hat, kann sich gerne melden.
Mfg.
|
Wer´s braucht hf, alle anderen stop flaming
Credits 100% Crasy
|
|
|
02/20/2012, 14:45
|
#2
|
elite*gold: 0
Join Date: Oct 2010
Posts: 271
Received Thanks: 206
|
Guck dir den Code an, Mist und nochmals Mist. Nicht mal die Arrays kann dieser Spacken richtig anwenden xD
Würde es nicht einbauen.
|
|
|
02/20/2012, 14:47
|
#3
|
elite*gold: 0
Join Date: Sep 2010
Posts: 209
Received Thanks: 94
|
Quote:
Originally Posted by Incestus
Guck dir den Code an, Mist und nochmals Mist. Nicht mal die Arrays kann dieser Spacken richtig anwenden xD
Würde es nicht einbauen.
|
Solang das funkt. is das glaub allen wayne xD
|
|
|
02/20/2012, 14:49
|
#4
|
elite*gold: 18
Join Date: Sep 2009
Posts: 20,174
Received Thanks: 14,475
|
Der Code von Crasy ist nicht Optimal, unnötige Arrays, fängt nicht immer bei 0 an und immer unnötig viele, sry aber dieser code sollte sich nicht durchsetzen.
|
|
|
02/20/2012, 14:54
|
#5
|
elite*gold: 0
Join Date: Sep 2008
Posts: 114
Received Thanks: 27
|
C:\Users\hells\Desktop\Source\Insanity\_Interface\ WndTitle.cpp(1615): error C3861: 'WIDC_ST_CHARNAME03': identifier not found, even with argument-dependent lookup
C:\Users\hells\Desktop\Source\Insanity\_Interface\ WndTitle.cpp(1963): error C2065: 'i' : undeclared identifier
C:\Users\hells\Desktop\Source\Insanity\_Interface\ WndTitle.cpp(1963): error C2065: 'lpCustom' : undeclared identifier
C:\Users\hells\Desktop\Source\Insanity\_Interface\ WndTitle.cpp(1605): error C2065: 'WIDC_BT_LEFT' : undeclared identifier
C:\Users\hells\Desktop\Source\Insanity\_Interface\ WndTitle.cpp(1606): error C2065: 'WIDC_BT_RIGHT' : undeclared identifier
C:\Users\hells\Desktop\Source\Insanity\_Interface\ WndTitle.cpp(1516): error C2065: 'WIDC_ST_CHARCOUNT' : undeclared identifier
C:\Users\hells\Desktop\Source\Insanity\_Interface\ WndTitle.cpp(1601): error C2065: 'WIDC_ST_CHARNAME01' : undeclared identifier
C:\Users\hells\Desktop\Source\Insanity\_Interface\ WndTitle.cpp(1602): error C2065: 'WIDC_ST_CHARNAME02' : undeclared identifier
C:\Users\hells\Desktop\Source\Insanity\_Interface\ WndTitle.cpp(1603): error C2065: 'WIDC_ST_CHARNAME03' : undeclared identifier
C:\Users\hells\Desktop\Source\Insanity\_Interface\ WndTitle.cpp(1963): error C2227: left of '->rect' must point to class/struct/union
C:\Users\hells\Desktop\Source\Insanity\_Interface\ WndTitle.cpp(1963): error C3861: 'i': identifier not found, even with argument-dependent lookup
C:\Users\hells\Desktop\Source\Insanity\_Interface\ WndTitle.cpp(1613): error C3861: 'WIDC_ST_CHARNAME01': identifier not found, even with argument-dependent lookup
C:\Users\hells\Desktop\Source\Insanity\_Interface\ WndTitle.cpp(1614): error C3861: 'WIDC_ST_CHARNAME02': identifier not found, even with argument-dependent lookup
u forgot a lot of things in your release
and yes i agree the code is not very well written :P
|
|
|
02/20/2012, 14:59
|
#6
|
elite*gold: 455
Join Date: Jun 2009
Posts: 1,601
Received Thanks: 1,103
|
Quote:
Originally Posted by simonx3
Solang das funkt. is das glaub allen wayne xD
|
Man kann's ja auch umändern - Array's umschreiben ist ja wohl nicht schwierig.
Über die "Genialität" des Codes kann man sich streiten, jedoch kann
man es ja trotzdem nutzen.
Quote:
Originally Posted by Sedrika
Der Code von Crasy ist nicht Optimal, unnötige Arrays, fängt nicht immer bei 0 an und immer unnötig viele, sry aber dieser code sollte sich nicht durchsetzen.
|
Wie gut das Mentus dies bereits erwähnte
|
|
|
02/20/2012, 15:53
|
#7
|
elite*gold: 0
Join Date: Oct 2010
Posts: 271
Received Thanks: 206
|
Quote:
Originally Posted by Sedrika
Der Code von Crasy ist nicht Optimal, unnötige Arrays, fängt nicht immer bei 0 an und immer unnötig viele, sry aber dieser code sollte sich nicht durchsetzen.
|
Was glaubst wieso er es nur auf MCore released? XD
Weil er weiß das hier in dem Forum leute sind die Ahnung haben 
Bzw, da ist keiner aktiv.
Quote:
Originally Posted by Marvin!
Man kann's ja auch umändern - Array's umschreiben ist ja wohl nicht schwierig.
Über die "Genialität" des Codes kann man sich streiten, jedoch kann
man es ja trotzdem nutzen.
Wie gut das Mentus dies bereits erwähnte 
|
Achja der Mentus ♥.
Naja..
Das was er da gecodet hat, kann man in 2 min coden, dafür brauch man nicht den Code von dem Spacken lol.
|
|
|
02/20/2012, 19:43
|
#8
|
elite*gold: 0
Join Date: Oct 2008
Posts: 680
Received Thanks: 337
|
Achso, jetzt hat Sedrika die konstruktive Kritik wohl wieder im Keller eingesperrt.
Der Code enthält zu viele Arrays, da ist was dran. Aber auf die Idee, eine alternative zu posten, kommt ihr nicht, oder? Ich persönlich hätte die Arrays als Member genutzt. Eine gute Sache haben die Arrays, da diese auf dem Stack erstellt wurden, werden sie beim Verlassen des Scopes automatisch gelöscht. Und wie man es pflegt zu sagen, Programmierer sind faul!
Quote:
|
Weil er weiß das hier in dem Forum leute sind die Ahnung haben
|
Jemand der Ahnung hat erkennt, dass der Code nur für die Funktionalität geschrieben wurde.
|
|
|
02/21/2012, 14:11
|
#9
|
elite*gold: 0
Join Date: Oct 2010
Posts: 271
Received Thanks: 206
|
Quote:
Originally Posted by Flyff_Service
Achso, jetzt hat Sedrika die konstruktive Kritik wohl wieder im Keller eingesperrt.
Der Code enthält zu viele Arrays, da ist was dran. Aber auf die Idee, eine alternative zu posten, kommt ihr nicht, oder? Ich persönlich hätte die Arrays als Member genutzt. Eine gute Sache haben die Arrays, da diese auf dem Stack erstellt wurden, werden sie beim Verlassen des Scopes automatisch gelöscht. Und wie man es pflegt zu sagen, Programmierer sind faul!
Jemand der Ahnung hat erkennt, dass der Code nur für die Funktionalität geschrieben wurde.
|
Mir gehts nicht um den Code, mir gehts um den Programmierer der überall meint er könne C++ perfekt dies das ;D.
Und dann solche Fails mit den Arrays, würde mir wenn ich Crasy wäre, ein Kartoffel Sack um den Kopf binden und von der Brücke springen.
(Der Kartoffel Sack dient dazu, damit der jenige der ihn findet, nicht sein hässliches Gesicht sehen muss und dann noch einen Herzinfakt bekommt, lol.)
Und eine Alternative, ist wirklich nicht schwer zu coden, aber ich finde das generell unnötig dieses Feature. Wenn dann sollte mal direkt komplett coden, das heißt das man auch mehrere Charakter auf dem Account haben kann.
Ansonsten ist das Feature nix.
PS:
Crasy traut sich ja nicht mal mehr auf EPVP, nur MCORE.. und Mcore ist seit Dreadlock etc das größte scheiß Forum das ich je gesehn habe.
|
|
|
02/21/2012, 14:16
|
#10
|
elite*gold: 0
Join Date: Sep 2009
Posts: 47
Received Thanks: 35
|
It works but people needa use their heads by putting these snippets in.
And Hells, you really needa put those errors in full length in (and thereby advertising?)
|
|
|
02/21/2012, 16:29
|
#11
|
elite*gold: 0
Join Date: Dec 2011
Posts: 206
Received Thanks: 224
|
Ich find das mit dem Array am besten^^ 4 Arrays werden initialisiert und nur 3 geused (die letzen 3)
Am besten ist z.b das mit den Left / Right buttons die normalerweise zum durchsappen der Character benutzt werden.
Werden geladen und aus invisible gesetzt und sonst wird damit nicuht umgegangen. Wieso diese nicht einfach ignorieren?
|
|
|
03/27/2012, 21:58
|
#12
|
elite*gold: 0
Join Date: Oct 2011
Posts: 54
Received Thanks: 9
|
\Users\Jon\Desktop\Flyff\Source Perfect~FlyFF\New source\_Interface\WndTitle.cpp(1396) : error C2065: 'm_bFlash' : undeclared identifier
\Users\Jon\Desktop\Flyff\Source Perfect~FlyFF\New source\_Interface\WndTitle.cpp(1397) : error C2065: 'm_nFlashAlpha' : undeclared identifier
\Users\Jon\Desktop\Flyff\Source Perfect~FlyFF\New source\_Interface\WndTitle.cpp(1398) : error C2065: 'm_nChars' : undeclared identifier
\Users\Jon\Desktop\Flyff\Source Perfect~FlyFF\New source\_Interface\WndTitle.cpp(1500) : error C3861: 'm_bFlash': identifier not found, even with argument-dependent lookup
\Users\Jon\Desktop\Flyff\Source Perfect~FlyFF\New source\_Interface\WndTitle.cpp(1502) : error C3861: 'm_nFlashAlpha': identifier not found, even with argument-dependent lookup
\Users\Jon\Desktop\Flyff\Source Perfect~FlyFF\New source\_Interface\WndTitle.cpp(1504) : error C3861: 'm_nFlashAlpha': identifier not found, even with argument-dependent lookup
\Users\Jon\Desktop\Flyff\Source Perfect~FlyFF\New source\_Interface\WndTitle.cpp(1506) : error C3861: 'm_nFlashAlpha': identifier not found, even with argument-dependent lookup
\Users\Jon\Desktop\Flyff\Source Perfect~FlyFF\New source\_Interface\WndTitle.cpp(1507) : error C3861: 'm_bFlash': identifier not found, even with argument-dependent lookup
\Users\Jon\Desktop\Flyff\Source Perfect~FlyFF\New source\_Interface\WndTitle.cpp(1512) : error C3861: 'm_nFlashAlpha': identifier not found, even with argument-dependent lookup
\Users\Jon\Desktop\Flyff\Source Perfect~FlyFF\New source\_Interface\WndTitle.cpp(1514) : error C3861: 'm_nFlashAlpha': identifier not found, even with argument-dependent lookup
\Users\Jon\Desktop\Flyff\Source Perfect~FlyFF\New source\_Interface\WndTitle.cpp(1516) : error C3861: 'm_nFlashAlpha': identifier not found, even with argument-dependent lookup
\Users\Jon\Desktop\Flyff\Source Perfect~FlyFF\New source\_Interface\WndTitle.cpp(1517) : error C3861: 'm_bFlash': identifier not found, even with argument-dependent lookup
\Users\Jon\Desktop\Flyff\Source Perfect~FlyFF\New source\_Interface\WndTitle.cpp(1521) : error C3861: 'm_nChars': identifier not found, even with argument-dependent lookup
\Users\Jon\Desktop\Flyff\Source Perfect~FlyFF\New source\_Interface\WndTitle.cpp(1524) : error C3861: 'm_nChars': identifier not found, even with argument-dependent lookup
\Users\Jon\Desktop\Flyff\Source Perfect~FlyFF\New source\_Interface\WndTitle.cpp(1526) : error C3861: 'm_nChars': identifier not found, even with argument-dependent lookup
\Users\Jon\Desktop\Flyff\Source Perfect~FlyFF\New source\_Interface\WndTitle.cpp(1528) : error C3861: 'm_nChars': identifier not found, even with argument-dependent lookup
\Users\Jon\Desktop\Flyff\Source Perfect~FlyFF\New source\_Interface\WndTitle.cpp(1532) : error C3861: 'm_nChars': identifier not found, even with argument-dependent lookup
\Users\Jon\Desktop\Flyff\Source Perfect~FlyFF\New source\_Interface\WndTitle.cpp(1685) : error C3861: 'm_nFlashAlpha': identifier not found, even with argument-dependent lookup
\Users\Jon\Desktop\Flyff\Source Perfect~FlyFF\New source\_Interface\WndTitle.cpp(1985) : error C2065: 'i' : undeclared identifier
\Users\Jon\Desktop\Flyff\Source Perfect~FlyFF\New source\_Interface\WndTitle.cpp(1985) : error C2227: left of '->rect' must point to class/struct/union
\Users\Jon\Desktop\Flyff\Source Perfect~FlyFF\New source\_Interface\WndTitle.cpp(1985) : error C3861: 'i': identifier not found, even with argument-dependent lookup
Please help, i have put the code in .h but i have got this error, wtf ?
fixed, but i have already got this error:
WndTitle.cpp(1985) : error C2065: 'i' : undeclared identifier
WndTitle.cpp(1985) : error C2227: left of '->rect' must point to class/struct/union
WndTitle.cpp(1985) : error C3861: 'i': identifier not found, even with argument-dependent lookup
|
|
|
07/18/2012, 12:31
|
#13
|
elite*gold: 40
Join Date: Aug 2011
Posts: 453
Received Thanks: 281
|
hab es genau so gemacht, keine errors bei der neuz.exe also beim compilieren und bei allen anderen exen auch nicht starte flyff pw eingeben und ab der stelle ist ende da bleibt er hängen und nach 20sek. weg und kein richtiger errorlog
der einzige der kommt ist dieser hier :
Quote:
2012/ 7/18 12:19:03 GetDlgItem : nID=1376 not Found.
2012/ 7/18 12:19:03 Jul 18 2012 12:00:22 1 rCnt=1
Neuz.exe caused an EXCEPTION_ACCESS_VIOLATION in module Neuz.exe at 001B:0043D7EA, ATL::CSimpleStringT<char,0>: perator=()+0010 byte(s), c:\program files\destiny\en_vs.net_2003_pro_full\vc7\atlmfc\i nclude\atlsimpstr.h, line 0275
- Registers
EAX=0012FD88 EBX=00000000 ECX=09A645B0 EDX=00000001 ESI=00000000
EDI=0000004C EBP=09A65F48 ESP=0012FD68 EIP=0043D7EA FLG=00010202
CS=001B DS=0023 SS=0023 ES=0023 FS=003B GS=0000
001B:0043D7EA Neuz.exe, ATL::CSimpleStringT<char,0>: perator=()+0010 byte(s)
001B:00445F6A Neuz.exe, CWndBase::SetTitle()+0042 byte(s)
001B:004FD323 Neuz.exe, CWndSelectChar::Process()+0227 byte(s)
001B:004E0AC4 Neuz.exe, CWndBase::Process()+0052 byte(s)
001B:004B0405 Neuz.exe, CWndMgr::Process()+0261 byte(s)
001B:00466C72 Neuz.exe, CNeuzApp::FrameMove()+0226 byte(s)
001B:0047D0F8 Neuz.exe, CD3DApplication::Render3DEnvironment()+0296 byte(s)
001B:0047D9F2 Neuz.exe, CD3DApplication::Run()+0210 byte(s)
001B:0046B23B Neuz.exe, WinMain()+0347 byte(s)
001B:00858E01 Neuz.exe, WinMainCRTStartup()+0388 byte(s)
001B:76E5ED6C kernel32.dll, BaseThreadInitThunk()+0018 byte(s)
001B:77AE377B ntdll.dll, RtlInitializeExceptionChain()+0239 byte(s)
001B:77AE374E ntdll.dll, RtlInitializeExceptionChain()+0194 byte(s)
|
|
|
|
07/18/2012, 12:54
|
#14
|
elite*gold: 4
Join Date: Mar 2010
Posts: 3,148
Received Thanks: 1,535
|
Quote:
Originally Posted by DonaldFuck
hab es genau so gemacht, keine errors bei der neuz.exe also beim compilieren und bei allen anderen exen auch nicht starte flyff pw eingeben und ab der stelle ist ende da bleibt er hängen und nach 20sek. weg und kein richtiger errorlog
der einzige der kommt ist dieser hier :
|
2012/ 7/18 12:19:03 GetDlgItem : nID=1376 not Found.
da steht doch das er ein ding net zugreifen kann weils net drinne ist in der APP
|
|
|
07/18/2012, 12:57
|
#15
|
elite*gold: 40
Join Date: Aug 2011
Posts: 453
Received Thanks: 281
|
habe im offi clienten nachgeschaut überall also in den clienten die ich hatte [ResData.h] nach der ID 1376 und der hat nix gefunden
|
|
|
 |
|
Similar Threads
|
char map select
11/29/2010 - Dekaron Private Server - 7 Replies
ok dont get pissed at me for making a post about this, the only other post i saw was from Harmony called "start point" and my answer wasent in there.
im looking to find out how to make the map selection on the char selection window go from Ardeca back to Loa AND Braiken. i know u can relocate the characters (starter guys) to the new map, but i would like to have it as a selection. if anyone can help me out, it will be much obliged.
thanks in advance.
|
DB-BOT CHAR SELECT CRASH
06/26/2010 - SRO Private Server - 13 Replies
so guys i htink there were a lot of post like this so problem is that when i log in 1sec passes and i get dc. if there were any solution plz link me to the post cuz i dint found any :)
|
Help Always Dc at Char select!!
04/17/2009 - SRO Private Server - 7 Replies
Hey,
Always when i'm succes to log in to the char select i'm geting a stuiped dc,
mabye u konw why ? its pice me off
|
Select Char bug ?
10/19/2008 - SRO Private Server - 8 Replies
So ich hab mir gestern Silkroadaddiction runtergeladen
und halt die Media.pk2 ( SRAv3FMedia ) die mit fembria geht
aber der loginbot ( pSRO_Autologin )
sagt oben links
Select Char...
aber bin immernoch aufm loginscreen
und kann nedmehr auf connect klicken
|
All times are GMT +1. The time now is 11:05.
|
|