找回密码
 点一下
查看: 1721|回复: 3

屠夫的钩子不能多重释放,和马甲残留无法解决的问题

[复制链接]
发表于 2010-2-15 10:46:36 | 显示全部楼层 |阅读模式
[jass]
globals
gamecache HashCache=InitGameCache("HashCache.w3v")
endglobals
function H2I takes handle h returns integer
return h
return  2
endfunction
function H2S takes handle h returns string
local integer int=H2I(h)
local integer HashInt=int-int/8192*8192
local string str=I2S(HashInt)
return str
endfunction
function I2U takes integer int returns unit
return int
return null
endfunction
function DamageTarget takes unit danwei,unit mubiao,real damage returns nothing
call UnitDamageTarget(danwei,mubiao,damage,true,true,ATTACK_TYPE_NORMAL,DAMAGE_TYPE_UNIVERSAL,WEAPON_TYPE_WHOKNOWS)
endfunction
function IsAttack takes unit danwei,unit mubiao returns boolean
if IsUnitEnemy(mubiao,GetOwningPlayer(danwei)) and IsUnitType(mubiao,UNIT_TYPE_STRUCTURE)==false and IsUnitAliveBJ(mubiao) then
return true
endif
return false
endfunction
function GetDistance takes unit danwei,unit mubiao returns real
local location loc1=GetUnitLoc(danwei)
local location loc2=GetUnitLoc(mubiao)
local real distance=DistanceBetweenPoints(loc1,loc2)
call RemoveLocation(loc1)
call RemoveLocation(loc2)
set loc1=null
set loc2=null
return distance
endfunction
function GetAngle takes unit danwei,unit mubiao returns real
local location loc1=GetUnitLoc(danwei)
local location loc2=GetUnitLoc(mubiao)
local real angle=AngleBetweenPoints(loc1,loc2)
call RemoveLocation(loc1)
call RemoveLocation(loc2)
set loc1=null
set loc2=null
return angle
endfunction
function ClearUnit takes timer tm returns nothing
local integer int=0
local integer Max=GetStoredInteger(HashCache,H2S(tm),"MaxShuMu")
local unit danwei
loop
exitwhen int>Max
set danwei=I2U(GetStoredInteger(HashCache,H2S(tm),"TieLian"+I2S(int+1000)))
set int=int+1
call RemoveUnit(danwei)
endloop
set danwei=null
endfunction
function TieLianGetUnit takes timer tm returns unit
local unit danwei=I2U(GetStoredInteger(HashCache,H2S(tm),"danwei"))
local integer ShuMu=GetStoredInteger(HashCache,H2S(tm),"ShuMu")
local unit tielian=I2U(GetStoredInteger(HashCache,H2S(tm),"TieLian"+I2S(ShuMu+1000)))
local group tempgroup=CreateGroup()
local unit tempunit
call GroupEnumUnitsInRange(tempgroup,GetUnitX(tielian),GetUnitY(tielian),100,Condition(function IsCatchCondition))
call GroupRemoveUnit(tempgroup,danwei)
set tempunit=GroupPickRandomUnit(tempgroup)
if tempunit!=null then
call StoreBoolean(HashCache,H2S(tm),"IsBack",true)
call StoreBoolean(HashCache,H2S(tm),"IsGet",true)
call StoreInteger(HashCache,H2S(tm),"MuBiao",H2I(tempunit))
endif
if IsAttack(danwei,tempunit) then
call DamageTarget(danwei,tempunit,100*GetUnitAbilityLevel(danwei,'A0VI'))
endif
call DestroyGroup(tempgroup)
set danwei=null
set tielian=null
set tempgroup=null
return tempunit
endfunction
function TieLianTimer takes nothing returns nothing
local timer tm=GetExpiredTimer()
local integer ShuMu=GetStoredInteger(HashCache,H2S(tm),"ShuMu")
local boolean Isback=GetStoredBoolean(HashCache,H2S(tm),"IsBack")
local boolean Isget=GetStoredBoolean(HashCache,H2S(tm),"IsGet")
local integer MaxShuMu=GetStoredInteger(HashCache,H2S(tm),"MaxShuMu")
local unit danwei=I2U(GetStoredInteger(HashCache,H2S(tm),"danwei"))
local real angle=GetStoredReal(HashCache,H2S(tm),"angle")
local unit tempunit
local unit tielian
local unit MuBiao
if Isback then
if Isget then
if ShuMu>0 then
set tempunit=I2U(GetStoredInteger(HashCache,H2S(tm),"MuBiao"))
set tielian=I2U(GetStoredInteger(HashCache,H2S(tm),"tielian"+I2S(ShuMu+1000)))
call SetUnitX(tempunit,GetUnitX(tielian))
call SetUnitY(tempunit,GetUnitY(tielian))
call RemoveUnit(tielian)
set ShuMu=ShuMu-1
call StoreInteger(HashCache,H2S(tm),"ShuMu",ShuMu)
call DestroyEffect(AddSpecialEffect("Abilities\\Weapons\\AncientProtectorMissile\\AncientProtectorMissile.mdl",GetUnitX(tempunit),GetUnitY(tempunit)))
else
call PauseTimer(tm)
call DestroyTimer(tm)
endif
else
if ShuMu>0 then
set tempunit=I2U(GetStoredInteger(HashCache,H2S(tm),"tielian"+I2S(ShuMu-0+1000)))
set tielian=I2U(GetStoredInteger(HashCache,H2S(tm),"tielian"+I2S((ShuMu-1+1000))))
call SetUnitX(tempunit,GetUnitX(tielian))
call SetUnitY(tempunit,GetUnitY(tielian))
call RemoveUnit(tielian)
set ShuMu=ShuMu-1
call StoreInteger(HashCache,H2S(tm),"ShuMu",ShuMu)
else
call PauseTimer(tm)
call DestroyTimer(tm)
endif
endif
else
if ShuMu<MaxShuMu then
if ShuMu>0 then
set tielian=I2U(GetStoredInteger(HashCache,H2S(tm),"tielian"+I2S(ShuMu+1000)))
set tempunit=CreateUnit(GetOwningPlayer(danwei),'ec02',GetUnitX(tielian)+35*CosBJ(angle),GetUnitY(tielian)+35*SinBJ(angle),angle)
call PauseUnit(tempunit,true)
call SetUnitFlyHeight(tempunit,60.0,0)
call StoreInteger(HashCache,H2S(tm),"tielian"+I2S((ShuMu+1+1000)),H2I(tempunit))
call StoreInteger(HashCache,H2S(tm),"ShuMu",ShuMu+1)
set MuBiao=TieLianGetUnit(tm)
else
set tempunit=CreateUnit(GetOwningPlayer(danwei),'ec02',GetUnitX(danwei)+150*CosBJ(angle),GetUnitY(danwei)+150*SinBJ(angle),angle)
call PauseUnit(tempunit,true)
call SetUnitFlyHeight(tempunit,60.0,0)
call StoreInteger(HashCache,H2S(tm),"tielian"+I2S((ShuMu+1+1000)),H2I(tempunit))
call StoreInteger(HashCache,H2S(tm),"ShuMu",ShuMu+1)
endif
else
call StoreBoolean(HashCache,H2S(tm),"IsBack",true)
endif
endif
set tm=null
set danwei=null
set tempunit=null
set tielian=null
set MuBiao=null
endfunction
function TieLianAction takes nothing returns nothing
local timer tm=CreateTimer()
local unit danwei=GetTriggerUnit()
local location loc=GetSpellTargetLoc()
local location loc1=GetUnitLoc(danwei)
local real angle=AngleBetweenPoints(loc1,loc)
call RemoveLocation(loc)
call RemoveLocation(loc1)
call StoreInteger(HashCache,H2S(tm),"danwei",H2I(danwei))
call StoreInteger(HashCache,H2S(tm),"MaxShuMu",GetHeroStr(danwei,true)+10)
call StoreInteger(HashCache,H2S(tm),"ShuMu",0)
call StoreReal(HashCache,H2S(tm),"angle",angle)
call StoreBoolean(HashCache,H2S(tm),"IsBack",false)
call StoreBoolean(HashCache,H2S(tm),"IsGet",false)
call TimerStart(tm,0.1,true,function TieLianTimer)
set  tm=CreateTimer()
call StoreInteger(HashCache,H2S(tm),"danwei",H2I(danwei))
call StoreInteger(HashCache,H2S(tm),"MaxShuMu",GetHeroStr(danwei,true)+10)
call StoreInteger(HashCache,H2S(tm),"ShuMu",0)
call StoreReal(HashCache,H2S(tm),"angle",angle-15)
call StoreBoolean(HashCache,H2S(tm),"IsBack",false)
call StoreBoolean(HashCache,H2S(tm),"IsGet",false)
call TimerStart(tm,0.1,true,function TieLianTimer)
set  tm=CreateTimer()
call StoreInteger(HashCache,H2S(tm),"danwei",H2I(danwei))
call StoreInteger(HashCache,H2S(tm),"MaxShuMu",GetHeroStr(danwei,true)+10)
call StoreInteger(HashCache,H2S(tm),"ShuMu",0)
call StoreReal(HashCache,H2S(tm),"angle",angle+15)
call StoreBoolean(HashCache,H2S(tm),"IsBack",false)
call StoreBoolean(HashCache,H2S(tm),"IsGet",false)
call TimerStart(tm,0.1,true,function TieLianTimer)
set tm=null
set danwei=null
set loc=null
set loc1=null
endfunction
function TieLian_Condition takes nothing returns boolean
return (GetSpellAbilityId()=='A0VI')
endfunction
function TieLian takes nothing returns nothing
local trigger trg=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(trg,EVENT_PLAYER_UNIT_SPELL_EFFECT)
call TriggerAddCondition(trg,Condition(function TieLian_Condition))
call TriggerAddAction(trg,function TieLianAction)
set trg=null
endfunction
//===[/jass]

