1. Introducion
Memory Leak adalah hal yangg sudah mengganggu para mapper dari pertama kali World Editor dibuat. Banyak orang menggangap Memory Leak itu adalah hal sepele, tetapi jika diberitahu faktanya, mereka mungkin akan merinding dan cepat cepat mengcek trigger map mereka.
Fakta-Fakta Memory Leak :
1. Walaupun leak itu hanya sepele, jika dibiarkan terus, akan mengakibatkan lag yg serius bagi pada player, dan biasanya map yg banyak leak nya disebut "Leak *****" ato LW.
2. Memory Leak sudah hadir dari pertama komputer dibuat. Leak itu diambil dari orang pertama yg menciptakan Memory Leak di komputer bermerek Python900 yg tidak terkenal, yaitu John "Leak" Faroe. Leak adalah username dia.
Walaupun hanya memiliki 2 fakta, itu pun sudah menggetarkan kita kan? Mau tau apa yg bisa diperbuat untuk mencegah Memory Leak? Di bagian selanjutnya akan di kasih tau cara-cara mencega dan Menanggulangi Memory Leak....
2. Preventing
Ada mapper handal yg terkenal dulu yg bernama Aeon..... dia yg menciptakan sistem permainan "Aeon Of Strife" itu terkenal dengan sistem map nya dan 1 hal lagi..... Leakless/Flawless map nya.....
Setelah dia mengasih tau semua mapper bagaimana cara menanggulani & Memory Leak
__________________________________________________ __________________________________
Dalam Unit Groups:
Unit Group Bad
Events
Conditions
Actions
Unit Group - Pick every unit in (Units in (Playable map area)) and do (Actions)
Loop - Actions
Unit - Kill (Picked unit)
Note :
Ilustrasi di atas adalah menggambarkan Unit yang dipilih / picked, yang ke depend berapa kali trigger ini dilansanakan.
__________________________________________________ __________________________________
Unit Group Good
Events
Conditions
Actions
Set Temp_Group = (Units in (Playable map area))
Unit Group - Pick every unit in Temp_Group and do (Actions)
Loop - Actions Unit -
Kill (Picked unit)
Custom script: call DestroyGroup (udg_Temp_Group)
Note :
Nah, kalau yg diatas ini adalah Unit Group yg leakless, memang membutuhkan banyak variable, tetapi ini sangat seimbang ketimbang Memory Leak. inget, harus menggunakan underline(_) untuk spasi.
__________________________________________________ __________________________________
Dalam Point:
Point Bad
Events
Conditions
Actions
Unit - Create 1 Footman for Player 1 (Red) at (Center of (Playable map area)) facing Default building facing degrees
Note :
Unit ini di create di region leak. Ini bukan leak yg sering, tetapi berdependan di berapa unit yg dibikin, dan berapa sering unit itu muncul.
__________________________________________________ __________________________________
Point Good
Events
Conditions
Actions
Set Temp_Point = (Center of (Playable map area))
Unit - Create 1 Footman for Player 1 (Red) at Temp_Point facing Default building facing degrees
Note :
Custom script: call RemoveLocation (udg_Temp_Point)
Nah, seperti Unit Group, trigger satu ini menunjukkan Trigger yg leakless.
__________________________________________________ __________________________________
Dalam Special Effects:
Special Effect Bad
Events
Conditions
Actions
Special Effect - Create a special effect at (Center of (Playable map area)) using Abilities\Spells\Human\ThunderClap\ThunderClapCast er.mdl
Note :
Ini memperkenalkan Leak yg baru, special effect leak, dan yg baru saja kita lewati, point leak. Kita harus menghilangkan semua leak tersebut
__________________________________________________ __________________________________
Special Effect Good 1
Events
Conditions
Actions
Set Temp_Point = (Center of (Playable map area))
Special Effect - Create a special effect at Temp_Point using Abilities\Spells\Human\ThunderClap\ThunderClapCast er.mdl
Special Effect - Destroy (Last created special effect)
Custom script: call RemoveLocation (udg_Temp_Point)
Note :
Nah, yangg trigger satu ini Mengfix Leak dalam Point & Special Effect Leak tersebut, tetapi, ada satu kendala dalam trigger satu ini. Trigger yg satu ini langsung menghilangkan efek Thunder Clap yg ada, tanpa ada kesempatan untuk terlihat. Solusinya ada di Special Effect ke 2.
__________________________________________________ __________________________________
Special Effect Good 2
Events
Conditions
Actions
For each (Integer A) from 1 to 10, do (Actions)
|-----Loop - 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
|
|-----Set Temp_SFX[(Integer A)] = (Last created special effect)
|-----Custom script: call RemoveLocation (udg_Temp_Point)
|-----Wait 2.00 seconds
|-----For each (Integer A) from 1 to 10, do (Actions)
|-----Loop - Actions Special Effect -
|-----Destroy Temp_SFX[(Integer A)]
Note :
Nah, yangg ini baru trigge Special Effect yg sangat sempurna
__________________________________________________ __________________________________
Dalam Unit(Last Leak):
Dummy unit adalah unit yg sering dipakai dalam skill skill yg rumit. tetapi, jika tidak di tanggulani, para "dummy" ini akan berkumpul di suatu tempat dan mengakibatkan Lag yg sangat serius
__________________________________________________ __________________________________
Units Bad
Events
Conditions
Actions
Unit - Create 1 Dummy Caster for Player 1 (Red) at (Center of (Playable map area)) facing Default building facing degrees
Note :
Leak yg sangat terlihat sekali, ada cara untuk membuat mereka hilang dengan gampang, yaitu dengan trigger di bawah ini:
__________________________________________________ __________________________________
Units Good
Events
Conditions
Actions
Set Temp_Point = (Center of (Playable map area))
Unit - Create 1 Dummy Caster for Player 1 (Red) at Temp_Point facing Default building facing degrees
Custom script: call RemoveLocation (udg_Temp_Point)
Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
Note :
Trigger yg sangat sering gw pakai. Setelah Dummy itu melakukan tugasnya, mereka langsung hilang dengan timer yg sudah ditentukan.
Note :
Contoh Leakless Trigger
Ini adalah skill dengan trigger yg bebas-leak!!
__________________________________________________ __________________________________
Final Good Trigger
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Animate Dead
Actions
Set Temp_Point = (Position of (Casting unit))
Special Effect - Create a special effect at Temp_Point using Abilities\Spells\Human\ThunderClap\ThunderClapCast er.mdl
Special Effect - Destroy (Last created special effect)
Set Temp_Group = (Units within 512.00 of Temp_Point matching (((Matching unit) is A structure) Equal to False))
Custom script: call RemoveLocation (udg_Temp_Point)
Unit Group - Pick every unit in Temp_Group and do (Actions)
|-----Loop - Actions
|-----Set Temp_Point = (Position of (Picked unit))
|-----Unit - Create 1 Dummy Caster for (Owner of (Casting unit)) at Temp_Point facing Default building facing degrees
|-----Unit - Order (Last created unit) to Human Priest - Inner Fire (Picked unit)
|-----Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
|-----Custom script: call RemoveLocation (udg_Temp_Point)
|-----Custom script: call DestroyGroup (udg_Temp_Group)
Semua ini saya buat sendiri....
Memang mungkin banyak kesalahan...
karena tidak ada unsur copas disini![]()
Share This Thread