Kit Senjata

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

Roblox menawarkan senjata prefab berikut untuk membantu dalam membuat permainan berbasis pertempuran yang kompetitif. Sistem inti menampilkan senjata berbasis proyektil dengan kamera di atas bahu, dan mengatur kecepatan proyektil cukup tinggi dapat mensimulasikan senjata raycasting seperti senapan laser.

Untuk menggunakan senjata prefab dalam permainan Anda:

  1. Pilih senjata dari bawah, navigasikan ke tautan perpustakaan aset.

    Pistol

    Senapan

    Senapan Otomatis

    Senapan Mesin Ringan

    Senapan Sniper

    Busur Balistik

    Peluncur Granat

    Peluncur Roket

    Railgun

  2. Di halaman item senjata, klik tombol Dapatkan Model dan konfirmasi transaksi.

  3. Di Studio, buka Toolbox dan pilih bagian Inventaris Anda.

  4. Temukan senjata dan klik untuk menambahkannya ke tempat. Ketika ditanya apakah akan menempatkan alat ke dalam starter pack, klik Ya jika Anda ingin pemain memulai dengan senjata di ransel mereka, atau klik Tidak untuk hanya menempatkan senjata di dunia 3D sebagai pickup.

  5. Jika ini adalah pertama kali membawa senjata prefab, pindahkan folder WeaponsSystem ke dalam ServerScriptService untuk berfungsi sebagai folder sistem yang terintegrasi untuk semua senjata prefab dalam permainan.

Struktur folder sistem

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

Di dalam folder WeaponsSystem, berbagai aspek dikendalikan oleh ModuleScripts berikut:

AspekDitangani terutama di dalam...
Fungsi senjata
  • WeaponsSystem
  • Libraries/BaseWeapon
  • WeaponTypes/BulletWeapon
  • WeaponTypes/BowWeapon
Kamera bahu
  • Libraries/ShoulderCamera
GUI Senjata
  • Libraries/WeaponsGui
  • Libraries/DirectionalIndicatorGuiManager
  • Libraries/DamageBillboardHandler

Struktur senjata

Senjata prefab adalah alat dan dinamai sesuai dengan yang akan muncul di ransel pemain. Setiap senjata memiliki struktur dengan hierarki yang serupa.

Jenis senjata

WeaponType StringValue sesuai dengan ModuleScript untuk senjata di folder WeaponsSystem/WeaponTypes. 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.

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

  • TipAttachmentAttachment yang posisinya pada BasePart induk menentukan dari mana peluru/proyektil keluar.
  • HandleAttachmentAttachment yang posisinya pada BasePart induk menentukan di mana pegangan alat dilas.
  • Fired
    opsional
    Sound yang diputar saat senjata ditembakkan.
  • Reload
    opsional
    Sound yang diputar saat senjata diisi ulang.
  • Keturunan tambahan untuk opsi khusus.

Konfigurasi

Folder Configuration berisi jenis "nilai" spesifik untuk perilaku senjata. Selain default, Anda dapat menambahkan item konfigurasi tambahan untuk opsi khusus jika berlaku.

Berikut adalah konfigurasi dasar dan nilai defaultnya:

