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

关于触发器,自定义函数

[复制链接]
发表于 2018-7-29 16:05:23 | 显示全部楼层 |阅读模式
自定义函数的参数可以使用数组吗,直接定义的参数无法设定成数组,感觉很不方便。
如果是c的语法的话应该是可以传指针或者地址来代表数组的吧
发表于 2018-7-29 18:49:30 | 显示全部楼层
使用指针的话,可以用数组传参,只是目前触发器的UI还不支持数组参数,如果你愿意写代码的话就没问题了。
指针的用法,头目有详细教程,我就不再写一遍了。

点评

求教下,星际2编辑器能实现魔兽编辑器里的这种功能吗? 魔兽3 里面 有哈希表 然后 用 gethandedid() 来获取 单位 或 各种单位的 ID 然后来实现数据的 保存 用这个 可以做各种延迟功能 比如 2秒后 删  详情 回复 发表于 2019-1-3 21:37
回复

使用道具 举报

发表于 2018-7-29 19:44:04 | 显示全部楼层
用数据表传参,用完再删掉或者不做处理。
仅需使用“局部”类型的数据表就行了。

点评

数据表是个好动洗,我在自己的mod中也是大量使用了数据表。 不过有一个问题我一直有所顾虑:在频繁运算时,使用数据表比起使用变量是不是会拖慢效率呢?从理论上来将,数据表是一种储存结构,比起直接使用变量肯定  详情 回复 发表于 2018-7-29 23:53
回复

使用道具 举报

发表于 2018-7-29 23:53:43 | 显示全部楼层
隐匿的大神 发表于 2018-7-29 19:44
用数据表传参,用完再删掉或者不做处理。
仅需使用“局部”类型的数据表就行了。

数据表是个好动洗,我在自己的mod中也是大量使用了数据表。
不过有一个问题我一直有所顾虑:在频繁运算时,使用数据表比起使用变量是不是会拖慢效率呢?从理论上来将,数据表是一种储存结构,比起直接使用变量肯定会慢,但是如果数据表的效率够高,对于当今的电脑就不会有什么压力。一直没有证实过这种猜测。
我设计了队友头像UI,里边带有行为展示,因为每个玩家都有好几个实例,每局游戏多名玩家,每个玩家都展示最多7个行为,乘在一起还是很客观的。而且头像的更新周期不宜过长,两个周期已经是极限了,再大就会影响用户体验。一般我都是用数据表,只有这里,为了以防万一,传参用了数组变量。

点评

就算你一个周期更新一次数据对当今电脑都没什么影响,你这个每秒最多才执行22.4次,而用户界面是单独线程处理的,根本不可能对机器造成什么影响。 数据表应该是哈希表一类的东西,效率很高,放心使用,而且某次更新  详情 回复 发表于 2018-7-30 07:08
回复

使用道具 举报

发表于 2018-7-30 07:08:40 | 显示全部楼层
yxxiaobin 发表于 2018-7-29 23:53
数据表是个好动洗,我在自己的mod中也是大量使用了数据表。
不过有一个问题我一直有所顾虑:在频繁运算 ...

就算你一个周期更新一次数据对当今电脑都没什么影响,你这个每秒最多才执行22.4次,而用户界面是单独线程处理的,根本不可能对机器造成什么影响。
数据表应该是哈希表一类的东西,效率很高,放心使用,而且某次更新前星际2一直用数据表来传“最后创建的XXX”(参看内建库>替换单位)。

点评

感谢解答,这样我就可以放心使用了。  详情 回复 发表于 2018-7-30 22:54
回复

使用道具 举报

发表于 2018-7-30 22:54:38 | 显示全部楼层
隐匿的大神 发表于 2018-7-30 07:08
就算你一个周期更新一次数据对当今电脑都没什么影响,你这个每秒最多才执行22.4次,而用户界面是单独线程 ...

感谢解答,这样我就可以放心使用了。
回复

使用道具 举报

发表于 2019-1-3 21:37:49 | 显示全部楼层
yxxiaobin 发表于 2018-7-29 18:49
使用指针的话,可以用数组传参,只是目前触发器的UI还不支持数组参数,如果你愿意写代码的话就没问题了。
...

求教下,星际2编辑器能实现魔兽编辑器里的这种功能吗?

魔兽3 里面 有哈希表    然后 用 gethandedid() 来获取 单位 或 各种单位的   ID   然后来实现数据的  保存   用这个  可以做各种延迟功能

比如  2秒后 删除某个单位 或 3秒后删除某个特效什么的     星际2 有这功能吗  各大佬给指点下贝

点评

星际2的数据表比那玩意好用多了,最起码编程思路更简单。  详情 回复 发表于 2019-1-4 19:11
有 单位标签 这个函数,返回一个整数。 哈希表在星际2叫数据表。  详情 回复 发表于 2019-1-3 23:27
回复

使用道具 举报

发表于 2019-1-3 23:27:50 来自手机 | 显示全部楼层
elik720 发表于 2019-1-3 21:37
求教下,星际2编辑器能实现魔兽编辑器里的这种功能吗?

魔兽3 里面 有哈希表    然后 用 gethandedid()  ...

有 单位标签 这个函数,返回一个整数。
哈希表在星际2叫数据表。
回复

使用道具 举报

发表于 2019-1-4 19:11:48 | 显示全部楼层
elik720 发表于 2019-1-3 21:37
求教下,星际2编辑器能实现魔兽编辑器里的这种功能吗?

魔兽3 里面 有哈希表    然后 用 gethandedid()  ...

星际2的数据表比那玩意好用多了,最起码编程思路更简单。数据表的基本思路和魔兽里的缓存类似。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 06:55 , Processed in 0.151117 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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