Lompat ke konten Lompat ke sidebar Lompat ke footer

Menambahkan NPC, Quest, Mob, Items dan Drop Item

Nexia

Selanjutnya, bagaimana membuat seorang NPC yang nantinya bisa diajak komunikasi dan memberikan sebuah quest/petualangan sederhana. Biasanya diawal merupakan quest tutorial.

Sekenario yang dibuat, tersebutlah seorang NPC yang memberikan tugas untuk membantu membunuh tupai dan kelinci karena sudah banyak mengganggu, selain itu ia butuh dagingnya untuk dimasak.

Sebagai hadiah awal ia akan memberikan sebuah pedang kayu, selanjutnya pada permintaan kedua meminta pertolongan untuk membawakan kayu dengan jumlah tertentu dan akan memberikan sebuah mantra vitalitas sebagai imbalan.

Persiapan yang dibutuhkan :

  1. Buat NPC
  2. Buat Mob (Monster) kelinci dan tupai dan drop itemnya
  3. Buat Mob Pohon (Moster tidak bergerak) dan drop itemnya
  4. Buat item pedang kayu dan kapak
  5. Spawn NPC, Mob
  6. Buat script drop item
  7. Buat script quest dengan registry karena quest bertingkat

Hmmm... lah kok banyak jadinya ya wkwkwk ...

Oke dicoba saja pelan-pelan mudahan bisa, orang bikin pesawat juga tidak dalam semalam ya...

Dikarenakan kelamaan tulisan ini mandeg jadi saya lanjutkan dengan video tutorialnya biar mudah dan cepat...

Untuk kepentingan database sebenarnya sudah ada di file Lua Help File di folder mithialua. Silahkan baca-baca, berikut ini saya coba kumpulkan...

getEquippedItem([enum]slot) --returns item in slot as BOUND ITEM
    0 = weapon
    1 = armor
    2 = shield
    3 = helm
    4 = left hand
    5 = right hand
    6 = left script
    7 = right script
    8 = face
    9 = crown
    10 = mantle
    11 = necklace
    12 = boots
    13 = coat

[num]type --item type:
    0 = eat
    1 = use
    2 = smoke
    3 = weapon
    4 = armor
    5 = shield
    6 = helm
    7 = left hand
    8 = right hand
    9 = left script
    10 = right script
    11 = face
    12 = crown
    13 = mantle
    14 = necklace
    15 = boots
    16 = coat
    17 = hand (not sure on this)
    18 = etc.
    19 = usespc (not sure on this)
    20 = trap

[num]state --current state:
    -1 = gone
    0 = normal
    1 = ghost
    2 = invisible
    3 = mount
    4 = disguise

[num]side --current side:
    0 = up
    1 = right
    2 = down
    3 = left

[num]state --mob's state:
0 = alive
    1 = dead
    2 = paralyzed
    3 = blind
    4 = attacking
    (MOB_ALIVE, MOB_DEAD, MOB_PARA, MOB_BLIND, MOB_HIT)

[num]behavior --mob's behavior:
    0 = passive
    1 = aggressive
    2 = stationary
    3 = floor
    (MOB_NORMAL, MOB_AGGRESSIVE, MOB_STATIONARY)

[num]aiType --mob's ai:
    0 = basic
    1 = normal
    2 = hard
    3 = boss
    4 = custom
[num]side --mobs side:
    0 = Up
    1 = Right
    2 = Down
    3 = Left

[num]bossType --type of boss
    0 = none
    1 = rare
    2 = semi
    3 = boss
    4 = epic
    5 = godly

[num]sex --sex
    0 = male
    1 = female
    2 = all

[num]weather --weather number:
    0 = none
    1 = rain
    2 = snow
    3 = bird

Beberapa bagian penting akan saya catatkan, sebenarnya tabel-tabel sudah jelas namun saya juga sudah banyak lupa, biasanya yang hobby game RPG pastilah tau fungsinya ya....

