随机英雄生产·CALL()怎么用
魔兽地图编辑器吧
全部回复
仅看楼主
level 1
myjlwf 楼主
AI编辑器是在混论之治就没更新了,所以只能设置3个英雄的随机 混乱的3选3乱序没问题 但是冰封王座是4选3 靠满足不了
我参考了暴雪的ai 想把那部分代码融合到编辑器的脚本里 替代英雄生产
暴雪的代码写在common.ai里 种族的AI只是引用
common.ai代码我记得是这样的
设置各种族
heroes[1]=英雄1
heroes[2]=英雄2
heroes[3]=英雄3
heroes[4]=英雄4
没有种族
SET HERO_id=0
定义本地参数 first second third last heroesarray
SET first
SET second
SET third
SET last
如果是混乱
SET last=3
如果是冰封
SET last=4
roll 随机整数(1,last)
roll 随机整数(1,last-1)
roll 随机整数(1,last-2)
SET heroes[first]=[last]
SET HERO_id=heroes[first]
SET [second]=[last-1]
SET HERO_id2=heroes[second]
SET [third]=[last-2]
SET HERO_id3=heroes[third]
编辑器生成的AI是这样定义英雄及生产顺序的概率
roll int(1 ,100)
if roll<50
CALL(1 , 'n000')
CALL(2 , 'n001')
CALL(3 , 'n002')
if roll<20
CALL(1 , 'n000')
CALL(2 , 'n002')
CALL(3 , 'n001')
我把整段改成了
heroes[1]=英雄1
heroes[2]=英雄2
heroes[3]=英雄3
heroes[4]=英雄4
定义本地参数 first second third last heroesarray
SET first
SET second
SET third
SET last
如果是混乱
SET last=3
如果是冰封
SET last=4
roll 随机整数(1,last)
roll 随机整数(1,last-1)
roll 随机整数(1,last-2)
SET heroes[first]=[last]
SET HERO_id=heroes[first]
SET [second]=[last-1]
SET HERO_id2=heroes[second]
SET [third]=[last-2]
SET HERO_id3=heroes[third]
CALL(1 , heroes[first])
CALL(2 , heroes[second])
CALL(3 , heroes[third])
但是AI不运行
我把call改了, 依旧不运行
CALL(1 , HERO_id)
CALL(1 , HERO_id2)
CALL(1 , HERO_id3)
CALL是不是一定要具体到单位??而且不能带数组[]或者带数组要加什么参数 比如 call int
我不想用判断,太长了,每个数要判断4次,判断3个数··12次
还是说这段代码本身写在com里,我在脚本里这样用是非法的?
2021年04月28日 01点04分 1
level 9
自己问题
2021年04月28日 04点04分 2
1