找回密码
 点一下
查看: 1069|回复: 15

war3中的hashtable在SC2中变成了什么

[复制链接]
发表于 2016-8-20 22:41:31 | 显示全部楼层 |阅读模式
如何存储数据
发表于 2016-8-21 01:41:15 | 显示全部楼层
datatable.
回复

使用道具 举报

发表于 2016-8-22 13:20:10 | 显示全部楼层
这里支持数据表,使用很方便,唯一不足是:确实无法获取某些东西的唯一内部标识了。目前官方支持的只有单位,其他的都需要自己想办法。比如对话框项,一般就是用自定义值来作为唯一标识,再用这个标识来把对话框项储存到数据表,这样就能双向访问了。然而并不是所有的东西都能找到合适的方法,好在多数情况下也用不到就是了。
回复

使用道具 举报

发表于 2016-8-23 10:53:53 | 显示全部楼层
yxxiaobin 发表于 2016-8-22 13:20
这里支持数据表,使用很方便,唯一不足是:确实无法获取某些东西的唯一内部标识了。目前官方支持的只有单位 ...

如果你看Galaxy的话,会发现对话框项就是一个整数,而且即使你摧毁了,再新建对话框项,序号也是递增的,不会采用被摧毁的序号,对话框也是如此

点评

突然想到一个问题:如果再某种极端情况下,创建摧毁很多对话框项,以至于序号越界会怎样呢?尽管整数的范围真的好大,但是只要有范围,就可能会越界吧。  详情 回复 发表于 2016-8-23 17:42
有没有办法获取这个整数,然后用这个整数再获取对话框项?  发表于 2016-8-23 13:44
回复

使用道具 举报

发表于 2016-8-23 13:43:40 | 显示全部楼层
有没有办法获取这个整数,然后用这个整数再获取对话框项?
回复

使用道具 举报

发表于 2016-8-23 14:34:27 | 显示全部楼层
yxxiaobin 发表于 2016-8-23 13:43
有没有办法获取这个整数,然后用这个整数再获取对话框项?

对话框和对话框项就是整数呀……在Galaxy里对话框和对话框项都表示为int,而在GUI界面下它们也是可以互相转换的。

点评

没有发现如何转换啊。 定义一个整数型变量,不知道如何赋值给它一个对话框项。  详情 回复 发表于 2016-8-23 17:17
回复

使用道具 举报

发表于 2016-8-23 14:54:28 | 显示全部楼层
yxxiaobin 发表于 2016-8-23 13:43
有没有办法获取这个整数,然后用这个整数再获取对话框项?

简单方法是直接用自定义脚本,然后把变量或函数的Galaxy脚本填进去
或者封装一个转换函数

点评

自定义了一个转换函数,这样就可以了。感觉又学到新知识了!感谢孔明。 [attachimg]173137[/attachimg]  详情 回复 发表于 2016-8-23 17:23
回复

使用道具 举报

发表于 2016-8-23 17:17:35 | 显示全部楼层
七键守护神 发表于 2016-8-23 14:34
对话框和对话框项就是整数呀……在Galaxy里对话框和对话框项都表示为int,而在GUI界面下它们也是可以互相 ...

没有发现如何转换啊。
定义一个整数型变量,不知道如何赋值给它一个对话框项。
回复

使用道具 举报

发表于 2016-8-23 17:23:43 | 显示全部楼层
疯人¢衰人 发表于 2016-8-23 14:54
简单方法是直接用自定义脚本,然后把变量或函数的Galaxy脚本填进去
或者封装一个转换函数

自定义了一个转换函数,这样就可以了。感觉又学到新知识了!感谢孔明。
1.png

点评

这是什么?有什么用途?  发表于 2016-8-24 08:29
回复

使用道具 举报

发表于 2016-8-23 17:42:42 | 显示全部楼层
疯人¢衰人 发表于 2016-8-23 10:53
如果你看Galaxy的话,会发现对话框项就是一个整数,而且即使你摧毁了,再新建对话框项,序号也是递增的, ...

突然想到一个问题:如果再某种极端情况下,创建摧毁很多对话框项,以至于序号越界会怎样呢?尽管整数的范围真的好大,但是只要有范围,就可能会越界吧。
回复 0 1

使用道具 举报

发表于 2016-8-24 08:20:44 | 显示全部楼层
yxxiaobin 发表于 2016-8-23 17:42
突然想到一个问题:如果再某种极端情况下,创建摧毁很多对话框项,以至于序号越界会怎样呢?尽管整数的范 ...

不会的,因为SC2下大部分的数据都有存在上限的,比如触发是4096,单位好像是31676之类的,对话框项的上限应该不是太低,这方面暂时没碰到上限
回复

使用道具 举报

发表于 2016-8-24 08:39:20 | 显示全部楼层
yxxiaobin 发表于 2016-8-23 17:42
突然想到一个问题:如果再某种极端情况下,创建摧毁很多对话框项,以至于序号越界会怎样呢?尽管整数的范 ...

这种方法不是最好的,看一下对应的Galaxy就能发现,实际上你这里是生成了一个函数,并调用。
最好的方法是使用宏
方法是将函数定义的选项中勾选子函数,运算符或者自定义脚本之一(从结果上看是没差别)
然后在自定义脚本代码中填上#PARAM(变量名)
注意这里的变量名只是英文名部分,不包括lp_

你可以用Ctrl + F11对比下生成的Galaxy就明白了

点评

可以勾选“单行”(好像是这名字吧),这样就不生成函数了吧。  发表于 2016-8-24 19:52
回复

使用道具 举报

发表于 2016-8-24 21:12:05 | 显示全部楼层
yxxiaobin 发表于 2016-8-23 17:42
突然想到一个问题:如果再某种极端情况下,创建摧毁很多对话框项,以至于序号越界会怎样呢?尽管整数的范 ...

单行记得好像没法用自定义脚本
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-7-3 16:33 , Processed in 0.139639 second(s), 31 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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