找回密码
 点一下
查看: 1328|回复: 8

(已解决)用触发器移动单位会自己掉光 装备栏的 物品

[复制链接]
发表于 2014-12-3 01:08:10 | 显示全部楼层 |阅读模式
本帖最后由 15988858896 于 2014-12-3 14:43 编辑

我用了  进入区域001  进行触发的单位   立即移动单位  到 001点(不用混合 )的触发器  
发现   英雄 进去之后 身上的装备会全部掉地上!! 这是怎么回事啊   
 楼主| 发表于 2014-12-3 01:50:05 | 显示全部楼层
本帖最后由 15988858896 于 2014-12-3 01:51 编辑

我是用 自带的 测试 物品栏  给单位的
行为是携带物品 ,不是装备物品
回复

使用道具 举报

发表于 2014-12-3 03:12:26 | 显示全部楼层
你要知道,物品也是单位。所以单位进入区域的时候,身上的物品也会进入区域。然后被你的触发直接移动位置了。

所以你要在条件里过滤一下,触发单位不是物品,不是隐藏单位。
回复

使用道具 举报

发表于 2014-12-3 07:33:06 来自手机 | 显示全部楼层
这段时间我也在摸索触发器,感觉狠有意思,多谢ga平台提供,从一个毫无任何基础,不懂那些程序语言的新手终于算是能看懂一些,算是入门了,你说的问题,我前几天刚刚碰到,正如头目说的,条件过滤,
回复

使用道具 举报

发表于 2014-12-3 07:34:19 来自手机 | 显示全部楼层
你可以在条件里写上  比较 单位类型分类检查  
回复

使用道具 举报

发表于 2014-12-3 07:34:41 来自手机 | 显示全部楼层
然后执行你的动作
回复

使用道具 举报

发表于 2014-12-3 07:37:31 来自手机 | 显示全部楼层
顺便问一下如何创建那些  动作定义 条件定义,动作定义里的函数,创建线程,以及返回类型 整数,布尔的有什么作用?希望头目抽空给我们讲讲,多谢了

点评

因为这些东西比较基础,就不麻烦头目了,我简单解释一下: 假如有这样一件事:你让一个单位施放一个技能的时候,同时命令某个单位移动到点A,然后施放一个技能,然后移动到点B。你输入某个聊天的时候,同时命令同时  详情 回复 发表于 2014-12-7 14:47
回复

使用道具 举报

 楼主| 发表于 2014-12-3 14:21:29 | 显示全部楼层
谢谢2位大神
回复

使用道具 举报

发表于 2014-12-7 14:47:59 | 显示全部楼层
本帖最后由 yxxiaobin 于 2014-12-7 15:07 编辑
zjm1001010 发表于 2014-12-3 07:37
顺便问一下如何创建那些  动作定义 条件定义,动作定义里的函数,创建线程,以及返回类型 整数,布尔的有什 ...


因为这些东西比较基础,就不麻烦头目了,我简单解释一下:
假如有这样一件事:你让一个单位施放一个技能的时候,同时命令某个单位移动到点A,然后施放一个技能,然后移动到点B。你输入某个聊天的时候,同时命令同时命令某个单位移动到点A,然后施放一个技能,然后移动到点B。你摧毁某个单位的时候,同时命令同时命令某个单位移动到点A,然后施放一个技能,然后移动到点B。非常明显,这里边有大量相同的语句序列。如果没有自定义动作,那么你在每个触发器里边都要重复的写相同的语句。利用自定义动作我们可以这样写:建立一个自定义动作,把命令某个单位移动到点A施放技能在移动到点B这些语句写到自定义动作里边,然后在每个触发器里边调用这个自定义动作,就相当于调用了这个语句序列。
自定义函数也是一组语句序列,但和自定义动作不同的是,函数有返回值。在上边的例子中,我们下达一组命令就好了,而不必关心之后的事,但是如果我们要进行一组计算的的话,只发布计算指令是不行的,还要得到结果,否则计算将毫无意义,这时候这个结果就要返回给调用这个函数的触发器,这就需要返回值。根据返回值的数据类型,又可以分为整数、实数、单位等等。
然后说参数。仍然看开始举得例子,如果命令某个单位做一些事,这个单位不是固定的一个,而是根据需要设置不同单位,则最好的方法就是给动作或函数设置一个参数,用于指定哪一个单位,然后在动作或函数中调用这个参数就好了。
至于创建线程,首先我们要知道什么是线程。其实一个直观的理解就是,线形的过程,就是先做一件事,完了之后再做意见事,然后再做一件事,这样的过程,就可以称为一个线程。加入我们在做一件事的同时还可以做另外一件事,这样就叫做多线程。有计算机常识的人都知道,早期计算机是单线程的,而现在则是多线程的。一个触发器默认是单线程,如果它调用了自定义动作,则会等自定义动作中的语句都执行完毕后,再执行自身后续动作,加入我们在动作中指定了创建线程,则可以让动作中的语句序列自己使用一个线程,而主线程则会同时执行,不必等待。事实上除非必要,否则不要使用这个选项,因为额外的线程会打乱固有执行顺序,容易导致不可预知的bug。但是当自定义动作中使用等待,而调用它的触发又不允许等待时,创建线程选项会非常有用,前提是你能确定语句乱序不会导致错误。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 02:49 , Processed in 0.112734 second(s), 28 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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