Item / Barang

  1. PthId = Path Id (job) ini ini untuk menentukan job apa yang bisa pakai, 0 adalah semua job/class.
  2. Identifier = Sama untuk semua data, ini digunakan ketika barang atau lainnya dihubungkan dengan sebuah script lua yang dipanggil, sehingga barang atau lainnya tersebut memiliki reaksi.
  3. BuyPrice / SellPrice = Harga beli dan jual, ketika barang tersebut tersedia di NPC yang menjual.
  4. Max Amount = Jumlah maksimal di slot inventory, jika tertulis 100 maka pada 1 slot bisa terisi 100 item.
  5. Item Sex = lihat keterangan diatas.
  6. ItmLevel = level minimal player yang bisa menggunakan.
  7. ItmLook, icon, color = penampakan item dan warna, bisa dilihat pakai player GM. Sudah saya sediakan juga filenya.
  8. ItmSound = Suara, misale pedang ketika diayunkan memiliki suara yang diinginkan. Suara dan music juga bisa di cek dengan player GM.
  9. ItmDurability = kekuatan item, misalnya pedang perlahan dia akan rusak ketika dipakai menghajar monster, kalu sudah rusak pedang akan hancur, sebelum rusak biasanya ada peringatannya, jika barang berjenis yang bisa diperbaiki, bawa ke blacksmith untuk diperbaiki dengan sejumlah biaya.
  10. Grace, Will, Wisdom, Constitusion, Protection, Armor = Efek yang didapat oleh player jika menggunakannya.
  11. ItmHit, Damage = berkaitan dengan seberapa persen keberhasilan melakukan serangan.
  12. Min/Max Damage = nilai minimal dan maksimal damage yang bisa didapatkan saat menghajar monster atau player lain.
  13.  ItmVita/ItmMana = nilai tambahan Vita/Mana ketika player menggunakannya.
  14.  Vita / Mana Require = nilai minimal vita atau mana untuk dapat menggunakannya.
  15. ItmText/Buy text = keterangan item pada tampilan ketika jual beli.
  16. Exchangeable = bisa di pertukarkan.
  17. Depositeable = bisa di simpan di bank.
  18. Droppable = bisa dijatuhkan
  19. Thrown = bisa dilempar
  20. UniqueAmount = nilai unik dan jumlahnya
  21. Indestrucable = kagak bisa rusak
  22. Event = merupakan barang event
  23. Timer = merupakan barang yang dibatasi penggunaanya sejumlah waktu
  24. ChaIdDiscoverer = sepertinya untuk barang langka dan siapa player yeng menemukannya.

Untuk barang/item sepertinya demikian, kalao ada yang protes silahkan berkomentar untuk merevisi...

Mob / Monster

  1. Identifier = seperti biasa, identifikasi script yang dipanggil, jika tidak ada yang khusus berarti tidak perlu pakai script.
  2. Description = keterangan.
  3. Behavior = perilaku, lihat keterangan diatas.
  4. MobAi = kecerdasan mosnter apakah standar saja atau pakai script khusus
  5. Look, color = tampang si monster, silahkan lihat pakai GM atau file yang tersedia.
  6. Vita / Mana = vita dan mana si momon.
  7. Experience = Exp yang didapatkan player setelah momon mati dihajar.
  8. Move/attack = kecepatan bergerak dan serangan si momon.
  9. SpawnTime = waktu spawn ulang (hidup lagi) setelah momon mati.
  10. MobSound = suara momon ketika menyerang.
  11. Mob ItmId, Amount, Rate = drop item monster, jumlah item dan ratenya ketika momon tewas, bisa juga di tentukan di script luanya, salah satu saja.

NPC

  1. Identifier =  seperti biasa, identifikasi script yang dipanggil, jika tidak ada yang khusus berarti tidak perlu pakai script.
  2.  Description = keterangan.
  3. NpcType = 0 normal, 1 nggak kelihatan alias ghost.
  4. MapId, X, Y = posisi npc di map dan koodinat berapa?
  5. NpcSide = menghadap ke (lihat keterangan diatas), 2 = menghadap ke kita. 

Spell / Magic

Type 1: Question? Answer
Type 2: Question? Target
Type 3: Question? #,#,#,#
Type 4: Question? #,#,#
Type 5: Instant
Type 6: Question? #,#
Type 7: Question? #
Type 8: Question? Inventory Slot
(Ket. Ada di folder magic)
  1. Identifier, description = sama denganyang lainnya. 
  2. SpellType = lupa eh, 5 = itu spell untuk diri sendiri, 2 = spell untuk bisa pilih target, 1 = spell untuk bisa input text misale untuk teriak ke seluruh map atau dunia, player lain bisa lihat dalam bentuk text di layar.
  3. PthId = spell atau magic milik job tertentu atau semua bisa. (Keterangan lihat diatas)
  4. Question = Pertanyaan jika jika spell ditujukan ke lain, misalnya diisi dengan "Choose Target?"
  5. Active = 0 jika non aktif, 1 aktif (tersedia di game).

Kalo mau belajar lebih cepat mending dibeli aja project saya (tepok jidat), maaf karena kadang sewaktu-waktu pas sibuk jadi lambat update...

Tutorial episode 5 Menambah NPC, Mob, Item, dll

Script lua yang dipakai dalam video tutorial game bisa di download pada link SCRIPTLUA

2 komentar untuk "Menambahkan NPC, Quest, Mob, Items dan Drop Item"

  1. Min Nobel, update cara isi NPC, Quest, Mob, Items dan Drop Itemnya gimana ini min?
    ditunggu guidelines / tutorial video yutubnya ya min.

    thanks Nobel.

    BalasHapus
    Balasan
    1. Siap, kebetulan bagian ini rada ribet dan perlu persiapan jadi agak lambat ya, saya sudah beberapa kali take video selain banyak gangguan juga harus atur-atur segala sesuatunya lagi. Nah silahkan lihat disini ya saya tambahkan beberapa keterangan berkaitan fungsi database...

      Hapus