ItemDeskripsiDefault
AimTrackNama trek animasi bidikan di Assets/Animations dari folder sistem.RifleAim
AimZoomTrackNama trek animasi zoom bidikan di Assets/Animations dari folder sistem.RifleAimDownSights
AmmoCapacityJumlah tembakan dalam setiap "klip amunisi" sebelum pemain harus mengisi ulang. Perhatikan bahwa amunisi tidak terbatas dan ini tidak menentukan berapa banyak amunisi yang dibawa pemain.30
BulletSpeedKecepatan peluru/proyektil saat ditembakkan. Mengatur ini ke nilai yang sangat tinggi seperti 20000 mensimulasikan senjata raycasting seperti senapan laser.1000
BurstShotCooldownWaktu antara setiap tembakan dalam satu burst; hanya penting jika Anda mengatur FireMode ke Burst.Nilai dari ShotCooldown
FiredPlaybackSpeedRangeJumlah variasi pitch untuk suara Fired dari senjata. Atur ini ke 0 untuk selalu memutarnya pada pitch yang sama.0.1
FireModePilih dari Semiautomatic (satu tembakan per klik/tap), Automatic (tembakan terus menerus), atau Burst (burst tembakan sama dengan NumBurstShots pada setiap klik/tap).Semiautomatic
FullDamageDistanceJarak maksimum yang tembakan akan memberikan kerusakan penuh. Apa pun yang terkena di luar jarak ini akan menerima kerusakan yang semakin sedikit saat jarak mendekati ZeroDamageDistance.1000
GravityFactorJumlah pengaruh gravitasi terhadap 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 didorong terbang lurus.0
HasScopeAtur ke true jika Anda ingin menggunakan scope yang ditentukan dalam GUI Senjata.false
HitDamageJumlah kerusakan yang dilakukan setiap hit langsung.10
MaxDistanceJarak maksimum peluru/proyektil terbang sebelum menghilang.2000
MaxSpreadJumlah maksimum penyebaran untuk senjata.Nilai dari MinSpread
MinSpreadJumlah minimum penyebaran untuk senjata.0
NumBurstShotsJumlah tembakan per klik/burst; hanya penting jika Anda mengatur FireMode ke Burst.3
NumProjectilesJumlah peluru/proyektil yang akan ditembakkan sekaligus saat Anda mengklik/tap sekali. Ini berguna untuk senjata seperti Senapan yang menembakkan beberapa peluru sekaligus. Perhatikan bahwa satu tembakan akan selalu menggunakan tepat satu amunisi terlepas dari nilai ini.1
RecoilDecayPengali 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
RecoilMaxMaksimum recoil yang ditambahkan untuk setiap tembakan.0.5
RecoilMinMinimum recoil yang ditambahkan untuk setiap tembakan.0.05
ReloadAnimationNama trek animasi pengisian ulang di Assets/Animations dari folder sistem.RifleReload
ShotCooldownWaktu tunggu minimum antara klik. Untuk senjata dengan FireMode Automatic, ini juga adalah waktu antara tembakan saat menekan tombol tembak atau menahan klik.0.1
StartupTimeDurasi waktu setelah melengkapi senjata sebelum pemain dapat menembak. Ini mencegah pemain menembakkan satu tembakan dari beberapa senjata yang berbeda secara berurutan.0.2
TotalRecoilMaxTotal maksimum recoil yang terakumulasi. Recoil saat ini dari senjata tidak akan pernah melebihi nilai ini.2
ZeroDamageDistanceApa pun yang terkena pada atau melampaui jarak ini tidak akan menerima kerusakan.10000

Opsi khusus

Anda dapat menambahkan/memodifikasi opsi berikut untuk senjata mana pun. Kustomisasi ini memerlukan modifikasi baik Model senjata, Configuration senjata, atau keduanya. Beberapa konfigurasi bergantung pada yang lain, seperti partikel muzzle yang memerlukan anak yang diperlukan untuk efek dan suara proyektil/hit.

Animasi dan suara bolt

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

  • Keturunan dari model senjata:

    • BoltBasePart yang bergerak saat senjata ditembakkan.
    • BoltMotorMotor6D yang digunakan untuk menganimasi bolt. Pastikan untuk mengatur Part0 motor ke PrimaryPart model senjata dan Part1 ke bagian Bolt.
    • BoltMotorStartAttachment yang posisinya pada BasePart induk menentukan di mana bolt berada saat dalam keadaan diam.
    • BoltMotorTargetAttachment yang posisinya pada BasePart induk menentukan di mana bolt dianimasikan saat menembak.
    • BoltOpenSound
      opsional
      Sound yang diputar saat bolt terbuka.
    • BoltCloseSound
      opsional
      Sound yang diputar saat bolt tertutup.
  • Keturunan dari folder konfigurasi senjata:

    • ActionOpenTime
      opsional
      — Waktu yang dibutuhkan untuk bolt beranimasi ke posisi terbuka. Default adalah 0.025.
    • ActionCloseTime
      opsional
      — Waktu yang dibutuhkan untuk bolt beranimasi ke posisi tertutup. Default adalah 0.075.

Selongsong peluru yang dikeluarkan

