Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
Cho nó ra khỏi vòng IF thì nó bay ra giữa map, rồi chạy hoài trigger slide ko tắt@Flame: đặt no ra khỏi vòng IF

hình như đâu phải 1.21 là 1.23> 1.24>,Cho mình hỏi tại sao khi tạo map bằng Jass thì máp của minh phải sủ dung patch 1.21 mới chơi đc map (máy nhà mình sử dụng patch 1.24e )và có cách nào khắc phuc không
[/spoil]--------------------------------------------------------------------------
Patch 1.24b
--------------------------------------------------------------------------
PC WORLD EDITOR CHANGES
- Increased max map file size from 4 MB to 8 MB.
- Added the ability to store hashtable handles in a hashtable.
- Added GetSpellTargetX and GetSpellTargetY natives.
- Added a new base handle type “Agent” of which many types now extend from.
- Added a SaveAgentHandle native which can be used for saving most handle types.
- Added a JASS optimization dealing with global variable change events.
FIXES
- Fixed a few false positives caused by the "return bug" fix.
- Fixed a crash related to hashtable reference counting.
- “Shadowing” global variables with local variables no longer is possible.
- Fixed a type conversion dealing with operators (i.e. adding a handle with an integer).
--------------------------------------------------------------------------
Patch 1.24
--------------------------------------------------------------------------
PC WORLD EDITOR CHANGES
- Added new JASS hash table functions to replace the lost functionality from
fixing unsafe type casting.
- Hash Table - Save Item Handle
- Hash Table - Save Unit Handle
- ...
- Hash Table - Load Item Handle
- Hash Table - Load Unit Handle
- ...
- Hash Table - Get Handle ID
FIXES
- Fixed an exploit related to unsafe type casting that allowed users to
execute arbitrary code in maps.
- Fixed the JASS unsafe type casting exploit ("return bug").
- Fixed several World Editor crashes.
kiểu đấy củng được nhân quan trọng máy cái lightning destroy dễ gây fatal@flame: ý mình là cho mấy cái custom script ra khỏi vòng if, như vậy thì sẽ xóa leak không thông qua điều kiện.

