huya 自动点开宝箱脚本代码

这篇博客介绍了一个在PC端网页上实现自动挖宝功能的JavaScript代码,通过F12开发者工具,在Console中运行代码后,会显示自动挖宝的图标。代码实现了监控宝藏状态、更新挖宝信息并存储历史记录等功能,方便用户跟踪挖宝进度。
摘要由CSDN通过智能技术生成
一、在PC端的网页内,点击F12进入开发者页面:

在这里插入图片描述

二、在Console选项端,清空内容##后,导入下方代码,按回车健即可:
(function () {
  'use strict'

  const $ = window.$
  const styleData = `
    .chat-room__gift {
      position: relative;
      width: 100%;
      height: 100%;
      overflow: hidden;
    }
    .room-chat-tool-gift {
      display: inline-block;
      width: 24px;
      height: 24px;
      margin-top: -2px;
      background: url("https://huyaimg.msstatic.com/cdnimage/actprop/20293_1__45_1547818438.jpg") center no-repeat;
      background-size: contain;
      filter: grayscale(1);
      opacity: .65;
    }
    .room-chat-tool-gift:hover {
      opacity: 1;
    }
    #gift-main {
      position: relative;
      height: 100%;
      display: flex;
      flex-direction: column;
    }
    #gift-list {
      height: 100%;
      overflow: auto;
      scroll-behavior: smooth;
    }
    #gift-list li {
      font-size: 12px;
      padding: 6px 0;
      margin: 0 10px;
      border-bottom: 1px solid #eee;
    }
    #gift-list li > div {
      display: block;
      margin: 3px 0px;
    }
    #gift-list li .time {
      color: #aaa;
    }
    #gift-list li .host {
      padding-left: 18px;
      margin-left: 3px;
      color: #f80;
      background: url(https://a.msstatic.com/huya/main3/assets/img/room/bussType_icon_c974b.png) left center no-repeat;
    }
    #gift-list li .info {
      color: #444;
    }
    #gift-list li .info i {
      font-style: normal;
      color: #3c9cfe;
    }
    #gift-list li .status {
      color: #999;
    }
    #gift-list li .winner {
      color: #d35757;
    }
    #gift-status {
      display: flex;
      align-items: baseline;
      font-size: 13px;
      padding: 6px;
      margin: 0 6px 6px;
      background: #f5f5f5;
      border: 1px solid #eee;
      border-radius: 3px;
    }
    #gift-status .time {
      color: #aaa;
      margin-right: 6px;
    }
    #gift-status .info {
      color: #999;
    }
    #gift-status .info i {
      font-style: normal;
      color: #f80;
    }
  `
  function localGet (key) {
    return JSON.parse(localStorage.getItem(key))
  }
  function localSet (key, val) {
    return localStorage.setItem(key, JSON.stringify(val))
  }
  function localRemove (key) {
    return localStorage.removeItem(key)
  }
  function updateGift (el, html, save = false) {
    const $giftEl = $('.chat-room__gift')
    let $giftMain = $('#gift-main')

    if (!$giftMain.length) {
      $giftMain = $('<div id="gift-main" class="chat-room__scroll"></div>')

      const $clearEl = $('<p class="clearBtn"><i></i><span>清除历史数据</span></p>')
      $clearEl.on('click', () => {
        $('#gift-list').html('')
        localRemove('giftHistory')
      })

      $giftMain.append($('<ul id="gift-list" class="gift-list"></ul>'))
      $giftMain.append($('<div id="gift-status" class="gift-status"></div>'))
      $giftMain.append($clearEl)
      $giftEl.append($giftMain)
    }

    switch (el) {
      case 'list':
        const $list = $('#gift-list')
        $list.append($(`<li>${html}</li>`))
        $list.scrollTop($list[0].scrollHeight)

        if (save) {
          const giftHistory = localGet('giftHistory') || []
          giftHistory.push(html)
          localSet('giftHistory', giftHistory)
        }
        break
      case 'status':
        $('#gift-status').html(html)
        break
    }
  }
  function loopGift () {
    const date = new Date().toLocaleString('zh-Hans-CN')
    const $btn = $('#J_treasureChestContainer .btn-wrap .btn')

    if (!$btn.length) {
      updateGift('status', `<div class="time">[${date}]</div><div class="info">等待宝藏掉落...</div>`)
      setTimeout(() => {
        loopGift()
      }, 500)
      return
    }

    const btnVal = $btn.text()
    const nick = $('#J_treasureChestContainer .waitTips .nick').text()
    const gName = $('#J_treasureChestContainer .waitTips .aName').text()
    const number = $('#J_treasureChestContainer .num').text()

    if (/\d+:\d+/.test(btnVal)) {
      const [min, sec] = btnVal.split(':')
      const time = Number(min) * 60 + Number(sec)
      updateGift('status', `<div class="time">[${time}s]</div><div class="info">准备挖<i>${nick}</i>${gName},还剩${number}</div>`)
    } else if (btnVal === '领取') {
      $btn.trigger('click')

      setTimeout(() => {
        const status = $('#watchChat_pub .treasureChest-tips .tct-cont').text()
        const hostName = $('.host-name').text()
        const hostLink = window.TT.app.main + window.TT_ROOM_DATA.profileRoom

        let cls = 'class="status"'
        if (/恭喜/.test(status)) {
          cls = 'class="status winner"'
        }

        updateGift('list', `<div class="time">[${date}] <a class="host" href="${hostLink}">${hostName}</a></div><div class="info"><i>${nick}</i>${gName}</div><div ${cls}>${status}</div>`, true)
      }, 1000)
    } else {
      updateGift('status', `<div class="time">[${btnVal}]</div><div class="info">${
        number > 0 ? `等待中,还剩${number}` : '当前宝藏已挖完'
      }</div>`)
    }
    requestAnimationFrame(loopGift)
  }

  $(document).ready(() => {
    const $chatRoom = $('#chatRoom')

    if (!$chatRoom.length) {
      return
    }

    const $chatPanel = $('#chatRoom .chat-room__bd')
    const $giftPanel = $('<div class="chat-room__bd chat-room__gift" style="display: none;"></div>')
    const $giftIcon = $('<i class="room-chat-tool room-chat-tool-gift" id="J-room-chat-gift" title="自动挖宝"></i>')

    $giftIcon.on('click', () => {
      $chatPanel.toggle()
      $giftPanel.toggle()
      $('#gift-list').scrollTop($('#gift-list')[0].scrollHeight)
    })

    $('head').append($(`<style>${styleData}</style>`))
    $('.room-chat-tools').append($giftIcon)

    $giftPanel.height($chatPanel.height())
    $chatRoom.append($giftPanel)

    $('#J_playerMain').on('resize', () => {
      $giftPanel.height($chatPanel.height())
    })

    const giftHistory = localGet('giftHistory') || []
    if (giftHistory.length) {
      giftHistory.forEach(v => {
        updateGift('list', v)
      })
    }

    loopGift()
  })
})()