Senjata dapat menyertakan selongsong peluru fisik yang dikeluarkan saat ditembakkan dan jatuh ke tanah.

  • Keturunan dari model senjata:

    • CasingEjectPointAttachment yang posisinya pada BasePart induk menentukan di mana Anda ingin selongsong peluru keluar. Perhatikan bahwa orientasinya menentukan arah selongsong keluar.
  • Keturunan dari folder konfigurasi senjata:

    • CasingEffect — Nama BasePart selongsong di Assets/Effects/Casings dari folder sistem.
    • CasingEjectSpeedMin
      opsional
      — Kecepatan minimum pengeluaran selongsong. Default adalah 15.
    • CasingEjectSpeedMax
      opsional
      — Kecepatan maksimum pengeluaran selongsong. Default adalah 18.
  • Anak dari BasePart selongsong di Assets/Effects/Casings dari folder sistem:

    • CasingHitSound
      opsional
      Sound yang diputar saat selongsong mengenai tanah.

Efek dan suara proyektil/hit

Anda dapat mengonfigurasi proyektil fisik untuk senjata mana pun, bersama dengan Sounds, Beams, dan ParticleEmitters untuk efek hit dan efek khusus lainnya.

  • Keturunan dari folder konfigurasi senjata:

    • ShotEffect — Nama efek tembakan yang disimpan dalam Assets/Effects/Shots dari folder sistem.
    • ShouldMovePart
      opsional
      — Atur ke true jika ShotEffect senjata harus bergerak bersama proyektil atau false jika tidak. Anda hanya boleh mengatur ini ke true jika ada objek yang terlihat yang bergerak dengan setiap tembakan, seperti anak panah atau roket. Default adalah false.
    • BeamFadeTime
      opsional
      — Waktu yang dibutuhkan untuk Beam0 atau Beam1 (lihat di bawah) memudar setelah peluru/proyektil mengenai sesuatu. Secara default, tidak ada pemudaran manual yang akan diterapkan oleh kode. Default adalah 0.
    • BeamWidth0
      opsional
      — Ketebalan Beam0 atau Beam1 di Attachment0 (lihat di bawah). Default adalah 1.5.
    • BeamWidth1
      opsional
      — Ketebalan Beam0 atau Beam1 di Attachment1 (lihat di bawah). Default adalah 1.8.
    • NumHitParticles
      opsional
      — Jumlah partikel yang akan dipancarkan oleh pemancar HitParticles (lihat di bawah). Default adalah 3.
    • HitParticlesUsePartColor
      opsional
      — Atur ke true jika Anda ingin partikel hit berwarna sesuai dengan permukaan yang terkena; false jika Anda ingin partikel hit tidak berubah warna. Default adalah true.
  • Keturunan dari ShotEffect yang ditentukan di bagian di atas:

    • Flying
      opsional
      Sound yang diputar saat peluru/proyektil sedang bergerak.
    • Beam0
      opsional
      — Slot pertama untuk Beam yang mengikuti peluru/proyektil. Jangan lupa untuk mengatur Attachment0 dan Attachment1.
    • Beam1
      opsional
      — Slot kedua untuk Beam yang mengikuti peluru/proyektil. Jangan lupa untuk mengatur Attachment0 dan Attachment1.
    • Attachment0
      opsional
      Attachment yang posisinya pada BasePart induk menentukan bagian belakang dari sinar yang mengikuti; pastikan untuk mengatur Beam.Attachment0 pada Beam0 dan Beam1 ke ini.
    • Attachment1
      opsional
      Attachment yang posisinya pada BasePart induk menentukan bagian depan dari sinar yang mengikuti; pastikan untuk mengatur Beam.Attachment1 pada Beam0 dan Beam1 ke ini.
    • TrailParticles
      opsional
      ParticleEmitter yang diparent sebagai anak langsung dari Attachment0; ini akan memancarkan saat peluru/proyektil sedang bergerak.
    • LeadingParticles
      opsional
      ParticleEmitter yang diparent sebagai anak langsung dari Attachment1; ini akan memancarkan saat peluru/proyektil sedang bergerak.
    • HitEffect
      opsional
      Attachment yang posisinya akan diatur ke Beam.Attachment1 dari Beam0 saat peluru/proyektil mengenai. Anda harus menentukan Beam0 dan lampirannya agar ini berfungsi dengan baik.
    • HitSound
      opsional
      Sound yang diparent sebagai anak langsung dari HitEffect; diputar saat peluru/proyektil mengenai.
    • HitParticles
      opsional
      Sound yang diparent sebagai anak langsung dari HitEffect; memancarkan saat peluru/proyektil mengenai.
    • Mesh
      opsional
      SpecialMesh yang ingin Anda tampilkan sebagai proyektil fisik. Pastikan Anda mengatur ShouldMovePart dalam konfigurasi senjata ke true jika Anda memiliki objek yang terlihat di sini.

