找回密码
 点一下
查看: 1017|回复: 19

局部变量传递问题

[复制链接]
发表于 2013-1-19 14:57:37 | 显示全部楼层 |阅读模式
本帖最后由 Hlastdusk 于 2013-1-19 18:46 编辑

触发1
任意帅哥发帖
  local unit udg_DW
  local location udg_D
  设置DW=触发单位
  设置D=触发单位位置
  开启计时器TIME,一次性,1秒
  设置DW=没有单位
  清除点D
  set udg_DW=null
  set udg_D=null

触发2
  TIME到期
  创建一个DW类型的单位在D


问题是,触发1的局部如何传递到触发2中使用?不使用哈希表跟YD整数地址已经单位自定义值。。
发表于 2013-1-19 16:17:10 | 显示全部楼层
YDWE?你不会用逆天计时器么。。。
回复

使用道具 举报

发表于 2013-1-19 16:19:31 | 显示全部楼层
不用任何东西传递的话,局部变量是传递不过去的吧
回复

使用道具 举报

 楼主| 发表于 2013-1-19 16:48:48 | 显示全部楼层
就是不要YD,逆天等插件。
回复

使用道具 举报

发表于 2013-1-19 17:17:21 | 显示全部楼层
hashtable又不需要插件

点评

那个能不用就不用的东西,对图损伤的太大。只能让图局限在1.24.。。而且效率也是3中变量中最低的  详情 回复 发表于 2013-1-19 17:22
回复

使用道具 举报

 楼主| 发表于 2013-1-19 17:22:35 | 显示全部楼层
zhuzeitou 发表于 2013-1-19 17:17
hashtable又不需要插件

那个能不用就不用的东西,对图损伤的太大。只能让图局限在1.24.。。而且效率也是3中变量中最低的
回复

使用道具 举报

发表于 2013-1-19 18:11:39 | 显示全部楼层
本帖最后由 cynsw 于 2013-1-19 18:15 编辑

你确定HASHTABLE比GAMECACHE还效率低?

我还以为魔兽早就跨入124E起步的时代了呢,结果还有人心疼1.20

另:头一次听说哈希表对地图伤害大的,那YDWE也可以消失了。。@actboy168

点评

别人用什么管了不了,爱用什么用什么,莫强求  发表于 2013-1-20 01:43
回复

使用道具 举报

 楼主| 发表于 2013-1-19 18:38:56 | 显示全部楼层
本帖最后由 chyj4747 于 2013-1-19 23:04 编辑

局部大于全局大于哈希大于缓存。。
你拿哈希跟缓存比吗?我从没说过缓存什么,我说哈希是3中变量中效率最低的。

让图局限在1.24不是对地图损失大吗?

还有,现在魔兽玩1.20比1.24多,RPG方面,大哥。你可以对比下各平台1.20跟1.24的房间与人数。

随便说下,哈希表是能不用就不用的东西。。你可以百度或者问问其他人。魔兽上像忍村,真三什么比较好的,是绝不使用哈希的。或者你可以问问作者为什么。。
【chyj4747:有点不和谐的东西屏蔽掉。。】
回复

使用道具 举报

 楼主| 发表于 2013-1-19 18:45:55 | 显示全部楼层
额。我的问题已经从贴吧找到答案了。多谢各位的回答了。。
回复

使用道具 举报

发表于 2013-1-19 23:25:17 | 显示全部楼层
本帖最后由 zhuzeitou 于 2013-1-19 23:33 编辑

为什么我只想说啧啧啧呢……
你觉得dota用了吗?

真想的话,你完全可以用全局变量自己维护一套系统,不过完全没意义罢了
守旧什么的,还是只能啧啧啧吧
回复

使用道具 举报

 楼主| 发表于 2013-1-19 23:40:38 | 显示全部楼层
本帖最后由 Hlastdusk 于 2013-1-19 23:46 编辑

很遗憾的告诉你。DOTA也是没有使用哈希表的。。。
DOTA的地图不只1.20能玩,而且是可以任意版本转换的。
或许你可以搜索下DOTA 版本转换(DOTA官方)   或者DOTA  1.20就能明白。

这个帖已经解决了,你觉得有必要跟我说哈希表有多好吗?
哈希表是功能强大但不是好的东西,是能不要就不用到。。就是这样了。
哈希表是强但不是好,请不要误解了。。
或许你告诉下,有哪张很好很热点地图是哈希表做出的。。我想观摩下。。

如果你觉得我说话你不喜欢听,请原谅。我在题目说明了不使用哈希了
回复

使用道具 举报

发表于 2013-1-19 23:46:21 | 显示全部楼层
Hlastdusk 发表于 2013-1-19 23:40
很遗憾的告诉你。DOTA也是没有使用哈希表的。。。
DOTA的地图不只1.20能玩,而且是可以任意版本转换的。
...

有一幅外国地图,用了哈希表
可能你听过,叫做DOTA
还算挺热点的地图

点评

是么,谁告诉你的呢,你说的高仿的哈希未加密DOTA我也有。但官方的不是这个。百度一下不就知道,好像百度的广告是这样的吧。DOTA是为使用哈希的,可以任意版本转换的。百度下吧,也可以知道的更多  详情 回复 发表于 2013-1-19 23:48
回复

