net教授的mugen ai教程1-trigger和ai开关
更新时间:2024-01-24 00:36:01 阅读量: 教育文库 文档下载
- net教育网推荐度:
- 相关推荐
Mugen ai教程
先说一句,制作ai不是那么容易的,必须十分熟悉角色的各种性能,连段,立回,防御,压制都得考虑,是很耗时间的,
特别是要花大量时间作测试。万一出错还得debug。。。 即使如此你还是要做ai?那么 覚悟しろ!(师匠音)
本人才疏学浅,只是对mugen就ai方面有点了解,所以有错误欢迎各位高手指出。
注意事项
1 写ai时数学,标点符号请用英文半角,否则系统不认 2 永远记得改ai前把文件备份一次。否则后果自负。。。最好写到某个阶段就备份下,免得以后改出问题
3 未经过原人物作者同意,或原ai作者同意。
不得公开发布私自制作或改造的ai(主要就是别去mc新闻区这种公共场所发布)。 私底下小范围传播,自己用来做做视频没事。 4 请注意人物版本的对应。
要准备的东西
1 mugen主程序及人物。至少懂得加人物,打ai补丁之类的mugen基础知识。 2 记事本。推荐用notepad2,可以转码。 3 其他好像没啥要准备的了。。。
本文参考资料:
⑨氏主页上的ai相关资料 平成氏ai说明书
trigger表和script表 其他。。。
Episode 0
trigger和type
最好看一下这2个表,尤其是trigger表,熟悉一下trigger(触发器)是啥东西。不看也无所谓。。。就在下面的教程中慢慢熟悉也可。 type表也有种说法是script表。
这2个表在\\winmugen\\docs里有。trigger.html和sctrls.html就是,不过是英文版
简单的说trigger就是“当发生啥情况的时候”,type就是“做什么”,trigger是条件,type是结果。
一般在ai里用得最多的type是changestate,其次是varset,其他的用的不多。
举个简单的例子 [state -1]
type = poweradd ;加气
triggerall = roundstate = 2 ;比赛必须在进行的时候(不是刚开始或者已经分出胜负的时候)
trigger1 = stateno = 500 ;处于state号为500的动作时(假设是聚气动作) trigger2 = life<=300 ;血小于300时
trigger2 = var(30) = 2 ;当某个变量var(30)为2的时候 value = 5 ;加气的值为5
其中triggerall是最主要的条件,满足后接下来才判断是否能满足trigger1或者trigger2。而trigger1和trigger2两者之间是或的关系。但2个trigger2之间是和的关系,2者都得满足,才算是真正满足trigger2。如果有3个trigger2,那3个的条件都得满足,依此类推。 只要满足triggerall,再满足trigger1或trigger2两者之一,就能执行type所定义的事情(这里是加气)。
注意:写的时候trigger1后面别直接跟trigger3,别跳号,会出问题的。。。
所以这个state的解读就是,当比赛进行中的前提下,在做state号为500的聚气动作的时候,或者血量小于300且var(30)=2的时候,就加5气。
由于mugen是每帧判断一次trigger,通常在60FPS下1秒有60帧,所以实际效果是在满足条件的时候,每秒钟回复300气。 PS:分号后是注释,你可以随便写点说明文字之类的话,程序不会把分号后的内容读进去的。但分号必须用英文半角(上面说过了)。
最后再介绍下常用的逻辑符号 && 和 || 或 ! 否
比如trigger1 = (life > 500 && power <1000) || var(30)!=2
就是当血量大于500且能量小于1000,或var(30)不等于2的时候,trigger成立
另外像!var(59)这种表达,就相当于var(59)=0
Episode 1
ai开关
ai开关有什么用?是控制ai的开启和关闭的。 一个人物有被人操纵的时候,和被ai操纵的时候。
ai开关的作用,就是被人操纵的时候,不开启ai。而cpu操纵的时候,会自动判断并开启ai。
所以说好的ai开关要判断出到底是人在操作,还是电脑在操纵。该开ai的时候开,不该开的时候不开。
首先要说明一点:mugen是有自带的ai的,只是这个ai是随机发招,防御而已,相当于乱按流,出招频率也不高,很纱布。
但我们可以利用这个默认ai来判断是不是人在操作。
先给个ai开关的实例吧。
ai开关通常分2部分,第1部分通常在cmd里,就是为ai设计的指令 以下就是某体术青子的ai用cmd ; AI
[Command]
Name = \
Command = a, b, c, x, y, z, s Time = 0 [Command]
Name = \
Command = x, y, z, a, b, c, s Time = 0 [Command]
Name = \
Command = z, y, x, c, b, a, s Time = 0 [Command]
Name = \
Command = c, b, a, z, y, x, s Time = 0 [Command]
Name = \
Command = a, b, c, z, y, x, s Time = 0 [Command]
Name = \
Command = z, y, x, a, b, c, s Time = 0 [Command]
Name = \
Command = x, y, z, c, b, a, s Time = 0 [Command]
Name = \
Command = c, b, a, x, y, z, s Time = 0 [Command]
Name = \
Command = a, a, a, a, a, s
Time = 0 [Command]
Name = \
Command = b, b, b, b, b, s Time = 0 [Command]
Name = \
Command = c, c, c, c, c, s Time = 0 [Command]
Name = \
Command = x, x, x, x, x, s Time = 0 [Command]
Name = \
Command = y, y, y, y, y, s Time = 0 [Command]
Name = \
Command = z, z, z, z, z, s Time = 0 [Command]
Name = \
Command = s, s, s, s, s, s Time = 0 [Command]
Name = \Command = U, U, U, U Time = 0 [Command]
Name = \Command = D, D, D, D Time = 0 [Command]
Name = \Command = F, F, F, F Time = 0 [Command]
Name = \Command = B, B, B, B Time = 0
这些指令应该能看懂吧,以防万一再说以下,U=UP(上),F=forward(前),B=back(后),D=down(下)
小写的a,b,c,x,y,z就表示6个拳脚之类的攻击键,s是start键,time就是表示必须在几F内输入指令才会成功。 至于其他符号
1.保持状态 (/) 例如:/D 意思为必须保持 \下\这个按键不放.
当然也可以用在一组命令里,意为在按下控制键之前方向键保持按下状态,当然/后可以用控制键,不光是方向键.
注意:标记“~”用于设置按键状态为放开 例如: ~a表示这个键不用保持按下状态,可以按下后即放开.
在~前加一个数字,用于表达按下时间的长短.例如:~30a 2.动作方向 ($) 例如:$D 意为DB,DF 也在.
3.按键同时 (+) 例如:a+b+c 意为这三个键同时按下. 这些命令是可以组合的,例如: ~30$D,a+b
所以第一个“ai_0”的command的意思是
必须在0F内输入a, b, c, x, y, z, s,显然这是人办不到的,以下19个ai指令都必须在0F内输入,都是人类完成不了的事。
所以当人操作的时候,是不会成功按出这19个ai指令的,永远都不可能发出ai指令。 但是当cpu操纵的时候就不一样。mugen自带的ai虽然纱布,但是ai和人不一样,不用“输入”,便可以直接成功发出指令。
mugen自带的ai是只要是定义过的指令都会随机用。那样就会有相当概率发出ai指令。
发出ai指令的后果是怎样?当然不能没结果,我们要的结果就是当有一个人类不能完成的ai指令被发动时,就判断出这是cpu在操纵人物, 然后启动我们自己编写的ai
而这必须由ai开关的第二部分完成。看一下实例吧。 第2部分,ai的启动 [State -3, AI]
Type = VarSet ;设置变量的值
TriggerAll = Var(59) = 0 ;当var(59)=0(ai没有被开启的时候) triggerall = RoundState = [1,2] ;当对局处于开始阶段或进行阶段的时候 Trigger1 = command = \Trigger2 = command = \Trigger3 = command = \Trigger4 = command = \Trigger5 = command = \Trigger6 = command = \Trigger7 = command = \Trigger8 = command = \Trigger9 = command = \Trigger10 = command = \Trigger11 = command = \Trigger12 = command = \Trigger13 = command = \
正在阅读:
net教授的mugen ai教程1-trigger和ai开关01-24
补桩施工方案04-17
山西省忻州市岢岚县第二中学七年级生物下册 第五章 人体内废物的排出复习课学案108-28
畜牧专业技术工作总结(精选多篇)09-28
应届毕业生就业心态转变07-24
学党史,颂党恩,跟党走党课讲稿08-09
蛋白质工程的崛起—上课版05-14
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 开关
- 教授
- trigger
- 教程
- mugen
- net
- 辩论赛 知识创新 和 知识积累 哪个更重要 辩论资料 2
- 《真蛸育苗与规模养殖技术示范》项目总结报告
- 绿地率的计算规则(2014最新版)
- 离土中国与乡村文化的处境
- 公民环保意识社会实践调查报告
- 扶贫工作简报1
- 奥鹏南开16春学期《职场心理》在线作业
- 三级pc知识点大总结-精华版
- 普通话水平测试30个命题说话题目及范文
- 2018年中国房地产估价行业发展前景与投资战略规划分析报告目录
- 2018第二季度入党积极分子思想汇报范文12篇
- ACS综合前置接口报文规范V2.2 - 金融机构
- 以读为本,读中感悟
- 物证技术学 练习题
- 古代文化常识竞赛题及答案
- 中国古代城市的平面布局
- 河北省石家庄市2012届高中毕业班5月冲刺试题(理综)
- 中国中式面点市场规模现状与投资决策分析报告(2015-2019)
- RHCSA7-V2.0-Exam
- 学生考级试题一级