Mình biết là cho ra ngoài vòng IF rồi, nếu cho ra thế này ( hình dưới)@flame: ý mình là cho mấy cái custom script ra khỏi vòng if, như vậy thì sẽ xóa leak không thông qua điều kiện.
BX Trigger 2
Events
Time - Every 0.02 seconds of game time
Conditions
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Distance between BX_Point[1] and BX_Target) Greater than or equal to (BX_Distance / 2.00)
Then - Actions
Set BX_Point[2] = (BX_Point[1] offset by BX_Distance towards BX_Angle degrees)
Unit - Move BX_Caster instantly to BX_Point[2]
Set BX_Point[1] = BX_Point[2]
Set BX_Group = (Units within 200.00 of (Position of BX_Caster) matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and ((((Matching unit) belongs to an enemy of (Owner of BX_Caster)) Equal to True) and (((Matching unit
Unit Group - Pick every unit in BX_Group and do (Actions)
Loop - Actions
Unit - Cause BX_Caster to damage (Picked unit), dealing BX_Dame damage of attack type Chaos and damage type Universal
Special Effect - Create a special effect attached to the origin of (Picked unit) using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
Special Effect - Destroy (Last created special effect)
Unit Group - Add (Picked unit) to BX_Group2
Custom script: call DestroyGroup(udg_BX_Group)
Else - Actions
Trigger - Turn off BX Trigger 2 <gen>
Unit - Turn collision for BX_Caster On
Animation - Reset BX_Caster's animation
Unit Group - Remove all units from BX_Group2
Custom script: call RemoveLocation(udg_BX_Target)
[COLOR="#FF0000"] Custom script: call RemoveLocation(udg_BX_Point[1])
Custom script: call RemoveLocation(udg_BX_Point[2])[/COLOR]
Còn áp dụng bài Slide của bác Tom thì ko đc, cái đó Tick giảm thì dừng trigger, còn cái này dừng ngay chỗ target 
Mã:BX Trigger 2 Events Time - Every 0.02 seconds of game time Conditions Actions If (All Conditions are True) then do (Then Actions) else do (Else Actions) If - Conditions (Distance between BX_Point[1] and BX_Target) Greater than or equal to (BX_Distance / 2.00) Then - Actions Set BX_Point[2] = (BX_Point[1] offset by BX_Distance towards BX_Angle degrees) Unit - Move BX_Caster instantly to BX_Point[2] Set BX_Point[1] = BX_Point[2] Set BX_Group = (Units within 200.00 of (Position of BX_Caster) matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and ((((Matching unit) belongs to an enemy of (Owner of BX_Caster)) Equal to True) and (((Matching unit Unit Group - Pick every unit in BX_Group and do (Actions) Loop - Actions Unit - Cause BX_Caster to damage (Picked unit), dealing BX_Dame damage of attack type Chaos and damage type Universal Special Effect - Create a special effect attached to the origin of (Picked unit) using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl Special Effect - Destroy (Last created special effect) Unit Group - Add (Picked unit) to BX_Group2 Custom script: call DestroyGroup(udg_BX_Group) [COLOR="#FF0000"] Custom script: call RemoveLocation(udg_BX_Point[1]) Custom script: call RemoveLocation(udg_BX_Point[2])[/COLOR] Else - Actions Trigger - Turn off BX Trigger 2 <gen> Unit - Turn collision for BX_Caster On Animation - Reset BX_Caster's animation Unit Group - Remove all units from BX_Group2 Custom script: call RemoveLocation(udg_BX_Target)
Theo như bạn, dưới Unit Group, nó bay ra giữa map và chạy mãi trigger ko tắtCó thể mình sẽ sửa giúp bạn được. Xem thử 2 dòng đỏ nhé
---------- Post added at 23:13 ---------- Previous post was at 23:09 ----------
Xin lỗi đưa 2 cái dòng đỏ ra khỏi unit group nhé ==! Viết vội quá nên nhầm. Đặt 2 dòng ý ngay dưới trigger Unit Group

BX Trigger 2
Events
Time - Every 0.02 seconds of game time
Conditions
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Distance between BX_Point[1] and BX_Target) Greater than or equal to (BX_Distance / 2.00)
Then - Actions
Set BX_Point[2] = (BX_Point[1] offset by BX_Distance towards BX_Angle degrees)
Unit - Move BX_Caster instantly to BX_Point[2]
Set BX_Point[1] = BX_Point[2]
Set BX_Group = (Units within 200.00 of (Position of BX_Caster) matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and ((((Matching unit) belongs to an enemy of (Owner of BX_Caster)) Equal to True) and (((Matching unit
Unit Group - Pick every unit in BX_Group and do (Actions)
Loop - Actions
Unit - Cause BX_Caster to damage (Picked unit), dealing BX_Dame damage of attack type Chaos and damage type Universal
Special Effect - Create a special effect attached to the origin of (Picked unit) using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
Special Effect - Destroy (Last created special effect)
Unit Group - Add (Picked unit) to BX_Group2
Custom script: call DestroyGroup(udg_BX_Group)
[COLOR="#FF0000"]Custom script: call RemoveLocation(udg_BX_Point[1])
Custom script: call RemoveLocation(udg_BX_Point[2])[/COLOR]
Else - Actions
Trigger - Turn off BX Trigger 2 <gen>
Unit - Turn collision for BX_Caster On
Animation - Reset BX_Caster's animation
Unit Group - Remove all units from BX_Group2
Custom script: call RemoveLocation(udg_BX_Target)
Cho mấy cái ability của mấy món kia vào Spellbook rồi add cái spellbook đó cho cái item cầncái đó thì tôi biết nhưng tôi không suy nghĩ ra cách nào để nó không như vậy . ông biết không biết thì chỉ tôi luôn đi.
cái vấn đề thứ 2 thì tôi có 3 món đồ mỗi món đồ có 2 ability tôi ghép 3 món đó lại thành 1 món và món đó có hết tất cả ability của 3 món kia.


Mình nghĩ bạn đọc 2 cái code của mình còn chưa hiểu ý chứCái spell ấy mình đang cố làm theo kiểu MUI đấy nên nó mới lằng nhằng thế chứ ==! Chứ ko MUI thì cái búa thứ 1 nó còn chả move nổi sau khi cái thứ 2 đc cast cùng lúc ý
Vấn đề là nó gặp tí rắc rối ở cái biến nào đấy mà khi đẩy dần giá trị index đi thì cái biến của index cũ hình như ko được nhận nữa
![]()
.Ai hướng dẫn giúp cách xài TimerUtil, ví dụ = 1 spell dạng damage over timer hoặc slide gì đấy. Trong GUI thì xài timer khá đơn giản còn Jass thì phải dính với struct nên phức tạp hơn. Hỏi thêm về cái vụ method, static method trong jass luôn, 2 cái này có công dụng gì?
mình cũng mò ra chữ Loading rồi. trong gameinterface nhưng sao đổi kiểu gì nó cũng không đổi cứ L O A D I N G miết à. có chữ waiting for orther player thì đổi được. nhưng không ra font chữ. ai giúp với![]()
Special Effect Good 2
Events
Conditions
Actions
Set Temp_Point = (Center of (Playable map area))
Special Effect - Create a special effect at Temp_Point using Abilities\Spells\Undead\UnholyAura\UnholyAura.mdl
[COLOR="#FF0000"]Set Temp_SFX[(Integer A)] = (Last created special effect)
Custom script: call RemoveLocation (udg_Temp_Point)
Wait 2.00 seconds
Special Effect - Destroy Temp_SFX[(Integer A)][/COLOR]
(SW_Caster is in (Units within 50.00 of SW_TargetPoint)) Equal to True
