Porofessor如何获取Buff数据?自定义同类APP技术实现咨询
类似Porofessor的Buff计时功能实现方案
一、获取己方击杀野怪的实时信息
你对Live Client Data API的判断有误——它确实提供野怪击杀的事件触发数据,核心实现方式是轮询指定端点:
- 轻量化方案:每隔1-2秒轮询
/liveclientdata/eventdata端点,返回的事件列表中包含MonstersKilled类型事件,关键字段包括:killerTeamId:击杀方队伍ID(对比己方队伍ID即可判断是否为己方击杀)monsterType:野怪类型(如红Buff、蓝Buff、小龙等)timestamp:击杀时间戳
- 全量数据方案:轮询
/liveclientdata/allgamedata,其中gameData.events字段同样包含完整的野怪击杀事件,适合需要同步获取其他游戏数据的场景。
捕获到己方击杀事件后,根据野怪固定刷新时长(比如红蓝Buff为5分钟)计算下一次刷新时间,即可在地图上生成计时。
二、敌方视野内击杀Buff的计时机制
Porofessor的这个逻辑核心依赖游戏客户端的视野过滤规则,结合Live Client Data API即可实现:
- 当敌方击杀野怪时,只有该野怪营地处于己方视野覆盖范围(比如己方英雄在附近、有眼位监控、或击杀动作被己方视野捕捉),游戏客户端才会将这次
MonstersKilled事件暴露给Live Client Data API。 - 你的应用只需监听API返回的敌方
MonstersKilled事件(通过killerTeamId判断为敌方),直接基于事件时间戳计算刷新计时即可——无需额外做视野判断,客户端已经帮你过滤了不可见的击杀事件。
补充:如果需要精细化校验,也可以结合/liveclientdata/mapdata(返回当前视野覆盖的区域坐标)和/liveclientdata/playerlist(返回敌方英雄位置)做二次验证,但实际开发中,依赖API返回的事件已经足够准确。
另外,Riot Spectator API主要用于第三方观战场景,本地辅助工具的核心数据源还是Live Client Data API,无需额外申请开发者密钥即可本地调用。
内容的提问来源于stack exchange,提问作者vladpaun1
相关产品推荐
相关产品推荐

