[Release]V17 Char Select.

    • [Release]V17 Char Select.

      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:

      Quellcode

      1. CWndSelectChar::CWndSelectChar()


      Addet darin das:

      Quellcode

      1. #if __VER >= 17
      2. m_bFlash = TRUE;
      3. m_nFlashAlpha = 0;
      4. m_nChars = 0;
      5. #endif


      Anschließend sucht ihr:

      Quellcode

      1. BOOL CWndSelectChar::Process()


      Addet darin:

      Quellcode

      1. #if __VER >= 17
      2. if( m_bFlash == TRUE )
      3. {
      4. m_nFlashAlpha += 1;
      5. if( m_nFlashAlpha > 40 )
      6. {
      7. m_nFlashAlpha = 40;
      8. m_bFlash = FALSE;
      9. }
      10. }
      11. else
      12. {
      13. m_nFlashAlpha -= 1;
      14. if( m_nFlashAlpha < 0 )
      15. {
      16. m_nFlashAlpha = 0;
      17. m_bFlash = TRUE;
      18. }
      19. }
      20. m_nChars = 0;
      21. if( g_Neuz.m_apPlayer[0] != NULL )
      22. m_nChars ++;
      23. if( g_Neuz.m_apPlayer[1] != NULL )
      24. m_nChars ++;
      25. if( g_Neuz.m_apPlayer[2] != NULL )
      26. m_nChars ++;
      27. CWndStatic* pWndStatic = (CWndStatic*)GetDlgItem( WIDC_ST_CHARCOUNT );
      28. char cStatic[10];
      29. sprintf( cStatic, "%d", m_nChars );
      30. pWndStatic->SetTitle( cStatic );
      31. #endif
      Alles anzeigen


      nun geht ihr zu:

      Quellcode

      1. void CWndSelectChar::OnDraw( C2DRender* p2DRender )


      Diese funktion ersetzt ihr vollständig durch das hier:

      Quellcode

      1. void CWndSelectChar::OnDraw( C2DRender* p2DRender )
      2. {
      3. CWndButton* pWndAccept = (CWndButton*)GetDlgItem( WIDC_ACCEPT );
      4. CWndButton* pWndCreate = (CWndButton*)GetDlgItem( WIDC_CREATE );
      5. CWndButton* pWndDelete = (CWndButton*)GetDlgItem( WIDC_DELETE );
      6. #if __VER >= 17
      7. CWndStatic* pWndStaticChar[4];
      8. pWndStaticChar[1] = (CWndStatic*)GetDlgItem( WIDC_ST_CHARNAME01 );
      9. pWndStaticChar[2] = (CWndStatic*)GetDlgItem( WIDC_ST_CHARNAME02 );
      10. pWndStaticChar[3] = (CWndStatic*)GetDlgItem( WIDC_ST_CHARNAME03 );
      11. CWndButton* pWndButton1 = (CWndButton*)GetDlgItem( WIDC_BT_LEFT );
      12. CWndButton* pWndButton2 = (CWndButton*)GetDlgItem( WIDC_BT_RIGHT );
      13. LPWNDCTRL lpCustom[3];
      14. lpCustom[0] = GetWndCtrl( WIDC_CUSTOM1 );
      15. lpCustom[1] = GetWndCtrl( WIDC_CUSTOM2 );
      16. lpCustom[2] = GetWndCtrl( WIDC_CUSTOM3 );
      17. LPWNDCTRL lpStatic[3];
      18. lpStatic[0] = GetWndCtrl( WIDC_ST_CHARNAME01 );
      19. lpStatic[1] = GetWndCtrl( WIDC_ST_CHARNAME02 );
      20. lpStatic[2] = GetWndCtrl( WIDC_ST_CHARNAME03 );
      21. pWndButton1->EnableWindow( false );
      22. pWndButton2->EnableWindow( false );
      23. pWndButton1->SetVisible( false );
      24. pWndButton2->SetVisible( false );
      25. #endif
      26. CRect rect;
      27. for( int i = 0; i < MAX_CHARACTER_LIST; i++ )
      28. {
      29. rect = m_aRect[ i ];
      30. if( g_Neuz.m_apPlayer[i] != NULL )
      31. {
      32. if( g_WndMng.GetWndBase( APP_2ND_PASSWORD_NUMBERPAD ) == NULL )
      33. {
      34. POINT point = GetMousePoint();
      35. if( m_aRect[ i ].PtInRect( point ) )
      36. {
      37. CRect rectHittest = m_aRect[ i ];
      38. CPoint point2 = point;
      39. ClientToScreen( &point2 );
      40. ClientToScreen( rectHittest );
      41. g_WndMng.PutToolTip_Character( i, point2, &rectHittest );
      42. }
      43. }
      44. if( m_nSelectCharacter == i )
      45. {
      46. #if __VER >= 17
      47. CRect rectNew;
      48. CRect rectFlash;
      49. rectNew.top = lpCustom[i]->rect.top;
      50. rectNew.left = lpCustom[i]->rect.left;
      51. rectNew.bottom = lpCustom[i]->rect.bottom;
      52. rectNew.right = lpCustom[i]->rect.right;
      53. rectFlash.top = lpStatic[i]->rect.top + 3;
      54. rectFlash.left = lpStatic[i]->rect.left + 2;
      55. rectFlash.bottom = lpStatic[i]->rect.bottom - 3;
      56. rectFlash.right = lpStatic[i]->rect.right - 2;
      57. // Background
      58. p2DRender->RenderFillRect(rectNew, D3DCOLOR_ARGB( 20, 80, 250, 80 ) );
      59. // Flash
      60. p2DRender->RenderFillRect(rectFlash, D3DCOLOR_ARGB( m_nFlashAlpha, 80, 250, 80 ) );
      61. #else
      62. CRect rectTemp = rect;
      63. rectTemp.top += 10;
      64. rectTemp.bottom -= 10;
      65. rectTemp.left += i;
      66. rectTemp.right += i;
      67. p2DRender->RenderFillRect(rectTemp, D3DCOLOR_ARGB( 20, 80, 250, 80 ) );
      68. #endif
      69. #if __VER >= 17
      70. pWndStaticChar[i+1]->SetTitle( g_Neuz.m_apPlayer[i]->GetName() );
      71. switch( i )
      72. {
      73. case 0: pWndStaticChar[1]->m_dwColor = 0xFFCA6544, pWndStaticChar[2]->m_dwColor = 0xFF666666, pWndStaticChar[3]->m_dwColor = 0xFF666666; break;
      74. case 1: pWndStaticChar[1]->m_dwColor = 0xFF666666, pWndStaticChar[2]->m_dwColor = 0xFFCA6544, pWndStaticChar[3]->m_dwColor = 0xFF666666; break;
      75. case 2: pWndStaticChar[1]->m_dwColor = 0xFF666666, pWndStaticChar[2]->m_dwColor = 0xFF666666, pWndStaticChar[3]->m_dwColor = 0xFFCA6544; break;
      76. }
      77. #else
      78. p2DRender->TextOut( rect.left, rect.bottom + 10, g_Neuz.m_apPlayer[i]->GetName(), 0xffFF0000 );
      79. p2DRender->TextOut( rect.left + 1, rect.bottom + 10, g_Neuz.m_apPlayer[i]->GetName(), 0xffFF0000 );
      80. #endif
      81. }
      82. else
      83. {
      84. #if __VER >= 17
      85. pWndStaticChar[i+1]->SetTitle( g_Neuz.m_apPlayer[i]->GetName() );
      86. #else
      87. p2DRender->TextOut( rect.left, rect.bottom + 10, g_Neuz.m_apPlayer[i]->GetName(), 0xff505050 );
      88. #endif
      89. }
      90. CModelObject* pModel = (CModelObject*)m_pBipedMesh[ i ];
      91. LPDIRECT3DDEVICE9 pd3dDevice = p2DRender->m_pd3dDevice;
      92. pd3dDevice->SetRenderState( D3DRS_ZWRITEENABLE, TRUE );
      93. pd3dDevice->SetRenderState( D3DRS_ZENABLE, TRUE );
      94. pd3dDevice->SetRenderState( D3DRS_CULLMODE, D3DCULL_CCW );
      95. pd3dDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, FALSE );
      96. pd3dDevice->SetRenderState( D3DRS_FILLMODE, D3DFILL_SOLID );
      97. pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_SELECTARG1 );
      98. pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
      99. pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_SELECTARG1 );
      100. pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_SELECTARG1 );
      101. pd3dDevice->SetSamplerState( 0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR );
      102. pd3dDevice->SetSamplerState( 0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR );
      103. pd3dDevice->SetRenderState( D3DRS_AMBIENT, D3DCOLOR_ARGB( 255, 255,255,255) );
      104. pd3dDevice->SetRenderState( D3DRS_ZWRITEENABLE, TRUE );
      105. D3DVIEWPORT9 viewport;
      106. #if __VER >= 17
      107. viewport.X = p2DRender->m_ptOrigin.x + lpCustom[i]->rect.left;
      108. viewport.Y = p2DRender->m_ptOrigin.y + lpCustom[i]->rect.top;
      109. #else
      110. viewport.X = p2DRender->m_ptOrigin.x + rect.left;
      111. viewport.Y = p2DRender->m_ptOrigin.y + rect.top;
      112. #endif
      113. viewport.Width = rect.Width();
      114. viewport.Height = rect.Height();
      115. viewport.MinZ = 0.0f;
      116. viewport.MaxZ = 1.0f;
      117. pd3dDevice->SetViewport(&viewport);
      118. pd3dDevice->Clear(0, NULL, D3DCLEAR_ZBUFFER, 0xffa08080, 1.0f, 0 ) ;
      119. CRect rectViewport( 0, 0, viewport.Width, viewport.Height );
      120. D3DXMATRIX matProj;
      121. D3DXMatrixIdentity( &matProj );
      122. FLOAT fAspect = ((FLOAT)viewport.Width) / (FLOAT)viewport.Height;
      123. D3DXMatrixPerspectiveFovLH( &matProj, D3DX_PI/4.0f, fAspect, CWorld::m_fNearPlane - 0.01f, CWorld::m_fFarPlane );
      124. pd3dDevice->SetTransform( D3DTS_PROJECTION, &matProj );
      125. D3DXMATRIX matView;
      126. D3DXVECTOR3 vecLookAt( 0.0f, 0.0f, 1.0f );
      127. D3DXVECTOR3 vecPos( 0.0f, 0.5f, -3.5f );
      128. D3DXMatrixLookAtLH( &matView, &vecPos, &vecLookAt, &D3DXVECTOR3(0.0f,1.0f,0.0f) );
      129. pd3dDevice->SetTransform( D3DTS_VIEW, &matView );
      130. D3DXMATRIXA16 matWorld;
      131. D3DXMATRIXA16 matScale;
      132. D3DXMATRIXA16 matRot;
      133. D3DXMATRIXA16 matTrans;
      134. D3DXMatrixIdentity(&matScale);
      135. D3DXMatrixIdentity(&matRot);
      136. D3DXMatrixIdentity(&matTrans);
      137. D3DXMatrixIdentity(&matWorld);
      138. D3DXMatrixScaling(&matScale,1.6f,1.6f,1.6f);
      139. D3DXMatrixTranslation(&matTrans,0.0f,-1.15f,0.0f);
      140. D3DXMatrixMultiply(&matWorld,&matWorld,&matScale);
      141. D3DXMatrixMultiply(&matWorld, &matWorld,&matRot);
      142. D3DXMatrixMultiply(&matWorld, &matWorld, &matTrans );
      143. pd3dDevice->SetTransform( D3DTS_WORLD, &matWorld );
      144. pd3dDevice->SetRenderState( D3DRS_ZWRITEENABLE, TRUE );
      145. pd3dDevice->SetRenderState( D3DRS_ZENABLE, TRUE );
      146. pd3dDevice->SetRenderState( D3DRS_FOGENABLE, FALSE );
      147. pd3dDevice->SetRenderState( D3DRS_LIGHTING, FALSE );
      148. ::SetLight( FALSE );
      149. ::SetFog( FALSE );
      150. SetDiffuse( 1.0f, 1.0f, 1.0f );
      151. SetAmbient( 1.0f, 1.0f, 1.0f );
      152. O3D_ELEMENT *pElem = pModel->GetParts( PARTS_RIDE );
      153. if( pElem && pElem->m_pObject3D )
      154. pModel->TakeOffParts( PARTS_RIDE );
      155. pElem = pModel->GetParts( PARTS_HAIR );
      156. if( pElem && pElem->m_pObject3D )
      157. {
      158. pElem->m_pObject3D->m_fAmbient[0] = g_Neuz.m_apPlayer[i]->m_fHairColorR;
      159. pElem->m_pObject3D->m_fAmbient[1] = g_Neuz.m_apPlayer[i]->m_fHairColorG;
      160. pElem->m_pObject3D->m_fAmbient[2] = g_Neuz.m_apPlayer[i]->m_fHairColorB;
      161. }
      162. D3DXVECTOR4 vConst( 1.0f, 1.0f, 1.0f, 1.0f );
      163. #ifdef __YENV
      164. g_Neuz.m_pEffect->SetVector( g_Neuz.m_hvFog, &vConst );
      165. #else //__YENV
      166. pd3dDevice->SetVertexShaderConstantF( 95, (float*)&vConst, 1 );
      167. #endif //__YENV
      168. ::SetTransformView( matView );
      169. ::SetTransformProj( matProj );
      170. g_Neuz.m_apPlayer[i]->OverCoatItemRenderCheck(pModel);
      171. // Çï¸äÀÌ ¸Ó¸®Ä«¶ô ³¯·Á¾ßÇϴ°ÍÀ̳Ä? // Àκ¥ÀÌ ¾ø´Â°æ¿ì
      172. DWORD dwId = g_Neuz.m_apPlayer[i]->m_aEquipInfo[PARTS_CAP].dwId;
      173. ItemProp* pItemProp = NULL;
      174. if( dwId != NULL_ID )
      175. {
      176. O3D_ELEMENT* pElement = NULL;
      177. pItemProp = prj.GetItemProp( dwId );
      178. if( pItemProp && pItemProp->dwBasePartsIgnore != -1 )
      179. {
      180. pElement = pModel->SetEffect(pItemProp->dwBasePartsIgnore, XE_HIDE );
      181. }
      182. // ¿ÜÅõÀÇ»óÀ» ÀÔ¾úÀ»°æ¿ì ¸Ó¸®³¯¸±°ÍÀΰ¡ÀÇ ±âÁØÀ» ¿ÜÅõ ¸ðÀÚ¸¦ ±âÁØÀ¸·Î ¹Ù²Û´Ù
      183. dwId = g_Neuz.m_apPlayer[i]->m_aEquipInfo[PARTS_HAT].dwId;
      184. if( dwId != NULL_ID )
      185. {
      186. if( !(g_Neuz.m_apPlayer[i]->m_aEquipInfo[PARTS_HAT].byFlag & CItemElem::expired) )
      187. {
      188. pItemProp = prj.GetItemProp( dwId );
      189. if( pItemProp && pItemProp->dwBasePartsIgnore != -1 )
      190. {
      191. if( pItemProp->dwBasePartsIgnore == PARTS_HEAD )
      192. pModel->SetEffect(PARTS_HAIR, XE_HIDE );
      193. pModel->SetEffect(pItemProp->dwBasePartsIgnore, XE_HIDE );
      194. }
      195. else
      196. {
      197. if( pElement )
      198. pElement->m_nEffect &= ~XE_HIDE;
      199. }
      200. }
      201. }
      202. }
      203. else
      204. {
      205. // ¿ÜÅõÀÇ»óÀ» ÀÔ¾úÀ»°æ¿ì ¸Ó¸®³¯¸±°ÍÀΰ¡ÀÇ ±âÁØÀ» ¿ÜÅõ ¸ðÀÚ¸¦ ±âÁØÀ¸·Î ¹Ù²Û´Ù
      206. dwId = g_Neuz.m_apPlayer[i]->m_aEquipInfo[PARTS_HAT].dwId;
      207. if( dwId != NULL_ID )
      208. {
      209. if( !(g_Neuz.m_apPlayer[i]->m_aEquipInfo[PARTS_HAT].byFlag & CItemElem::expired) )
      210. {
      211. pItemProp = prj.GetItemProp( dwId );
      212. if( pItemProp && pItemProp->dwBasePartsIgnore != -1 )
      213. {
      214. if( pItemProp->dwBasePartsIgnore == PARTS_HEAD )
      215. pModel->SetEffect(PARTS_HAIR, XE_HIDE );
      216. pModel->SetEffect(pItemProp->dwBasePartsIgnore, XE_HIDE );
      217. }
      218. }
      219. }
      220. }
      221. #ifdef __YENV
      222. SetLightVec( D3DXVECTOR3( 0.0f, 0.0f, 1.0f ) );
      223. #endif //__YENV
      224. pModel->Render( p2DRender->m_pd3dDevice, &matWorld );
      225. p2DRender->m_pd3dDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, TRUE );
      226. p2DRender->m_pd3dDevice->SetRenderState( D3DRS_CULLMODE, D3DCULL_NONE );
      227. #if __VER >= 17
      228. viewport.X = p2DRender->m_ptOrigin.x + lpCustom[i]->rect.left;
      229. viewport.Y = p2DRender->m_ptOrigin.y + lpCustom[i]->rect.top;
      230. #else
      231. viewport.X = p2DRender->m_ptOrigin.x + 5;
      232. viewport.Y = p2DRender->m_ptOrigin.y + 5;
      233. #endif
      234. viewport.Width = p2DRender->m_clipRect.Width();
      235. viewport.Height = p2DRender->m_clipRect.Height();
      236. viewport.MinZ = 0.0f;
      237. viewport.MaxZ = 1.0f;
      238. pd3dDevice->SetViewport(&viewport);
      239. }
      240. else
      241. {
      242. #if __VER >= 17
      243. pWndStaticChar[i+1]->SetTitle( "" );
      244. #else
      245. if( m_nSelectCharacter == i )
      246. p2DRender->TextOut( rect.left, rect.bottom + 10, prj.GetText( TID_GAME_WND_SELECT_CHARACTER_EMPTY ), 0xff6060ff );
      247. else
      248. p2DRender->TextOut( rect.left, rect.bottom + 10, prj.GetText( TID_GAME_WND_SELECT_CHARACTER_EMPTY ), 0xff505050 );
      249. #endif
      250. }
      251. if( m_nSelectCharacter == i )
      252. {
      253. if( g_Neuz.m_apPlayer[i] )
      254. {
      255. pWndCreate->EnableWindow( FALSE );
      256. pWndAccept->EnableWindow( TRUE );
      257. pWndDelete->EnableWindow( TRUE );
      258. }
      259. else
      260. {
      261. pWndCreate->EnableWindow( TRUE );
      262. pWndAccept->EnableWindow( FALSE );
      263. pWndDelete->EnableWindow( FALSE );
      264. #if __VER >= 17
      265. switch( i )
      266. {
      267. case 0: pWndStaticChar[1]->m_dwColor = 0xFFCA6544, pWndStaticChar[2]->m_dwColor = 0xFF666666, pWndStaticChar[3]->m_dwColor = 0xFF666666; break;
      268. case 1: pWndStaticChar[1]->m_dwColor = 0xFF666666, pWndStaticChar[2]->m_dwColor = 0xFFCA6544, pWndStaticChar[3]->m_dwColor = 0xFF666666; break;
      269. case 2: pWndStaticChar[1]->m_dwColor = 0xFF666666, pWndStaticChar[2]->m_dwColor = 0xFF666666, pWndStaticChar[3]->m_dwColor = 0xFFCA6544; break;
      270. }
      271. #endif
      272. }
      273. }
      274. }
      275. }
      Alles anzeigen


      jetzt sucht ihr:

      Quellcode

      1. void CWndSelectChar::OnInitialUpdate()


      fügt darin:

      Quellcode

      1. LPWNDCTRL lpCustom[3];
      2. lpCustom[0] = GetWndCtrl( WIDC_CUSTOM1 );
      3. lpCustom[1] = GetWndCtrl( WIDC_CUSTOM2 );
      4. lpCustom[2] = GetWndCtrl( WIDC_CUSTOM3 );
      5. #if __VER >= 17
      6. m_aRect[ i ] = lpCustom[i]->rect;
      7. #else
      8. m_aRect[ i ] = rect;
      9. rect.OffsetRect( 170, 0 );
      10. #endif
      Alles anzeigen


      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:

      Quellcode

      1. BEGIN_WNDCLASS( CWndSelectChar )


      Darin addet ihr:

      Quellcode

      1. #if __VER >= 17
      2. private:
      3. int m_nFlashAlpha;
      4. bool m_bFlash;
      5. int m_nChars;
      6. #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: www10.pic-upload.de/15.02.12/94zescij8qn.png

      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.
    • Werbung zur Unterstützung des Forums ( Bitte AddBlocker deaktivieren )

    • Legendary;279911 schrieb:

      Für sowas n Tut - Release zu machen ist peinlich.
      Was ich mich auch frage, Crasy dich sieht man nicht mehr in anderen Foren, wie kommt das zu stande? Zuviel Scheiße darum gelabbert ;'D?

      Und nun muss Mcore dran glauben, BEGEBT EUCH IN SICHERHEIT! :melt::melt::melt::melt:


      Liegt daran, das ich in InG* nicht Aktiv wirklich bin, allerdings bin ich dort und ePv* gebannt wurde weil ich die Mod's dort alle, nicht nur Daniii und Sedrika sondern echt alle angepisst hab, Hi. :)

      Hier war ich im übrigen, wüsstest du nur ansatzweiße über mich, ein Jahr gebannt weil ich glaub Stefan angepisst hab (?) sry deshalb nochmal @Stefan :)

      Für sowas ein TuT? es ist ein Release, kein TuT, und was heißt hier Peinlich? du Kriechst via ICQ bei jedem soweit in Arsch rein bis zum Anschlag, rofl, srsly.

      Und schon Knorke, nä, keiner hats aber mich Runter machen, NICE STORY BRO :3
    • Crasy;279949 schrieb:

      Liegt daran, das ich in InG* nicht Aktiv wirklich bin, allerdings bin ich dort und ePv* gebannt wurde weil ich die Mod's dort alle, nicht nur Daniii und Sedrika sondern echt alle angepisst hab, Hi. :)

      Hier war ich im übrigen, wüsstest du nur ansatzweiße über mich, ein Jahr gebannt weil ich glaub Stefan angepisst hab (?) sry deshalb nochmal @Stefan :)

      Für sowas ein TuT? es ist ein Release, kein TuT, und was heißt hier Peinlich? du Kriechst via ICQ bei jedem soweit in Arsch rein bis zum Anschlag, rofl, srsly.

      Und schon Knorke, nä, keiner hats aber mich Runter machen, NICE STORY BRO :3


      Habe geschrieben Tut oder release :/
      Wem kriech ich in den Arsch? xDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
      Du fail Noob kennst mich nicht mal ? xD
      Ich verkaufe seit paar Monanten eigene Systeme, und mache gut Geld, da brauch ich niemanden in den Arsch zu kriechen ;)

      Achja
      Zum Thema Arschkriechen
      Danke von TwiLight erhalten: √

      lol
    • Dreadlock;279962 schrieb:

      Legendary wieso sollte das peinlich sein? Die Community sollte froh sein, dass es Leute gibt, die sowas releasen. Du verkaufst deine eigenen Systeme und er macht es kostenlos. Ich sehe das Problem an der Sache nicht..ansonsten:

      Euer E-Penis-Duell tragt bitte per PN oder Messenger aus. Danke. :)

      Das sind keine Systeme, das ist 2 Zeilen Code lol

      TwiLight;279963 schrieb:

      #word.

      Früher waren Releases Gang und Gebe.
      Nur weil nun der Source public ist, dürfen keine Releases mehr sein, geschweigedenn sind sie peinlich?
      Allein für diese Aussage...



      Bitte poste doch keine Bilder von dir, so persöhnlich wollte ich nicht werden.


      Und naja, ich finde es fail. Wenn ich alles releasen würde was ich in 5min gecoded habe, würde das Forum überflutet sein von sowas.
      Nur habe ich kein ADHS :/
    • Dreadlock;279962 schrieb:

      Legendary wieso sollte das peinlich sein? Die Community sollte froh sein, dass es Leute gibt, die sowas releasen. Du verkaufst deine eigenen Systeme und er macht es kostenlos. Ich sehe das Problem an der Sache nicht..ansonsten:

      Euer E-Penis-Duell tragt bitte per PN oder Messenger aus. Danke. :)


      Schon geil, wie er mich in ICQ geaddet hat und mich als Opfer beschimpft :)

      Mich als 0 könner etc, wobei er seine "System" wie er nennt, verkauft, doch auf ePv* wurde schon einiges Released, wo ein Furtz ist, das, ist das was DU verkauft hast.

      Du verkaufst sachen von anderen, NICE :)

      Sry, ich hab kb auf den misst, und du solltest es lassen einen über ICQ zu zu flamen was fürn Opfer etc man ist, mit dein 16 Jahren hast du keine Ahnung vom Leben geschweige den von mir.

      Das mit TwiLight in der Sigi ist nicht weil ich ein Fan oder Arschkriecher bin, nein ganz im gegenteil, ich hab vor so leuten wie ihm Respekt, was man dir allerdings bei deiner Kindheit vergessen hat rein zu drücken, was?

      Ach und hey, ich habs aus Spaß Released, das ding war keine 5Min Arbeit, es war mir auch nichts wert, ich find es einfach viel schöner als das derzeitige, dazu kommt, das du bist jetzt NICHTS released hast, angeblich vom Großen Geld redest, wobei jeder misst Public ist, ich Release wens sein muss auch vollständige V19 Source, das wär mir egal, ich würde daraus kein Geld entnehmen, ist einfach nur Krank, ihr schöpft Geld aus anderer leute Arbeit, wäre das gleiche als würd ich eine Sack Kartoffeln einer Frau verkaufen mit einem Blauen Zettel dran wo alles drauf steht, dannach den selben sack der selben frau mit einem Grünen zettel.

      2 Zeilen Code, n1.
      Ich zähle hier allerdings mehr als 2 Zeilen.

      Ach und zeig mir mal DEIN Code bitte, wie du das in 5Min Coded hast, BITTE :)

      Dread, kanst Closen Pl0x? :)
    • Crasy;279965 schrieb:

      Schon geil, wie er mich in ICQ geaddet hat und mich als Opfer beschimpft :)

      Mich als 0 könner etc, wobei er seine "System" wie er nennt, verkauft, doch auf ePv* wurde schon einiges Released, wo ein Furtz ist, das, ist das was DU verkauft hast.

      Du verkaufst sachen von anderen, NICE :)

      Sry, ich hab kb auf den misst, und du solltest es lassen einen über ICQ zu zu flamen was fürn Opfer etc man ist, mit dein 16 Jahren hast du keine Ahnung vom Leben geschweige den von mir.

      Das mit TwiLight in der ICQ ist nicht weil ich ein Fan oder Arschkriecher bin, nein ganz im gegenteil, ich hab vor so leuten wie ihm Respekt, was man dir allerdings bei deiner Kindheit vergessen hat rein zu drücken, was?

      Ach und hey, ich habs aus Spaß Released, das ding war keine 5Min Arbeit, es war mir auch nichts wert, ich find es einfach viel schöner als das derzeitige, dazu kommt, das du bist jetzt NICHTS released hast, angeblich vom Großen Geld redest, wobei jeder misst Public ist, ich Release wens sein muss auch vollständige V19 Source, das wär mir egal, ich würde daraus kein Geld entnehmen, ist einfach nur Krank, ihr schöpft Geld aus anderer leute Arbeit, wäre das gleiche als würd ich eine Sack Kartoffeln einer Frau verkaufen mit einem Blauen Zettel dran wo alles drauf steht, dannach den selben sack der selben frau mit einem Grünen zettel.

      Dread, kanst Closen Pl0x? :)


      Mal davon abgesehen das ich keine andern Systeme use :/
      Ich nutze nicht mal ROC oder BSrc lol
      Und meine Systeme sind z.B 4th Job, Teleport Sys usw. Das ist es wert zu releasen, nicht son shit aber ich werde sowas nie releasen.

      Egal scheiß drauf, hf weiterhin beim releasen.
    • Legendary;279967 schrieb:

      Mal davon abgesehen das ich keine andern Systeme use :/
      Ich nutze nicht mal ROC oder BSrc lol
      Und meine Systeme sind z.B 4th Job, Teleport Sys usw. Das ist es wert zu releasen, nicht son shit aber ich werde sowas nie releasen.

      Egal scheiß drauf, hf weiterhin beim releasen.


      Ihr nennt das SYSTEM.

      Google mal das wort SYSTEM.

      Die Teleport kacke ist eine APP wo du eine ID absendest und der Server wertet diese aus, setzt den Char ggf. auf eine andere Person, das kann selbst Yannick obwohl der ein Pfosten in C++ ist.
    • Naja könntest wenigestens den Quellcode verbessern. Dein "code" löst nur kleine Lücken im Arbeitsspeicher aus.

      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 );

      ...

      Wieso legst du 4 an und brauchst nur 3 und fängst bei 1 an?

      Ganz oben bei der Klasse CWndButton benutzt du garkeine Arrays lol, kann das sein, das du den Code nicht mal verstehst?

      Verbesser das mal, sieht ja grässlich aus, und sry konnte heute erst richtig nach gucken xd war zu besoffen das we

      Peinliche Sache für sojemanden wie dich, mit so einer großen Klappe, und dann solch ein Fehler ;/
      Bist halt doch nicht der Pro Coder, den du hier immer vorspielst :'D
    • Süßer Code, kann echt nur von unserm 1337 Warrock Hacker ohne jegliche Rücksicht auf richtige deutsche Sprache kommen :facepalm:

      Naja, einer der vielen Gründe, warum Menschen mit halbwegs Skill sich aus dieser grausamen Foren Szene verpissen sollten, weil hier eh nur Crap released wird...
      Man stelle sich vor, jemand liest den Code, und hält das was da steht für optimal. Die sind doch geschädigt bis an ihr Lebensende...

      Naja, release hier mal deine Scheiße, Pumbaaa out...
    • Legendary;280407 schrieb:

      Naja könntest wenigestens den Quellcode verbessern. Dein "code" löst nur kleine Lücken im Arbeitsspeicher aus.

      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 );

      ...

      Wieso legst du 3 Arrays an wenn nur 2 brauchst? Wieso legst du 4 an und brauchst nur 3 und fängst bei 1 an?

      Ganz oben bei der Klasse CWndButton benutzt du garkeine Arrays lol, kann das sein, das du den Code nicht mal verstehst?

      LPWNDCTRL lpCustom[3];
      lpCustom[0] = GetWndCtrl( WIDC_CUSTOM1 );
      lpCustom[1] = GetWndCtrl( WIDC_CUSTOM2 );
      lpCustom[2] = GetWndCtrl( WIDC_CUSTOM3 );

      Hier der gleiche Scheiß.

      Verbesser das mal, sieht ja grässlich aus, und sry konnte heute erst richtig nach gucken xd war zu besoffen das we

      Peinliche Sache für sojemanden wie dich, mit so einer großen Klappe, und dann solch ein Fehler ;/
      Bist halt doch nicht der Pro Coder, den du hier immer vorspielst :'D


      Setz die größe doch mal auf 2 und pass auf was passiert :)

      Das hat alles seine gründe, warum es so aufgebaut ist, schatzi.

      Und durch meine Memory kenntnisse hab ich die Größe aus der Offi Neuz entnommen, idiot, ach und ja, bevor du nicht weißt wie dieser Code entstanden ist, solltest du nichts sagen, es hatte ihn auch eine zeit im Profiler drin, und die abweichung zum Alten Char Select des Memory Verbrauchs ist sehr, wirklich sehr gering.

      Denkst ich teste nicht alles Ausgibig auf evtl. Fehler? :)

      Zufällig funktioniert der Code wie er soll, also wozu deine behauptungen?

      Wisst ihr, ich bau den "Misst" selbst, und renne nicht zu Dardan, Etioom und weiß Gott zu wem noch, um zu fragen ach und ja, warum lästert ihr über mein Code wenn ihr keinen besseren habt? wie gesagt, isn paar min ding gewesen und für das, ist es doch ziemlich gut, was?

      Ach, Legendary, dein PC sieht sehr Nice aus, deine "Snippets" alle kopiert ausm Netz.

      Pumbaaa nun zu dir, das ist auch kewl mit dir, du hast neben dir ein C++ Buch, suchst hier im Forum nach einem Code X, und guckst im Buch ob da evtl. Fehler sind, wenn ja postest du sie als wärst du gleich Developer von Microsoft wo das ganze zeug erweitert bla, nice one baby.

      Schaut euch mal den misst von Etioom an, z.b. sein Fashion Fusion, so ein misst lästert ihr nicht, wobei es derber Scheiß ist, oder wir nehmen mal Yannick sein Colosseum, unnötige Checks und Frame Laggs im WorldServer beim Spawnen.

      Nice, wirklich, man hat von euch noch nicht EIN teil gesehen, aber sowas von Ablästern, echt n1.

      Wobei, Pumbaaa dein Auktion is auch echt Awesome, als ich mit jojo in Skype gelabert hab, hat er sich regelrecht bepisst von lachen über den misst.

      Ach und noch was, ihr kennt mich nicht, und was heißt ihr 1337 WarRock Coder? die Hacks waren um einiges besser als das, dass Public war, noch dazu, schau dir doch mal die Hacks an, was fällt auf? jede DLL war mit einem Trojaner versäucht, also ja, waren die nicht nur da um iwas zu erreichen in der Scene, sondern mehr um Daten ab zu greifen.

      Wie gesagt, kA von mir, geschweige denn was ich mach.

      kthxbaii <3
    • Crasy;280459 schrieb:

      Setz die größe doch mal auf 2 und pass auf was passiert :)

      Das hat alles seine gründe, warum es so aufgebaut ist, schatzi.

      Und durch meine Memory kenntnisse hab ich die Größe aus der Offi Neuz entnommen, idiot, ach und ja, bevor du nicht weißt wie dieser Code entstanden ist, solltest du nichts sagen, es hatte ihn auch eine zeit im Profiler drin, und die abweichung zum Alten Char Select des Memory Verbrauchs ist sehr, wirklich sehr gering.

      Denkst ich teste nicht alles Ausgibig auf evtl. Fehler? :)

      Zufällig funktioniert der Code wie er soll, also wozu deine behauptungen?

      Wisst ihr, ich bau den "Misst" selbst, und renne nicht zu Dardan, Etioom und weiß Gott zu wem noch, um zu fragen ach und ja, warum lästert ihr über mein Code wenn ihr keinen besseren habt? wie gesagt, isn paar min ding gewesen und für das, ist es doch ziemlich gut, was?

      Ach, Legendary, dein PC sieht sehr Nice aus, deine "Snippets" alle kopiert ausm Netz.

      Pumbaaa nun zu dir, das ist auch kewl mit dir, du hast neben dir ein C++ Buch, suchst hier im Forum nach einem Code X, und guckst im Buch ob da evtl. Fehler sind, wenn ja postest du sie als wärst du gleich Developer von Microsoft wo das ganze zeug erweitert bla, nice one baby.

      Schaut euch mal den misst von Etioom an, z.b. sein Fashion Fusion, so ein misst lästert ihr nicht, wobei es derber Scheiß ist, oder wir nehmen mal Yannick sein Colosseum, unnötige Checks und Frame Laggs im WorldServer beim Spawnen.

      Nice, wirklich, man hat von euch noch nicht EIN teil gesehen, aber sowas von Ablästern, echt n1.

      Wobei, Pumbaaa dein Auktion is auch echt Awesome, als ich mit jojo in Skype gelabert hab, hat er sich regelrecht bepisst von lachen über den misst.

      Ach und noch was, ihr kennt mich nicht, und was heißt ihr 1337 WarRock Coder? die Hacks waren um einiges besser als das, dass Public war, noch dazu, schau dir doch mal die Hacks an, was fällt auf? jede DLL war mit einem Trojaner versäucht, also ja, waren die nicht nur da um iwas zu erreichen in der Scene, sondern mehr um Daten ab zu greifen.

      Wie gesagt, kA von mir, geschweige denn was ich mach.

      kthxbaii <3


      Ich find ja süß, wie ihr euch wegen über uraltem Code aufgeilt, aber sieh es als Herausforderung, wenn du in weniger als 45 Stunden nen besseres Auktionshaus machst, als ich, nehm ich gern alles zurück und behaupte sogar, dass du etwas drauf hast.

      Zum Colo: Hab mich nie mit dem Code beschäftigt, hab eben kein Buch aufgeschlagen, und nein, Etiooms Source hatte ich auch noch nie aufm Rechner.

      Man sieht hier nur, wie du unnötig Speicher reservierst, und das ist nunmal Fail.

      Wayne, ich warte auf dein Auktionshaus.

      Brauchst nix zu machen, aber dann beweist du wieder nur, dass du mehr laberst als draufhast.

      Sieh das als kleinen Ansporn...
    • RUHE VERDAMMT!

      Der Code funktioniert und er ist kostenlos. Wenn ihr meint ihr hättet nen längeren Penis als Crasy dann released euren Versuch. Aber wegen so einem Scheiß sich aufzuregen und in die Haare zu kriegen.

      Ab jetzt gibt es kein Genörgel mehr im Bezug auf den Code, wenn überhaupt nur angemessene Kritik mit VERBESSERUNGSVORSCHLAG.

      Kaputt diese Community.Kaputt!
    • Crasy;280459 schrieb:

      Setz die größe doch mal auf 2 und pass auf was passiert :)



      Was sollte passieren? Ich code immer mie Arrays. Und 0 kann man genau so mit verwenden, dafür brauchst du keine 3, also red nicht. Mach doch mal ne 2 draus, und schau was passiert. ;'>

      Dreadlock;280461 schrieb:

      RUHE VERDAMMT!

      Der Code funktioniert und er ist kostenlos. Wenn ihr meint ihr hättet nen längeren Penis als Crasy dann released euren Versuch. Aber wegen so einem Scheiß sich aufzuregen und in die Haare zu kriegen.

      Ab jetzt gibt es kein Genörgel mehr im Bezug auf den Code, wenn überhaupt nur angemessene Kritik mit VERBESSERUNGSVORSCHLAG.

      Kaputt diese Community.Kaputt!

      Ich gebe hier kontruktive Kritk zurück, also verwarn mich nicht lol
      Zumal der Code funktioniert, aber man sollte auch auf die Risiken hingewiesen werden, und Ende.
      Es ist halt n Scheiß Code, und das sollten die leute wissen bevor sie es einbauen ? o.O

      Wenn du n Ersatzteil von jemanden käufst, würde dir die Meinung anderer auch nicht egal sein die mehr Ahnung haben ;'>

      Echt lächerlich das Ganze hier, immer diese möchtegern Programmierer, denken sie könnten alles weil sie wissen was for, int, char, while, if, else, bool etc heißt. WOW!


      Verbesser die Arrays, dann ist der Code nicht mehr so schlimm.
    • Legendary;280576 schrieb:

      Was sollte passieren? Ich code immer mie Arrays. Und 0 kann man genau so mit verwenden, dafür brauchst du keine 3, also red nicht. Mach doch mal ne 2 draus, und schau was passiert. ;'>


      Ich gebe hier kontruktive Kritk zurück, also verwarn mich nicht lol
      Zumal der Code funktioniert, aber man sollte auch auf die Risiken hingewiesen werden, und Ende.
      Es ist halt n Scheiß Code, und das sollten die leute wissen bevor sie es einbauen ? o.O

      Wenn du n Ersatzteil von jemanden käufst, würde dir die Meinung anderer auch nicht egal sein die mehr Ahnung haben ;'>

      Echt lächerlich das Ganze hier, immer diese möchtegern Programmierer, denken sie könnten alles weil sie wissen was for, int, char, while, if, else, bool etc heißt. WOW!


      Verbesser die Arrays, dann ist der Code nicht mehr so schlimm.



      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!

      Zitat:
      [TABLE="width: 100%"]
      [TR]
      [TD="class: alt2"] Weil er weiß das hier in dem Forum leute sind die Ahnung haben[/TD]
      [/TR]
      [/TABLE]

      Jemand der Ahnung hat erkennt, dass der Code nur für die Funktionalität geschrieben wurde.


      :>

      Na komm, kopier den Code bei dir rein und mach mal die Array's kleiner, du wirst sehen das er das 2. Jeweil's immer ignorieren wird, idiot.

      Was heißt hier möchtegern Code, ich hab das zeug 3 Jahre lang gelernt, nur weil ich nicht die ganze zeit am Src sitz heißt nun das teil ist Schlecht, das teil ist zwischen durch entstanden, es wurde mal das und dann wieder das gemacht, am Ende wurde das daraus und wie oben steht, es sollte nur Funktionieren, und ich sagte ja nie das ich den Code nicht evtl. noch Optimiere.

      Wie gesagt, keine ahnung wer ich bin, geschweige denn was ich mache, sondern nur das Maul aufreisen.

      Naja, kann mir eigtl. egal sein, mich pisst es nur an wenn einer meint der pro zu sein, wobei er selbst FlyFF vllt seit einem Jahr kennt. :>

      Ach und noch was, das ding enthält weder Sicherheits lücken ( was sowieso Client Side ist und keine Verbindung aufnimmt ) noch ihrgend welche Frame laggs, das teil ist nur nich Perfekt gemacht, und? es funktioniert, und das ist das wichtige.

      Punkt aus, jeglicher weitere Beitrag von dir wird Reportet als Spam.

      kthxbaii.