在释放铁链后,再释放铁链出错,第二条铁链被第一条铁链干扰!第二条铁链读取了第一条铁链的数据!还有铁链有时收回不完全,铁链单位满地都是!
二楼别装了,这样公牛不能过生活的
发表于 2010-2-15 11:34:37 | 显示全部楼层
[jass]
call FlushStoredMission(Ba,H2S(tm)) //Ba是什么?

call TimerStart(tm,0.1,true,function TieLianTimer)

call StoreInteger(HashCache,H2S(tm),"danwei",H2I(danwei))

call StoreInteger(HashCache,H2S(tm),"MaxShuMu",GetHeroStr(danwei,true)+10)

call StoreInteger(HashCache,H2S(tm),"ShuMu",0)

call StoreReal(HashCache,H2S(tm),"angle",angle-15)

call StoreBoolean(HashCache,H2S(tm),"IsBack",false)

call StoreBoolean(HashCache,H2S(tm),"IsGet",false)

call TimerStart(tm,0.1,true,function TieLianTimer)

call StoreInteger(HashCache,H2S(tm),"danwei",H2I(danwei))

call StoreInteger(HashCache,H2S(tm),"MaxShuMu",GetHeroStr(danwei,true)+10)

call StoreInteger(HashCache,H2S(tm),"ShuMu",0)

