qw2478hf 发表于 2021-1-12 08:29:24

AI 开源代码 可移植 几乎全部注册好了翻译!

问题还是有的,没有做物品购买系统觉得没必要感觉像DOTA一样到家删除添加物品 扣钱来的快 有效率,学习技能只做了简化版本的 直接放触发器用的。(适用于防守地图的BOSS 或者玩家开启电脑)未做逃跑 系列。 不支持1.24 以下版本 1.24以下版本的 开源有多!1.24以上能用的应该只有我的了!



qw2478hf 发表于 2021-1-12 08:39:20

一楼给自己
下面是可以移植的代码, 修改注册英雄 和调用的技能 以及 到达的目标处就OK, 没有做 对小兵施法的 判断,需要的话联系 私人Q 2637098531.


qw2478hf 发表于 2021-1-12 08:40:37

下载丢地图 修改就OK

qw2478hf 发表于 2021-1-12 08:44:26

有些问题要提下,没有做技能CD 判断,但还是做了一个技能调用CD 的模板,缺陷是不能判断技能是否刷新了,只会是调用时候 给的CD是多少 到期了 才会释放。

qw2478hf 发表于 2021-1-12 08:52:43

技能学习模板, 两种建议 可以用逆天AI学习 也可以用我的,//-------------------------------注册英雄技能-------------------------------------------   这个几乎每个版本都能用原理就是为了 就是简单

function RestoreHeroSkills takes integer i,integer a1,integer a2,integer a3,integer a4,integer a5 returns nothing//AIskll1 ..... 2- 5 之类 请在地图globals 中注册好 integer array 这样个格式 -- 不想多说
set AIskll1=a1
set AIskll2=a2
set AIskll3=a3
set AIskll4=a4
set AIskll5=a5
endfunction


function SetVars takes nothing returns nothing//注册英雄技能 地图初始化调用一下 修改技能 和前面的 1
call RestoreHeroSkills(1,'A03A','A034','A00N','A03I','A035')
call RestoreHeroSkills(2,'A04I','A049','A03H','A04D','A03J')
endfunction

function AILearnSkills takes unit u,integer i returns nothing//提升登记 进入 区域调用,call AILearnSkills方法是 触发单位类型 以及上面 绑定的1 23 4 5- 之类的
loop
if GetHeroSkillPoints(u)>0 then
call SetPlayerAbilityAvailable(GetOwningPlayer(u), AIskll1, true )
call SelectHeroSkill(u,AIskll1)
call SetPlayerAbilityAvailable(GetOwningPlayer(u), AIskll1,false)
endif
if GetHeroSkillPoints(u)>0 then
call SetPlayerAbilityAvailable(GetOwningPlayer(u), AIskll2, true )
call SelectHeroSkill(u,AIskll2)
call SetPlayerAbilityAvailable(GetOwningPlayer(u), AIskll2,false)
endif
if GetHeroSkillPoints(u)>0 then
call SetPlayerAbilityAvailable(GetOwningPlayer(u), AIskll3, true )
call SelectHeroSkill(u,AIskll3)
call SetPlayerAbilityAvailable(GetOwningPlayer(u), AIskll3,false)
endif
if GetHeroSkillPoints(u)>0 then
call SetPlayerAbilityAvailable(GetOwningPlayer(u), AIskll4, true )
call SelectHeroSkill(u,AIskll4)
call SetPlayerAbilityAvailable(GetOwningPlayer(u), AIskll4,false)
endif
if GetHeroSkillPoints(u)>0 then
call SelectHeroSkill(u,AIskll5)
endif
exitwhen GetHeroSkillPoints(u)==0
call TriggerSleepAction(0.05)
endloop
set u=null
endfunction

不明白就别问了就 3个 自己测试修改下应该能懂

wsc 发表于 2021-8-3 17:30:25

赞赞赞赞赞赞赞赞赞
页: [1]
查看完整版本: AI 开源代码 可移植 几乎全部注册好了翻译!