伊莉討論區

標題: 動態全域傷害註冊系統v2.0 [打印本頁]

作者: 古魂    時間: 2011-7-12 03:21 AM     標題: 動態全域傷害註冊系統v2.0

本帖最後由 古魂 於 2011-7-12 03:33 AM 編輯

因為WE裡面 沒有任意單位-受到傷害
而使用任意單位-受到攻擊 又會製造出諸多BUG
所以有時候會造成寫觸發的困難
這個系統我認為很不錯
很類似任意單位-受到傷害
而且"據說"不會佔太大的資源
所以我分享給大家

轉載自流連忘返 由 tv580025 發布


<以下為轉載內容>

支援無安裝任何UI的原版WE

無陣列、無Hashtable、無Gamecache

更簡潔、更少handle、更高效能

內建自動回收資源的功能

不懂JASS也可以輕鬆上手

懶人GUI函數,只要複製貼上就可以用了ˊˇˋ

更新內容:
  V2.0:支援聖武士之復活術等復活技能
  V1.5:補上無限傷害Loop的解決方法之說明
  V1.0:初版




前置作業:
  把編輯器喜好設定中的,自動複製未知之變數的選項給啟用,之後把DamageEvent目錄下的全部觸發都複製到您的地圖中。

觸發說明:
  UnitDamageInit:動態註冊的主要作業在此處理,基本上不懂JASS的話可以無視之。

  UnitDamageSummon:動態註冊之二,用來註冊聖武士的復活術,或是其他被技能所復活的單位的傷害事件。

  UnitDamageClear:清除程序,死掉的單位便會移除掉其所註冊的傷害事件,可以自行修改條件。

  UnitDamageMain:是主要的觸發區,可以自行添加自己需要的功能。

  VariableCopy:用來給WE自動複製使用到的變數用的,當變數都複製好之後,便可以刪除之。

變數說明:
  布林值 DamageOn 是觸發開關,可以自行決定傷害觸發的執行與否,也可用來避免無限傷害Loop的情況。

避免無限傷害Loop的方法:
  執行傷害動作前,先關閉 DamageOn,傷害執行後再開啟就可以了,像是以下做法。

代碼: Set DamageOn = False
    Unit - Cause (Damage source) to damage ......
   Set DamageOn = True


[attach]60158433[/attach]
[attach]60158321[/attach]





歡迎光臨 伊莉討論區 (http://web01.eyny.com/) Powered by Discuz!