找回密码
 点一下
查看: 1168|回复: 3

关于捕捉玩家鼠标所在坐标

[复制链接]
发表于 2011-1-26 00:56:07 | 显示全部楼层 |阅读模式
试过在地形上铺满可追踪,来捕捉玩家的鼠标位置
做出一些立即施法,施法点为玩家鼠标坐标的技能(用于做雷电术、灵魂火符之类的传奇技能)
问题来了,因为用到了本地玩家,所以自己双开局域网测试

一共就下面这3个触发
单玩家1或玩家2触发了 触发器1 或 触发器2,另外一个触发器也会跟着触发,很是不解
言归正传,我想要做的就是‘捕捉指定玩家当前鼠标坐标位置’
而用可追踪就是我目前能想到的方法,但是下面触发有问题,一个触发运行了其它触发也就跟着运行[trigger]ini
    事件
        时间 - 当游戏逝去 0.00 秒
    条件
    动作
        设置 t = (新建的可追踪对象, 使用模型: buildings\orc\WatchTower\WatchTower.mdl 所在位置: ( 0.00 , 0.00 ) 面向角度: 0.00 度)
        触发器 - 为 1 <预设> 添加事件: (可追踪对象 - 鼠标移动到 t)
        触发器 - 为 2 <预设> 添加事件: (可追踪对象 - 鼠标移动到 t)
[/trigger][trigger]1
    事件
    条件
        (本地玩家) 等于 玩家1(红色)
    动作
        游戏 - 对 玩家1(红色) 在屏幕位移(0.00,0.00)处显示文本: 111111111111111
[/trigger][trigger]2
    事件
    条件
        (本地玩家) 等于 玩家2(蓝色)
    动作
        游戏 - 对 玩家2(蓝色) 在屏幕位移(0.00,0.00)处显示文本: 2222222222222
[/trigger]
发表于 2011-1-26 13:00:04 | 显示全部楼层
“本地玩家”不等于“触发玩家”。
例如:
[trigger]Hello World
    事件
        地图初始化
    条件
        (本地玩家) 等于 玩家1(红色)
    动作
        游戏 - 对 (所有玩家) 发送文本信息: Hello World!
[/trigger]
此触发虽然是向“所有玩家”发送信息,但是由于条件是“(本地玩家)等于(玩家一)”,所以还是只有玩家一能看到这段话,因为只有玩家一运行了这段触发。

而在你的触发中,每一次鼠标移过“T”都会触发“1”“2”两个触发,但是条件并不能约束只有(玩家一)才能触发触发“1”,只能够限制“触发1”只能向玩家一发送信息,也就是说你的条件并不能起到你想要的效果。



那么,怎么才能识别出触发事件的玩家是哪个呢?
答案是:为每个玩家创建一个异步显示的可追踪物,然后通过判断是哪个可追踪物被触发来判断是哪个玩家触发了事件。
T.w3x (13 KB, 下载次数: 43)
回复

使用道具 举报

 楼主| 发表于 2011-1-26 19:38:20 | 显示全部楼层

回 1楼(希瓦) 的帖子

首先十分感谢希瓦

其次异步创建可追踪的话,我还有2个问题
1。会导致掉线吗?
.2。如果是5个玩家,而一张地图铺满了可追踪来做捕捉鼠标位置,
会导致卡机吗(比如一张192*192的地形铺满了几十万个可追踪会卡机不- -。?
回复

使用道具 举报

发表于 2011-1-26 20:38:35 | 显示全部楼层
一:我不是“异步创建”,而是同步创建异步显示(应该是这个叫法吧)。
异步创建很有可能导致吊线(我没试过可追踪物的异步创建)
[trigger]如果所有条件成立则做动作1,否则做动作2
    If - 条件
        (本地玩家) 等于 (玩家 I)
    Then - 动作
        设置 S = buildings\\orc\\WatchTower\\WatchTower.mdl
    Else - 动作
        设置 S = <空字符串>
特殊效果 - 在 (坐标(0.00, 0.00)) 创建特效: S
[/trigger]
[trigger]如果所有条件成立则做动作1,否则做动作2
    If - 条件
        (本地玩家) 等于 (玩家 I)
    Then - 动作
        特殊效果 - 在 (坐标(0.00, 0.00)) 创建特效: buildings\\orc\\WatchTower\\WatchTower.mdl
    Else - 动作
[/trigger]
下面的触发看似和上面的触发有一样的效果,但是下面的触发却会引起掉线,而上面的则不会。
因为下面的效果是异步创建,所以引起了玩家间的主Handle表的不同步,于是引起了掉线。
而上面的触发虽然为不同玩家创建了不同的效果,但是确是同步创建的,所以不会掉线。

二:什么东西有了几十万个都会卡………………
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 19:01 , Processed in 0.042305 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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