mugen吧 关注:79,052贴子:1,494,134

ai自动生成器v0.75

只看楼主收藏回复

把以前的0.3版半成品改进了一下
直接贴说明文件
AI代码生成器v0.75
用于自动读取mugen的人物相关数据生成ai代码。处理ai制作中大量重复性工作。
用法有2种
1 把ai.exe扔到含有人物def的文件夹下,注意def之中的文件要全部存在。common1.cns可以无视
2 运行ai.exe.程序会自动识别编码并解码文本文件,存为utf-8编码,解码失败会直接读取,还是失败就闪退了。
会出来几个选择
如果有超过1个def,会让你选择用哪个def文件。
选择使用winmugen(使用var传统ai开关, 会让人自己输入一个不占用的var,默认var(59))或mugen 1.0+(直接用AILevel开关)。
选择是否读取helper和proj型攻击(距离很不准,helper太多变化,各种变量,还有三角函数转圈,摆了,而且比较耗时间)
输入aihelperID,不被占用即可,默认33000
选择是否在所有cmd的state里加上ai开关小于等于0,限制mugen自带ai行动,默认为否。如果是观赏用,有些stateno识别不出攻击判定就不写ai开关交由mugen自带ai随性处理,就选择不在所有state里写ai开关。如果是写ai辅助用,就推荐在所有state里加上ai开关,后面自己修改。
反正以上不懂除了选def就一路回车选默认值,大概问题不大?
3 等待"Press enter to exit"信息出现。按回车结束程序。若程序闪退说明运行失败。
若运行成功,目录下会生成aisummary.txt和其他一些原本文件名+'-AI'的文件。
4 查看带-AI的def文件和AIsummary.txt是否有明显问题
5 先看def中的stcommon是否为common1.cns,如果是,且人物文件夹中不存在common1.cns,则把压缩包内的common1.cns复制过来即可。如果helperID不是33000,把common1.cns中的helper(33000)都改成你输入的aihelper ID
6 查看新生成的def文件是否正常(def中所有文件都应该存在,如果st文件大于10个程序会自动合并,只影响-AI后缀的文件,不会影响原文件),若正常,在select.def中载入这个def并在mugen中测试即可。
7 可以做个bat文件,加个pause,如果出错了可以查看错误信息,省得闪退啥都没看到。
第二种做法就是下载一个最新版python并安装,安装chardet包(命令行运行pip install chardet),ai.py扔进人物def所在目录代替exe运行即可。其余步骤一样。
目前问题:
1 不能完全代替人写的ai,强度一般,最好只作为辅助。
2 人物def和cns写法多种多样,程序运行有失败的可能。
3 若cmd里有ai,必须删除或转移,否则结果中将出现大量无谓代码。也就是说最好给没ai的人物用
4 第一个statedef里无hitdef无reversaldef无helper的招式不被识别,带helper的攻击距离识别不准,只有第一个statedef中helper带攻击判定的才会被识别出来,而且有重要参数未识别出来缺失也会被放弃。
5 可以识别部分无敌和当身技,但第1F有无敌的才被选择写进ai。
6 连段随机。
7 有较大位移的招的攻击距离不准确。
8 不适合脱离格斗性能的凶恶人物,大概,没测试过反正这种人物也用不到ai。
9 dash,空中dash,跳跃等基本动作只有cmd里有的才识别到。
v0.75版
加入proj读取
修正各种bug。
v0.7版:
自动编码
删除helper型ai开关,改为异或型ai开关,增加AILevel,ai等级调整为最高8级,相应数值调整
尝试识别无敌和当身
尝试识别helper
合并过多的st文件
aihelper直接写入文件,可以自定义aihelper号
修正xscale没有生效的问题
v0.3版:
除投技的立回代码外,按stateno从小到大排序
切反,立回,连段等代码分开。
修正一些错误
v0.2版:
cns里防御代码自动完善
会把statedef -3下的代码自动剪切到aisummary.txt里
自动生成def。
v0.15版:
增加ai开关。
v0.1版:
读取数据功能基本完成


IP属地:上海1楼2024-02-25 23:10回复
    下载在我以前的ai发布贴的网盘里
    度盘:http://pan.baidu.com/s/1sjlXr5r 密码: b04e
    onedrive也放了,但是记不住地址。国内应该无所谓


    IP属地:上海2楼2024-02-25 23:13
    回复
      有东西


      IP属地:广东来自Android客户端3楼2024-02-26 00:16
      回复
        久违的更新啊,net先生有没有写新ai的想法


        IP属地:广东来自Android客户端4楼2024-02-26 07:51
        收起回复
          好好好好好


          IP属地:浙江来自Android客户端5楼2024-02-26 09:28
          回复
            现在都这么强了吗


            IP属地:湖北来自Android客户端6楼2024-02-26 10:05
            回复
              我去,活化石


              IP属地:湖北来自Android客户端7楼2024-02-26 11:34
              回复
                错误报告:
                人物地址:https://qxmugen.com/character/16679


                IP属地:湖北8楼2024-02-26 18:58
                收起回复
                  更新了一下:
                  修正一点bug,运行时会显示state号,anim号,攻击类型等信息


                  IP属地:上海9楼2024-02-26 22:11
                  回复
                    这是干什么用的大佬


                    IP属地:河北来自Android客户端10楼2024-02-27 10:30
                    收起回复
                      好耶!人物正好快做完了!


                      IP属地:浙江11楼2024-02-27 21:33
                      回复


                        IP属地:广东12楼2024-02-28 21:34
                        收起回复
                          百度贴吧有楼字数限制,只能新开楼了。
                          line 906,line909: "enemynear,hitdefattr=,at" -> 这个是没法检测到对手的投类型攻击的,无论对手hitdef的attr是"s|c|a,at"还是",at","enemynear,hitdefattr=,at"的结果总是为0的,使用"enemynear,hitdefattr=sca,at"才能感知到。
                          关于这点有疑问可以用DisplayToClipboard简单做下试验,我以前测试过并且记下了结论,为了确认我刚又验证了一次。除此之外我发现"enemynear,hitdefattr=sca,at"还能感知到去了attr前缀的攻击,以前没注意。


                          IP属地:湖北13楼2024-02-29 10:56
                          收起回复
                            其实能完成立回和记忆的工作就很厉害了,这样写连段就只需要一点点工作(


                            IP属地:浙江来自Android客户端15楼2024-03-09 03:02
                            回复
                              能兼容ikemen的zss语法就好了


                              IP属地:澳大利亚来自iPhone客户端16楼2024-03-09 11:27
                              回复