使用道具 举报

 楼主| 发表于 2013-1-19 23:48:53 | 显示全部楼层
本帖最后由 Hlastdusk 于 2013-1-20 00:01 编辑
希瓦 发表于 2013-1-19 23:46
有一幅外国地图,用了哈希表
可能你听过,叫做DOTA
还算挺热点的地图


是么,谁告诉你的呢,你说的高仿的哈希未加密DOTA我也有。但官方的不是这个。百度一下不就知道,好像百度的广告是这样说的吧。DOTA是为使用哈希的,可以任意版本转换的。百度下吧,可以知道的更多。当然你认为使用了1.24的函数还能任意版本转换的话,我也没话说

dota虽然现在都是1.24。1.26了。但是之前是1.20的都可以的

点评

你认为“转换”二字是何含义呢,如果两个版本都可以运行,会需要“转换”么~~  发表于 2013-1-20 00:42
回复

使用道具 举报

发表于 2013-1-19 23:54:01 | 显示全部楼层
本帖最后由 cynsw 于 2013-1-20 00:01 编辑

。。。@希瓦 @zhuzeitou
这帖快笑死我了。。。。。。。
回复

使用道具 举报

发表于 2013-1-20 00:08:38 | 显示全部楼层
Hlastdusk 发表于 2013-1-19 23:48
是么,谁告诉你的呢,你说的高仿的哈希未加密DOTA我也有。但官方的不是这个。百度一下不就知道,好像百 ...

那又是谁告诉你DOTA不是使用哈希表的呢?
难道他们告诉你DOTA是使用逆天变量的么...

哈希表是1.24才出来的,而DOTA在1.20之前就有了
自然DOTA有不使用哈希表的版本,而那些版本自然可在1.20运行
但这并不代表DOTA现在的版本不是使用哈希表的

6.61之前的DOTA使用的是ReturnBug+GC的储存系统
之后1.24修复了ReturnBug,因此DOTA改用了hashtable+GetHandleId
所以,6.61b不能在1.24e及之后的版本运行
(1.24a貌似还是两边兼容的过度版本,浩方貌似也使用了某个修改过的版本,所以貌似也能支持6.61)
但是1.20不可能运行现在的DOTA版本,因为1.20没有哈希表

而对于“DOTA版本转换”什么的...别人都说了是“转换”过的了,不是官方DOTA还有什么好说的

至于DOTA用的到底是不是哈希表,你也不用和我争,因为我碰巧拆过DOTA图,然后碰巧发现了500多个技能是使用哈希表做出来的,好像挺少的

劝楼主凡事不要想当然,也不要道听途说,别没试过就下结论

贴吧的人大概是建议你使用YDWE的储存系统吧?
我会说ydwe也是使用哈希表做的储存系统么...
版本转换也只是把哈希表换成returnbug+gc而已
回复

使用道具 举报

发表于 2013-1-20 00:14:09 | 显示全部楼层
本帖最后由 cynsw 于 2013-1-20 00:18 编辑

。。。别管什么哈希表。。就DOTA那体积 不打4M限制的补丁你跟我说1.20?。。。。。。笑死人了。。。

点评

晚安~  发表于 2013-1-20 00:31
回复

使用道具 举报

发表于 2013-1-20 00:18:08 | 显示全部楼层
lz回去再拆一次图好好看看再来发表结论吧,记得拆最新版的

点评

猪头么么哒晚安~~ 刚才怎么没看到你的回帖呢。  发表于 2013-1-20 00:37
回复

使用道具 举报

发表于 2013-1-20 00:24:21 | 显示全部楼层
由于ReturnBug+gc和hashtable的储存方式的相似性
只要你函数写好,要转换版本还是很容易的
只需要修改相应函数,就能做出两个不同版本的地图

可以说现在网上的大部分地图都使用了哈希表
使用Jass做图的人,除非用数组自己写了一个哈希算法,否则无一例外的都使用了哈希表
用YDWE做图的人,就算你不想,ydwe也会自行在地图里面加上哈希表

只有用老狼UI纯T做图的人才会不用哈希表

如果实在不想使用哈希表,可以用数组代替,只是稍显麻烦而已
http://bbs.islga.org/forum.php?mod=viewthread&tid=50175
数组储存数据可参考此贴

点评

lo
西瓜,抱抱~  详情 回复 发表于 2013-1-20 16:11
回复

使用道具 举报

发表于 2013-1-20 16:11:10 | 显示全部楼层
希瓦 发表于 2013-1-20 00:24
由于ReturnBug+gc和hashtable的储存方式的相似性
只要你函数写好,要转换版本还是很容易的
只需要修改相应 ...

西瓜,抱抱~

点评

抱  发表于 2013-1-20 18:05
回复

使用道具 举报

发表于 2013-1-22 17:03:27 | 显示全部楼层
最新版unwe采用企业级的的handle表管理的方法可以支持任意位置申明局部变量 并且只要处于同一个线程中就可以随意调用
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-10 11:15 , Processed in 0.122994 second(s), 30 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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