[Fix Release] Onekill / Unsichtbar / Summon / Teleport

    • [Fix Release] Onekill / Unsichtbar / Summon / Teleport

      Da Morgen ja der Hack releast werden soll kommt hier der Fixx von YannickMAMA also alle Thx gehen an ihm !.


      1. Ihr geht zuerst in die DPSrvr.cpp
      2. Ihr sucht folgende Funktionen:
      CDPSrvr::OnModifyMode
      CDPSrvr::OnSummonPlayer
      CDPSrvr::OnTeleportPlayer


      3. Nun ändert diesen Coden:

      #ifdef __HACK_0516
      DPID dpid;
      ar >> dpid;
      if( pUser->m_Snapshot.dpidUser != dpid )
      {
      Error( "[%s] try to hack : PACKETTYPE_MODIFYMODE", pUser->GetName() );
      return;
      }
      #endif // __HACK_0516



      zu diesen code:


      #ifdef __HACK_0516
      DPID dpid;
      ar >> dpid;
      if( pUser->m_Snapshot.dpidUser != dpid )
      {
      Error( "[%s] try to hack : PACKETTYPE_MODIFYMODE", pUser->GetName() );
      return;
      }
      if( !pUser->IsAuthHigher(AUTH_GAMEMASTER) )
      {
      Error( "[%s] try to hack with dpid : PACKETTYPE_MODIFYMODE", pUser->GetName() );
      return;
      }
      #endif // __HACK_0516



      Bei OnModifyMode bin ich mir nicht genau sicher ob dies bei DARK ILLU benutzt wird oder iwo anderst im Source.
      Ihr könnt da auch hineditieren:
      if( dwMode == ONEKILL_MODE && !pUser->IsAuthHigher(AUTH_GAMEMASTER) )
      { Error("..."); Return; }
      .................................................. .............................






      Weiter gehts!

      Fixx für Items erstellen!

      Sucht einfach die funktion CDPSrvr::OnBuyingInfo in der DPSrvr.cpp und kommentiert diese aus (nur den bereich zwischen den geschweiften "{}" klammern.



      Credits: YannickMAMA 99%
      Credits: *hust* Soul 1%
    • Werbung zur Unterstützung des Forums ( Bitte AddBlocker deaktivieren )

    • Und da er mit Yannick nicht redet sollst du es für ihn übernehmen. Ich meine, bist ja schon der Lakai eines Herrn. Wieso, dann nicht zweier?

      Ansonsten einfach den AH von dem Tom downloaden, da ist der Fix bei der Free- Version auch dabei!
      Und da der Tom die Lücken gefunden hat, weiß er sicherlich mehr über den Protect ...
    • Cheas3r;236857 schrieb:

      Und da er mit Yannick nicht redet sollst du es für ihn übernehmen. Ich meine, bist ja schon der Lakai eines Herrn. Wieso, dann nicht zweier?

      Ansonsten einfach den AH von dem Tom downloaden, da ist der Fix bei der Free- Version auch dabei!
      Und da der Tom die Lücken gefunden hat, weiß er sicherlich mehr über den Protect ...


      XDDD Ja ne ist klar es wurde bei Elite Releast und ich dachte es ist eine gute idee, Aber wenn ich so was schon lese muss ich lachen nix wissen aber so ein mist schreiben.
    • verstehe den teil nicht

      Weiter gehts!

      Fixx für Items erstellen!

      Sucht einfach die funktion CDPSrvr::OnBuyingInfo in der DPSrvr.cpp und kommentiert diese aus (nur den bereich zwischen den geschweiften "{}" klammern.


      wo muss ich das ausklammern ?

      void CDPSrvr::OnBuyingInfo( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
      {

      g_dpDBClient.DestroyPlayer( dpidUser );
      return;

      BUYING_INFO2 bi2;
      ar.Read( (void*)&bi2, sizeof(BUYING_INFO2) );

      CWorld* pWorld;
      CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );

      SERIALNUMBER iSerialNumber = 0;
      if( IsValidObj( pUser ) && ( pWorld = pUser->GetWorld() ) )
      {
      bi2.dwRetVal = 0;
      CItemElem itemElem;
      itemElem.m_dwItemId = bi2.dwItemId;
      itemElem.m_nItemNum = (short)bi2.dwItemNum;
      itemElem.m_bCharged = TRUE;
      BYTE nId;
      bi2.dwRetVal = pUser->CreateItem( &itemElem, &nId );
      #ifdef __LAYER_1015
      g_dpDBClient.SavePlayer( pUser, pWorld->GetID(), pUser->GetPos(), pUser->GetLayer() );
      #else // __LAYER_1015
      g_dpDBClient.SavePlayer( pUser, pWorld->GetID(), pUser->GetPos() );
      #endif // __LAYER_1015
      if( bi2.dwRetVal )
      {
      CItemElem* pItemElem = pUser->m_Inventory.GetAtId( nId );
      if( pItemElem )
      {
      iSerialNumber = pItemElem->GetSerialNumber();
      pItemElem->m_bCharged = TRUE;
      if( bi2.dwSenderId > 0 )
      {
      // %sÀ» %s´ÔÀ¸·ÎºÎÅÍ ¼±¹° ¹Þ¾Ò½À´Ï´Ù.
      }
      }
      }
      }
    • Ich würde es ja so machen:



      if( !pUser->IsAuthHigher(AUTH_GAMEMASTER) && !(dwMode == TRANSPARENT_MODE && pUser->HasBuff( BUFF_SKILL, SI_ACR_SUP_DARKILLUSION )) && !(dwMode == MODE_OPTION_DONT_RENDER_MASK) && !(dwMode == PVPCONFIRM_MODE) && !(dwMode == FREEPK_MODE) && !(dwMode == EQUIP_DENIAL_MODE))
      {
      Error( "[%s] try to hack : PACKETTYPE_MODIFYMODE", pUser->GetName() );
      return;
      }
      Dann hat sich das ganze mit dem Namen ändern etc auch schon geklärt.
    • Pumaaa;237280 schrieb:

      void CDPSrvr::OnBuyingInfo( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
      {

      Hinter der Klammer { ein /* setzen.

      Vor dem letzten } ein */ setzen.

      Sieht in etwa so aus

      {
      /*


      blahblah


      */
      }


      an welcher stelle muss ich es hier machen hab es unterschiedlich probiert an {} klammern aber geht nicht kriege zich errors :o

      void CDPSrvr::OnBuyingInfo( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
      {

      g_dpDBClient.DestroyPlayer( dpidUser );
      return;

      BUYING_INFO2 bi2;
      ar.Read( (void*)&bi2, sizeof(BUYING_INFO2) );

      CWorld* pWorld;
      CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );

      SERIALNUMBER iSerialNumber = 0;
      if( IsValidObj( pUser ) && ( pWorld = pUser->GetWorld() ) )
      {
      bi2.dwRetVal = 0;
      CItemElem itemElem;
      itemElem.m_dwItemId = bi2.dwItemId;
      itemElem.m_nItemNum = (short)bi2.dwItemNum;
      itemElem.m_bCharged = TRUE;
      BYTE nId;
      bi2.dwRetVal = pUser->CreateItem( &itemElem, &nId );
      #ifdef __LAYER_1015
      g_dpDBClient.SavePlayer( pUser, pWorld->GetID(), pUser->GetPos(), pUser->GetLayer() );
      #else // __LAYER_1015
      g_dpDBClient.SavePlayer( pUser, pWorld->GetID(), pUser->GetPos() );
      #endif // __LAYER_1015
      if( bi2.dwRetVal )
      {
      CItemElem* pItemElem = pUser->m_Inventory.GetAtId( nId );
      if( pItemElem )
      {
      iSerialNumber = pItemElem->GetSerialNumber();
      pItemElem->m_bCharged = TRUE;
      if( bi2.dwSenderId > 0 )
      {
      // %sÀ» %s´ÔÀ¸·ÎºÎÅÍ ¼±¹° ¹Þ¾Ò½À´Ï´Ù.
      }
      }
      }
      }
    • Owndx3;237473 schrieb:

      frage bleibt noch bestehen..



      Quellcode

      1. void CDPSrvr::OnBuyingInfo( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
      2. {/*
      3. BUYING_INFO2 bi2;
      4. ar.Read( (void*)&bi2, sizeof(BUYING_INFO2) );
      5. CWorld* pWorld;
      6. CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
      7. SERIALNUMBER iSerialNumber = 0;
      8. if( IsValidObj( pUser ) && ( pWorld = pUser->GetWorld() ) )
      9. {
      10. bi2.dwRetVal = 0;
      11. CItemElem itemElem;
      12. itemElem.m_dwItemId = bi2.dwItemId;
      13. itemElem.m_nItemNum = (short)bi2.dwItemNum;
      14. itemElem.m_bCharged = TRUE;
      15. BYTE nId;
      16. bi2.dwRetVal = pUser->CreateItem( &itemElem, &nId );
      17. #ifdef __LAYER_1015
      18. g_dpDBClient.SavePlayer( pUser, pWorld->GetID(), pUser->GetPos(), pUser->GetLayer() );
      19. #else // __LAYER_1015
      20. g_dpDBClient.SavePlayer( pUser, pWorld->GetID(), pUser->GetPos() );
      21. #endif // __LAYER_1015
      22. if( bi2.dwRetVal )
      23. {
      24. CItemElem* pItemElem = pUser->m_Inventory.GetAtId( nId );
      25. if( pItemElem )
      26. {
      27. iSerialNumber = pItemElem->GetSerialNumber();
      28. pItemElem->m_bCharged = TRUE;
      29. if( bi2.dwSenderId > 0 )
      30. {
      31. // %s을 %s님으로부터 선물 받았습니다.
      32. }
      33. }
      34. }
      35. }
      36. g_dpDBClient.SendBuyingInfo( &bi2, iSerialNumber );
      37. // FILEOUT( "buyinginfo.txt", "dwServerIndex = %d\tdwPlayerId = %d\tdwItemId = %d\tdwItemNum = %d\n",
      38. // bi2.dwServerIndex, bi2.dwPlayerId, bi2.dwItemId, bi2.dwItemNum );
      39. static char lpOutputString[260] = { 0, };
      40. sprintf( lpOutputString, "dwServerIndex = %d\tdwPlayerId = %d\tdwItemId = %d\tdwItemNum = %d",
      41. bi2.dwServerIndex, bi2.dwPlayerId, bi2.dwItemId, bi2.dwItemNum );
      42. OutputDebugString( lpOutputString );
      43. */}
      Alles anzeigen

      Schwer oder?