|
发表于 2011-8-10 23:45:37
|
显示全部楼层
引用第10楼麦德三世于2011-08-10 22:55发表的 :
我记得很久以前有这个bug。但是目前是否还有就不知道了。我的系统跑不了war3hmmm
不过你用boolexpr来测试看看 额。。布尔表达式是这么用的吧。。第一次用不是很确定。。
[jass]globals
group g=CreateGroup()
boolexpr B
endglobals
function Boolexpr takes nothing returns boolean
return IsUnitType( GetFilterUnit(), UNIT_TYPE_GROUND )
endfunction
function Act2 takes nothing returns nothing
local unit u = GetEnumUnit()
call KillUnit( u )
set u = null
endfunction
function Act takes nothing returns nothing
set B = Condition(function Boolexpr)
call GroupEnumUnitsInRange( g, 0, 0, 10000, B )
call ForGroup( g, function Act2 )
endfunction
function InitTrig_F takes nothing returns nothing
local trigger trig = CreateTrigger()
call TriggerRegisterPlayerChatEvent( trig, Player(0), "a", true )
call TriggerAddAction( trig, function Act )
set trig = null
endfunction[/jass]
然后。。农民被杀死。。
也就是return IsUnitType( GetFilterUnit(), UNIT_TYPE_GROUND )这玩意儿的返回值是true。。
之后又换了种写法。。虽然我觉得没区别
[jass]function Actions takes nothing returns nothing
if IsUnitType( gg_unit_hgyr_0002, UNIT_TYPE_FLYING ) then
call KillUnit( gg_unit_hgyr_0002 )
endif
endfunction
//===========================================================================
function InitTrig_G takes nothing returns nothing
local trigger trig = CreateTrigger()
call TriggerRegisterPlayerChatEvent( trig, Player(0), "s", true )
call TriggerAddAction( trig, function Actions )
set trig = null
endfunction[/jass]
同样的。。直升机被杀死 |
|