level 8
秋瀞葉
楼主
主要就是讲一个可行的方案来解决想制作消弹效果,但是"蝗虫"技能又不能满足条件的问题
弹幕要有以下属性:
1. 无法通过鼠标选择到 (不能被点击/框选 选择)
2. 按ALT不能看到血条
3. 可以被普通的单位组选择动作选到.
如果用蝗虫的话,是无法被普通的单位组选择动作选到的..
经过一番探索,发现在单位在死亡时(被自动删除之前), 完全符合条件..
于是,可以用创建尸体(CreateCorpse)来取代创建单位(CreateUnit)
说明一下
一般的弹幕单位的模型,不会有肉态尸体和骨态尸体的动作的,所以和用创建单位的效果相同.
但是有几个注意的地方就是,
1.这样创建出来的尸体不能被再次杀死(可以直接播放单位的death动作)
2.不能用生命来判断一个单位是否被消掉了.因为都是0
3.这样的单位必须改成"可腐化的"
4.平衡常数里的肉态+骨态尸体的消退时间不能太小.. 不然弹幕飞到一半就被删除掉了..
function test takes nothing returns nothing
call BJDebugMsg(GetUnitName(GetEnumUnit()))
endfunction
function Trig_ESC2_Actions takes nothing returns nothing
local group g
local real x=GetUnitX(gg_unit_Hpal_0003)
local real y=GetUnitY(gg_unit_Hpal_0003)
call CreateCorpse(Player(0),'ewsp', x,y,0 )
set g=CreateGroup()
call GroupEnumUnitsInRange(g,x,y,100,null)
call ForGroup(g,function test)
call DestroyGroup(g)
endfunction
2011年04月06日 08点04分
1
弹幕要有以下属性:
1. 无法通过鼠标选择到 (不能被点击/框选 选择)
2. 按ALT不能看到血条
3. 可以被普通的单位组选择动作选到.
如果用蝗虫的话,是无法被普通的单位组选择动作选到的..
经过一番探索,发现在单位在死亡时(被自动删除之前), 完全符合条件..
于是,可以用创建尸体(CreateCorpse)来取代创建单位(CreateUnit)
说明一下
一般的弹幕单位的模型,不会有肉态尸体和骨态尸体的动作的,所以和用创建单位的效果相同.
但是有几个注意的地方就是,
1.这样创建出来的尸体不能被再次杀死(可以直接播放单位的death动作)
2.不能用生命来判断一个单位是否被消掉了.因为都是0
3.这样的单位必须改成"可腐化的"
4.平衡常数里的肉态+骨态尸体的消退时间不能太小.. 不然弹幕飞到一半就被删除掉了..
function test takes nothing returns nothing
call BJDebugMsg(GetUnitName(GetEnumUnit()))
endfunction
function Trig_ESC2_Actions takes nothing returns nothing
local group g
local real x=GetUnitX(gg_unit_Hpal_0003)
local real y=GetUnitY(gg_unit_Hpal_0003)
call CreateCorpse(Player(0),'ewsp', x,y,0 )
set g=CreateGroup()
call GroupEnumUnitsInRange(g,x,y,100,null)
call ForGroup(g,function test)
call DestroyGroup(g)
endfunction