JASS Basic
JASS adalah bahasa yang digunakan di Warcraft III. Ini adalah bahasa yang limited. Tetapi JASS memberikan control yang lebih baik melebihi GUI trigger. Sebaikkya kalian mendownload JNPG(Jass New Gen Pack) versi terbaru dan mendownload patch 1.24. karna di patch 1.24 akan ada function –function yang baru ! ada 2 macam JASS yaitu JASS biasa dan VJASS(Vextorian JASS) kali ini saya menerangkan JASS basic
NOTE : tutorial ini hanya untuk oran yang bisa menggunakan GUI trigger di world editor dan telah menguasai variable. Bila belum menguasai belajar dulu sana ! nanti tambah bingung kalo baca ini !
Kelebihan JASS>GUI
1. Kamu bisa mengcontrol lebih conditions dan loops
2. Bisa menggunakan local variable
3. Kalian bisa menggunakan function kalian
4. Tidak semua function di JASS di GUI
5. Game akan lebih halus(Not Sure)
6. Tulisan/Code akan lebih sedikit
Untuk membuat JASS trigger, buat trigger baru di trigger editor dan convert to Custom Text
FUNCTION
Functions adalah code yang bisa di execute/ di call. Contohnya saya akan membuat function yang bila di call akan menampilkan tulisan “Hello World!” selama 30 detik
function HelloWorld takes nothing returns nothing
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,30,"Hello World!")
endfunction
Functions selalu dalam bentuk format :
function
//{code that will be executed when the function is called}
endfunction
setelah “takes” itu akan menentukan apa yang akan di bawa(di pakai) dalam function tersebut. Semua bisa di “takes di function termasuk local variable di dalam function. Untuk membuat function yang memakai “takes”, ketik
function meh takes unit u returns nothing
Untuk function yang memerlukan take lebih dari satu, beri comma setelah
Yang terakhir adalah “returns” returns adalah (saya agak bingung jelasinnya jadi nunggu master2 map maker yang jelasin hehehehe). Contoh:
function half takes integer x returns integer
return x/2
endfunction
function half di atas takes integer, x, dan kembali setengah dari x,
NOTE : setiap menuliskan function harus di akhiri dengan “endfunction”
CALLING
Call digunakan untuk menggunakan function yang telah kalian buat
Contoh dengan function di atas :
call meh()
mengapa harus ada tanda “()” karena function meh takes nothing
function HelloWorld takes real r returns nothing
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,r,"Hello World!")
endfunction
cara menggunakan function HelloWorld diatas caranya
call HelloWorld(30)
itu akan menampilkan tulisan “Hello World!” selama 30 detik
call HelloWorld(12)
bila seperti di atas akan menampilkan selama 12 detik
IF
If berguna untuk melakukan action bila TRUE atau FALSE ! Syntax nya adalah
if
endif
missal :
if x==y then
call HelloWorld(5)
endif
ELSEIF
Sama seperti if tetapi elseif bisa lebih dari 1 contoh:
if X==1 then
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,30,"X is equal to 1")
elseif X==2 then
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,30,"X is equal to 2")
elseif X==3 then
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,30,"X is equal to 3")
else
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,30,"X is NOT equal to 1, 2, or 3.")
endif
LOOPS
Loops sangatlah berguna sekali. Loops akan mengecall code di dalamnya sampai exitwhen bertemu. Exitwhen harus selalu berada di loop. Cara menggunakan loop tulis “loop” lalu “exitwhen” dan diakhiri dengan endloop. Contoh :
loop
exitwhen i>5
set i=0
set i=i+1 // Wajib!
call HelloWorld(5)
endloop
LOCAL AND GLOBAL VARIABLES
Di GUI, kamu hanya bisa menggunakan global variables, yang bisa di set dan digunakan function. Untuk mendeclare global variable di WE dengan menampilkan opsi variable tekan CTRL+B di trigger editor. Locals itu berbeda, local hanya bisa di gunakan didalam function yang sudah mendeclare local itu sendiri. Cara mendeclare local variable “local
function Die takes nothing returns nothing
local unit u= GetTriggerUnit()
call KillUnit(u)
endfunction
Function di atas akan membunuh U, function di atas sama saja dengan
function Die takes nothing returns nothing
call KillUnit(GetTriggerUnit())
endfunction
ini akan tidak berhhasil apabila :
function Die takes nothing returns nothing
call KillUnit(u)
local unit u= GetTriggerUnit()// Salah !
endfunction
untuk mendeclare variable dengan array :
local intger array i
untuk mendeclare variable selain dengan CTRL+B kamu bisa melakukannya di trigger dengan cara :
globals
intger i = 0
intger f = 0
unit u = GetTriggerUnit()
real array r = 0.0
endglobals
setelah globals tulis
MEMORY LEAKS
Memory leaks akan terjadi apabila value pada variable belum di hancurkan. Bila memory leaks banyak akan menyebabkan banyak lag. Yang harus kamu perhatikan adalah groups(unit groups), locations (point), forces (player group), effect (special effect). Setelah menghancurkan variable kamu harus mengesetnya menjadi “null”
Blizzard.j dan common.j
Saya menyarankan kalian untuk membaca blizzard.j dan common.j dari war3.mpq caranya carik ke google aja yah !
Hal yang perlu diingat
JASS itu case-sensitive, JASS tidak bisa menge call function bila function itu di bawahnya contoh :
call Die()
function Die takes nothing returns nothing
local unit u= GetTriggerUnit()
call KillUnit(u)
endfunction
itu akan menyebabkan error ! untuk mencomment ketik “//” , dan agar yang mau lebih pro baca aja jass manual di folder jasshelper setelah mendownload JNPG di Jassmanual akan ada library, sturct, textmacro dan lain2 (VJASS)
Selasa, 01 September 2009
JASS BASIC
Diposting oleh Unknown di 13.46 0 komentar
Senin, 24 Agustus 2009
All About Items
Items
Apakah Items itu ?
Items adalah barang bawaan yang bisa dibeli atau drop dari creep
Item Editor
Item Editor adalah bagian dari Object Editor yang bisa membuat item baru atau mengedit item
Abilities – Abilities
Ini adalah bagian atas sendiri Ini akan memberikan item Abilities, setiap items hanya dapat memuat maximum 4 abilities dan maximum 1 active abilities, gunakan inuverable agar item tidak bisa di serang
Art – Button Position(x)
Art – Button Position (y)
Ini berguna untuk meletakkan tempat item akan di letakkan di toko tempat menjual barang (koordinat)
Art – Interface Icon
Ini adalah gambar item bila ada di inventory
Art – Model Used
Bila Item tidak di inventory atau tergeletak ini adalah modelnya
Art – Scalling Value
Mengatur seberapa besar model
Art – Selection Size – Editor
Besar Lingkaran yang berwarna hijau tapi haya saat di World Editor bila di game tidak
Art – Tinting Color
Mengatur warna pada model beberapa model tidak bisa diberi warna
Combat – Armor Type
Ini untuk mengatur suara bila item di attack
Stats – Actively Used
Gunakan True bila kamu memakai ability seperti “Blink” dan lain2, jangan Gunakan True ini bila untuk spellbooks
Stats – Can be dropped
Gunakan True agar item di inventory bisa di lepas
Stats – Can Be Sold By Merchants
Ini digunakan untuk Quest Item
Stats – Can Be Sold To Merchants
Gunakan True agar barang bisa di jual
Stats – Clafissication
Ini berguna untuk mengelompokkan item
Stats – Cooldown Group
UNKOWN
Bila pembawa item ini mati maka item akan terjatuh
Stats – Gold Cost
Harga Item
Stats – Hit Points
Hit Points dari item tersebut bila tidak ingin di hancurkan rubah menjadi 999999
Stats – Ignore Cooldown
Jika Ability mu mempunyai cooldown, akan di set menjadi 0 jika True
Stats – Include as Random Choice
Jika true, maka item ini akan termasuk “Random Item” item di map
Stats – Level (unclassified)
Stats – Level
UNKOWN
Stats – Lumber Cost
Berapa Lumber yang di butuh kan untuk membeli item ini
Ini di gunakan untuk kapasitas. Misal Tango di DoTA memiliki 2 kapasitas hanya bisa di gunakan 2 kali, jadikan 0 agar unlimited
Stats – Perishable
UNKOWN
Stats – Priority
UNKOWN
Stats – Stock Maximum
Di gunakan untuk menge set Stock Maximum item di toko
Stats – Stock Replenish Interval
Ini seperti cooldown tapi dalam item misal jika kamu mengeset 3 detik maka item yang sudah di beli akan dapat di beli setelah 3 detik
Stats – Stock Start Delay
Ini di gunakan saat memulai game misal di DoTA hero akan dapat di beli setelah 15 detik
Stats – Use Automatically When Acquired
Jika kamu mengambil item ini maka item akan langsung digunakan misalnya Runes di DoTA
Stats – Valid Target for Transformation
UNKOWN
Techtree – Requirements
Membuat item bisa di beli jika kamu sudah membangun/meresearch/membuat unit Requirements nya
BINGUNG JELASINNYA !!!
Text – Description
Bila kamu menge-click item di tanah akan ada tulisan Desription mu
Text – Hotkey
Hotkey untuk Item ini
Text – Name
Nama item mu
Text – Tooltip Basic
Text yang akan muncul bila akan membeli item di toko
Text – Tooltip – Extended
Text yang akan muncul saat item di inventory
· Click File – New Custom Item
· Click icon Peti di toolbar
· Click kanan di item dan pilih New Custom Item
· Tekan Ctrl+Shift+N
Lalu modifikasi item mu
Tips dan Tricks tentang Item
Recipes
Menggabungkan beberapa item mejadi 1 item
Cara membuat recipes
Step 1 : Buat item
2 item yang akan di kombinasikan, 1 recipes dan 1 item setelah di kombinasikan
Step 2 : Click trigger
Lah gitu caranya
Random drops
Ini juga bias dilakukan menggunakan array
Level Requirtments
Ini contoh trigger bila level hero yang mengambil item Boots of Speed kurang dari 3 maka item akan terjatuh
Terimakasih telah membaca turtorial saya terimakasih
~ billymosis
Diposting oleh Unknown di 07.16 0 komentar
Minggu, 02 Agustus 2009
Map Maker Warcraft
Map maker adalah pembuat map warcraft 3 .Biasanya kalian yang main DoTA kan tau pembuat DoTA adalah Icefrog. Icefrog terkenal karena membuat map DoTA, tetapi bukan hanya icefrog saja yang bisa begitu kita juga bisa.
Saat saya main map saya di battle.net orang selalu bertanya "bagaimana cara membuat map ?"
di sini saya akan menjelaskan cara membuat map yang paling dasar
tentunya kalian harus punya Warcraft 3 Frozenthrone dahulu. Cobalah buka folder instalasi warcraft anda cari file worldeditor. Worldeditor adalah aplikasi untuk membuat map warcraft 3 yang ber format .w3m atau .w3x . w3m adalah map warcraft 3 untuk Rain of Chaos sedangkan .w3x untuk The FrozenThrone. Map .w3x tidak compatible untuk versi Rain Of Chaos.
- Terrain editor
- Trigger editor
- Sound editor
- Object editor
- Campaign editor
- AI editor
- Import manager
Nanti saya akan menjelaskan Guide di post yang lain tunngu yaa :D !
Diposting oleh Unknown di 09.20 4 komentar