mugen常时AI的原理及设置

您所在的位置:网站首页 mugen主程序11什么意思 mugen常时AI的原理及设置

mugen常时AI的原理及设置

2024-05-11 13:12| 来源: 网络整理| 查看: 265

    刚接触mugen的朋友可能会经常听见这么一个词:"常时AI",这是一个控制人物AI是否强制开启的开关.但是为什么会有这个开关,以及怎么找到这个开关,很多人完全不懂.这篇文章就来说一下这个问题

什么是常时AI

  mugen需要一个条件来判断当前人物是由AI操控还是玩家操控,于是就有了AI开关.但是专门的AI开关只有在mugen1.0及以上才有(你打开设置菜单就可以看到),在winmugen是没有的,这就要求人物作者在winmugen环境之下专门写一个用于控制人物AI的特殊开关

打开主菜单的设置选项可以看到AI等级开关

    但是这个开关怎么实现呢?最常见的一个方法就是使用一些只有AI会发出的特定指令来制作开关.mugen是有一个非常智障的随机AI的,它会随机走动出招防御等等,而且是非常的随机,只要是写在文件里的指令它都可能会做.下面这些指令很特别,例如"AI0",它要求你连续按19次a键(不是键盘的a,是系统指定的"a"输入键),并且输入时间是0,按照常理来说,这是人完全不可能做到的事,但是AI可能会做.于是mugen就捕获到了这样一个特殊的指令,接下来只要使用就行了

打开一个人物文件的cmd文件,可能会有这些特殊的指令

    之后有一个专门判定AI的语句,其中trigger就是触发器,Triggerall为必须触发器,里面的条件必须满足才有下一步动作,Trigger x是选择触发器,只要满足其中一项就有下一步操作.也就是triggerall加上任意trigger x就可以执行命令了.可以看到trigger1-17都是上面的AI指令,只要其中一个被触发,AI变量( var(59) )就会打开并设置

判定AI的语句

    但是这样有个问题,这种办法检测AI是否启动是需要时间的,格斗游戏时间就是生命,你晚个几帧直接就挨打了.这在AI战斗之中是非常致命的.因此就有了常时AI,看见上面的Trigger19了吗,Trigger19 = 1,代表这个触发器总是无条件启动,这样就不需要时间了.不过这也表示跳过了特殊指令判断的过程,所以你无法手动控制人物.也因为如此,这个Trigger的前面有个分号,在mugen里分号行的内容会直接跳过,你可以保留或删除这个分号来实现常时AI开关的开启或者关闭

    可能你会觉得这很奇葩,我也这么觉得.但是winmugen及以下确实没有专门的AI判断,所以只好用这种很笨拙也很不方便的方式.mugen1.0以上就有了AIlevel这个变量,只要是AI在操作,AIlevel就不为0,其在设置菜单中可以设置1-8之间的值,于是就没了上面这些繁琐的操作

如何开启或关闭常时AI

    上面说了这么多,下面就来说说常时AI的开启或者关闭方法.首先常时AI开关在mugen1.0以上专用的人物之中完全没有必要使用,因为1.0以上不需要用特殊方式判断AI状态.如果你见到一个人物找不到这个开关,去def文件里看看这个人物的使用版本吧.

    如果确定一个人物不是1.0以上专用之后,就去看一看人物的read me文档,一般都会写着

之前人物的read me文档

    如果遇到乱码的情况,试着用notepad之类的记事本应用打开,如果是日语之类看不懂的语言,用百度翻译一下也基本可以八九不离十的翻译出来.从上面的文档中可以看出来AI相关在Basara_Kof_AI这个文件中调节,打开这个文件,去除这个分号就能够将其常时启动了

    但是有些时候有些作者不写AI调节的位置,要你自己去找

有些作者不在文件之中写常时AI的存放地址

    这也没有关系,我们可以先在其cmd文件之中找到判断AI相关的指令,然后再用搜索指令在cmd,-2,-3等等文件之中一个一个搜,直到找到那一串控制AI常时启动的代码即可

在cmd文件之中随便复制一个指令在这个人物的各个文件中使用ctrl+F查找这个指令,确定常时AI开关的位置

    但是有些人物甚至连常时启动开关都没有,这也不用担心,在其下方手动加入一个常时将其开启的命令triggerX=1,这样就能强行命令其强制开启了

没有常时开关的角色在其下方手动加入上述的常时启动的命令



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3