Kit Senjata

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

Untuk membantu dalam menciptakan pengalaman pertarungan berbasis kompetitif, beberapa senjata yang disetujui tersedia untuk digunakan dalam pengalaman apa pun. Sistem inti memiliki senjata berbasis proyektil dengan kamera di atas bahu, dan mengatur kecepatan proyektil cukup tinggi dapat mensimulasikan senjata raycasting seperti senapan laser.

Untuk menggunakan senjata yang disetujui dalam pengalaman Anda:

  1. Pilih senjata dari bawah ini, navigasikan ke tautan perpustakaan aset.
Pistol
Senapan
Senapan Otomatis
Senapan Mesin Ringan
Senapan Sniper
Busur Balistik
Peluncur Granat
Peluncur Roket
Senapan Rel
  1. Di halaman item senjata, klik tombol hijau Dapatkan dan konfirmasi transaksi.

  2. Di Studio, buka Kotak Alat.

  3. Pilih bagian Inventaris kotak alat Anda.

  4. Temukan senjata tersebut dan klik untuk menambahkannya ke tempat. Ketika ditanya apakah ingin meletakkan alat ke dalam paket starter, klik Ya jika Anda menginginkan pemain untuk memulai dengan senjata di tas mereka, atau klik Tidak untuk sekadar menempatkan senjata di dunia 3D sebagai barang yang bisa diambil.

  5. Jika ini adalah pertama kali membawa senjata yang disetujui, pindahkan folder WeaponsSystem ke ServerScriptService untuk berfungsi sebagai folder sistem terpadu untuk semua senjata yang disetujui dalam pengalaman ini.

Struktur folder sistem

Folder WeaponsSystem adalah folder terpadu yang berisi aset, konfigurasi, dan skrip yang menggerakkan semua senjata yang disetujui dalam pengalaman. Jika terletak di ServerScriptService, ini akan menimpa folder WeaponsSystem yang setara yang mungkin ada di dalam senjata individu.

Folder WeaponsSystem berisi instansi berikut:

Di dalam folder WeaponsSystem, aspek yang berbeda dikendalikan oleh ModuleScripts berikut:

AspekDitangani terutama di dalam...
Fungsi senjata
  • Perpustakaan/BaseWeapon
  • JenisSenjata/BulletWeapon
  • JenisSenjata/BowWeapon
Kamera bahu
  • Perpustakaan/ShoulderCamera
GUI senjata
  • Perpustakaan/WeaponsGui
  • Perpustakaan/DirectionalIndicatorGuiManager
  • Perpustakaan/DamageBillboardHandler

Struktur senjata

Senjata yang disetujui adalah Tools dan dinamai seperti yang akan muncul di tas pemain. Setiap senjata memiliki hierarki yang serupa.

Jenis Senjata

WeaponType StringValue cocok dengan ModuleScript untuk senjata di folder WeaponsSystem/JenisSenjata. Dua nilai dasar adalah BulletWeapon dan BowWeapon.

Model Senjata

Setiap senjata berisi Model yang terdiri dari satu atau lebih BaseParts untuk membentuk senjata fisik. Salah satu dari ini harus diatur sebagai PrimaryPart model tersebut.

Model ini juga mencakup keturunan penting berikut yang dapat diparentkan ke salah satu BaseParts model tersebut:

  • TipAttachmentAttachment yang posisinya di BasePart induk menentukan dari mana peluru/proyektil keluar.
  • HandleAttachmentAttachment yang posisinya di BasePart induk menentukan di mana Handle dilas.
  • Fired
    optional
    Sound yang diputar ketika senjata ditembakkan.
  • Reload
    optional
    Sound yang diputar ketika senjata diisi ulang.
  • Keturunan tambahan untuk opsi khusus.

Pegangan Senjata

Bagian Handle menentukan di mana karakter pemain memegang senjata. Ini harus merupakan Part, harus dinamai Handle, dan harus menjadi anak langsung dari senjata (alat).

Folder Konfigurasi

Folder Konfigurasi berisi jenis "nilai" spesifik untuk perilaku senjata. Di luar nilai default, Anda dapat menambahkan item konfigurasi tambahan untuk opsi khusus ketika berlaku.

Berikut adalah konfigurasi dasar dan nilai defaultnya:

