Tạo trigger với event unit take damage (khi 1 unit bị mất máu)
Cần 1 biến unit group, tên là TakeDamGroup.
Và 3 trigger:
Mã:
UnitTakeDamageInit
Events
Time - Elapsed game time is 0.00 seconds
Conditions
Actions
Custom script: set bj_wantDestroyGroup = true
Unit Group - Pick every unit in (Units in (Playable map area)) and do (Actions)
Loop - Actions
Unit Group - Add (Picked unit) to TakeDamGroup
Trigger - Add to UnitTakeDamage <gen> the event (Unit - (Picked unit) Takes damage)
Trigger này để add event "Specific Unit Takes Damage" đối với các unit có sẵn trên bản đồ và add unit đó vào TakeDamGroup. Lần sau nếu có add event nữa thì phải kiểm tra xem unit cần add có trong TakeDamGroup ko, nếu ko thì add, có thì thôi (nếu có mà add tiếp sẽ gây ra bug, trigger sẽ chạy 2 lần)
----
Mã:
UnitTakeDamageDetector
Events
Unit - A unit enters (Playable map area)
Conditions
((Triggering unit) is in TakeDamGroup) Equal to False
Actions
Unit Group - Add (Triggering unit) to TakeDamGroup
Trigger - Add to UnitTakeDamage <gen> the event (Unit - (Triggering unit) Takes damage)
Trigger này, khi 1 unit "đi" vào "playable map area" hiểu nôm na là 1 unit xuất hiện ở bản đồ (summon, create with trigger, train,... ) thì add thêm event Unit đó take dam, và add unti đó vào TakeDamGroup.
----
Mã:
UnitTakeDamage
Events
Conditions
Actions
Trigger - Turn off (This trigger)
-------- ---------------------- --------
[U][B]//spells, or whatever[/B][/U]
-------- ---------------------- --------
Trigger - Turn on (This trigger)
Khi một unit take damage, trigger này sẽ hoạt động, và để tránh 1 số bug, ta nên "tắt" trigger này đi, xong trigger sẽ "bật" lên.