找回密码
 点一下
查看: 1938|回复: 21

这样的触发多人的时候会不会出现问题

[复制链接]
发表于 2011-7-4 10:50:44 | 显示全部楼层 |阅读模式
[trigger]
shengguangshenpan
    事件
        单位 - 任意单位 开始施放技能
    条件
        (施放技能) 等于 圣光审判 (安仔)
    动作
        单位 - 添加 大专注光环 (安仔) 给 (施法单位)
        等待 10.00 秒游戏时间
        单位 - 删除 大专注光环 (安仔) 从 (施法单位)

[/trigger]
昨天多玩的时候 偶然发现这个触发的删除技能部分失效了
请问该如何写 才能正确删除技能
发表于 2011-7-4 11:02:20 | 显示全部楼层
那么就 设置-单位变量[触发玩家的索引]=触发单位,然后把 (施法单位) 换成这个变量就行
回复

使用道具 举报

 楼主| 发表于 2011-7-4 11:05:15 | 显示全部楼层
引用第1楼chyj4747于2011-07-04 11:02发表的  :
那么就 设置-单位变量[触发玩家的索引]=触发单位,然后把 (施法单位) 换成这个变量就行

你的意思是说 再等待10秒得过程中 有其他玩家释放了技能 说以这个施法单位就出现了变化, 是这样么?
回复

使用道具 举报

发表于 2011-7-4 11:05:51 | 显示全部楼层
事件 同上
动作 设置n=n+1 u[n]=释法单位
添加技能给u[n]
开启一个一次性10秒的计时器timer[n]

计时器timer[n]到期
删除 技能 从u[n]摧毁计时器timer[n]
设置n=n-1
回复

使用道具 举报

发表于 2011-7-4 11:10:45 | 显示全部楼层
你那样 每个玩家只能有一个单位可以释放该技能 我这方法还是从希瓦那学来的 恩…
回复

使用道具 举报

 楼主| 发表于 2011-7-4 11:15:34 | 显示全部楼层
看起来不错哇 等我研究完 回头结贴
回复

使用道具 举报

 楼主| 发表于 2011-7-4 11:22:10 | 显示全部楼层
其中 整数n 和 单位数组u 还有计时器数组timer 都是全局的吧!

在这个计时器没有到期的时候  又有其他玩家释放了这个技能 这个n就进行了 +1 的操作

删除这个技能的时候 删除的是不是最后使用技能玩家的技能
回复

使用道具 举报

 楼主| 发表于 2011-7-4 11:23:01 | 显示全部楼层
[trigger]
shengguangshenpan
    事件
        单位 - 任意单位 开始施放技能
    条件
        (施放技能) 等于 圣光审判 (安仔)
    动作
        自定义代码: local unit var_temp
        自定义代码: set var_temp = GetSpellAbilityUnit()
        自定义代码: call UnitAddAbilityBJ( 'A01M', var_temp)
        自定义代码: call PolledWait( 10.00 )
        自定义代码: call UnitRemoveAbilityBJ( 'A01M', var_temp)
        自定义代码: set var_temp = null

[/trigger]

这样是不是就可以解决了
回复

使用道具 举报

发表于 2011-7-4 11:29:06 | 显示全部楼层
呵呵…忘记说了…用局部变量也可以 不过用等待的话 最好是用等待游戏时间 呵呵…
回复

使用道具 举报

发表于 2011-7-4 11:45:54 | 显示全部楼层
有个偷懒的办法……
创建一个马甲跟随英雄,带上光环,设置生命周期为8秒(失去光环范围后仍要2秒之后光环效果才会消失)
回复

使用道具 举报

发表于 2011-7-4 11:53:24 | 显示全部楼层
去…还不如创建一个会自动死血的马甲等马甲死了再删除技能 做的话不会比LSS麻烦
回复

使用道具 举报

发表于 2011-7-4 11:57:11 | 显示全部楼层
引用第10楼xiokingsing于2011-07-04 11:53发表的  :
去…还不如创建一个会自动死血的马甲等马甲死了再删除技能 做的话不会比LSS麻烦
额,lss不就是你自己么……
回复

使用道具 举报

发表于 2011-7-4 11:58:58 | 显示全部楼层
引用楼主shili_cn于2011-07-04 10:50发表的 这样的触发多人的时候会不会出现问题 :
[trigger]
shengguangshenpan
    事件
        单位 - 任意单位 开始施放技能
    条件
.......
首先,制作技能需要使用的是“发动技能效果”事件;
如果使用“开始施放技能”的话,可能会导致按S就能刷新技能效果的Bug。
然后,如果技能冷却时间事件大于持续时间(10)的话,那么只要将“施法单位”换成“触发单位”就可以了;
冷却时间小于持续时间,那么一个单位重复施法,就会导致第一次技能持续时间结束后删除了第二次添加的技能,从而出现问题。
要想重复施法刷新技能效果的话,就需要用到计时器,就比较麻烦了。
回复

使用道具 举报

发表于 2011-7-4 12:03:56 | 显示全部楼层

回 12楼(spin) 的帖子

这个绝不是冷却时间的问题,是多单位先后施放技能导致的变量冲突……
回复

使用道具 举报

发表于 2011-7-4 12:22:45 | 显示全部楼层
好吧……说错了,编辑掉……
回复

使用道具 举报

发表于 2011-7-4 12:22:58 | 显示全部楼层
貌似施法单位这东西会在单位施法结束后自动被清除……
技能释放点同理

该死,又记错了
回复

使用道具 举报

发表于 2011-7-4 12:28:29 | 显示全部楼层
但是这是施法单位不是技能释放目标呢……
回复

使用道具 举报

 楼主| 发表于 2011-7-4 12:53:35 | 显示全部楼层
马甲的方式确实比较稳妥 基本上没有任何BUG的存在
回复

使用道具 举报

发表于 2011-7-4 13:08:51 | 显示全部楼层
马甲才是王道!
回复

使用道具 举报

发表于 2011-7-4 14:20:29 | 显示全部楼层
明明局部才是
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 11:47 , Processed in 0.048844 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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