Kit NPC

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

NPC (karakter non-pemain) dapat menambahkan banyak kedalaman ke pengalaman.Semua NPC berikut dapat disesuaikan secara visual, perilaku mereka dimodifikasi , dan zombie/prajurit bahkan dapat mempertahankan area dengan menyerang pemain atau karakter lain menggunakan sistem tag tag untuk mengatur perilaku.

Untuk menggunakan NPC di game Anda:

  1. Pilih salah satu kit NPC berikut:

    Zombie Drooling
    Para prajurit
    Robot RO-01
    Robot NP-C 9000
  2. Di halaman item NPC, klik tombol Dapatkan hijau dan konfirmasi transaksi.

  3. Di Roblox Studio, buka Toolbox( LihatToolbox ).

  4. Pilih bagian kotak alat Anda Inventaris .

  5. Temukan NPC dan klik untuk menambahkannya ke tempat.

Struktur karakter

Setiap model NPC biasanya berisi objek berikut:

Nama objek atau [Jenis]JenisDeskripsi
AnimasiFolderBerisi Animations , seperti AttackAnimation atau DeathAnimation .
Posisi awalFolderBerisi informasi posing.
AnimasiScriptMemuat dan memainkan animasi di rig karakter. Lihat Animasi untuk lebih banyak detail.
[Aksesori]AccessorySalah satu mungkin banyak Accessories untuk NPC seperti topi, senjata, dll
KesehatanScriptBiasanya menyembuhkan kesehatan Humanoid dari waktu ke waktu. Menonaktifkan ini akan mencegah karakter menyembuhkan kesehatan.
HumanoidHumanoidMengelola properti terkait Humanoid , seperti Humanoid.Health , Humanoid.WalkSpeed , Humanoid.DisplayDistanceType , dll.
NPCScript

Meng定义 karakter-specific perilaku seperti berkeliaran, menyerang, dll.Orangtua objek berikut:

Pembantu ( ModuleScript ) mendefinisikan kelas yang berguna dalam melepaskan sumber daya yang digunakan.:

Ragdoll ( ModuleScript ) mendefinisikan fungsi yang mengubah karakter menjadi tubuh fisik longgar (orang tua RigTypes ModuleScript yang mendefinisikan beberapa fungsi pembantu).

Suara RbxNpcScriptMendefinisikan dan mengelola perilaku yang terkait dengan efek suara karakter seperti berlari, mati, dll.
Bagian TubuhBasePartBerbagai bagian tubuh karakter yang terpasang ke HumanoidRootPart atau bagian tubuh tetangga melalui Motor6D atau objek batasan.Lihat BodyParts untuk lebih banyak rincian.
Bagian Akar HumanoidBasePartBagian tak terlihat khusus yang dianggap sebagai akar dari rig; ini juga merupakan PrimaryPart dari karakter Model.
KonfigurasiConfigurationBerisi objek nilai yang menyetel berbagai perilaku. Lihat Konfigurasi untuk lebih banyak detail.

Catatan desain

Saat menggunakan kit NPC, ingatlah catatan desain berikut:

  • Penampilan visual NPC dapat disesuaikan dengan menambahkan/memodifikasi berbagai objek [BodyParts] dan dengan menambahkan objek Accessory.

  • Para prajurit, zombie ngiler, dan robot NP-C 9000 menggunakan Rthro sebagai dasar rig mereka.Namun, Robot RO-01 menggunakan basis Rthro yang dimodifikasi yang menambahkan bagian pendorong yang terhubung ke UpperTorso menggunakan WeldConstraints .Menggunakan persambungan sederhana dengan cara ini memungkinkan Anda menyertakan geometri ekstra untuk karakter Anda tanpa mengubah rig dasar asli.

  • Pada leveldasar, animasi NPC dapat disesuaikan dengan memodifikasi AnimationId dari objek Animasi yang ada dalam posisi Animasi skrip, atau yang berada di dalam folder Animasi .Perubahan seperti itu pada dasarnya adalah pertukaran aset - untuk mengubah rincian yang lebih halus, Anda dapat membuat salinan khusus dari animasi yang ada, dan untuk memainkan animasi di bawah kondisi yang berbeda, Anda dapat mengedit Animasi atau NPC skrip secara langsung.Untuk informasi lebih lanjut, lihat Animasi .

Animasi

Animasi di NPC menangani konfigurasi terkait animasi dan berisi objek berikut:

Nama objek atau [Jenis]JenisDeskripsi
Skala Peredam Peratusan PersenNumberValueMendefinisikan bagaimana kecepatan animasi dimodifikasi saat karakter diukur (kurang dari 1 berarti skala pemutaran animasi terbalik saat karakter diukur).
Mainkan EmoteBindableFunctionIni dapat diaktifkan oleh skrip lain untuk memaksakan asumsi posisi.
[Pose]StringValueReferensi ke kategori animasi yang dapat dimainkan seperti diam, loncat, jalan, dll.Objek ini dapat menjadi orangtua dari berapa pun jumlah Animations . Orangtua ini memprioritaskan salah satu animasi banyak untuk dimainkan saat posisi dianggap; biasanya digunakan untuk menambahkan variasi ke posisi menganggur dan menari.

