找回密码
 点一下
查看: 1390|回复: 1

嗯...下石頭數量不對....

[复制链接]
发表于 2011-8-24 11:10:16 | 显示全部楼层 |阅读模式
圓0006.w3x (27 KB, 下载次数: 7)

3技能,觸發那邊A006的都有關係....貼主要的上來好了......
首先是施放3技能的觸發...
  1. function Trig_A006_3_Actions takes nothing returns nothing
  2.     local unit u0 = GetTriggerUnit()
  3.     local integer counter = LoadInteger(udg_ht,GetHandleId(u0),0)
  4.     local integer lvl = GetUnitAbilityLevel(u0,'A006')    
  5.     if lvl == 4 then
  6.         set udg_ooo[counter] = 3
  7.         call PolledWait(20.00)
  8.         set udg_ooo[counter] = 1
  9. &#160;&#160;&#160;&#160;elseif lvl < 4 then&#160;&#160;
  10. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;set udg_ooo[counter] = 2&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
  11. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;call PolledWait(20.00)
  12. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;set udg_ooo[counter] = 1
  13. &#160;&#160;&#160;&#160;endif
  14. &#160;&#160;&#160;&#160;set u0 = null
  15. endfunction
复制代码
udg_ooo[counter]是石頭的數量...(預設是1)
然後每4秒下石頭的觸發...
  1. function Trig_A006_4_Actions takes nothing returns nothing
  2. &#160;&#160;&#160;&#160;local location loc0 = null
  3. &#160;&#160;&#160;&#160;local location loc1 = null
  4. &#160;&#160;&#160;&#160;local integer counter = 0
  5. &#160;&#160;&#160;&#160;local integer ooo = 0
  6. &#160;&#160;&#160;&#160;local unit u = null&#160;&#160;&#160;&#160;
  7. &#160;&#160;&#160;&#160;call ClearTextMessages()
  8. &#160;&#160;&#160;&#160;loop
  9. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;exitwhen counter > udg_counter&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
  10. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if udg_ooo2[counter] == 4.00 then&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
  11. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;loop
  12. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;exitwhen ooo >= udg_ooo[counter]
  13. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;set loc0 = GetUnitLoc(udg_co[counter])
  14. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;set loc1 = GetRandomLocInRadius(loc0,600)
  15. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;set u = CreateUnitAtLoc(GetOwningPlayer(udg_co[counter]),'h001',loc0,AngleBetweenPoints(loc0,loc1))
  16. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;call IssuePointOrderLoc(u,"inferno",loc1)
  17. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;call BJDebugMsg("HI")
  18. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;call RemoveLocation(loc0)
  19. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;call RemoveLocation(loc1)
  20. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;call RemoveUnit(u)
  21. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;set u = null
  22. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;set ooo = ooo + 1
  23. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;endloop&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
  24. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;endif
  25. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;set ooo = 0
  26. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;set counter = counter + 1&#160;&#160;&#160;&#160;
  27. &#160;&#160;&#160;&#160;endloop
  28. endfunction
复制代码
"HI"的顯示數量都正確...就是石頭有時候會少......求解.......


對了...技能這樣的....每10/8/6/4秒在圓內隨機點下1顆石頭.....主動施放可在20秒內增加1/1/1/2顆石頭......


還有這個自定義函數..
  1. function GetRandomLocInRadius takes location l, real r returns location
  2.     return PolarProjectionBJ(l,GetRandomReal(0,r),GetRandomReal(0,360))
  3. endfunction
复制代码
发表于 2011-8-24 11:51:22 | 显示全部楼层
   Jass 看起来貌似可以在一个触发里头注册掉一个人设的触发 。 创建触发器?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 21:04 , Processed in 0.061917 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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