ItemDeskripsiDefault
AmmoCapacityJumlah tembakan dalam setiap "klip amunisi" sebelum pemain harus mengisi ulang. Harap dicatat bahwa amunisi tidak terbatas dan ini tidak menentukan seberapa banyak amunisi yang dibawa pemain.30
FireModePilih dari Semiautomatis (satu tembakan per klik/tap), Otomatis (tembakan terus menerus), atau Burst (ledakan tembakan sebanyak NumBurstShots pada setiap klik/tap).Semiautomatis
ShotCooldownWaktu tunggu minimum antara klik. Untuk senjata dengan FireMode Otomatis, ini juga adalah waktu antara tembakan saat menekan tombol tembak atau menahan klik.0.1
BurstShotCooldownWaktu antara setiap tembakan dalam ledakan; hanya berpengaruh jika Anda mengatur FireMode ke Burst.Nilai ShotCooldown
NumBurstShotsJumlah tembakan per klik/ledakan; hanya berpengaruh jika Anda mengatur FireMode ke Burst.3
HitDamageJumlah kerusakan setiap hit langsung.10
FullDamageDistanceJarak maksimum di mana tembakan akan memberikan kerusakan penuh. Apapun yang terkena di luar jarak ini akan mendapatkan kerusakan yang semakin sedikit hingga mendekati ZeroDamageDistance.1000
ZeroDamageDistanceApapun yang terkena pada atau di luar jarak ini tidak akan menerima kerusakan.10000
BulletSpeedKecepatan peluru/proyektil bergerak saat ditembakkan. Mengatur ini ke nilai yang sangat tinggi seperti 20000 mensimulasikan senjata raycasting seperti senapan laser.1000
MaxDistanceJarak maksimum peluru/proyektil bergerak sebelum menghilang.2000
MinSpreadJumlah penyebaran minimum untuk senjata.0
MaxSpreadJumlah penyebaran maksimum untuk senjata.Nilai MinSpread
GravityFactorJumlah pengaruh gravitasi pada setiap peluru/proyektil. Misalnya, nilai ini untuk Busur Balistik adalah 1 karena anak panah melengkung saat terbang, tetapi nilai ini untuk Peluncur Roket adalah 0 karena roket yang dipercepat bergerak lurus.0
HasScopeAtur ke true jika Anda ingin menggunakan teropong yang ditentukan dalam GUI Sistem Senjata.false
ReloadAnimationNama trek animasi pengisian ulang di Aset/Animasi dari folder sistem.RifleReload
AimTrackNama trek animasi mengarahkan di Aset/Animasi dari folder sistem.RifleAim
AimZoomTrackNama trek animasi zooming di Aset/Animasi dari folder sistem.RifleAimDownSights
RecoilMinRecoil minimum yang ditambahkan untuk setiap tembakan.0.05
RecoilMaxRecoil maksimum yang ditambahkan untuk setiap tembakan.0.5
TotalRecoilMaxTotal maksimum recoil yang terakumulasi. Recoil saat ini dari senjata tidak akan pernah melebihi nilai ini.2
RecoilDecayPengganda penurunan untuk recoil; pada dasarnya laju di mana recoil berkurang setelah menembak.0.825
RecoilDelayTimeWaktu tunggu setelah menembak/mengklik sebelum recoil ditambahkan ke kamera.0.07
StartupTimeDurasi waktu setelah memasang senjata sebelum pemain bisa menembak. Ini mencegah pemain dari menembakkan satu tembakan dari beberapa senjata berbeda secara berurutan.0.2
FiredPlaybackSpeedRangeJumlah variasi nada untuk suara Fired dari senjata. Atur ini ke 0 untuk selalu memutarnya dengan nada yang sama.0.1
NumProjectilesJumlah peluru/proyektil yang akan ditembakkan pada saat Anda mengklik/tap satu kali. Ini berguna untuk senjata seperti Senapan yang menembakkan beberapa peluru sekaligus. Harap dicatat bahwa satu tembakan akan selalu menggunakan tepat satu amunisi terlepas dari nilai ini.1

Opsi Khusus