Partikel muzzle

Opsi ini memancarkan partikel dari ParticleEmitter yang ditentukan di TipAttachment Attachment senjata saat ditembakkan. Keturunan dari folder konfigurasi senjata mencakup:

  • ShotEffect — Nama efek tembakan yang disimpan dalam WeaponsSystem/Assets/Effects/Shots. Sebagai anak dari efek tembakan ini, sertakan aset ParticleEmitter bernama MuzzleParticles.
  • NumMuzzleParticles
    opsional
    — Jumlah partikel muzzle yang akan dipancarkan. Default adalah 50.

Kilatan muzzle

Opsi ini membuat efek kilatan Beam saat senjata ditembakkan.

  • Keturunan dari model senjata:

    • MuzzleFlash0Attachment yang digunakan untuk menentukan satu sisi dari kilatan muzzle. Posisi tidak masalah.
    • MuzzleFlash1Attachment yang digunakan untuk menentukan sisi berlawanan dari kilatan muzzle. Posisi tidak masalah.
    • MuzzleFlashBeam untuk efek kilatan muzzle. Pastikan untuk mengatur Attachment0 ke MuzzleFlash0 dan Attachment1 ke MuzzleFlash1.
  • Keturunan dari folder konfigurasi senjata:

    • MuzzleFlashTime
      opsional
      — Durasi waktu kilatan muzzle akan ditampilkan. Default adalah 0.03.
    • MuzzleFlashRotation0
      opsional
      — Rotasi minimum dari kilatan muzzle. Default adalah -math.pi.
    • MuzzleFlashRotation1
      opsional
      — Rotasi maksimum dari kilatan muzzle. Default adalah math.pi.
    • MuzzleFlashSize0
      opsional
      — Ukuran minimum dari kilatan muzzle. Default adalah 1.
    • MuzzleFlashSize1
      opsional
      — Ukuran maksimum dari kilatan muzzle. Default adalah 1.

Jejak partikel

Opsi ini membuat jejak dengan panjang bervariasi dari senjata ke titik dampak proyektil. Keturunan dari folder konfigurasi senjata mencakup:

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

Tanda hit

Tambahan visual ini muncul di permukaan tempat proyektil mengenai dan berguna untuk anak panah, lubang peluru, bekas bakaran, dll. Keturunan dari folder konfigurasi senjata mencakup:

  • HitMarkEffect
    opsional
    — Nama dari efek tanda hit Part/MeshPart/SpecialMesh yang disimpan dalam WeaponsSystem/Assets/Effects/HitMarks. Default adalah BulletHole.
  • AlignHitMarkToNormal
    opsional
    — Atur ke true jika tanda hit harus selalu sejajar datar terhadap permukaan seperti lubang peluru, atau false jika tanda hit harus muncul terjebak di permukaan dari arah proyektil datang (seperti anak panah). Default adalah true.

Seperti yang dicatat oleh HitMarkEffect di atas, Anda dapat menambahkan bagian/mesh dalam WeaponsSystem/Assets/Effects/HitMarks untuk muncul sebagai proyektil fisik. Misalnya, menyertakan MeshPart anak panah dan mengatur AlignHitMarkToNormal ke false akan membuat anak panah menonjol dari permukaan dari arah Anda menembaknya. Part/MeshPart/SpecialMesh ini dapat berisi keturunan berikut:

  • Glow
    opsional
    Decal yang muncul di permukaan yang terkena sepenuhnya opak, kemudian dengan cepat menjadi lebih transparan, seperti efek bercahaya di permukaan yang memudar dengan cepat. Berguna untuk menunjukkan tanda merah bercahaya di mana bahan peledak mengenai.
  • BulletHole
    opsional
    Decal yang muncul di permukaan yang terkena sepenuhnya opak dan, setelah 4 detik, memudar menjadi transparan selama 1 detik.
  • ImpactBillboard
    opsional
    BillboardGui yang ditampilkan di permukaan yang terkena, selalu menghadap ke arah kamera.
  • Impact
    opsional
    ImageLabel sebagai anak langsung dari ImpactBillboard; ini mulai sepenuhnya opak, tumbuh hingga ukuran penuh ImpactBillboard selama 0.1 detik, kemudian menyusut hingga setengah ukurannya dan memudar menjadi transparan sepenuhnya selama 0.1 detik.

