发布两个AI的更新,欢迎测试
dotaai吧
全部回复
仅看楼主
level 7
txqqyy 楼主
1、地精修补匠的红杖现在不仅仅只会抢人头了
在原来的K_G函数下加入以下三行代码。
原来红杖只会在血量少于一定数值的情况下触发(比如5级红杖是低于650),对与修补匠来说红杖可以重装填,出了血精石以后蓝也很够了,用不着这么小气。这条代码想要给别的英雄使用也是没有问题,只要去掉( GetUnitTypeId(IB)==*Ntin*)这个条件就可以了。修改后修补匠的输出有所提高,相比原先的纯酱油有所改善。
存在的问题:经过测试后发现红杖的使用虽然次数有所增加,但是还是觉得不够,用call BJDebugMsg代码对这句以及function JUG测试的时候发现有时会触发红杖释放命令UnitUseItemTarget( j5, ja, m5 ),但却没看到AI使用红杖,不知原因。
if ( not J4 )and( GetUnitTypeId(IB)==*Ntin*)and(IsUnitInRange(IB,m5,600.)) then
set J4 = (JUG(IB,m5))
endif
------------------------------新代码加在此线以上分割线以下是原来的代码方便大家查找---------------------------------------------------------------------------------------
if ( not J4 )and( AR7( IB, BU[ xieeliandao ] ) ) then
set J4 = ( GetUnitLifePercent( m5 ) < 50. )and( UnitUseItemTarget( IB, bj_lastCreatedItem, m5 ) )
endif
2014年10月02日 06点10分 1
level 7
txqqyy 楼主
注意一下,贴吧上的英文单引号会变成星号,请自行更改。
2014年10月02日 06点10分 2
level 7
txqqyy 楼主
2、修复了AI不会对出了A杖的术士的地狱火用散失的问题
将原来的代码修改成以下的
elseif ( ( GetUnitTypeId( m5 ) == *n0KW* )or( GetUnitTypeId( m5 ) == *n0KV* )or( GetUnitTypeId( m5 ) == *n0KU* )or( GetUnitTypeId( m5 ) == *n00U* )or( GetUnitTypeId( m5 ) == *n00Y* )or( GetUnitTypeId( m5 ) == *n00Z* ) ) then
if ( AR7( IB, BU[ sanshizhiren ] ) ) then
set J4 = ( GetUnitLifePercent( m5 ) > 80. )and( UnitUseItemTarget( IB, bj_lastCreatedItem, m5 ) )
elseif ( AR7( IB, BU[ sanshizhiren2 ] ) ) then
set J4 = ( GetUnitLifePercent( m5 ) > 80. )and( UnitUseItemTarget( IB, bj_lastCreatedItem, m5 ) )
endif
这个bug主要是因为以下两个原因
(1)术士出了A杖后,地狱火的UnitTypeId变成了n0kW、n0KV、n0KU,所以原代码无法识别了。
(2)散失有二级,所以也需要增加相应代码。
2014年10月02日 06点10分 4
level 7
txqqyy 楼主
最后把修改好的图发上来,供大家测试。欢迎反馈,并提出修改意见。
[无效] http://pan.baidu.com/s/1bnm0of9
这个版本还对骨弓的大招的使用进行了优化。可参见我发的原贴。
该版本基于置顶贴中的jiayushen1大神的 DotA 6.81b AI Unofficial 1.2.0.4181修改,BTW,这个版本的bug实在太多了。除这两处修改产生的bug外,别的bug请到原贴反馈。
这个版本还对骨弓的大招的使用进行了优化。可参见我发的原贴。
该版本基于置顶贴中的jiayushen1大神的 DotA 6.81b AI Unofficial 1.2.0.4181修改,BTW,这个版本的bug实在太多了。除这两处修改产生的bug外,别的bug请到原贴反馈。
2014年10月02日 06点10分 5
level 7
txqqyy 楼主
欢迎大家测试 @speeding17 @jiayushen1 @夜魔女王大人 @rogergreen @0飞鸟各投林0
如果觉得代码可行,欢迎在新版本中进行改动
2014年10月02日 06点10分 6
level 1
换win8 没死过win7倒是经常崩溃
2014年10月02日 13点10分 8
level 13
试着让电脑4v4,看了下ai技能的使用.基本上不用散失杀地狱火,还有修补匠红杖的释放也不行,不会一上去就红杖电起。
2014年10月02日 16点10分 9
经过了代码级的测试(传说中的call BJDebugMsg)这两个代码没有问题,都能启到一定作用。问题出在K_G这个函数上,这个函数效率有点低,搞的AI很不专心。只有当AI将目标对准英雄的时候才会释放红杖,同理基本也很不爱用散失杀地狱火。您对JASS 也有一定的了解,您有空也看看,这个问题真有点难了。
2014年10月04日 13点10分
回复 txqqyy :其实说实话,我对jass的了解真的不多,恐怕还没你了解的多[黑线]。我改图主要是改数据,还没涉及到jass的触发等方面。我可能真的帮不了你什么忙。。。。。。 挽尊~~~[狂汗]
2014年10月04日 13点10分
level 12
(ฅ>ω<*ฅ)(๑•̀ㅂ•́)و✧↖(^ω^)↗
2014年10月03日 00点10分 10
1