Anda dapat menambahkan/memodifikasi opsi berikut untuk setiap senjata. Kustomisasi ini memerlukan modifikasi baik terhadap Model senjata, Configuration senjata, atau keduanya. Beberapa konfigurasi bergantung pada yang lain, seperti Muzzle Particles yang memerlukan anak-anak yang diperlukan untuk Efek dan Suara Proyektil/Hits.

Animasi dan Suara Bolt

Bolt dari sebuah senjata adalah bagian yang bergerak maju mundur setiap kali senjata tersebut ditembakkan.

BoltBasePart yang bergerak saat senjata ditembakkan.
BoltMotorMotor6D yang digunakan untuk menganimasikan bolt. Pastikan untuk mengatur Part0 motor ke PrimaryPart model senjata dan Part1 ke bagian Bolt.
BoltMotorStartAttachment yang posisinya di BasePart induk menentukan di mana bolt berada saat istirahat.
BoltMotorTargetAttachment yang posisinya di BasePart induk menentukan di mana bolt dianimasikan ketika menembak.
BoltOpenSoundSound yang diputar ketika bolt terbuka.
optional
BoltCloseSoundSound yang diputar ketika bolt tertutup.
optional
ItemDeskripsiDefault
ActionOpenTimeWaktu yang dibutuhkan untuk bolt beranimasi ke posisi terbuka.0.025
ActionCloseTimeWaktu yang dibutuhkan untuk bolt beranimasi ke posisi tertutup.0.075

Mengeluarkan casing peluru

Senjata dapat menyertakan casing peluru fisik yang terlepas saat ditembakkan dan jatuh ke tanah.

CasingEjectPointAttachment yang posisinya di BasePart induk menentukan dari mana Anda ingin casing peluru keluar. Harap diperhatikan bahwa orientasinya menentukan arah casing yang keluar.
ItemDeskripsiDefault
CasingEffectNama BasePart casing di Aset/Efek/Casing dari folder sistem.
CasingEjectSpeedMinKecepatan minimum keluarnya casing15
CasingEjectSpeedMaxKecepatan maksimum keluarnya casing18
CasingHitSoundSound yang diputar ketika casing saya mengenai tanah.
optional

Efek dan suara Proyektil/Hits

Anda dapat mengkonfigurasi proyektil fisik untuk setiap senjata, bersama dengan Sounds, Beams, dan ParticleEmitters untuk efek hits dan efek khusus lainnya.

ItemDeskripsiDefault
ShotEffectNama efek tembakan yang disimpan di Aset/Efek/Tembakan dari folder sistem.
ShouldMovePartAtur ke true jika ShotEffect senjata harus bergerak dengan proyektil atau false jika tidak. Anda hanya harus mengatur ini ke true jika ada objek yang terlihat yang bergerak dengan setiap tembakan, seperti anak panah atau roket.false
BeamFadeTimeWaktu yang dibutuhkan agar Beam0 atau Beam1 (lihat di bawah) memudar setelah peluru/proyektil mengenai sesuatu. Secara default, tidak akan ada pudar manual yang diterapkan oleh kode.0
BeamWidth0Ketebalan Beam0 atau Beam1 di Attachment0 (lihat di bawah).1.5
BeamWidth1Ketebalan Beam0 atau Beam1 di Attachment1 (lihat di bawah).1.8
NumHitParticlesJumlah partikel yang akan dipancarkan oleh emitter HitParticles (lihat di bawah).3
HitParticlesUsePartColorAtur ke true jika Anda ingin partikel hit menjadi warna permukaan yang terkena; false jika Anda ingin partikel hit tidak berubah warna.true

Keturunan ShotEffect

Keturunan dari ShotEffect yang ditentukan dalam bagian sebelumnya

