|
发表于 2011-2-27 23:13:51
|
显示全部楼层
这个必须用自定义脚本.
call SetPlayerState(udg_p,PLAYER_STATE_OBSERVER,1)就可以把udg_p这个玩家变成观察者了。
[trigger]
Observer
Events
Player - Player 1 (Red) skips a cinematic sequence
Conditions
Actions
Set p = Player 1 (Red)
Custom script: call SetPlayerState(udg_p,PLAYER_STATE_OBSERVER,1)
[/trigger]
这样玩家1就成为了观察者,而且如果玩家1还有单位剩下,那么会变成他无法控制的状态。
当然,这样只会拥有自己单位的视野。要地图全开或者共享其余玩家的视野还需要用下别的触发。
这法子的缺点是只拥有自己的视野,地图全开或者共享其余玩家的视野需要额外的触发器。
优点是随时可以从观察者的身份转换回来。call SetPlayerState(udg_p,PLAYER_STATE_OBSERVER,0)就能让这个玩家从观察者变回非观察者。
另一个把玩家变成观察者的法子是把用触发器强制开启“死后变成观察者”设置,然后用call RemovePlayer(udg_p,PLAYER_GAME_RESULT_DEFEAT)让玩家强制失败(但是不弹出离开游戏的对话框)
[trigger]
Observer
Events
Player - Player 1 (Red) skips a cinematic sequence
Conditions
Actions
Game - Set Observers on defeat to On
Set p = Player 1 (Red)
Custom script: call RemovePlayer(udg_p,PLAYER_GAME_RESULT_DEFEAT)
[/trigger]
这个的缺点是,变成观察者后就变不回来了,无法继续控制自己的单位。但是优点是直接能共享所有玩家的视野。用不着用触发器来获得。
放个演示,按下ESC后就变成观察者。 |
|