Selasa, 01 September 2009

JASS BASIC

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 takes *** returns ***
//{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 setelah “takes”. Contoh :

function meh takes unit u returns nothing

Untuk function yang memerlukan take lebih dari satu, beri comma setelah . Gunakan “nothing” bila tidak ada variable yang di bawa.
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 then

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 ”. Local harus di declare(di tulis) pertama kali setelah menulis function. Contoh :

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 = . Dan terakhir jangan lupa member endglobals (VJASS)

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)

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

Stats – Drop When Carrier Dies

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

Stats – Numbe of Charges

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

Techtree – Requirements – Levels

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

Cara membuat custom item?

· 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

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.

Di WorldEditor ada :
  1. Terrain editor
  2. Trigger editor
  3. Sound editor
  4. Object editor
  5. Campaign editor
  6. AI editor
  7. Import manager
Untuk sekarang pelajarilah dengan eksperiment anda sendiri, dulu saya juga belajar sendiri , nanti saya upload tin map yang bisa buat belajar !
Nanti saya akan menjelaskan Guide di post yang lain tunngu yaa :D !


Seputar Warcraft 3 © 2008. Free Blogspot Templates Sponsored by: Tutorial87 Commentcute