FlyingSound yang diputar saat peluru/proyektil sedang bergerak.
optional
Beam0Slot pertama untuk Beam yang tertinggal di belakang peluru/proyektil. Jangan lupa untuk mengatur Attachment0 dan Attachment1.
optional
Beam1Slot kedua untuk Beam yang tertinggal di belakang peluru/proyektil. Jangan lupa untuk mengatur Attachment0 dan Attachment1.
optional
Attachment0Attachment yang posisinya pada BasePart induk menentukan belakang dari sinar yang tertinggal; pastikan untuk mengatur Beam.Attachment0 pada baik Beam0 maupun Beam1 ke ini.
optional
Attachment1Attachment yang posisinya pada BasePart induk menentukan depan dari sinar yang tertinggal; pastikan untuk mengatur Beam.Attachment1 pada baik Beam0 maupun Beam1 ke ini.
optional
TrailParticlesParticleEmitter yang diparentkan sebagai anak langsung dari Attachment0; ini akan memancarkan saat peluru/proyektil bergerak.
optional
LeadingParticlesParticleEmitter yang diparentkan sebagai anak langsung dari Attachment1; ini akan memancarkan saat peluru/proyektil bergerak.
optional
HitEffectAttachment yang posisinya akan diatur ke Beam.Attachment1 dari Beam0 ketika peluru/proyektil mengenai. Anda harus menentukan Beam0 dan lampirannya agar ini berfungsi dengan baik.
optional
HitSoundSound yang diparentkan sebagai anak langsung dari HitEffect; diputar ketika peluru/proyektil mengenai.
optional
HitParticlesSound yang diparentkan sebagai anak langsung dari HitEffect; memancarkan ketika peluru/proyektil mengenai.
optional
[ProjectilePart]Setiap Part atau MeshPart yang ingin Anda tampilkan sebagai proyektil fisik. Pastikan Anda mengatur ShouldMovePart yang disebutkan dalam bagian sebelumnya ke true jika Anda memiliki objek yang terlihat di sini.
optional

Partikel muzzle

Opsi ini mengeluarkan partikel dari ParticleEmitter yang ditentukan di TipAttachment Attachment senjata saat ditembakkan.

Keturunan konfigurasi:

  • ShotEffect (StringValue) — Nama efek tembakan yang disimpan dalam WeaponsSystem/Assets/Effects/Shots.
  • NumMuzzleParticles (IntValue) (opsional) — Jumlah partikel muzzle yang akan dipancarkan; default adalah 50.

Untuk efek tembakan tertentu, tambahkan aset ParticleEmitter dalam WeaponsSystem/Assets/Effects/Shots bernama MuzzleParticles.

Kilatan muzzle

Opsi ini menciptakan efek kilatan Beam saat senjata ditembakkan.

Keturunan model:

  • MuzzleFlash0 (Attachment) — Digunakan untuk menentukan satu sisi kilatan muzzle. Posisi tidak penting.
  • MuzzleFlash1 (Attachment) — Digunakan untuk menentukan sisi berlawanan dari kilatan muzzle. Posisi tidak penting.
  • MuzzleFlash (Beam) — Pastikan untuk mengatur Attachment0 ke MuzzleFlash0 dan Attachment1 ke MuzzleFlash1.

Keturunan konfigurasi:

  • MuzzleFlashTime (NumberValue) (opsional) — Durasi waktu kilatan muzzle akan terlihat; default adalah 0.03.
  • MuzzleFlashRotation0 (NumberValue) (opsional) — Rotasi minimum dari kilatan muzzle; default adalah -math.pi.
  • MuzzleFlashRotation1 (NumberValue) (opsional) — Rotasi maksimum dari kilatan muzzle; default adalah math.pi.
  • MuzzleFlashSize0 (NumberValue) (opsional) — Ukuran minimum dari kilatan muzzle; default adalah 1.
  • MuzzleFlashSize1 (NumberValue) (opsional) — Ukuran maksimum dari kilatan muzzle; default adalah 1.

Jalur partikel

Opsi ini menciptakan jalur dengan panjang bervariasi dari senjata ke titik dampak proyektil.

Keturunan konfigurasi:

  • TrailLength (NumberValue) (opsional) — Panjang jalur di belakang peluru/proyektil; default adalah nil yang berarti panjang jalur akan dihitung menggunakan TrailLengthFactor.
  • TrailLengthFactor (NumberValue) (opsional) — Panjang jalur akan diatur ke nilai ini dikalikan dengan jarak yang ditempuh peluru/proyektil dalam frame terakhir; default adalah 1. Harap dicatat bahwa ini akan ditimpa jika Anda menyertakan TrailLength.
  • ShowEntireTrailUntilHit (BoolValue) (opsional) — Atur ke true untuk merender jalur dari ujung senjata hingga di mana proyektil berada; ini akan mengesampingkan baik TrailLength maupun TrailLengthFactor dan jalur hanya akan menghilang setelah proyektil mengenai sesuatu. Atur ke false untuk menggunakan salah satu dari dua opsi di atas untuk menghitung panjang jalur. Default adalah false.

Tanda hit

Tambahan visual ini muncul di permukaan tempat proyektil mengenai dan berguna untuk anak panah, lubang peluru, noda terbakar, dll.

Keturunan konfigurasi:

  • HitMarkEffect (StringValue) (opsional) — Nama efek tanda hit yang disimpan dalam WeaponsSystem/Assets/Effects/HitMarks; default adalah BulletHole.
  • AlignHitMarkToNormal (BoolValue) (opsional) — Atur ke true jika tanda hit harus selalu sejajar datar pada permukaan seperti lubang peluru, atau false jika tanda hit harus tampak terjepit di permukaan dari arah proyektil datang (seperti anak panah). Default adalah true.

Anda dapat menambahkan aset opsional berikut dalam WeaponsSystem/Assets/Effects/HitMarks:

  • Glow (Decal) (opsional) — Muncul di permukaan yang terkena sepenuhnya opaque, lalu dengan cepat menjadi lebih transparan, seperti efek bersinar di permukaan yang memudar dengan cepat. Berguna untuk hal-hal seperti menunjukkan tanda merah bersinar di mana bahan peledak mengenai.
  • BulletHole (Decal) (opsional) — Muncul di permukaan yang terkena sepenuhnya opaque dan, setelah 4 detik, memudar menjadi transparan dalam 1 detik.
  • ImpactBillboard (BillboardGui) (opsional) — Menampilkan di permukaan yang terkena, selalu menghadap ke arah kamera.
    • Impact (ImageLabel) (opsional) — Anak langsung dari ImpactBillboard; ini dimulai sepenuhnya opaque, tumbuh ke ukuran penuh dari ImpactBillboard dalam 0.1 detik, lalu menyusut ke setengah ukurannya dan memudar menjadi transparan sepenuhnya dalam 0.1 detik.
  • Setiap Part/MeshPart/SpecialMesh yang ingin Anda tampilkan sebagai proyektil fisik (opsional). Misalnya, menyertakan sebuah MeshPart anak panah dan mengatur AlignHitMarkToNormal yang disebutkan di atas ke false akan membuat anak panah tersebut tampak menonjol dari permukaan dari arah Anda menembaknya.

Proyektil yang meledak

Proyektil dapat menyertakan objek Ledakan untuk merusak karakter pemain di area sekitar titik dampak.

Keturunan konfigurasi:

  • ExplodeOnImpact (BoolValue) (opsional) — Atur ke true jika Anda ingin peluru/proyektil untuk senjata meledak saat mengenai, false jika tidak. Default adalah false.
  • BlastRadius (NumberValue) (opsional) — Jarak ledakan dari ledakan; default adalah 8.
  • BlastPressure (NumberValue) (opsional) — Tekanan ledakan dari ledakan; default adalah 10000.
  • BlastDamage (NumberValue) (opsional) — Kerusakan yang diberikan kepada benda di pusat ledakan. Harap diperhatikan bahwa ledakan memberikan kerusakan lebih sedikit seiring jauhnya objek terkena dari pusat ledakan. Default adalah 100.

Senjata yang mengisi daya

Senjata yang mengisi daya seperti Relgun harus diisi daya di antara tembakan sebelum dapat menembak lagi.

Keturunan model:

  • Charging (Sound) (opsional) — Diputar saat senjata sedang diisi daya.
  • Discharging (Sound) (opsional) — Diputar saat senjata sedang dilepas, misalnya jika Anda mengisi daya senjata hanya sebagian dan melepaskan tombol tembak.
  • ChargeComplete (Sound) (opsional) — Diputar saat senjata telah mencapai pengisian penuh.
  • DischargeComplete (Sound) (opsional) — Diputar saat senjata telah sepenuhnya kosong.
  • ChargeGlow (BasePart) (opsional) — Objek ini akan menjadi kurang transparan saat senjata diisi daya, sehingga akan sepenuhnya opaque pada 100% pengisian.
  • ChargeCompleteParticles (ParticleEmitter) (opsional) — Memancarkan ketika senjata selesai diisi daya. Emiter ini dapat menjadi anak dari bagian model BasePart atau anak dari Attachment dalam BasePart.
  • DischargeCompleteParticles (ParticleEmitter) (opsional) — Memancarkan saat senjata sepenuhnya terlepas. Emiter ini dapat menjadi anak dari bagian model BasePart atau anak dari Attachment dalam BasePart.
  • ChargingParticles (ParticleEmitter) (opsional) — Memancarkan saat senjata sedang diisi daya. Anda dapat menyertakan beberapa emiter dengan nama ini dan masing-masing akan memancarkan saat diisi daya. Emiter ini dapat menjadi anak dari bagian model BasePart atau anak dari Attachment dalam BasePart.

