英雄联盟(LOL)外挂原理(仅供学术交流) |
您所在的位置:网站首页 › 王者联盟怎么写 › 英雄联盟(LOL)外挂原理(仅供学术交流) |
了解外挂之前,我们需要先了解一下LOL的机制。 首先,粗略的讲,我们每个人操作的角色可以具有『受伤』和『没受伤』两种状态。(什么?这算什么分类?) 然后,要触发『受伤』状态,角色需要被『攻击物』产生『碰撞』。 比如这样,图中快乐风男被防御塔的『攻击』碰撞到了,于是产生了『受伤』状态,hp减少。 而当一个角色HP减为0的时候,角色就会回泉水洗澡。这样,某类外挂就产生了,目的很单纯——避免角色回泉水。 那么为了达到这个目的,需要从动机开始往前推: 避免角色死亡——》避免角色受伤——》避免角色与『攻击物』碰撞 于是,外挂需要监听的对象就很清晰了,『角色』与『攻击物』 那么,『攻击物』是从哪里产生的呢? 可以从图中看出,『攻击物』由角色技能触发,并具有一定的移动规律。 用代码来表示则是这样: 这代码什么意思,我已经不记得了,大概就是,生成一个『攻击物』(比如艾希的冰箭),然后设定它的移动速度,移动轨迹,生命周期。 然后冰箭就会在这段时间内沿着既定的轨迹移动,中途与其他角色产生碰撞。 那么角色收到碰撞反馈后,就会触发『受伤』的状态。 —— 了解了技能机制以后,外挂机制就简单了。 首先,触发技能的『角色』玩家是可以看到自己的技能轨迹的。 那么,外挂的机制,就是把这个轨迹同步给对方角色。 但如果只是这种程度的话,对玩家的帮助还不够。 毕竟游戏里有很多技能触发轨迹是所有人可见的,但就算能看到也躲不开。 所以,这时候,脚本就开始了。 既然,知道了轨迹,脚本就会开始计算玩家『角色』的位置,并进行移动,从而使角色躲开『攻击物』的轨迹,避免碰撞产生。 计算方式有很多,而这其实方法就是游戏制作者为每个游戏编写AI时一直在做的事…… 最后呈现的效果,则是 其他的外挂,比如: 无敌,其实就是在『受伤』状态触发时,把对应函数里的代码注释掉就行了。 其他的就不一一列举了。 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |