admin
管理员
管理员
  • UID1
  • 注册日期2019-01-28
  • 最后登录2019-10-10
  • 粉丝10
  • 关注0
  • 发帖数106
  • QQ794530664
  • 铜币8775枚
  • 威望787点
  • 银元0个
  • 社区居民
  • 忠实会员
  • 原创写手
阅读:405回复:1

修复《飞飞》秒杀/隐身/召唤/瞬移/非法物品错误

楼主#
更多 发布于:2019-01-31 20:39
1. 首先打开DPSrvr.cpp
2. 搜索下面的3处功能:CDPSrvr::OnModifyMode
CDPSrvr::OnSummonPlayer
CDPSrvr::OnTeleportPlayer  
他们后面的代码#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  
修改为:#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  
如果你没有 定义__HACK_0516 那么 定义它:-*

3.非法创建物品修复如下:CDPSrvr::OnBuyingInfo

编辑这个代码如下:void CDPSrvr::OnBuyingInfo( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
{/*
  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????? ?? ?????.
              }
          }
      }
  }
  g_dpDBClient.SendBuyingInfo( &bi2, iSerialNumber );
//    FILEOUT( "buyinginfo.txt", "dwServerIndex = %d\tdwPlayerId = %d\tdwItemId = %d\tdwItemNum = %d\n",
  //    bi2.dwServerIndex, bi2.dwPlayerId, bi2.dwItemId, bi2.dwItemNum );
  static char lpOutputString[260]    = { 0, };
  sprintf( lpOutputString, "dwServerIndex = %d\tdwPlayerId = %d\tdwItemId = %d\tdwItemNum = %d",
      bi2.dwServerIndex, bi2.dwPlayerId, bi2.dwItemId, bi2.dwItemNum );        
  OutputDebugString( lpOutputString );
*/}  
nihaost
贫民
贫民
  • UID776
  • 注册日期2019-12-30
  • 最后登录2019-12-30
  • 粉丝0
  • 关注0
  • 发帖数12
  • QQ164374545
  • 铜币10枚
  • 威望24点
  • 银元0个
沙发#
发布于:2019-12-30 09:47
北京私家侦探
上海搬家公司
蓝月传奇辅助                                                                                       .
游客

返回顶部