Keturunan konfigurasi:

  • ChargeRate (NumberValue) — Laju di mana senjata akan diisi daya. Nilai ini harus ditentukan untuk menunjukkan bahwa senjata menggunakan pengisian daya.
  • DischargeRate (NumberValue) (opsional) — Laju di mana senjata akan dilepaskan; default adalah 0 yang berarti senjata tidak akan dilepaskan sama sekali.
  • ChargePassively (BoolValue) (opsional) — Atur ke true jika Anda ingin senjata untuk mengisi daya secara pasif sehingga dapat tembak langsung saat Anda mengklik, atau false jika Anda ingin mengklik/mengusap untuk mengisi daya senjata dan menembak saat pengisian penuh tercapai. Default adalah false.
  • ChargingParticlesRatePerCharge (IntValue) (opsional) — Jumlah partikel yang akan memancarkan dari semua emiter ChargingParticles dikalikan dengan pengisian saat ini dari senjata. Default adalah 20, yang berarti jika pengisian senjata adalah 10%, setiap emiter ChargingParticles akan memancarkan 2 partikel (20×0.1), dan jika pengisian senjata adalah 90%, setiap emiter akan memancarkan 18 partikel (20×0.9).
  • FireDischarge (NumberValue) (opsional) — Jumlah pengisian yang akan hilang setelah menembak satu tembakan yang terisi penuh; default adalah 1.
  • NumChargeCompleteParticles (IntValue) (opsional) — Jumlah partikel yang akan dipancarkan oleh emiter ChargeCompleteParticles ketika senjata terisi penuh. Default adalah 25.
  • NumDischargeCompleteParticles (IntValue) (opsional) — Jumlah partikel yang akan dipancarkan oleh emiter DischargeCompleteParticles ketika senjata sepenuhnya terlepas. Default adalah 25.

Senjata Busur

Senjata busur seperti Busur Balistik dapat menyertakan struktur tali dan lengan yang realistis, serta anak panah visual yang dipasangkan pada tali.

Selain menambahkan keturunan model, Anda perlu menerapkan yang berikut:

  • Jadikan senjata sebagai senjata pengisi daya. Misalnya, tambahkan ChargeRate yang diperlukan dalam Configuration senjata yang menentukan seberapa cepat tali ditarik. Selain itu, pertimbangkan untuk menambahkan keturunan opsional ke Model senjata seperti suara Charging untuk tali/lengan yang ditarik kembali.
  • Atur WeaponType ke BowWeapon seperti yang ditunjukkan dalam Struktur Senjata.

Keturunan model:

  • LeftString (Beam) (opsional) — Setengah kiri visual dari tali.
  • RightString (Beam) (opsional) — Setengah kanan visual dari tali.
  • Arrow (BasePart) (opsional) — Anak panah yang muncul saat busur sepenuhnya ditarik. Harap dicatat bahwa ini hanya untuk penampilan visual di busur (anak panah yang sebenarnya akan menjadi ShotEffect seperti yang diuraikan dalam Efek dan Suara Proyektil/Hits).
  • String1 (Attachment) (opsional) — Titik tengah tali.
  • StringLoose (Attachment) (opsional) — Titik di mana String1 harus berada saat busur dalam keadaan istirahat.
  • StringTight (Attachment) (opsional) — Titik di mana String1 harus berada saat busur sepenuhnya ditarik.
  • Arms (Part) (opsional) — Bagian yang hanya berfungsi sebagai indikator internal bahwa lengan busur akan dianimasikan. Ini dapat mengandung anak-anak langsung berikut:
  • LeftString0 (Attachment) (opsional) — Titik di mana sisi kiri tali terhubung ke busur.
  • RightString0 (Attachment) (opsional) — Titik di mana sisi kanan tali terhubung ke busur.
  • LeftLoose (Attachment) (opsional) — Titik di mana LeftString0 harus berada saat busur dalam keadaan istirahat.
  • RightLoose (Attachment) (opsional) — Titik di mana RightString0 harus berada saat busur dalam keadaan istirahat.
  • LeftTight (Attachment) (opsional) — Titik di mana LeftString0 harus berada saat busur sepenuhnya ditarik.
  • RightTight (Attachment) (opsional) — Titik di mana RightString0 harus berada saat busur sepenuhnya ditarik.
  • [SpecialMesh] (SpecialMesh) (opsional) — Bagian dari busur yang benar-benar akan membengkok saat busur ditarik. Harap dicatat bahwa Anda harus menentukan empat objek Vector3Value berikut untuk membuat ini dianimasikan.
  • LooseOffset (Vector3Value) (opsional) — Offset SpecialMesh saat busur dalam keadaan istirahat.
  • TightOffset (Vector3Value) (opsional) — Offset SpecialMesh saat busur sepenuhnya ditarik.
  • LooseScale (Vector3Value) (opsional) — Skala SpecialMesh saat busur dalam keadaan istirahat.
  • TightScale (Vector3Value) (opsional) — Skala SpecialMesh saat busur sepenuhnya ditarik.

GUI Sistem Senjata

Sistem senjata inti berinteraksi dengan sistem ini untuk memperbarui GUI berdasarkan hal-hal seperti penyebaran senjata, indikator untuk saat Anda terkena atau mengenai orang lain, dll.

WeaponsSystemGui adalah objek ScreenGui dalam WeaponsSystem/Assets yang diparentkan ke PlayerGui saat pengalaman dimulai. WeaponSystemGui memiliki 4 keturunan:

Elemen skala

ScalingElements adalah Folder yang diteruskan di bawah WeaponsSystemGui dengan keturunan berikut:

NamaJenis instansiDeskripsi
DirectionalIndicatorsFolderSebuah Folder di mana semua indikator arah disimpan.
CrosshairFrameSebuah Frame yang berisi objek berikut:

[UIAspectRationConstraint] - UIAspectRatioConstraint
Bawah - ImageLabel
Kiri - ImageLabel
Kanan - ImageLabel
Atas - ImageLabel
HitMarkerFrameSebuah Frame yang berisi objek berikut:

[UIAspectRatioConstraint] - UIAspectRatioConstraint
HitMarkerImage - ImageLabel yang muncul dan memudar ketika pemain berhasil mengenai karakter pemain lain.

Layar Sentuh Besar

LargeTouchscreen adalah Frame yang berisi tombol yang ditampilkan di layar sentuh besar. LargeTouchscreen memiliki keturunan berikut:

Teropong

Scope adalah sebuah Frame yang berisi ScopeImage (ImageLabel) yang muncul saat memperbesar dengan senjata yang aktif HasScope (lihat Struktur Senjata).

Scope memiliki keturunan berikut:

NamaJenis instansiDeskripsi
ScopeInstanceFrameSebuah Frame yang berisi aset berikut yang digunakan saat memperbesar dengan senjata yang aktif HasScope:

[UIAspectRationConstraint] - UIAspectRatioConstraint
BottomBlack - Frame
LeftBlack - Frame
RightBlack - Frame
TopBlack - Frame

Layar Sentuh Kecil

SmallTouchScreen adalah Frame yang berisi tombol yang ditampilkan di layar sentuh kecil. SmallTouchscreen memiliki keturunan berikut:

Buat indikator arah

Indikator arah digunakan untuk menunjukkan arah sesuatu di sekitar crosshair pemain. Misalnya, jika seseorang menembaki Anda, setengah lingkaran merah dapat muncul di sekitar crosshair Anda ke arah dari mana tembakan itu datang. Contoh lainnya termasuk indikator untuk menunjukkan arah langkah kaki, tembakan tidak langsung, atau bahkan objek lingkungan seperti peti.

Untuk membuat indikator baru, tambahkan Frame Indikator baru di WeaponsSystemGui/ScalingElements/DirectionalIndicators dengan struktur berikut:

