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

几个观察者的问题

[复制链接]
发表于 2011-2-25 23:02:22 | 显示全部楼层 |阅读模式
怎么用T把玩家变成观察者
发表于 2011-2-27 22:34:36 | 显示全部楼层

事件:地图初始化
动作:循环A(7~12)
      可见度:创建一个状态为允许的可见度修整器给(A循环玩家),设置可见在可用地图区域。

这样就好了= =
回复

使用道具 举报

发表于 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后就变成观察者。

Observer.w3x

17 KB, 下载次数: 26

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-7-2 05:49 , Processed in 0.053945 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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