Cara mudah membuat MUI Spell
|
|
SecondHand | Date: Saturday, 2013-11-09, 6:49 PM | Message # 1 |
Indomodder Super Legendaris
Group: Moderator Resources
Messages: 19
Status: Offline
| Apa itu index? diketahui sebuah variable bernama "a[1]". Bilangan "1" adalah yang dimaksud dengan index.
Langkah-langkah: 1. Saya langsung masuk ke bagian triggering. Pertama tentukan dulu variabel2 yang berhubungan dengan spell yang anda buat. Misal "caster, target, damage, dll." Contoh: Code Cast Event Events Unit - A unit Starts the effect of an ability Conditions (Ability being cast) Equal to TempAbility Actions Set TempIndexMax = (TempIndexMax + 1) // IndexMax adalah nilai index tertinggi yang saat ini akan digunakan Set TempIndexBoolean [TempIndexMax]= True // Tandai index tersebut karena akan kita gunakan. True = sedang digunakan, False = nganggur Set TempCaster [TempIndexMax]= (Triggering Unit) Set TempTarget [TempIndexMax]= (Target of ability being cast) Set TempDamage [TempIndexMax]= 100.00 Unit - Turn collision for TempCaster [TempIndexMax]Off Trigger - Turn on Loop <gen> // Idupin loopnya
2. Kemudian kita buat "looping trigger" nya Code Loop Events Time - Every 0.03 seconds of game time Conditions Actions For each (Integer TempLoop) from 1 to TempIndexMax, do (Actions) Loop - Actions If (All Conditions are True) then do (Then Actions) else do (Else Actions) If - Conditions TempIndexBoolean [TempLoop]Equal to True // Kalau index tersebut ada "isi"nya maka akan diproses Then - Actions Set TempPoint[1] = Position of (TempCaster[TempLoop]) Set TempPoint[2] = TempPoint[2] offset by 15.00 facing (Facing of TempCaster[TempLoop]) Set TempPoint[3] = Position of (TempTarget[TempLoop]) Move TempCaster [TempLoop]to TempPoint[2] facing TempPoint[3] Set TempGroup = Unit within 100.00 from TempPoint[2] matching (Matching unit) equal to TempTarget [TempLoop]If (All Conditions are True) then do (Then Actions) else do (Else Actions) If - Conditions Number of units in TempGroup greater than 0 Then - Actions Unit - Cause TempCaster [TempLoop]to damage TempCaster[TempLoop], dealing TempDamage [TempLoop]damage of attack type Spells and damage type Normal Set TempIndexBoolean = False // Jika sudah mengenai target maka caster tidak akan diproses lagi Else - Actions Custom Script: call RemoveLocation(udg_TempPoint[1]) Custom Script: call RemoveLocation(udg_TempPoint[2]) Custom Script: call RemoveLocation(udg_TempPoint[3]) Custom Script: call DestroyGroup(udg_TempGroup) If (All Conditions are True) then do (Then Actions) else do (Else Actions) If - Conditions TempLoop Not equal to TempIndexMax Then - Actions Set TempIndexBoolean [TempLoop]= True Set TempDamage [TempLoop]= TempDamage [TempIndexMax]Set TempDamageSource [TempLoop]= TempDamageSource [TempIndexMax]Set TempDamageTarget [TempLoop]= TempDamageTarget [TempIndexMax]Set TempDelay [TempLoop]= TempDelay [TempIndexMax]Set TempDelayTimer [TempLoop]= TempDelayTimer [TempIndexMax]Set TempDurationTimer [TempLoop]= TempDurationTimer [TempIndexMax]Set TempIndexBoolean [TempIndexMax]= False Else - Actions Set TempIndexMax = (TempIndexMax - 1) If (All Conditions are True) then do (Then Actions) else do (Else Actions) If - Conditions TempIndexMax Equal to 0 Then - Actions Trigger - Turn off (This trigger) Else - Actions
Silahkan mencoba Maaf jika ada kesalahan karena kode diatas tidak dibuat langsung di Trigger Editor
Grr susah amat ngatur code nya, mending langsung lihat contoh ny aja dah :3 Download Contoh
Message edited by SecondHand - Saturday, 2013-11-09, 9:42 PM |
|
| |
SecondHand | Date: Saturday, 2013-11-09, 8:58 PM | Message # 2 |
Indomodder Super Legendaris
Group: Moderator Resources
Messages: 19
Status: Offline
| kalau ada yang kurang dimengerti bs tanya ke saya
Maaf, ada kesalahan di looping. Seharusnya "LoopBoolean[indexmax] = false" di letakan di atas "indexmax=indexmax-1"
Message edited by SecondHand - Saturday, 2013-11-09, 10:05 PM |
|
| |
Rheiko | Date: Monday, 2013-11-11, 12:59 PM | Message # 3 |
 Co-Admin