call StoreReal(HashCache,H2S(tm),"angle",angle+15)

call StoreBoolean(HashCache,H2S(tm),"IsBack",false)

call StoreBoolean(HashCache,H2S(tm),"IsGet",false)

call TimerStart(tm,0.1,true,function TieLianTimer)
//一个计时器的handle 绑定3次
同项目名 不覆盖?

[/jass]
不看了.....剩下的自己解决吧............
回复

使用道具 举报

 楼主| 发表于 2010-2-15 14:55:16 | 显示全部楼层
代码重写
已成功了
[jass]
function ShanRenAction takes nothing returns nothing
local integer intA=1
local integer intB=3
local location loc
loop
exitwhen intA>intB
set iv=GetUnitLoc(GetTriggerUnit())
call CreateNUnitsAtLoc(1,'nanw',GetOwningPlayer(GetTriggerUnit()),iv,(I2R(intA)*90.))
call UnitApplyTimedLifeBJ(2.,'BTLF',bj_lastCreatedUnit)
call UnitAddAbility(bj_lastCreatedUnit,'A084')
call SetUnitAbilityLevelSwapped('A084',bj_lastCreatedUnit,GetUnitAbilityLevelSwapped('A0VV',GetTriggerUnit()))
set loc=Ya(iv,200.,((GetUnitFacing(GetTriggerUnit())-40.)+(I2R(intA)*20.)))
call IssuePointOrderByIdLoc(bj_lastCreatedUnit,852218,loc)
call RemoveLocation(iv)
call RemoveLocation(loc)
set intA=intA+1
endloop
endfunction
function ShanRen_Condition takes nothing returns boolean
return (GetSpellAbilityId()=='A0VV' )
endfunction
function ShanRen takes nothing returns nothing
local trigger trg=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(trg,EVENT_PLAYER_UNIT_SPELL_EFFECT)
call TriggerAddCondition(trg,Condition(function ShanRen_Condition))
call TriggerAddAction(trg,function ShanRenAction)
set trg=null
endfunction
function DiLeiZhen takes nothing returns nothing
local timer tm=GetExpiredTimer()
local unit danwei=GetHashDanwei(tm)
local integer int=GetHashInt(tm)
local integer step=GetHashStep(tm)
local unit tempunit
if int<step then
set tempunit=CreateUnit(GetOwningPlayer(danwei),'nmsn',GetUnitX(danwei),GetUnitY(danwei),0)
call SetUnitAnimation(danwei,"attack")
call UnitApplyTimedLifeBJ(1.,'BTLF',tempunit)
call UnitAddAbility(tempunit,'A08K')
call SetUnitAbilityLevelSwapped('A08K',tempunit,GetUnitAbilityLevelSwapped('A0VE',danwei))
call IssueImmediateOrderById(tempunit,852096)
call DestroyEffect(AddSpecialEffectTarget("Abilities\\\\Spells\\\\Human\\\\Invisibility\\\\InvisibilityTarget.mdl",danwei,"weapon"))
call DestroyEffect(AddSpecialEffectTarget("Abilities\\\\Spells\\\\Orc\\\\WarStomp\\\\WarStompCaster.mdl",danwei,"origin"))
call DestroyEffect(AddSpecialEffectTarget("Abilities\\\\Spells\\\\Human\\\\Thunderclap\\\\ThunderClapCaster.mdl",danwei,"chest"))
call DestroyEffect(AddSpecialEffectTarget("Abilities\\\\Spells\\\\Other\\\\Volcano\\\\VolcanoDeath.mdl",danwei,"hand"))
call AddSpecialEffectTargetUnitBJ("origin",danwei,"Abilities\\\\Spells\\\\Orc\\\\EarthQuake\\\\EarthQuakeTarget.mdl")
call DestroyEffect(bj_lastCreatedEffect)
call StoreHashInt(tm,int+1)
else
call SetUnitTimeScale(danwei,1.0)
call PauseTimer(tm)
call DestroyTimer(tm)
endif
set tm=null
set danwei=null
set tempunit=null
endfunction
function DiLeiZhenAction takes nothing returns nothing
local unit danwei=GetTriggerUnit()
local timer tm=CreateTimer()
call SetUnitTimeScale(danwei,3.0)
call StoreHashInt(tm,0)
call StoreHashStep(tm,17)
call StoreHashDanwei(tm,danwei)
call TimerStart(tm,0.3,true,function DiLeiZhen)
set danwei=null
set tm=null
endfunction
function Dileizhen_Condition takes nothing returns boolean
return (GetSpellAbilityId()=='A0VE')
endfunction
//===========================================================================
function JassDileizhen takes nothing returns nothing
local trigger trg = CreateTrigger(  )
call TriggerRegisterAnyUnitEventBJ(trg,EVENT_PLAYER_UNIT_SPELL_EFFECT)
call TriggerAddCondition(trg,Condition(function Dileizhen_Condition))
call TriggerAddAction(trg, function DileizhenAction )
set JassDileizhen=null
endfunction
function NewAbility takes nothing returns nothing
call JassDileizhen()
call ShanRen()
endfunction
//=================