Proyektil yang meledak

Proyektil dapat menyertakan objek Explosion untuk merusak karakter pemain di area sekitar titik dampak. Keturunan dari folder konfigurasi senjata mencakup:

  • ExplodeOnImpact
    opsional
    — Atur ke true jika Anda ingin peluru/proyektil untuk senjata meledak saat mengenai, false jika tidak. Default adalah false.
  • BlastRadius
    opsional
    BlastRadius dari ledakan; default adalah 8.
  • BlastPressure
    opsional
    BlastPressure dari ledakan; default adalah 10000.
  • BlastDamage
    opsional
    — Kerusakan yang diberikan kepada objek di pusat ledakan. Perhatikan bahwa ledakan memberikan kerusakan lebih sedikit semakin jauh objek yang terkena dari pusat ledakan. Default adalah 100.

Senjata pengisian

Senjata pengisian seperti Railgun harus diisi antara tembakan sebelum dapat menembak lagi.

  • Keturunan dari model senjata:

    • Charging
      opsional
      Sound yang diputar saat senjata sedang diisi.
    • Discharging
      opsional
      Sound yang diputar saat senjata sedang mengeluarkan, misalnya jika Anda mengisi senjata hanya sebagian dan melepaskan tombol tembak.
    • ChargeComplete
      opsional
      Sound yang diputar saat senjata telah mencapai pengisian penuh.
    • DischargeComplete
      opsional
      Sound yang diputar saat senjata telah sepenuhnya mengeluarkan.
    • ChargeGlow
      opsional
      BasePart yang akan menjadi kurang transparan saat senjata diisi, sehingga akan sepenuhnya opak pada pengisian 100%.
    • ChargeCompleteParticles
      opsional
      ParticleEmitter yang memancarkan saat senjata telah selesai diisi. Pemancar ini dapat menjadi anak dari bagian model BasePart mana pun atau anak dari Attachment dalam BasePart.
    • DischargeCompleteParticles
      opsional
      ParticleEmitter yang memancarkan saat senjata telah sepenuhnya mengeluarkan. Pemancar ini dapat menjadi anak dari bagian model BasePart mana pun atau anak dari Attachment dalam BasePart.
    • ChargingParticles
      opsional
      ParticleEmitter yang memancarkan saat senjata sedang diisi. Anda dapat menyertakan beberapa pemancar dengan nama ini dan masing-masing akan memancarkan saat diisi. Pemancar ini dapat menjadi anak dari bagian model BasePart mana pun atau anak dari Attachment dalam BasePart.
  • Keturunan dari folder konfigurasi senjata:

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

Senjata busur

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

Selain menambahkan keturunan model, Anda perlu menerapkan yang berikut:

  • Jadikan senjata sebagai senjata pengisian. 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.
  • Atur WeaponType ke BowWeapon seperti yang ditunjukkan dalam struktur senjata.

Keturunan dari model senjata mencakup:

  • LeftString
    opsional
    Beam untuk setengah kiri visual dari tali.
  • RightString
    opsional
    Beam untuk setengah kanan visual dari tali.
  • Arrow
    opsional
    BasePart untuk anak panah yang muncul saat busur sepenuhnya ditarik. Perhatikan bahwa ini hanya untuk penampilan visual di busur (anak panah yang sebenarnya akan menjadi ShotEffect seperti yang dijelaskan dalam efek dan suara proyektil/hit).
  • String1Attachment untuk titik tengah tali.
  • StringLooseAttachment titik di mana String1 harus berada saat busur dalam keadaan diam.
  • StringTightAttachment titik di mana String1 harus berada saat busur sepenuhnya ditarik.
  • Arms
    opsional
    Part yang hanya berfungsi sebagai indikator internal bahwa lengan busur akan dianimasi. Ini dapat berisi anak-anak berikut:
    • LeftString0Attachment titik di mana sisi kiri tali terpasang ke busur.
    • RightString0Attachment titik di mana sisi kanan tali terpasang ke busur.
    • LeftLooseAttachment titik di mana LeftString0 harus berada saat busur dalam keadaan diam.
    • RightLooseAttachment titik di mana RightString0 harus berada saat busur dalam keadaan diam.
    • LeftTightAttachment titik di mana LeftString0 harus berada saat busur sepenuhnya ditarik.
    • RightTightAttachment titik di mana RightString0 harus berada saat busur sepenuhnya ditarik.
    • MeshSpecialMesh bagian dari busur yang akan benar-benar melengkung saat busur ditarik. Perhatikan bahwa Anda harus menentukan empat objek Vector3Value berikut untuk membuat ini dianimasi.

GUI Senjata

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

WeaponsSystemGui adalah objek ScreenGui di WeaponsSystem/Assets yang diparent ke PlayerGui saat permainan dimulai. WeaponSystemGui memiliki empat keturunan sebagai berikut:

  • ScalingElements adalah Folder dengan keturunan berikut:

    • DirectionalIndicatorsFolder di mana semua indikator arah disimpan.
    • Crosshair — Sebuah Frame yang berisi UIAspectRatioConstraint dan label gambar untuk elemen bawah, kiri, kanan, dan atas dari crosshair.
    • HitMarker — Sebuah Frame yang berisi UIAspectRatioConstraint dan label gambar HitMarkerImage yang muncul dan memudar saat pemain berhasil mengenai karakter pemain lain.
  • LargeTouchscreen adalah Frame yang berisi tombol AimButton dan FireButton yang ditampilkan di layar sentuh besar.

  • Scope adalah Frame yang berisi label gambar ScopeImage yang muncul saat memperbesar pada senjata dengan HasScope diaktifkan (lihat struktur senjata).

  • SmallTouchscreen adalah Frame yang berisi tombol AimButton dan FireButton yang ditampilkan di layar sentuh kecil.

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 berasal. Contoh lainnya termasuk indikator untuk menunjukkan arah langkah kaki, tembakan tidak langsung, atau bahkan objek lingkungan seperti peti.

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

  • Indikator (Frame)
    • ImageLabel untuk indikator arah. Penyesuaian 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 berisi UIAspectRatioConstraint sendiri.
    • Configuration yang berisi properti opsional untuk disesuaikan:
      • DistanceLevelFromCenter
        opsional
        — Jumlah level jarak dari pusat layar (setiap level jarak sekitar 0.03 skala layar). Default adalah 6.
      • FadeTime
        opsional
        — Waktu memudar indikator setelah diaktifkan dan waktu TimeBeforeFade. Default adalah 1.
      • Name
        opsional
        — Nama indikator arah seperti yang ingin Anda rujuk dalam kode. Default adalah nama Frame tingkat atas indikator.
      • TimeBeforeFade
        opsional
        — Jumlah detik indikator akan muncul sebelum memudar. Default adalah 1.
      • TransparencyBeforeFade
        opsional
        — Transparansi indikator sebelum mulai memudar. Default adalah 0.
      • WidthLevel
        opsional
        — Jumlah level lebar dari pusat (setiap level lebar sekitar 0.03 skala layar). Default adalah nilai dari DistanceLevelFromCenter.

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

self.DirectionalIndicatorGuiManager:ActivateDirectionalIndicator(indicatorName, worldPos)

Billboard kerusakan

Billboard kerusakan digunakan untuk menunjukkan angka di atas kepala karakter saat mereka terluka. Ini hanya akan muncul untuk pemain yang merusak karakter pemain lain, bukan untuk pemain yang menyaksikan.

Billboard 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 billboard akan dihias, seperti kepala korban:

DamageBillboardHandler:ShowDamageBillboard(damage, adornmentPart)

Kamera bahu

Kamera bahu adalah kamera orang 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() dari WeaponsSystem/Libraries/ShoulderCamera. Anda dapat memodifikasi hal-hal seperti bidang pandang, offset dari karakter, kecepatan berjalan saat berlari atau memperbesar, dll.

Berlari dan memperbesar

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

Sistem ini juga mengurangi kecepatan pemain saat mereka mengincar/memperbesar, tetapi Anda dapat menonaktifkan perilaku ini dengan mengatur nilai SlowZoomWalkEnabled dalam WeaponsSystem/Configuration 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.