Group: Administrators
Messages: 42
Status: Offline
| lumayan, tapi aku sarankan untuk menggunakan Dynamix Indexing dari PnF - Link jelaskan apa itu MUI agar pemula lebih paham demikian juga variable, jangan hanya memberi penjelasan index selain itu sudah cukup bagus walaupun sederhana
|
|
| |
SecondHand | Date: Monday, 2013-11-11, 3:47 PM | Message # 4 |
Indomodder Super Legendaris
Group: Moderator Resources
Messages: 19
Status: Offline
| wah, bener jg, punya PnF lebih efisien. tp sbnr ny konsep nya sama
Message edited by SecondHand - Monday, 2013-11-11, 3:48 PM |
|
| |
Daffa_Mage | Date: Tuesday, 2013-11-12, 8:00 PM | Message # 5 |
 Grand Leader
Group: Administrators
Messages: 76
Status: Offline
| Sebenarnya efisien itu bisa dibilang aspek utama bagi para koder. Itulah mengapa metode PnF adalah metode yang paling sering digunakan.
|
|
| |
SecondHand | Date: Wednesday, 2013-11-13, 7:47 PM | Message # 6 |
Indomodder Super Legendaris
Group: Moderator Resources
Messages: 19
Status: Offline
| iya krn metode nya PnF itu mudah sekali diperlajari
|
|
| |
crystal_maiden | Date: Monday, 2013-12-23, 0:24 AM | Message # 7 |
 Pemula
Group: Member
Messages: 17
Status: Offline
| 1 Pertanyaan, Kapan TempLoop Itu Di-Set...? Apa Pas Dibuat Di Variable Editor, Diisi Initial-nya Gitu...? Koq Tau-tau Langsung For each (Integer TempLoop) from 1 to TempIndexMax, do (Actions), Terus Langsung Dipake Buat Array Lagi (BlaBlaBla[TempLoop])... Mohon Penjelasannya, Masih Baru Dalam Triggering... Yang Di PnF Juga Begitu, For each (Integer BlaBlaBla_1) from 1 to BlaBlaBla_2, do (Actions), Mau Tanya Malu Pas Liat Komennya Pada Yang Udah Ngerti Semua...
|
|
| |
Daffa_Mage | Date: Saturday, 2013-12-28, 4:53 PM | Message # 8 |
 Grand Leader
Group: Administrators
Messages: 76
Status: Offline
| crystal_maiden, TempLoop itu dibuat di Variable Editor (jenisnya Integer) , variable akan terset/teratur secara otomatis (gak perlu di set lagi, buat aja di Variable Editor, trus langsung pake). TempLoop itu digunakan untuk mengurutkan index semua caster supaya jangan meleset.
|
|
| |
Rheiko | Date: Monday, 2013-12-30, 5:02 PM | Message # 9 |
 Co-Admin
Group: Administrators
Messages: 42
Status: Offline
| Quote 1 Pertanyaan, Kapan TempLoop Itu Di-Set...? Apa Pas Dibuat Di Variable Editor, Diisi Initial-nya Gitu...? Tidak, TempLoop bertambah seiring TempIndexMax bertambah
Quote Koq Tau-tau Langsung For each (Integer TempLoop) from 1 to TempIndexMax, do (Actions), Terus Langsung Dipake Buat Array Lagi (BlaBlaBla[TempLoop]) Gini konsepnya satu kali cast TempIndexMax = 1 For each (Integer TempLoop) from 1 to TempIndexMax, do (Actions) TempLoopnya juga 1 (BlaBlaBla[TempLoop]) Inget tadi TempLoopnya 1
dua kali cast TempIndexMax = 2 For each (Integer TempLoop) from 1 to TempIndexMax, do (Actions) TempLoopnya jadi 2 (BlaBlaBla[TempLoop]) Inget tadi TempLoopnya 2
Sama dengan: Satu kali cast (BlaBlaBla[1]) Dua kali cast (BlaBlaBla[2])
jadi setiap variable tidak akan tertimpa
|
|
| |
Daffa_Mage | Date: Wednesday, 2014-01-01, 11:31 AM | Message # 10 |
 Grand Leader
Group: Administrators
Messages: 76
Status: Offline
| >Sambungan post Rheiko< Jika variabel tertimpa maka salah satu pengguna akan mendapat masalah saat jurus berlangsung. Ingat, variabel bisa menampung sampai 8190 pengguna (yang hampir mustahil untuk terjadi dalam 1 waktu). Hashtable disisi lain bisa menampung 2^31 pengguna.
|
|
| |