找回密码
 点一下
查看: 2150|回复: 17

求助,别人看不见的漂浮文字和特效

[复制链接]
发表于 2012-12-8 00:50:28 | 显示全部楼层 |阅读模式
本帖最后由 allennai 于 2012-12-11 16:55 编辑

原理已经知道了,不用说了,可是我自己怎么做都做不了,触发在下面
1.jpg
既然问了这个,那就干脆把特效也问了
发表于 2012-12-8 01:19:41 | 显示全部楼层
用本地玩家吧~

对所有玩家隐藏后,判断本地玩家是否等于凶手玩家,如果是,显示文字


特效的话类似,比如只想显示给凶手看,那么:

如果 本地玩家 == 凶手 那么
        创建特效 使用"XX"模型
否则
        创建特效 使用""模型

""模型  为空模型,即给非凶手玩家创建特效,但是显示的模型为空
回复

使用道具 举报

发表于 2012-12-8 18:16:32 | 显示全部楼层
本帖最后由 无名娜迦 于 2012-12-8 18:18 编辑

未命名触发器 003
    事件
        事件<YDWE> -  任意单位 接受伤害
    条件
    动作
        漂浮文字 - 创建漂浮文字: (转换 (单位所受伤害) 为字符串) 在 (触发单位)的头顶, Z轴偏移 0.00,字体大小: 10.00 ,颜色值:(100.00%, 100.00%, 100.00%) ,透明度: 0.00%
        漂浮文字 - 设置 (最后创建的漂浮文字) : 禁用 永久显示.
        漂浮文字 - 对所有玩家 (最后创建的漂浮文字) 隐藏
        漂浮文字 - 设置 (最后创建的漂浮文字) 的移动速率为 64.00 ,方向为 90 度
        漂浮文字 - 设置 (最后创建的漂浮文字) 的显示时间为 2.50 秒
        漂浮文字 - 设置 (最后创建的漂浮文字) 的消逝时间点为 0.50 秒
楼主的漂浮文字设置方法为什么就是不跟我一样呢...............难道就是这原因导致楼主经常杯具

点评

...接受伤害怎么会成为事件,不是要繁琐的步骤才可以实现的吗?难道说UI不通同?  详情 回复 发表于 2012-12-8 19:07
回复

使用道具 举报

 楼主| 发表于 2012-12-8 19:07:10 | 显示全部楼层
无名娜迦 发表于 2012-12-8 18:16
未命名触发器 003
    事件
        事件 -  任意单位 接受伤害

...接受伤害怎么会成为事件,不是要繁琐的步骤才可以实现的吗?难道说UI不通同?

点评

.......................你不需要理会接受伤害事件,那只是我随便弄个事件而已  详情 回复 发表于 2012-12-8 19:09
回复

使用道具 举报

发表于 2012-12-8 19:09:46 | 显示全部楼层
allennai 发表于 2012-12-8 19:07
...接受伤害怎么会成为事件,不是要繁琐的步骤才可以实现的吗?难道说UI不通同?

.......................你不需要理会接受伤害事件,那只是我随便弄个事件而已
回复

使用道具 举报

 楼主| 发表于 2012-12-9 01:46:55 | 显示全部楼层
...好吧,我纠结了
回复

使用道具 举报

发表于 2012-12-9 16:36:27 | 显示全部楼层
本帖最后由 希瓦 于 2012-12-9 16:41 编辑

  • “对所有玩家隐藏漂浮文字”的下一句是“对指定单位组显示漂浮文字”吧?
    这样的写法是正确的,但是前提是玩家组变量的值是正确的
    你可以在这句之前加一句显示玩家组中玩家名字的动作,以确认玩家组的值是正确的
  • 除此之外,你也可以使用“本地玩家”来实现对指定玩家显示漂浮文字的效果
    大概就是:
    [trigger]如果所有条件成立则做动作1,否则做动作2
        If - 条件
            (本地玩家) 等于 玩家1(红色)
        Then - 动作
            <!--        创建 或 显示        -->
        Else - 动作
    [/trigger]
    漂浮文字可以“异步创建”也可以“同步创建异步显示”
    异步创建最好使用CJ函数,否则异步创建的点会导致掉线,因此不推荐使用这个方法
    异步显示只要在"IF"里面对所有玩家显示漂浮文字,即可实现对指定玩家显示漂浮文字
回复

使用道具 举报

发表于 2012-12-9 16:41:08 | 显示全部楼层
特效不能异步创建,只能同步创建异步显示
所以,在Else里面需要增加创建空特效的语句
[trigger]如果所有条件成立则做动作1,否则做动作2
    If - 条件
        (本地玩家) 等于 玩家1(红色)
    Then - 动作
        特殊效果 - 在 ((可用地图区域) 的中心点) 创建特效: Abilities\Spells\Human\ThunderClap\ThunderClapCaster.mdl
    Else - 动作
        特殊效果 - 在 ((可用地图区域) 的中心点) 创建特效: <空字符串>
[/trigger]

点评

我不明白了,撇开本地玩家,为什么判断他是否为本地玩家,就创建特效或者文字?这样子和直接创建有什么不同?没有说对其他玩家隐藏啊?然后本地玩家,多人怎么办?  详情 回复 发表于 2012-12-9 17:47
回复

使用道具 举报

 楼主| 发表于 2012-12-9 17:47:12 | 显示全部楼层
希瓦 发表于 2012-12-9 16:41
特效不能异步创建,只能同步创建异步显示
所以,在Else里面需要增加创建空特效的语句
[trigger]如果所有条 ...

