【疑问】关于欧阳慧召唤雷球数量的一个问题
仙五前修改吧
全部回复
仅看楼主
level 7
这是欧阳慧的代码,问题描述如下:
欧阳慧每4回合召唤雷球,如果有空位,会把雷球召满(4个),现在通过这个AI能不能实现召唤时候只召唤1个雷球,而不是召唤4个。特此请教代码大佬,不胜感激!
2020年05月23日 03点05分 1
level 10
召唤被包在检查空位的循环里了,遇到空位就填上。
只要加个条件让它只在第一次检查到空位时才AddNpc,就能实现只召唤1个了。
不过按固定的站位顺序AddNpc有点死板,也可以用随机一个空位Add。
这样整个AI都要改改了吧,不然蛮奇怪的。。
2020年05月23日 15点05分 2
情姐姐那个暮霭村的木桶我能搬到夏侯府吗[哈哈]
2020年05月24日 05点05分
@勿忘丿初心 啥木桶?不记得了
2020年05月24日 11点05分
@情姐姐MOD 就是dlc那个可以随机刷符装备的那个
2020年05月24日 11点05分
@勿忘丿初心 还是不记得,哈哈哈哈
2020年05月24日 23点05分
level 10
a=0
for p=4,7,1 do
y=battle.CheckNpcPlace(p)
if y==1 and a==0 then battle.AddNpc(6203,p) a=a+1 end
end
-----------------------------------------
a={}
b=1
for p=4,7,1 do
y=battle.CheckNpcPlace(p)
if y==1 then a[b]=p b=b+1 end
end
if b>1 then
c=battle.GetRndNumber(1,b-1)
battle.AddNpc(6203,a[c])
end
2020年05月25日 14点05分 4
膜拜,我想半天都没头绪[乖]
2020年05月27日 03点05分
这个是不是把if summon==1 and t%4==0 then 那一行后面的一段,n=flag.GetBattleValue(15119)之前的部分替换掉?
2020年05月27日 04点05分
@_万丈光芒__ 从有注释--召唤那行一直复制到battle.WaitToUpdate(1000)上面一行。哦,那个battle.SetBattleValue(2002,1)我漏掉了,你加到AddNpc下面。
2020年05月27日 05点05分
@_万丈光芒__ 这个是两种方式,第一种就是按循环的顺序检查到第一个空位的时候在那个位置加一个球;第二种是先找到所有空位,然后随机其中一个位置加一个球。
2020年05月27日 05点05分
level 10
function SetRndTable(count1,count2,num1,num2)
local RT={}
math.randomseed(os.time())
for i=count1,count2 do
local rand = math.random(num1,num2)
local tmp = RT[rand] or rand
RT[rand] = RT[i] or i
RT[i] = tmp
end
--return RT
end
function AddNpcOnRndEmptyPlace(nid,num1,num2)
SetRndTable(4,7,4,7)
for i=num1,num2 do
if battle.CheckNpcPlace(RT[i])==1 then
battle.AddNpc(nid,RT[i])
break
end
end
end
AddNpcOnRndEmptyPlace(6203,4,7)
网上抄了个随机排序表值的代码。。不太理解不过貌似是可行的。随机位置加人也可以这么写?但是变复杂了,好像没什么必要。
macro看来是个好东西,通用的内容打个包,脚本能清爽点。不过,我怎么把表的结果传递进来?
2020年05月29日 09点05分 5
RT=SetRndTable(4,7,4,7)
2020年05月30日 03点05分
晦涩难懂,不好复用,不如你写的那个直接
2020年05月30日 12点05分
@风靡义磊 确实,只是加个NPC没有必要这么复杂
2020年05月31日 04点05分
@情姐姐MOD 情姐姐,问个余香果经验倍率问题,代码是SetNpcExpDouble(id)如果我要改成1.5倍怎么办,我自己试的Double改成*1.5或者150,系统貌似不认,成1倍了[汗]
2020年06月07日 02点06分
level 7
2020年06月07日 04点06分 6
1