《火星魔兽》自定义修改的对战地图电脑AI

说明一下,这个不涉及触发,说白了相比原版只是增强了基地升级、建筑和兵力建造、金钱使用速度等我在文章标题下列的几个方面的更改,战术还是很单一的,智能化程度和原版没有太大区别,没有使用触发补全电脑智能的不足,智能程度远不如AMAI,譬如英雄空血回城、拉残血兵、战术改变、巫医等部队空血后在家放治疗守卫等都无法实现,这本身就不是对战ai文件的范畴,而是触发的范畴。

Jarman岁月:支持,我也有用AI编辑器做过AI,可以对打一下(我只有兽族和不死族)。 发布于 2024-08-01 21:35:03

哥德里克PK:强呀,等有空我也试试LZ版本的 发布于 2024-08-01 21:35:03

myocytebd:amai用trigger是为了taunt和command,本体是纯ai。 发布于 2024-08-01 21:35:03

西游记玩猪八戒:强度怎么,比起AMAI 。会变战术?会针对? 发布于 2024-08-01 21:35:03

fuyunya3:当然纯ai也不是不能实现改变兵种,但不能针对玩家出兵来改变战术兵种,因为纯ai文件无法判定玩家使用什么战术,只能随机出兵种,譬如随机原兵种出法、随机狂爆一本兵的打法等,但这个整合在一个ai文件里需要大量编码篇幅,太烧脑。我只在不死有这个初浅尝试,让开局有狗+蜘蛛和纯蜘蛛两种兵种搭配,但三本后兵种出法还是一样的。另外这种空血回城、拉残血兵等操作是纯ai无法实现的。当初改ai文件的本意就是觉得人族升本太慢、兽暗夜等后期兵力偏少的原因来改改这些方面的。 发布于 2024-08-01 21:35:03

myocytebd:以下需要基础编程能力,以及对触发api的基本了解。
>> 我的意思是不用触发,只在对战ai文件里面如何实现?是不是触发的语句可以转换成对战ai能用的语句?
触发的大多数语句直接就是对战ai能用的语句。(如果都是jass)
ai里除了trigger event api (e.g. CreateTrigger)和string api (e.g. GetUnitName),剩余common.j里的api基本上都能用。
另外,触发可以用lua,ai只能用jass -- lua虽然辣鸡,比起更加辣鸡100倍的jass是质变了。
例如在对战ai文件里面实现拉扯低血兵:
- 遍历所有本ai玩家拥有的单位,找到低血兵;(遍历和获取hp的api和触发里一样,但是ai里不要用callback)
- 对每个低血兵,计算周围敌人的位置,命令它朝着离开敌人的方向移动。
[ 然而实际无论是在触发还是对战ai里实现,都有一个致命的问题--地面单位无法考虑pathing。
虽然勉强可以计算纯地形的pathing,destructible(包括树)占位难以处理,单位占位根本无法处理。
如果用移动后检查的workaround,那延迟太大了--人一眼就能看出不该拉的情况,ai要秒级延迟才能判断;还会拉错方向,或者堵自己其他单位的路。]
>> 还有你说的轮询是什么意思怎么操作,不懂这方面...
遍历玩家单位;然后sleep,循环。本来ai的'thread'也是这个结构。 发布于 2024-08-01 21:35:03

:大佬,为啥删除和添加了文件,各种族还是以前那样萌新求教 发布于 2024-08-01 21:35:03

萨比斯风刃:试了下1.29以下版本的几个AI,发现两个兽族的AI后期都只会爆到65人口,阵容固定3英雄+4猎头+3萨满+1科多+2飞龙+2黑牛+14苦工,另一个会少出一个猎头,多出一只蝙蝠 发布于 2024-08-01 21:35:03

fuyunya3:楼上kinierfire反映的卡兵力的问题,猜测应该不是卡建筑的原因(这个基本不怎么会出现),而是卡了灵魂行者,估计原因是:我使用的游戏程序版本和kinierfire不同的原因(单靠版本补丁无法解决),因为这个兽族Ai文件增加了建造灵魂行者(虚无形态),我使用的游戏版本对我这个兽族Ai文件能正确识别造灵魂行者(虚无形态),使用的代码是:SPIRIT_WALKER_M,而kinierfire的版本不能正确识别使得灵魂行者(虚无形态),建造语句无法执行从而挡了下面的造兵程序语句的原因。尝试解决方案:
1、kinierfire先用我发给你的四个文件看看能否解决,若不能则:
2、先游戏一把手动操作兽族建造灵魂行者,告诉我造出来的是正常形态还是虚无形态。
3、打开地图编辑器-物体编辑器-单位,选到兽族灵魂行者,键盘同时按Ctrl+D键,把灵魂行者和灵魂行者虚无形态的代码截图给我看(如下图所示)。再使用工具MPQMaster,打开游戏目录下的War3x.mpq文件,到Scripts里提取common.ai发送到我邮箱,如果名称相同的话,通过改灵魂行者代码应该能解决问题。
发布于 2024-08-01 21:35:03

萨比斯风刃:在751行加上了这句,这句其实应该加在 init_vars 函数里
另修改了281行灵魂行者数量统计的条件,把两种形态都算进去了
发布于 2024-08-01 21:35:03

更多《火星魔兽》自定义修改的对战地图电脑AI相关问题

问题:《火星魔兽》自定义修改的对战地图电脑AI

回答:有没有可能大佬他不敢去 详情 >

问题:《火星魔兽》网易致暴雪国服玩家的告别信:感谢相伴14年

回答:带我一个 准备停68ss 详情 >

问题:《火星魔兽》【魔吧导航帖】【下载+资料+战术贴】【2021重置版】

回答:天都还是新区啊 详情 >

问题:《火星魔兽》有时候魔兽运行时突然一卡一卡的,原因终于找到了

回答:前排出个100天武器ss 详情 >

问题:《火星魔兽》自1.35至今——ud四个英雄轮流首发对抗人族

回答:怪会优先攻击队伍里先上这条线的人,如果有ck下雷炸到怪先攻击ck,ys加血如果没jk或者zs吼优先攻击ys 详情 >