找回密码
 点一下
查看: 2053|回复: 2

多判断式IF的写法?

[复制链接]
发表于 2008-1-19 19:56:28 | 显示全部楼层 |阅读模式
想满足多个条件后,才执行XXXXX
在WE 里很形象的。。但是把它转成 jass(这里不清楚到底叫什么GUI还是jass)
然后发现。。。怎么就不是if xxx and xxx and xxx then xxx呢?
这是原触发:
[codes=jass]function Trig_yyy_______u_Func001Func001C takes nothing returns boolean
if ( not ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_HERO) == true ) ) then
return false
endif
if ( not ( GetOwningPlayer(GetTriggerUnit()) == Player(0) ) ) then
return false
endif
if ( not ( IsUnitAliveBJ(GetTriggerUnit()) == true ) ) then
return false
endif
return true
endfunction

function Trig_yyy_______u_Func001C takes nothing returns boolean
if ( not Trig_yyy_______u_Func001Func001C() ) then
return false
endif
return true
endfunction

function Trig_yyy_______u_Actions takes nothing returns nothing
if ( Trig_yyy_______u_Func001C() ) then
call CreateNUnitsAtLoc( 1, 'hfoo', Player(0), GetUnitLoc(GetTriggerUnit()), bj_UNIT_FACING )
else
endif
endfunction

//===========================================================================
function InitTrig_yyy_______u takes nothing returns nothing
set gg_trg_yyy_______u = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_yyy_______u, EVENT_PLAYER_UNIT_SPELL_CAST )
call TriggerAddAction( gg_trg_yyy_______u, function Trig_yyy_______u_Actions )
endfunction
[/codes]

能不能写成这样啊?
[codes=jass]function Trig_yyy_______u_Actions takes nothing returns nothing
if ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_HERO) == true ) and ( GetOwningPlayer(GetTriggerUnit()) == Player(0) ) and ( IsUnitAliveBJ(GetTriggerUnit()) == true ) then
call CreateNUnitsAtLoc( 1, 'hfoo', Player(0), GetUnitLoc(GetTriggerUnit()), bj_UNIT_FACING )
endif
endfunction
[/codes]
发表于 2008-1-19 20:01:41 | 显示全部楼层
这个是we默认的貌似,用条件判断的话会自动申明一个返回值为布尔类型的function
改写的时候自己改掉就好了~~

那个else其实也可以删掉的,这也是默认生成的,其实在else里无动作的话完全可以去掉的
回复

使用道具 举报

 楼主| 发表于 2008-1-19 20:41:38 | 显示全部楼层
啊哈~明白了~谢谢~~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-5-22 18:05 , Processed in 0.031900 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表