Bagian Tubuh

Bagian Tubuh BasePart di NPC Model mewakili berbagai bagian tubuh karakter dan berisi objek berikut:

Nama objek atau [Jenis]JenisDeskripsi
AvatarPartScaleTypeStringValueMenentukan bagaimana bagian akan diukur; nilai bisa menjadi Klasik , ProporsiNormal , atau ProporsiLangsing .
Ukuran AsliVector3ValueMenentukan ukuran bagian saat skala karakter adalah 1.
[Lampir]AttachmentMendefinisikan titik relatif terhadap bagian individu yang skrip, efek, dan objek seperti Tool atau Accessory dapat gunakan selama penempatan.
[Motor6D]Motor6DSebuah animasi bersama antara dua bagian tubuh.Perhatikan bahwa tergantung pada nama untuk konsisten dengan yang digunakan saat animasi dibuat, jadi hindari mengganti nama objek ini.
[Bersama]WeldConstraint , Constraint , JointInstanceSatuan bersama yang tidak beranimasi antara dua bagian tubuh.
[Suara]SoundBiasa ditemukan di kepala atau HumanoidRootPart ; memutar suara dari dalam rig yang dikendalikan oleh skrip RbxNpcSounds.

Konfigurasi

Setiap NPC termasuk objek Configuration dalam hierarkinya yang bertindak sebagai wadah objek nilai.Ini digunakan oleh skrip NPC untuk menyetel berbagai perilaku.Kecuali dinyatakan lain, ini berlaku untuk semua karakter.

Nama objek atau [Jenis]JenisDeskripsi
Hancurkan pada KematianBoolValueMenyebabkan seluruh NPC hancur segera setelah mati. Nonaktifkan ini agar ragdoll tetap ada.
PatroliAktifBoolValueMenyebabkan NPC berkeliaran di area sekitar posisi awalnya.
PatrolRadiusNumberValueMendefinisikan jarak maksimum yang akan ditempuh NPC dari posisi awalnya, asumsi PatrolEnabled adalah benar.
RagdollDiaktifBoolValueMenyebabkan NPC menjadi lemas saat mati, bukan pecah.
Serangan KerusakanNumberValueMendefinisikan berapa banyak kesehatan yang hilang oleh korban saat diserang oleh NPC. Ini berlaku untuk kit Zombie dan Tentara saja.
Penundaan SeranganNumberValueMendefinisikan jumlah minimum detik antara tembakan. Ini berlaku untuk kit Prajurit saja.
Mode SeranganNumberValueMengidentifikasi apa yang akan diserang oleh prajurit, berdasarkan sistem penandaan tagging. Ini berlaku untuk kit prajurit saja.
Radius SeranganNumberValueMendefinisikan jarak maksimum yang harus dimiliki NPC dari korban potensial sebelum ia berusaha menyerang. Ini berlaku untuk kit Zombie dan Prajurit saja.
Kapasitas KlipNumberValueMendefinisikan berapa banyak peluru yang bisa ditembak oleh prajurit sebelum perlu diisi ulang. Ini berlaku untuk kit Prajurit saja.
Penundaan Pengisian UlangNumberValueMendefinisikan berapa banyak detik harus berlalu sebelum klip senjata prajurit diisi ulang. Ini berlaku untuk kit prajurit saja.

Tetuk tag

Skrip NPC menggunakan tag CollectionService untuk mengelola agresi terhadap karakter dan pemain lain.Berbagai tag dari tabel berikut dapat ditugaskan sebagai berikut:

  • Untuk menetapkan tag (s) ke NPC lain, atribusikan mereka ke tingkat atas NPC menggunakan bagian Tag dari propertinya, atau Editor Tag Studio .

  • Untuk menetapkan tag ke karakter Player , Anda dapat menambahkan Script ke StarterCharacterScripts dengan panggilan CollectionService:AddTag(). Misalnya:


    local CollectionService = game:GetService("CollectionService")
    CollectionService:AddTag(script.Parent, "SoldierEnemy")
TagTujuan
Musuh Prajurit atau Teman Prajurit

Menentukan apakah seorang prajurit, berdasarkan nilai konfigurasi Mode Serangan nya, harus menyerang karakter lain.Ketika Mode Serangan prajurit diatur ke 1 , karakter lain harus diberi label dengan Musuh Prajurit untuk dianggap dapat diserang.Ketika Mode Serangan prajurit diatur ke 2 , semua objek tanpa tag Teman Prajurit dianggap bisa diserang.Ketika Mode Serangan prajurit diatur ke , label ini diabaikan sepenuhnya dan prajurit akan menyerang semua karakter.

Teman Zombie Label ini digunakan oleh zombie untuk menentukan apakah tidak boleh menyerang karakter.Saat diterapkan, zombie menjadi jinak terhadap karakter yang ditagih.