吾爱破解 - LCG - LSG |安卓破解|病毒分析|破解软件|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

领取今日签到奖励
查看: 5189|回复: 36

[游戏安全] RPG游戏自动打怪之朝向判断

  [复制链接]
发表于 2018-7-11 10:55 | 显示全部楼层
本帖最后由 Gslab 于 2018-7-11 13:41 编辑

RPG游戏辅助想要做到自动打怪
获得到最近怪物信息以后 还需要面向怪物
否则背对怪物等等情况是没有办法攻击以及释放技能的


游戏设计的时候朝向是有很多种情况的


第一种
2D,2.5D老游戏,例如传奇
他的朝向一般是极为固定的4朝向或则8朝向
也就是不是自由朝向的,只能朝向 东南西北4个方位
或则 东北 西北 西 西南 东南 8个方位
那么朝向计算也极为简单
只要计算出怪物和人物坐标的关系即可


例如 X怪物>X人物 &&  Y怪物>Y人物
那么想面向怪物就把朝向值修改成面向东北方即可
一般 8个方位是0-7 8个数值表示


第二种
2D版自由朝向
说是2D版自由朝向,但实际上很多3D游戏都在运用
非常简单的理解就是游戏是3D的,但是人物转向只能2D平面转向,而头不可以上抬和俯瞰的
例如QQ西游一般情况这种游戏的朝向值得是从0到一个数值均匀排列在坐标系上我们只要计算出他的变化规律  即可轻松计算
例如QQ西游是从 X正轴为0  逆时针不断增加一直增加到256然后和X轴重叠又变为0那么知道了  其变化规律 我们就可以代码实现如下
DWORD Call_朝向怪物角度(FLOAT x,FLOAT y)
{
T人物属性 A;
A.c初始化();
FLOAT X=A.fX;FLOAT Y=A.fY;
DWORD B=0;
if (x>X&&y>Y)//第一象限
{
B=(DWORD)(atan2(y-Y,x-X)/3.1415926 *180);//真实角度
B=B*64/90 ;//同比例游戏角度
B=0+B; }
if (xY)//第二象限
{
B=(DWORD)(atan2(y-Y,X-x)/3.1415926 *180);
B=B*64/90 ;
B=128-B;
}
if (x<x&&y<y) 第三象限</x&&y{B=(DWORD)(atan2(Y-y,X-x)/3.1415926 *180);
B=B*64/90;B=128+B;
}
if (x>X&&y<y) 第四象限{B=(DWORD)(atan2(Y-y,x-X)/3.1415926 *180);
B=B*64/90;B=256-B;
}
return B;
}




第三种
通过第一种和第二种我们可以明显感觉到从8方位到多方位的升级但是这还是不够的  无论你把坐标系分成多少份  还是不是绝对的自由那怎么办呢?游戏发明出更自由的朝向方式例如 天涯明月刀

他是这样的设计理念以人物为中心 花一个圆,一般半径为1(是多少无所谓,我们乘多少即可)和怪物连线,于圆的交点就是我们的朝向
那么这样就变成了自由朝向了,想精确到多少都可以 计算起来也非常简单以人物原点,圆交点,圆交点到X轴的垂线和X轴的交点  三点为一个三角形人物原点,怪物坐标点,怪物坐标点到X轴的垂线和X轴的交点  三点为一个三角形2个三角形为相似三角形那么  小三角形h / 1 =  (Y怪物-Y人物)/距离小三角形l / 1 =  (X怪物-X人物)/距离得到的 h 和l  就是我们 圆交点的坐标了
还有进一步的升华的方式就是3D版本的朝向那么他将不再是一个圈了是一个3D立体的球但是算法依然没有变化只是距离发生了变化
相似三角形依然还是相似三角形h=(Y怪物-Y人物)/距离l=(X怪物-X人物)/距离z=(Z怪物-Z人物)/距离其中距离=sqrt((人物.fX-fX)*(人物.fX-.fX)+(人物.fY-fY)*(人物.fY-fY)+(人物.fZ-fZ)*(人物.fZ-fZ));




第四种
一般是FPS类游戏喜欢用的也和航天飞机等用的角度一样就是俯冲角 摇摆角 和旋转角其中旋转角代表着自身的旋转 ,在游戏里几乎无用那么就是俯冲角  代表着枪支方向和水平面上下的角度摇摆角 代表枪支方向和中线左右摇摆的角度计算方法 参考第二种的反正切方式即可






文章已获原作者通化程序员同意转载,如需转载请联系原作者——公众号《通化程序员
*转载请注明来自游戏安全实验室(GSLAB.QQ.COM)

免费评分

参与人数 7吾爱币 +5 热心值 +6 收起 理由
Survivesususu + 1 这个不错
小虾笼 + 1 + 1 谢谢@Thanks!
hejiangxin + 1 感谢您的宝贵建议,我们会努力争取做得更好!
「浮光」/影★ + 1 + 1 get到了! 谢谢
半只拖鞋 + 1 + 1 谢谢@Thanks!
AlwDnal + 1 + 1 不错留个记录
烟虫 + 1 谢谢@Thanks!

查看全部评分

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-7-11 11:03 | 显示全部楼层
抢个沙发,全程读完  看不出有啥用  

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-7-20 18:42 | 显示全部楼层
第一种
2D,2.5D老游戏,例如传奇
他的朝向一般是极为固定的4朝向或则8朝向

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-7-11 11:10 | 显示全部楼层

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-7-11 12:05 | 显示全部楼层
讲的都是原理,漏洞何来

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-7-11 12:24 | 显示全部楼层
感谢分享,楼主辛苦了

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-7-11 13:51 | 显示全部楼层
不知道为啥是漏洞。。。

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-7-11 14:43 | 显示全部楼层
学习学习

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-7-11 14:53 | 显示全部楼层
感谢分享,支持,期待更多好文!

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-7-11 15:46 | 显示全部楼层
这,我真的看不懂

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-7-11 16:11 | 显示全部楼层
不是很懂

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则


免责声明:
吾爱破解所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:Service@52PoJie.Cn

快速回复 收藏帖子 返回列表 搜索

RSS订阅|手机版|小黑屋|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2018-12-14 15:50

Powered by Discuz!

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表