三、成功后将出现自动挖宝图标:

在这里插入图片描述

原来那个太贵,本来不大的东西,还分成了6份,现在合到一起了 1.引言 4 1.1编写目的 4 1.2背景 4 1.2.1 中国战网对战平台产生的背景 4 1.2.2 对战平台的市场分析 4 1.3定义 5 1.4参考资料 6 1.5开发软件 6 2系统的结构 6 2.1客户端系统结构模块划分 6 2.1.1管道模块 6 2.1.2用户socket通信模块, 6 2.1.3主程序界面模块 6 2.1.4网络通信的信息库模块 7 2.1.5客户端界面基础类库 7 2.1.6检查系统进程加密等操作模块 7 2.1.7 检查系统进程记录数据信息写日志模块 7 2.1.8特殊cs1.5服务器客户端使用的动态连接库模块 7 2.2中国战网网络拓朴图 8 3.客户端设计说明 9 3.1客户端描述 9 3.2功能 9 3.2.1 用户登录 9 3.2.2 游戏房间、比赛房间,公共资讯 9 3.2.3游戏类型列表 10 3.2.4 房间成员信息显示 10 3.2.5 基于互联网络环境下的局域网 10 3.2.6 支持多种网络协议 10 3.2.7 支持多种局域网游戏 11 3.2.8 支持cs1.5战网服务器方式游戏 11 3.2.9 对战成绩统计和积分排名 11 3.2.10战队组队和战队排名 11 3.2.11丰富多彩的聊天系统 11 3.2.12强大的在线管理功能 12 3.2.13基于用户的针对性广告系统 12 3.2.15战币, 游戏币计费与帐务系统功能 12 3.3应用环境 12 3.4输入项 13 3.5输出项 13 3.6技术实现 13 3.6.1利用挂钩(Hook)插入DLL进行网络内容访问控制 13 3.6.2 tcp转udp设计方案 19 3.6.3 客户端皮肤方案 24 3.7客户端与服务器的流程逻辑 25 3.7.1 客户端与登陆服务器数据包流程 (TCP数据包) 25 3.7.2客户端与游戏服务器数据包流程 (TCP数据包) 27 3.8接口 30 3.9存储分配 31 3.10注释设计 31 3.11限制条件 31 3.12综合测试计划 31 3.12.1.待测产品: 31 3.12.2测试目的: 31 3.12.3测试环境: 31 3.12.4测试范围: 32 3.12.5测试策略 : 32 3.12.6测试资源 33 3.12.7测试内容 33 3.13尚未解决的问题 34 4.中国战网对战平台技术特点和优势 34
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值