找回密码
 点一下
查看: 1085|回复: 4

哈希列表不用触发也能完成一些事情??

[复制链接]
发表于 2010-7-22 17:36:55 | 显示全部楼层 |阅读模式
    [li]globals
    [/li][li]hashtable HT = null
    [/li][li]endglobals
    [/li][li]
    [/li][li]function Init takes nothing returns nothing
    [/li][li]call FlushParentHashtable( HT )
    [/li][li]set HT = InitHashtable()
    [/li][li]endfunction
    [/li][li]
    [/li][li]function TimeDamage_Act takes nothing returns nothing
    [/li][li]local integer parentKey = GetHandleId( GetExpiredTimer() )
    [/li][li]local unit source = LoadUnitHandle( HT, parentKey, 1 )
    [/li][li]local unit target = LoadUnitHandle( HT, parentKey, 2 )
    [/li][li]local real damage = LoadReal( HT, parentKey, 3 )
    [/li][li]call UnitDamageTargetBJ( source, target, damage, ATTACK_TYPE_CHAOS, DAMAGE_TYPE_FIRE )
    [/li][li]call FlushChildHashtable( HT, parentKey )
    [/li][li]call DestroyTimer( GetExpiredTimer() )
    [/li][li]set source = null
    [/li][li]set target = null
    [/li][li]endfunction
    [/li][li]
    [/li][li]function TimeDamage takes unit source, unit target, real time, real damage returns nothing
    [/li][li]local timer t = CreateTimer()
    [/li][li]local integer parentKey = GetHandleId( t )
    [/li][li]call SaveUnitHandle( HT, parentKey, 1, source )
    [/li][li]call SaveUnitHandle( HT, parentKey, 2, target )
    [/li][li]call SaveReal( HT, parentKey, 3, damage )
    [/li][li]call TimerStart( t, time, false, function TimeDamage_Act )
    [/li][li]set t = null
    [/li][li]endfunction [/li][li]其实这里计时器应该用全局变量,否则GetExpiredTimer()报废,但是我们要讨论的是,这里居然没有使用触发,这些函数能够执行么??[/li]
发表于 2010-7-22 20:14:29 | 显示全部楼层
你要了解,计时器是一个对象

在它被销毁前他是唯一的
回复

使用道具 举报

发表于 2010-7-23 05:11:25 | 显示全部楼层
其实这里计时器应该用全局变量,否则GetExpiredTimer()报废,但是我们要讨论的是,这里居然没有使用触发,这些函数能够执行么??
这个和全局变量毫无关系的...
哈希表的作用就是储存和查找数据用的
当然了~~~ 全局变量不是玩不了这些,你自己有高效的哈希算法也可以

至于说不借助触发... 其实还是要借助的啊
你想执行他,就需要某个触发的动作里call一下TimeDamage这个函数,然后在括号里填上它的参数
回复

使用道具 举报

发表于 2010-7-23 05:28:18 | 显示全部楼层
比起纯T,jass的萌点其实还是多在了局部变量和H2I
回复

使用道具 举报

发表于 2010-7-23 06:31:07 | 显示全部楼层
除非写在main函数以及调用函数内
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-28 14:18 , Processed in 0.053198 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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