|
……可恶……疯人居然用没时间写东西的理由跑掉了……
嗯……一般来说,很多人都会认为隐身状态下的单位,如果把这个单位的视野共享(用UnitShareVision)给一个原本看不见的玩家,那么这个玩家就会对这个单位反隐。事实上根本不是这样的,那个玩家是可以得到这个隐身单位的视野,但是能够反隐吗?
答案是只能反一部分隐身。
现象如下:
没有视野的玩家拥有了这个隐身单位的视野之后,这个隐身单位会在小地图上有标示,但是,这个没有视野的玩家,是根本看不到这个单位的模型的(包括在地下的影子)。
如果这个没有视野的玩家和隐身单位是敌对方。把玩家的步兵直接A过去,是可以攻击到那个单位的。
用触发让玩家的单位对隐身单位释放风暴之锤是有效的。
也就是说,在那个玩家的眼里,这就是一个没有模型(包括影子)的单位!
嗯……和疯人讨论提出了一个猜想:
隐身本质就是对【看不到这个单位的玩家】,关闭这个隐身单位的模型!
这可不是直接设置alpha值为0达到的效果,这个就相当于单位模型为空,阴影模型为空的效果。
玩家用鼠标是根本选不到这个单位的~
那么我只说了对于没有此单位视野的玩家是这样子的,但是如果我要对看得到这个单位的玩家关闭他的模型怎么办?
直接让这个玩家自己对自己关闭视野。
再打开所有他的所有单位的视野。
再打开这个隐身单位的视野。
但是如果有盟友的话就麻烦多了…………就需要把关闭一大堆玩家之间和对自己的视野…………
然后打开一大堆单位的视野。
用这个我们可以做一个动态设置单位模型开关的好玩东西~不过嘛~会有这个隐身单位的附加视野~而且对拥有此单位视野的玩家会显示半透明(除非使用钻地,但是那玩意比较危险不建议动态使用)
简单的写个专门对于看不到这个单位的玩家的函数:
[jass]
function ShowUnitModelToEnemy takes player p, unit u, boolean flag returns nothing
if flag then
call UnitRemoveAbility( u, 'Agho' )
call UnitShareVision( u, p, false )
else
call UnitAddAbility( u, 'Agho' )
call UnitShareVision( u, p, true )
endif
endfunction
[/jass]
Agho是不死族的幽灵技能。除非被特意反隐否则永久隐身
一般来说……这万一真要用的话,也就是拥有者是中立的情况下了………… |
|