function ChongFengJianTimer takes nothing returns nothing
local timer tm=GetExpiredTimer()
local unit danwei=I2U(GetStoredInteger(Ba,H2S(tm),"danwei"))
local unit mubiao=I2U(GetStoredInteger(Ba,H2S(tm),"MuBiao"))
local real distance=GetDistance(danwei,mubiao)
local real angle=GetAngle(danwei,mubiao)
local real damage=(GetHeroStr(danwei,true)+GetHeroStr(danwei,true))*GetUnitAbilityLevel(danwei,'A0VG')/2
if distance>20 then
call SetUnitX(danwei,GetUnitX(danwei)+20*CosBJ(angle))
call SetUnitY(danwei,GetUnitY(danwei)+20*SinBJ(angle))
else
call DamageTarget(danwei,mubiao,damage)
call SetUnitState(danwei,UNIT_STATE_LIFE,GetUnitState(danwei,UNIT_STATE_LIFE)+damage)
call FlushStoredMission(Ba,H2S(tm))
call PauseTimer(tm)
call DestroyTimer(tm)
endif
set tm=null
set danwei=null
set mubiao=null
endfunction
function ChongFengJianAction takes nothing returns nothing
local timer tm=CreateTimer()
local unit danwei=GetTriggerUnit()
local unit mubiao=GetSpellTargetUnit()
call StoreInteger(Ba,H2S(tm),"danwei",H2I(danwei))
call StoreInteger(Ba,H2S(tm),"mubiao",H2I(mubiao))
call TimerStart(tm,0.03,true,function ChongFengJianTimer )
set danwei=null
set mubiao=null
set tm=null
endfunction
function ChongFengJianCondition takes nothing returns boolean
return GetSpellAbilityId()=='A0VG'
endfunction
function ChongFengJian takes nothing returns nothing
local trigger trg=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(trg,EVENT_PLAYER_UNIT_SPELL_EFFECT)
call TriggerAddCondition(trg,Condition(function ChongFengJianCondition))
call TriggerAddAction(trg,function ChongFengJianAction)
set trg=null
endfunction
function ClearUnit takes timer tm returns nothing
local integer int=0
local integer Max=GetInteger(Ba,H2S(tm),"MaxShuMu")
local unit danwei
loop
exitwhen int>Max
set danwei=I2U(GetStoredInteger(Ba,H2S(tm),"TieLian"+I2S(int)))
set int=int+1
call RemoveUnit(danwei)
endloop
set danwei=null
endfunction



