[Source] Command und HoP Bug

    • [Source] Command und HoP Bug

      Also ich habe 2 Probleme:
      1. Der Hit of Penya Bug/Crash

      Ctrl.cpp

      Quellcode

      1. #ifdef __CLIENT
      2. void CCtrl::CreateYoyoSkill( CSfx* pSfx, CCtrl *pTarget, ItemProp *pSkillProp, AddSkillProp *pAddSkillProp )
      3. {
      4. ItemProp* pItemProp = ((CMover *)this)->GetActiveHandItemProp();
      5. if(pItemProp)
      6. {
      7. D3DXVECTOR3 vPos;
      8. D3DXVECTOR3 vLocal;
      9. D3DXVECTOR3 vPosSrc = GetPos() + D3DXVECTOR3( 0.0f, 1.0f, 0.0f ); // ¹ß»ç ÁöÁ¡À» ÀÓÀÇ·Î ¿Ã·ÁÁØ´Ù. ¶«»§
      10. D3DXVECTOR3 vPosDest = pTarget->GetPos() + D3DXVECTOR3( 0.0f, 1.0f, 0.0f ); // ¸ñÇ¥ ÁöÁ¡À» ÀÓÀÇ·Î ¿Ã·ÁÁØ´Ù. ¶«»§
      11. CModelObject *pModel = (CModelObject *)m_pModel;
      12. int nSkill = pSkillProp->dwID;
      13. switch( nSkill )
      14. {/*
      15. case SI_ACR_SUP_SLOWSTEP:
      16. case SI_JST_YOYO_HITOFPENYA:
      17. case SI_JST_YOYO_VATALSTAB:
      18. {
      19. pModel->GetHandPos( &vPos, PARTS_RWEAPON, GetMatrixWorld() );
      20. pSfx = CreateSfxYoYo( D3DDEVICE, pItemProp->dwSfxObj2, vPos, GetId(), vPosDest );
      21. ((CSfxItemYoyoAtk*)pSfx)->MakePath(PARTS_RWEAPON);
      22. }
      23. break;
      24. case SI_ACR_YOYO_DEADLYSWING:
      25. case SI_ACR_YOYO_CROSSLINE:
      26. {
      27. pModel->GetHandPos( &vPos, PARTS_RWEAPON, GetMatrixWorld() );
      28. pSfx = CreateSfxYoYo( D3DDEVICE, pItemProp->dwSfxObj2, vPos, GetId(), vPosDest );
      29. ((CSfxItemYoyoAtk*)pSfx)->MakePath(PARTS_RWEAPON);
      30. pModel->GetHandPos( &vPos, PARTS_LWEAPON, GetMatrixWorld() );
      31. pSfx = CreateSfxYoYo( D3DDEVICE, pItemProp->dwSfxObj2, vPos, GetId(), vPosDest );
      32. ((CSfxItemYoyoAtk*)pSfx)->MakePath(PARTS_LWEAPON);
      33. }
      34. break;*/
      35. }
      36. }
      37. }
      38. #endif //__CLIENT
      Alles anzeigen
      Es crasht ja weil andere das YoYo nicht sehen. (man selbst sieht es aber, und andere nur nachdem man es nochmal neu angezogen hat)

      Habe ich den richtigen Bereich ausgeklammert?

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

      2. Der System Command

      FuncTextCmd.cpp

      Quellcode

      1. BOOL TextCmd_System( CScanner & scanner )
      2. {
      3. #ifdef __WORLDSERVER
      4. CHAR szString[512] = "";
      5. CUser* pUser = (CUser*)scanner.dwValue;
      6. scanner.GetLastFull();
      7. if( strlen( scanner.token ) >= 512 )
      8. return TRUE;
      9. strcpy( szString, scanner.token );
      10. StringTrimRight( szString );
      11. string finalString = szString;
      12. g_DPCoreClient.SendSystem( szString );
      13. #endif // __WORLDSERVER
      14. return TRUE;
      15. }
      Alles anzeigen
      wie verknüpfe ich pUser->GetName() mit szString in folgendem Abschnitt:

      Quellcode

      1. g_DPCoreClient.SendSystem( szString );
      So sollte dann die Ausgabe ungefähr sein:
      [HanzFranz]: Hallo

      schonma danke für Hilfrecihe Posts
    • Werbung zur Unterstützung des Forums ( Bitte AddBlocker deaktivieren )

    • Rejun;223927 schrieb:

      Quellcode

      1. #ifdef __CLIENT
      2. void CCtrl::CreateYoyoSkill( CSfx* pSfx, CCtrl *pTarget, ItemProp *pSkillProp, AddSkillProp *pAddSkillProp )
      3. {
      4. ItemProp* pItemProp = ((CMover *)this)->GetActiveHandItemProp();
      5. if(pItemProp)
      6. {
      7. D3DXVECTOR3 vPos;
      8. D3DXVECTOR3 vLocal;
      9. D3DXVECTOR3 vPosSrc = GetPos() + D3DXVECTOR3( 0.0f, 1.0f, 0.0f ); // ¹ß»ç ÁöÁ¡À» ÀÓÀÇ·Î ¿Ã·ÁÁØ´Ù. ¶«»§
      10. D3DXVECTOR3 vPosDest = pTarget->GetPos() + D3DXVECTOR3( 0.0f, 1.0f, 0.0f ); // ¸ñÇ¥ ÁöÁ¡À» ÀÓÀÇ·Î ¿Ã·ÁÁØ´Ù. ¶«»§
      11. CModelObject *pModel = (CModelObject *)m_pModel;
      12. int nSkill = pSkillProp->dwID;
      13. switch( nSkill )
      14. {/*
      15. case SI_ACR_SUP_SLOWSTEP:
      16. case SI_JST_YOYO_HITOFPENYA:
      17. case SI_JST_YOYO_VATALSTAB:
      18. {
      19. pModel->GetHandPos( &vPos, PARTS_RWEAPON, GetMatrixWorld() );
      20. pSfx = CreateSfxYoYo( D3DDEVICE, pItemProp->dwSfxObj2, vPos, GetId(), vPosDest );
      21. ((CSfxItemYoyoAtk*)pSfx)->MakePath(PARTS_RWEAPON);
      22. }
      23. break;
      24. case SI_ACR_YOYO_DEADLYSWING:
      25. case SI_ACR_YOYO_CROSSLINE:
      26. {
      27. pModel->GetHandPos( &vPos, PARTS_RWEAPON, GetMatrixWorld() );
      28. pSfx = CreateSfxYoYo( D3DDEVICE, pItemProp->dwSfxObj2, vPos, GetId(), vPosDest );
      29. ((CSfxItemYoyoAtk*)pSfx)->MakePath(PARTS_RWEAPON);
      30. pModel->GetHandPos( &vPos, PARTS_LWEAPON, GetMatrixWorld() );
      31. pSfx = CreateSfxYoYo( D3DDEVICE, pItemProp->dwSfxObj2, vPos, GetId(), vPosDest );
      32. ((CSfxItemYoyoAtk*)pSfx)->MakePath(PARTS_LWEAPON);
      33. }
      34. break;*/
      35. }
      36. }
      37. }
      38. #endif //__CLIENT
      Alles anzeigen


      Ich hoffe du wiest was /* und */ macht. Richtig! Es kommentiert mehrzeiligen Code aus

      Also haben wir nur:

      Quellcode

      1. #ifdef __CLIENT
      2. void CCtrl::CreateYoyoSkill( CSfx* pSfx, CCtrl *pTarget, ItemProp *pSkillProp, AddSkillProp *pAddSkillProp )
      3. {
      4. ItemProp* pItemProp = ((CMover *)this)->GetActiveHandItemProp();
      5. if(pItemProp)
      6. {
      7. D3DXVECTOR3 vPos;
      8. D3DXVECTOR3 vLocal;
      9. D3DXVECTOR3 vPosSrc = GetPos() + D3DXVECTOR3( 0.0f, 1.0f, 0.0f ); // ¹ß»ç ÁöÁ¡À» ÀÓÀÇ·Î ¿Ã·ÁÁØ´Ù. ¶«»§
      10. D3DXVECTOR3 vPosDest = pTarget->GetPos() + D3DXVECTOR3( 0.0f, 1.0f, 0.0f ); // ¸ñÇ¥ ÁöÁ¡À» ÀÓÀÇ·Î ¿Ã·ÁÁØ´Ù. ¶«»§
      11. CModelObject *pModel = (CModelObject *)m_pModel;
      12. int nSkill = pSkillProp->dwID;
      13. switch( nSkill )
      14. {
      15. }
      16. }
      17. }
      18. #endif //__CLIENT
      Alles anzeigen
    • Also ich hab mich mal mit einen auseinandergesetzt wegen den zweiten Problem mit dem gm shout.
      er meinte das es evtl so gehen könnte:

      Quellcode

      1. g_DPCoreClient.SendSystem( "[" + pUser->GetName() + "] " + szString );
      ich kenne die struktur mir einem + bereits aus Delphi bin mir jedoch nicht sicher ob sie auch in C übertragbar ist.

      und daas mit /* */ kenn ich ja auch aus PHP und daher dachte ich mir "klammerst du mal den Problemfall aus"