我不明白了,撇开本地玩家,为什么判断他是否为本地玩家,就创建特效或者文字?这样子和直接创建有什么不同?没有说对其他玩家隐藏啊?然后本地玩家,多人怎么办?
回复

使用道具 举报

发表于 2012-12-9 17:57:50 | 显示全部楼层
allennai 发表于 2012-12-9 17:47
我不明白了,撇开本地玩家,为什么判断他是否为本地玩家,就创建特效或者文字?这样子和直接创建有什么不 ...

本地玩家只是一个获取本地玩家的函数

对于“玩家一”的电脑来说,这个函数返回“玩家一”
对于“玩家二”的电脑来说,这个函数返回“玩家二”
对于“玩家三”的电脑来说,这个函数返回“玩家三”
对于“玩家四”的电脑来说,这个函数返回“玩家四”
对于“玩家五”的电脑来说,这个函数返回“玩家五”
…………
以此类推

判断“本地玩家”是否等于“玩家一”时
只有“玩家一”的电脑才为真,因为只有“玩家一”(本地玩家)等于“玩家一”
也就只有“玩家一”才会执行为真的语句了,然后也就只对玩家一显示漂浮文字了

至于“多人”,本地玩家和是否多人没有必然联系
只不过错误使用的“本地玩家”在多人游戏时会导致掉线而已
所以只要正确使用就不需要担心掉线了,至于到底“会不会掉线”只要多开测试一下就好了

点评

lo
话说else那里如果是空着,或者是“不做任何动作”可以么?  详情 回复 发表于 2012-12-9 18:33
回复

使用道具 举报

发表于 2012-12-9 18:33:13 | 显示全部楼层
希瓦 发表于 2012-12-9 17:57
本地玩家只是一个获取本地玩家的函数

对于“玩家一”的电脑来说,这个函数返回“玩家一”

话说else那里如果是空着,或者是“不做任何动作”可以么?
回复

使用道具 举报

发表于 2012-12-9 18:45:08 | 显示全部楼层
lo 发表于 2012-12-9 18:33
话说else那里如果是空着,或者是“不做任何动作”可以么?

只要then里面没有不能异步的语句,else空着也没有关系
但是如果不能异步,就需要上下同步了
比如创建特效的else里面不能为空,因为特效不能异步创建
但是如果是漂浮文字,就没有关系了,因为漂浮文字可以异步创建
回复

使用道具 举报

发表于 2012-12-9 18:58:15 | 显示全部楼层
本帖最后由 希瓦 于 2012-12-9 19:02 编辑

补充:
关于“漂浮文字可以异步创建”别乱用
比如“在指定点创建漂浮文字”如果放到了“IF本地玩家”里面
漂浮文字虽然不会导致掉线,但是创建点的语句却会掉线
点也是不能异步创建的对象
所以你还需要在else里面补一个可以创建点的语句
或者先在外面用变量记录需要创建的点,然后在里面使用

所以在本地玩家里面最好只用CJ函数(也就是带[R]的)
因为CJ函数是没有点的,而BJ函数还有全局变量set null的问题

因此相比“异步创建”来说,“异步显示”更不容易出问题
回复

使用道具 举报

 楼主| 发表于 2012-12-9 20:54:59 | 显示全部楼层
好像有点懂了
回复

使用道具 举报

 楼主| 发表于 2012-12-9 21:15:22 | 显示全部楼层
1.jpg 可是还是不行
回复

使用道具 举报

发表于 2012-12-9 21:51:24 | 显示全部楼层
allennai 发表于 2012-12-9 21:15
可是还是不行

可恶啊
我都已经那么努力的说明了,结果你还是没看吗......
快去看13楼的内容啊...

评分

参与人数 1互助 +1 收起 理由
chyj4747 + 1 码字辛苦了~ 怒气值+1~

查看全部评分

回复

使用道具 举报

发表于 2012-12-9 21:54:10 | 显示全部楼层
本帖最后由 希瓦 于 2012-12-9 22:22 编辑
allennai 发表于 2012-12-9 21:15
可是还是不行

另外,那个A_WJDW2是什么单位啊...为什么不直接创建到凶手单位的位置呢?


还是放一下演示吧
1、不使用本地玩家的演示
pf.w3x (12.19 KB, 下载次数: 22)
2、使用本地玩家异步显示的演示
pfa.w3x (12.29 KB, 下载次数: 16)
3、使用本地玩家异步创建的演示(没彻底了解之前不推荐使用)
pfb.w3x (12.29 KB, 下载次数: 15)


另外再加上创建只对触发玩家可见的特效的演示
tx.w3x (12.15 KB, 下载次数: 14)

点评

谢谢希瓦了,那个A_WJDW2是指英雄变量,有的时候是马甲单位杀死了,但是数据要显示在英雄头上,所以就这样子了  详情 回复 发表于 2012-12-10 02:01
回复

使用道具 举报

 楼主| 发表于 2012-12-10 02:01:55 | 显示全部楼层
希瓦 发表于 2012-12-9 21:54
另外,那个A_WJDW2是什么单位啊...为什么不直接创建到凶手单位的位置呢?


还是放一下演示吧

谢谢希瓦了,那个A_WJDW2是指英雄变量,有的时候是马甲单位杀死了,但是数据要显示在英雄头上,所以就这样子了

点评

不用谢,问题解决了记得改分类哦  发表于 2012-12-10 12:02
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 15:12 , Processed in 1.106758 second(s), 36 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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