function ClearUnit takes timer tm returns nothing
local integer this=0
local integer Max=GetStoredInteger(HashCache,H2S(tm),"Max")
local unit danwei
loop
exitwhen this>Max
set danwei=I2U(GetStoredInteger(HashCache,H2S(tm),"TieLian"+I2S(this)))
set this=this+1
call RemoveUnit(danwei)
endloop
set danwei=null
endfunction
function TieLianGetUnit takes timer tm returns unit
local unit danwei=I2U(GetStoredInteger(HashCache,H2S(tm),"danwei"))
local integer ShuMu=GetStoredInteger(HashCache,H2S(tm),"this")
local unit tielian=I2U(GetStoredInteger(HashCache,H2S(tm),"TieLian"+I2S(ShuMu)))
local group tempgroup=CreateGroup()
local unit tempunit
call GroupEnumUnitsInRange(tempgroup,GetUnitX(tielian),GetUnitY(tielian),100,Condition(function IsCatchCondition))
call GroupRemoveUnit(tempgroup,danwei)
set tempunit=GroupPickRandomUnit(tempgroup)
if tempunit!=null then
call StoreBoolean(HashCache,H2S(tm),"IsBack",true)
call StoreBoolean(HashCache,H2S(tm),"IsGet",true)
call StoreInteger(HashCache,H2S(tm),"MuBiao",H2I(tempunit))
endif
if IsAttack(danwei,tempunit) then
call DamageTarget(danwei,tempunit,100*GetUnitAbilityLevel(danwei,'A0VI'))
endif
call DestroyGroup(tempgroup)
set danwei=null
set tielian=null
set tempgroup=null
return tempunit
endfunction
function  TieLianGo takes timer tm returns nothing
local unit danwei=I2U(GetStoredInteger(HashCache,H2S(tm),"danwei"))
local integer this=GetStoredInteger(HashCache,H2S(tm),"this")
local integer max=GetStoredInteger(HashCache,H2S(tm),"max")
local real angle=GetStoredReal(HashCache,H2S(tm),"angle")
local unit endTielian
local unit newTielian
if this==0 then
set endTielian=danwei
else
set endTielian=I2U(GetStoredInteger(HashCache,H2S(tm),"TieLian"+I2S(this)))
endif
set newTielian=CreateUnit(GetOwningPlayer(danwei),'ec02',GetUnitX(endTielian)+50*CosBJ(angle),GetUnitY(endTielian)+50*SinBJ(angle),angle)
call PauseUnit(newTielian,true)
call SetUnitFlyHeight(newTielian,60.0,0)
call StoreInteger(HashCache,H2S(tm),"TieLian"+I2S(this),H2I(newTielian))
set this=this+1
call StoreInteger(HashCache,H2S(tm),"this",this)
if this>max then
call PauseTimer(tm)
call DestroyTimer(tm)
endif
set danwei=null
set endTielian=null
set newTielian=null
endfunction
function TieLianBackHaveTarget takes timer tm returns nothing
local integer this=GetStoredInteger(HashCache,H2S(tm),"this")
local unit mubiao=I2U(GetStoredInteger(HashCache,H2S(tm),"mubiao"))
local unit endTielian=I2U(GetStoredInteger(HashCache,H2S(tm),"TieLian"+I2S(this)))
call SetUnitX(mubiao,GetUnitX(endTielian))
call SetUnitY(mubiao,GetUnitY(endTielian))
call RemoveUnit(endTielian)
set this=this-1
call StoreInteger(HashCache,H2S(tm),"this",this)
if this==0 then
call FlushStoredMission(HashCache,H2S(tm))
call PauseTimer(tm)
call DestroyTimer(tm)
endif
set mubiao=null
set endTielian=null
endfunction
function TieLianBackNoTarget takes timer tm returns nothing
local integer this=GetStoredInteger(HashCache,H2S(tm),"this")
local unit endTielian=I2U(GetStoredInteger(HashCache,H2S(tm),"TieLian"+I2S(this)))
call RemoveUnit(endTielian)
set this=this-1
call StoreInteger(HashCache,H2S(tm),"this",this)
if this==0 then
call FlushStoredMission(HashCache,H2S(tm))
call PauseTimer(tm)
call DestroyTimer(tm)
endif
set endTielian=null
endfunction
function TieLianTimer takes nothing returns nothing
local timer tm=GetExpiredTimer()
local boolean IsBack=GetStoredBoolean(HashCache,H2S(tm),"IsBack")
local boolean IsGot=GetStoredBoolean(HashCache,H2S(tm),"IsGet")
if IsBack then
  if IsGot then