NamaJenis instansiDeskripsi
[UIAspectRationConstraint] UIAspectRatioConstraint
[ImageLabel]ImageLabelGambar dari indikator arah. Memperbaiki rotasi gambar di Studio mungkin diperlukan kecuali Anda mengunggah gambar sehingga menghadap ke bawah dan ada sedikit atau tidak ada ruang kosong di sekitarnya.
Label gambar ini juga harus mengandung
UIAspectRatioConstraint sendiri.
[Konfigurasi]ConfigurationMengandung properti opsional untuk disesuaikan. Lihat Konfigurasi Indikator untuk informasi lebih lanjut.

Setelah dibuat, Anda dapat mengaktifkan indikator melalui perintah berikut di dalam WeaponsSystem/Libraries/WeaponsGui di mana indicatorName adalah nama string indikator untuk diaktifkan dan worldPos adalah posisi dunia di mana indikator arah harus menunjuk:


self.DirectionalIndicatorGuiManager:ActivateDirectionalIndicator(indicatorName, worldPos)

Konfigurasi indikator

DirectionalIndicators dapat dimodifikasi lebih lanjut dengan menyesuaikan objek Configuration yang diparentkan di bawah [Indicator]. Semua pengaturan ini memiliki nilai default, jadi tidak perlu menetapkan konfigurasi saat tidak memodifikasi pengaturan.

Pengaturan berikut dapat diatur:

NamaJenis instansiDeskripsi
DistanceLevelFromCenterNumberValueJumlah level jarak dari tengah layar (setiap level jarak sekitar 0.03 skala layar); default adalah 6.
FadeTimeNumberValueWaktu memudar indikator setelah aktivasi dan waktu TimeBeforeFade; default adalah 1.
NameStringValueNama indikator arah seperti yang Anda inginkan untuk merujuknya dalam kode; default adalah nama Frame tingkat atas indikator.
TimeBeforeFadeNumberValueJumlah detik indikator akan muncul sebelum memudar; default adalah 1.
TransparencyBeforeFadeNumberValueTransparansi indikator sebelum mulai memudar; default adalah 0.
WidthLevelNumberValueJumlah level lebar dari tengah (setiap level lebar sekitar 0.03 skala layar); default adalah nilai DistanceLevelFromCenter.

Tampilkan papan iklan kerusakan

Papan iklan kerusakan digunakan untuk menampilkan angka kecil di atas kepala karakter ketika mereka terluka. Ini hanya akan muncul untuk pemain yang merusak karakter pemain lain, bukan untuk pemain yang menyaksikan.

Papan iklan kerusakan ditangani di WeaponsSystem/Libraries/DamageBillboardHandler dan dapat diaktifkan dari kode sisi klien mana pun sebagai berikut, di mana damage adalah jumlah kerusakan yang dilakukan dan adornmentPart adalah bagian di mana papan iklan akan dihiasi, seperti kepala korban:


DamageBillboardHandler:ShowDamageBillboard(damage, adornmentPart)

Kamera bahu

Kamera bahu adalah kamera pihak ketiga yang melihat dari atas bahu kanan karakter pemain. Untuk menyesuaikan kamera bahu, modifikasi variabel di bawah komentar -- Parameter konfigurasi (konstanta) dalam fungsi ShoulderCamera.new() di WeaponsSystem/Libraries/ShoulderCamera. Anda dapat memodifikasi hal-hal seperti bidang pandang, offset dari karakter, kecepatan berjalan saat berlari atau zoom, dll.

Kontrol sprint dan zoom

Secara default, sistem senjata menambah kemampuan "sprint", sehingga pemain dapat berlari dengan menahan tombol Shift, mendorong penuh ke atas pada thumbstick dinamis (seluler), atau mendorong penuh ke atas pada joystick kiri (gamepad). Jika Anda ingin menonaktifkan lari, atur nilai SprintEnabled dalam WeaponsSystem/Konfigurasi ke false.

Sistem juga mengurangi kecepatan pemain saat mereka mengincar/zooming, tetapi Anda dapat menonaktifkan perilaku ini dengan mengatur nilai SlowZoomWalkEnabled ke false.

©2026 Roblox Corporation. Roblox, logo Roblox, dan Powering Imagination termasuk dalam merek dagang kami yang terdaftar dan tidak terdaftar di AS dan negara lainnya.