call TieLianBackHaveTarget(tm)
else
call TieLianBackNoTarget(tm)
endif
else
call TieLianGo(tm)
call TieLianGetUnit(tm)
endif
set tm=null
endfunction
function TieLianAction takes nothing returns nothing
local timer tm=CreateTimer()
local unit danwei=GetTriggerUnit()
local location loc=GetSpellTargetLoc()
local location loc1=GetUnitLoc(danwei)
local real angle=AngleBetweenPoints(loc1,loc)
call RemoveLocation(loc)
call RemoveLocation(loc1)
call StoreInteger(HashCache,H2S(tm),"danwei",H2I(danwei))
call StoreInteger(HashCache,H2S(tm),"Max",GetHeroStr(danwei,true)+10)
call StoreInteger(HashCache,H2S(tm),"this",0)
call StoreReal(HashCache,H2S(tm),"angle",angle)
call StoreBoolean(HashCache,H2S(tm),"IsBack",false)
call StoreBoolean(HashCache,H2S(tm),"IsGet",false)
call TimerStart(tm,0.05,true,function TieLianTimer)
set tm=CreateTimer()
call StoreInteger(HashCache,H2S(tm),"danwei",H2I(danwei))
call StoreInteger(HashCache,H2S(tm),"Max",GetHeroStr(danwei,true)+10)
call StoreInteger(HashCache,H2S(tm),"this",0)
call StoreReal(HashCache,H2S(tm),"angle",angle-15)
call StoreBoolean(HashCache,H2S(tm),"IsBack",false)
call StoreBoolean(HashCache,H2S(tm),"IsGet",false)
call TimerStart(tm,0.05,true,function TieLianTimer)
set tm=CreateTimer()
call StoreInteger(HashCache,H2S(tm),"danwei",H2I(danwei))
call StoreInteger(HashCache,H2S(tm),"Max",GetHeroStr(danwei,true)+10)
call StoreInteger(HashCache,H2S(tm),"this",0)
call StoreReal(HashCache,H2S(tm),"angle",angle+15)
call StoreBoolean(HashCache,H2S(tm),"IsBack",false)
call StoreBoolean(HashCache,H2S(tm),"IsGet",false)
call TimerStart(tm,0.05,true,function TieLianTimer)
set tm=null
set danwei=null
set loc=null
set loc1=null
endfunction
function TieLian_Condition takes nothing returns boolean
return (GetSpellAbilityId()=='A0VI')
endfunction
function TieLian takes nothing returns nothing
local trigger trg=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(trg,EVENT_PLAYER_UNIT_SPELL_EFFECT)
call TriggerAddCondition(trg,Condition(function TieLian_Condition))
call TriggerAddAction(trg,function TieLianAction)
set trg=null
endfunction
//===

[/jass]
回复

使用道具 举报

发表于 2010-2-15 15:20:29 | 显示全部楼层
就算你把原帖改了 也体现不出来什么 难道谁还会无聊到关注这些事情
不过谢谢你的忠告..................
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-6 20:50 , Processed in 0.096264 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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