ชุดเกราะ

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

เพื่อช่วยในการสร้างประสบการณ์การต่อสู้ที่แข่งขันได้ มีอาวุธที่ได้รับการรับรองหลายรายการสำหรับใช้งานในประสบการณ์ใด ๆ ระบบหลักมีอาวุธที่ใช้งานแบบพุ่งด้วยกล้องมุมเหนือไหล่ และการตั้งค่าความเร็วของกระสุนให้สูงพอสามารถจำลองอาวุธแบบเรย์แคสติ้งเช่นปืนเลเซอร์ได้

ในการใช้เวลากว่านี้ในประสบการณ์ของคุณ:

  1. เลือกอาวุธจากด้านล่าง โดยการนำทางไปยังลิงก์ห้องสมบัติ
ปืนพก
ปืนลูกซอง
ปืนไรเฟิลอัตโนมัติ
ปืนกลเบา
ปืนซุ่มยิง
คันธนู
ปืนลูกระเบิด
ปืนจรวด
เรลกัน
  1. ในหน้ารายการของอาวุธ ให้คลิกปุ่มสีเขียว รับ และยืนยันการทำธุรกรรม

  2. ใน Studio ให้เปิด Toolbox

  3. เลือกส่วน คลัง ใน Toolbox ของคุณ

  4. ค้นหาอาวุธและคลิกเพื่อเพิ่มมันเข้าไปในสถานที่ เมื่อมีการแจ้งเตือนว่าจะแทนที่เครื่องมือใน Starter Pack ให้คลิก ใช่ หากคุณต้องการให้ผู้เล่นเริ่มต้นด้วยอาวุธในกระเป๋าของพวกเขาหรือคลิก ไม่ เพื่อวางอาวุธในโลก 3D เป็นการเก็บเกี่ยว

  5. หากนี่เป็น ครั้งแรก ที่นำอาวุธที่ได้รับการรับรองเข้ามา ให้ย้ายโฟลเดอร์ WeaponsSystem ไปยัง ServerScriptService เพื่อทำหน้าที่เป็น โฟลเดอร์ระบบ ที่รวมสำหรับอาวุธที่ได้รับการรับรองทั้งหมดในประสบการณ์

โครงสร้างโฟลเดอร์ระบบ

โฟลเดอร์ WeaponsSystem เป็นโฟลเดอร์รวมที่มีทรัพย์สิน ค่าคอนฟิก และสคริปต์ที่ขับเคลื่อนอาวุธที่ได้รับการรับรองทั้งหมดในประสบการณ์ หากตั้งอยู่ใน ServerScriptService จะมีผลเหนือกว่าโฟลเดอร์ WeaponsSystem ที่เทียบเคียงได้ซึ่งอาจอยู่ในแต่ละอาวุธ

โฟลเดอร์ WeaponsSystem ประกอบด้วยตัวอย่างต่อไปนี้:

  • Assets (Folder)
    • Animations (Folder) – ที่เก็บสำหรับอนิเมชันที่ใช้ในระบบอาวุธ
    • Effects (Folder) - Casings (Folder) – ที่เก็บสำหรับอาวุธที่เกี่ยวข้องกับกระสุนทั้งหมด - HitMarks (Folder) – ที่เก็บสำหรับเอฟเฟกต์การตีทั้งหมด - Shots (Folder) – ที่เก็บสำหรับเอฟเฟกต์การยิงทั้งหมด
    • WeaponsSystemGui (ScreenGui) – การตั้งค่าสำหรับ Weapons System GUI
  • Configuration (Folder) – ค่าคอนฟิกสำหรับระบบอาวุธ
  • Libraries (Folder) – ที่เก็บสำหรับ ModuleScripts อื่น ๆ ที่ใช้ในระบบอาวุธ
  • WeaponTypes (Folder) – ระบุประเภทของอาวุธทั้งหมด
  • ServerWeaponsScript (Script)
  • Version (IntValue)
  • ClientWeaponScript (LocalScript)
  • NetworkingCallbacks (ModuleScript)
  • WeaponData (RemoteEvent)
  • WeaponsSystem (ModuleScript)

ภายในโฟลเดอร์ WeaponsSystem แง่มุมต่าง ๆ ถูกควบคุมโดย ModuleScripts ต่อไปนี้:

แง่มุมจัดการหลักใน...
ฟังก์ชันการทำงานของอาวุธ
  • Libraries/BaseWeapon
  • WeaponTypes/BulletWeapon
  • WeaponTypes/BowWeapon
กล้องบนไหล่
  • Libraries/ShoulderCamera
GUI อาวุธ
  • Libraries/WeaponsGui
  • Libraries/DirectionalIndicatorGuiManager
  • Libraries/DamageBillboardHandler

โครงสร้างอาวุธ

อาวุธที่ได้รับการรับรองเป็น Tools และมีชื่อเมื่อปรากฏในกระเป๋าของผู้เล่น อาวุธแต่ละชนิดมีโครงสร้างที่มีลำดับชั้นที่คล้ายกัน

ประเภทอาวุธ

ประเภทของอาวุธ WeaponType StringValue สอดคล้องกับ ModuleScript สำหรับอาวุธในโฟลเดอร์ WeaponsSystem/WeaponTypes ค่าพื้นฐานสองค่าคือ BulletWeapon และ BowWeapon

โมเดลของอาวุธ

อาวุธแต่ละชนิดประกอบด้วย Model ที่ประกอบด้วยหนึ่งหรือมากกว่าส่วน BaseParts เพื่อสร้างอาวุธทางกายภาพ หนึ่งในนี้ควรตั้งเป็น PrimaryPart ของโมเดล

โมเดลยังรวมถึงลูกหลานที่สำคัญต่อไปนี้ซึ่งอาจมีพ่อแม่เป็นส่วน BaseParts หนึ่งในโมเดล:

  • TipAttachmentAttachment ที่ตำแหน่งบนพ่อแม่ BasePart จะกำหนดว่าแรงกระทำ/กระสุนออกจากที่ไหน
  • HandleAttachmentAttachment ที่ตำแหน่งบนพ่อแม่ BasePart จะกำหนดว่า Handle เชื่อมอยู่ที่ไหน
  • Fired
    optional
    Sound ที่เล่นเมื่อใช้ปืน
  • Reload
    optional
    Sound ที่เล่นเมื่อบรรจุกระสุน
  • ลูกหลานเพิ่มเติมสำหรับ ตัวเลือกเฉพาะ

ตัวจับอาวุธ

ส่วน Handle กำหนดที่ที่ตัวละครของผู้เล่นถืออาวุธ ต้องเป็น Part ชื่อว่า Handle และต้องเป็นลูกหลานโดยตรงของอาวุธ (เครื่องมือ)

โฟลเดอร์การกำหนดค่า

โฟลเดอร์ Configuration ประกอบด้วยประเภท "ค่า" เฉพาะสำหรับพฤติกรรมของอาวุธ นอกเหนือจากค่าส่วนสำคัญแล้ว คุณยังสามารถเพิ่มรายการการกำหนดค่าเพิ่มเติมสำหรับ ตัวเลือกเฉพาะ เมื่อมีความเหมาะสม

ด้านล่างนี้เป็นการกำหนดค่าพื้นฐานและค่าพื้นฐานของพวกเขา:

รายการคำอธิบายค่าเริ่มต้น
AmmoCapacityจำนวนกระสุนในแต่ละ "คลิปกระสุน" ก่อนที่ผู้เล่นจะต้องบรรจุกระสุนใหม่ หมายเหตุว่า กระสุนไม่มีที่สิ้นสุดและค่าข้อนี้ไม่ได้กำหนดว่าผู้เล่นมีจำนวนเท่าไหร่30
FireModeเลือกจาก Semiautomatic (ยิงหนึ่งครั้งต่อการคลิก/สัมผัส), Automatic (การยิงต่อเนื่อง) หรือ Burst (ยิงเป็นชุดเท่ากับ NumBurstShots ในแต่ละครั้งที่คลิก/สัมผัส)Semiautomatic
ShotCooldownระยะเวลารอการยิงขั้นต่ำระหว่างการคลิก สำหรับอาวุธที่มี FireMode เป็น Automatic จะเป็นเวลาระหว่างการยิงเมื่อกดปุ่มยิงหรือตอนคลิกค้างไว้0.1
BurstShotCooldownเวลาระหว่างการยิงแต่ละครั้งในชุด; มีความสำคัญเฉพาะเมื่อคุณตั้ง FireMode เป็น Burstค่า ShotCooldown
NumBurstShotsจำนวนกระสุนต่อหนึ่งคลิก/ชูขึ้น; มีความสำคัญเฉพาะเมื่อคุณตั้ง FireMode เป็น Burst3
HitDamageจำนวนความเสียหายที่ทำให้เกิดจากการโดนโดยตรง10
FullDamageDistanceระยะสูงสุดที่กระสุนจะทำความเสียหายเต็มที่ อะไรก็ตามที่ได้รับการตีเกินจากระยะนี้จะได้รับความเสียหายน้อยลงเรื่อย ๆ เมื่อระยะเข้าใกล้ค่า ZeroDamageDistance1000
ZeroDamageDistanceอะไรก็ตามที่ได้รับการตีที่ระยะนี้หรือเกินกว่านั้นจะไม่ได้รับความเสียหาย10000
BulletSpeedความเร็วที่กระสุน/พุ่งออกเมื่อยิง การตั้งค่านี้ให้มีค่ามาก ๆ เช่น 20000 สามารถจำลองอาวุธแบบเรย์แคสติ้งเช่นปืนเลเซอร์ได้1000
MaxDistanceระยะสูงสุดที่กระสุนนั้นจะบินไปก่อนที่จะหายไป2000
MinSpreadจำนวนการกระจายขั้นต่ำสำหรับอาวุธ0
MaxSpreadจำนวนการกระจายสูงสุดสำหรับอาวุธค่า MinSpread
GravityFactorจำนวนที่แรงโน้มถ่วงควรมีผลต่อกระสุน/พุ่งแต่ละอัน ตัวอย่างเช่น ค่านี้สำหรับ คันธนู คือ 1 เพราะลูกธนูจะเริ่มขณะบิน แต่ค่านี้สำหรับ ปืนจรวด คือ 0 เพราะจรวดที่ยิงจะสามารถเคลื่อนที่ไปได้ในแนวตรง0
HasScopeตั้งค่าเป็น true หากคุณต้องการใช้สโคปที่ระบุใน Weapons System GUIfalse
ReloadAnimationชื่อแทร็กการบรรจุกระสุนใน Assets/Animations ของ ระบบโฟลเดอร์RifleReload
AimTrackชื่อแทร็กการเล็งใน Assets/Animations ของ ระบบโฟลเดอร์RifleAim
AimZoomTrackชื่อแทร็กการซุมเพื่อเล็งใน Assets/Animations ของ ระบบโฟลเดอร์RifleAimDownSights
RecoilMinการสะท้อนต่ำสุดที่เพิ่มขึ้นสำหรับแต่ละกระสุน0.05
RecoilMaxการสะท้อนสูงสุดที่เพิ่มขึ้นสำหรับแต่ละกระสุน0.5
TotalRecoilMaxการสะสมการสะท้อนสูงสุดทั้งหมด ค่าการสะท้อนปัจจุบันของอาวุธจะไม่เกินค่านี้2
RecoilDecayอัตราการลดของการสะท้อน ค่าที่แสดงถึงอัตราส่วนที่การสะท้อนลดลงหลังจากการยิง0.825
RecoilDelayTimeระยะเวลาก่อนที่การยิง/คลิกจะเพิ่มการสะท้อนไปยังกล้อง0.07
StartupTimeระยะเวลาหลังจากการนำอาวุธไปใช้งานก่อนที่ผู้เล่นจะสามารถยิงได้ สิ่งนี้จะช่วยป้องกันไม่ให้ผู้เล่นยิงกระสุนเดียวจากหลายๆ อาวุธในระยะเวลาสั้น ๆ0.2
FiredPlaybackSpeedRangeจำนวนที่สูงต่ำของเสียง Fired ของอาวุธ สามารถตั้งค่านี้เป็น 0 เพื่อให้เล่นที่ความเร็วเดียวกันเสมอ0.1
NumProjectilesจำนวนกระสุน/พุ่งออกที่จะยิงพร้อมกันเมื่อคุณคลิก/สัมผัสเพียงครั้งเดียว สิ่งนี้มีประโยชน์สำหรับอาวุธเช่น ปืนลูกซอง ที่ยิงกระสุนหลายกระสุนพร้อมกัน หมายเหตุว่าหนึ่งการยิงจะใช้กระสุนเพียงหนึ่งเท่านั้นไม่ว่าจะตั้งค่าค่านี้เป็นเท่าใด1

ตัวเลือกเฉพาะ

คุณสามารถเพิ่ม/ปรับแต่งตัวเลือกต่อไปนี้สำหรับอาวุธใด ๆ การปรับแต่งเหล่านี้จำเป็นต้องมีการเปลี่ยนแปลงใน Model ของอาวุธ, Configuration ของอาวุธ หรือทั้งสองอย่าง บางการกำหนดค่าขึ้นอยู่กับตัวอื่น ๆ เช่น อนุภาคปลายปืน ซึ่งต้องใช้ลูกหลานที่จำเป็นสำหรับ เอฟเฟกต์/เสียงที่พุ่งออกมาและการตี

เสียงและการแอนิเมชันของบิด

บิดของอาวุธคือส่วนที่เคลื่อนที่ไปข้างหลังและข้างหน้าเมื่อยิง

BoltBasePart ที่เคลื่อนเมื่อยิงอาวุธ
BoltMotorMotor6D ใช้เพื่อทำอนิเมชันครั้งบิด ตรวจสอบให้แน่ใจ rằngคุณตั้งค่า Part0 ของมอเตอร์ให้เป็น PrimaryPart ของโมเดลอาวุธและ Part1 เป็นส่วน Bolt
BoltMotorStartAttachment ที่ตำแหน่งบนพ่อแม่ BasePart จะกำหนดที่ตั้งของบิดเมื่ออยู่ในสภาพสงบ
BoltMotorTargetAttachment ที่ตำแหน่งบนพ่อแม่ BasePart จะกำหนดที่ตั้งของบิดเมื่อยิง
BoltOpenSoundSound ที่เล่นเมื่อบิดเปิด
optional
BoltCloseSoundSound ที่เล่นเมื่อบิดปิด
optional
รายการคำอธิบายค่าเริ่มต้น
ActionOpenTimeเวลาที่ใช้สำหรับอนิเมชันของบิดในการเปิด0.025
ActionCloseTimeเวลาที่ใช้สำหรับอนิเมชันของบิดในการปิด0.075

การขว้างกระสุนทิ้ง

อาวุธสามารถรวมถึงกระสุนทางกายภาพที่คายออกมาเมื่อยิงและตกลงยังพื้น

CasingEjectPointAttachment ที่ตำแหน่งบนพ่อแม่ BasePart จะกำหนดว่าส่วนใดของกระสุนคายออก
รายการคำอธิบายค่าเริ่มต้น
CasingEffectชื่อของ BasePart สำหรับกระสุนใน Assets/Effects/Casings ของ ระบบโฟลเดอร์
CasingEjectSpeedMinความเร็วขั้นต่ำในการคายกระสุน15
CasingEjectSpeedMaxความเร็วสูงสุดในการคายกระสุน18
CasingHitSoundSound ที่เล่นเมื่อกระสุนปะทะพื้น
optional

เอฟเฟกต์และเสียงการพุ่ง/การตี

คุณสามารถกำหนดค่ากระสุนทางกายภาพสำหรับอาวุธใด ๆ ได้ พร้อมกับ Sounds, Beams, และ ParticleEmitters สำหรับเอฟเฟกต์การตีและเอฟเฟกต์พิเศษอื่น ๆ

รายการคำอธิบายค่าเริ่มต้น
ShotEffectชื่อของเอฟเฟกต์การยิงซึ่งเก็บไว้ใน Assets/Effects/Shots ของ ระบบโฟลเดอร์
ShouldMovePartตั้งค่าเป็น true หาก ShotEffect ของอาวุธควรเคลื่อนที่ไปกับกระสุนหรือ false หากไม่สามารถทำได้ คุณควรกำหนดค่านี้เป็น true หากมีวัตถุที่มีลักษณะชัดเจนว่าขยับไปพร้อมกับการยิง เช่น ลูกธนูหรือลูกพี่ลูกน้องfalse
BeamFadeTimeระยะเวลาที่ใช้ให้ Beam0 หรือ Beam1 (ดู ด้านล่าง) หายหลังจากที่กระสุน/พุ่งโดนสิ่งใด สิ่งนี้จะไม่ถูกใช้ในการย่อหายด้วยโค้ดโดยค่าเริ่มต้น0
BeamWidth0ความหนาของ Beam0 หรือ Beam1 ที่ Attachment0 (ดู ด้านล่าง)1.5
BeamWidth1ความหนาของ Beam0 หรือ Beam1 ที่ Attachment1 (ดู ด้านล่าง)1.8
NumHitParticlesจำนวนอนุภาคที่ HitParticles (ดู ด้านล่าง) จะปล่อยออกมา3
HitParticlesUsePartColorตั้งค่าเป็น true หากคุณต้องการให้อนุภาคที่เกิดจากการตีมีสีตามพื้นผิวที่ตี false หากคุณต้องการให้อนุภาคที่ตีไม่เปลี่ยนสีtrue

ลูกหลานของ ShotEffect

ลูกหลานของ ShotEffect ที่ระบุในส่วนก่อนหน้านี้

FlyingSound ที่เล่นขณะกระสุน/พุ่งอยู่
optional
Beam0ช่องแรกสำหรับ Beam ที่ติดตามหลังจากกระสุน/พุ่ง อย่าลืมตั้งค่า Attachment0 และ Attachment1
optional
Beam1ช่องที่สองสำหรับ Beam ที่ติดตามหลังจากกระสุน/พุ่ง อย่าลืมตั้งค่า Attachment0 และ Attachment1
optional
Attachment0Attachment ที่ตำแหน่งของพ่อแม่ BasePart จะกำหนดจุดที่อยู่ด้านหลังของลำแสงที่ติดตาม; อย่าลืมตั้งค่า Beam.Attachment0 ในทั้ง Beam0 และ Beam1 เป็นสิ่งนี้
optional
Attachment1Attachment ที่ตำแหน่งของพ่อแม่ BasePart จะกำหนดจุดที่อยู่ด้านหน้าของลำแสงที่ติดตาม; อย่าลืมตั้งค่า Beam.Attachment1 ในทั้ง Beam0 และ Beam1 เป็นสิ่งนี้
optional
TrailParticlesParticleEmitter ที่เป็นลูกหลานโดยตรงของ Attachment0; จะปล่อยขณะกระสุน/พุ่งเคลื่อนที่
optional
LeadingParticlesParticleEmitter ที่เป็นลูกหลานโดยตรงของ Attachment1; จะปล่อยขณะกระสุน/พุ่งเคลื่อนที่
optional
HitEffectAttachment ที่จะตั้งค่าเป็น Beam.Attachment1 ของ Beam0 เมื่อกระสุน/พุ่งถูกตี คุณต้องระบุ Beam0 และการเชื่อมต่อของมันเพื่อให้ทำงานได้อย่างถูกต้อง
optional
HitSoundSound ที่เป็นลูกหลานเป็นลูกหลานโดยตรงของ HitEffect; จะเล่นเมื่อกระสุน/พุ่งชน
optional
HitParticlesSound ที่เป็นลูกหลานเป็นลูกหลานโดยตรงของ HitEffect; จะปล่อยเมื่อกระสุน/พุ่งชน
optional
[ProjectilePart]เป็น Part หรือ MeshPart ที่คุณต้องการให้แสดงเป็นพุ่งจริง อย่าลืมตั้งค่า ShouldMovePart ที่ระบุในส่วนก่อนหน้าเป็น true หากมีวัตถุที่เห็นได้ที่นี่
optional

อนุภาคปลายปืน

ตัวเลือกนี้ปล่อยอนุภาคจาก ParticleEmitter ที่ระบุเมื่อปืนที่ปลาย TipAttachment Attachment ถูกยิง

ลูกหลานการกำหนดค่า:

  • ShotEffect (StringValue) — ชื่อของเอฟเฟกต์ยิงที่เก็บไว้ใน WeaponsSystem/Assets/Effects/Shots
  • NumMuzzleParticles (IntValue) (optional) — จำนวนอนุภาคที่มุมปลายกระสุนจะถูกปล่อยออกมา ค่าปริยายคือ 50

สำหรับเอฟเฟกต์ยิงที่ระบุ ให้เพิ่มทรัพย์สิน ParticleEmitter ไว้ภายใน WeaponsSystem/Assets/Effects/Shots ซึ่งตั้งชื่อว่า MuzzleParticles

การยิงที่ปลายปืน

ตัวเลือกนี้สร้างเอฟเฟกต์ Beam ที่เห็นได้เมื่อปืนถูกยิง

ลูกหลานของโมเดล:

  • MuzzleFlash0 (Attachment) — ใช้เพื่อระบุด้านหนึ่งของการยิงที่ปลายปืน ขนาดที่ไม่สำคัญ
  • MuzzleFlash1 (Attachment) — ใช้เพื่อระบุด้านตรงข้ามของการยิงที่ปลายปืน ขนาดที่ไม่สำคัญ
  • MuzzleFlash (Beam) — ตรวจสอบให้แน่ใจว่าได้ตั้งค่า Attachment0 เป็น MuzzleFlash0 และ Attachment1 เป็น MuzzleFlash1

ลูกหลานของการกำหนดค่า:

  • MuzzleFlashTime (NumberValue) (optional) — ระยะเวลาที่การยิงที่ปลายปืนจะแสดง; ค่าเริ่มต้นคือ 0.03
  • MuzzleFlashRotation0 (NumberValue) (optional) — การหมุนขั้นต่ำของการยิงที่ปลายปืน; ค่าเริ่มต้นคือ -math.pi
  • MuzzleFlashRotation1 (NumberValue) (optional) — การหมุนสูงสุดของการยิงที่ปลายปืน; ค่าเริ่มต้นคือ math.pi
  • MuzzleFlashSize0 (NumberValue) (optional) — ขนาดขั้นต่ำของการยิงที่ปลายปืน; ค่าเริ่มต้นคือ 1
  • MuzzleFlashSize1 (NumberValue) (optional) — ขนาดสูงสุดของการยิงที่ปลายปืน; ค่าเริ่มต้นคือ 1

เส้นทางอนุภาค

ตัวเลือกนี้สร้างเส้นทางลักษณะเปลี่ยนความยาวจากอาวุธไปยังจุดการกระทบของพุ่ง

ลูกหลานการกำหนดค่า:

  • TrailLength (NumberValue) (optional) — ความยาวของเส้นทางที่อยู่เบื้องหลังกระสุน/พุ่ง; ค่าเริ่มต้นคือ nil ซึ่งหมายความว่าความยาวของเส้นทางจะถูกคำนวณโดยใช้ TrailLengthFactor
  • TrailLengthFactor (NumberValue) (optional) — ความยาวของเส้นทางจะถูกตั้งค่าเป็นค่าที่วัดโดยการคูณระยะทางที่กระสุน/พุ่งเคลื่อนที่ในเฟรมสุดท้าย; ค่าเริ่มต้นคือ 1 หมายเหตุว่าสิ่งนี้จะถูกยกเลิกหากคุณรวม TrailLength
  • ShowEntireTrailUntilHit (BoolValue) (optional) — ตั้งค่าเป็น true เพื่อให้แสดงเส้นทางจากตัวป้องกันทั้งหมดไปยังที่ที่กระสุนอยู่; อันนี้จะยกเลิกทั้ง TrailLength และ TrailLengthFactor และเส้นทางจะหายไปเมื่อกระสุนโดนสิ่งใดตั้งค่าเป็น false เพื่อใช้ตัวเลือกด้านบนคำนวณความยาวของเส้นทาง ค่าเริ่มต้นคือ false

มาร์คการตี

การเพิ่มรูปลักษณ์นี้จะปรากฏบนพื้นผิวที่กระสุนตีและมีประโยชน์สำหรับลูกธนู รอยกระสุน รอยไหม้ ฯลฯ

ลูกหลานการกำหนดค่า:

  • HitMarkEffect (StringValue) (optional) — ชื่อของเอฟเฟกต์ที่ตีเก็บไว้ใน WeaponsSystem/Assets/Effects/HitMarks ค่าเริ่มต้นคือ BulletHole
  • AlignHitMarkToNormal (BoolValue) (optional) — ตั้งค่าเป็น true หากมาร์คการตีควรเรียบไปกับพื้นผิวเหมือนรอยกระสุน หรือ false หากมาร์คการตีควรปรากฏเป็นที่ติดอยู่ในพื้นผิวจากทิศทางที่กระสุนมาจาก (เช่นลูกธนู) ค่าเริ่มต้นคือ true

คุณสามารถเพิ่มทรัพย์สินเพิ่มเติมอื่น ๆ ใน WeaponsSystem/Assets/Effects/HitMarks:

  • Glow (Decal) (optional) — ปรากฏบนพื้นผิวหนัก และหลังจากนั้นจะโปร่งแสงรวดเร็ว เหมือนผลสำหรับรอยว่าเป็นผลที่ชัดเจนจากที่วัตถุถูกตี
  • BulletHole (Decal) (optional) — ปรากฏบนพื้นผิวหนักและหลังจาก 4 วินาทีจะหายไปเป็นโปร่งแสงใน 1 วินาที
  • ImpactBillboard (BillboardGui) (optional) — แสดงที่พื้นผิวตี แน่นอนว่าดูไปยังกล้อง
    • Impact (ImageLabel) (optional) — เป็นลูกหลานของ ImpactBillboard; เริ่มโปร่งแสงเต็มที่ ขยายจนใหญ่สุดของ ImpactBillboard ในเวลา 0.1 วินาที จากนั้นหดขนาดลงเหลือครึ่งหนึ่งและหายไปจนโปร่งแสงในเวลา 0.1 วินาที
  • ทุก Part/MeshPart/SpecialMesh ที่คุณต้องการให้ปรากฏเป็นกระสุนทางกายภาพ (optional) เช่น คุณสามารถรวม MeshPart ของลูกธนูและตั้งค่าตัวเลือก AlignHitMarkToNormal ที่ระบุไว้ด้านบนเป็น false จะทำให้ลูกธนูถูกติดตั้งขึ้นจากทิศทางที่คุณยิงมัน

พุ่งที่ระเบิด

พุ่งอาจรวมถึงวัตถุระเบิดเพื่อทำร้ายผู้เล่นในพื้นที่รอบ ๆ จุดตีกระทบ

ลูกหลานการกำหนดค่า:

  • ExplodeOnImpact (BoolValue) (optional) — ตั้งค่าเป็น true หากคุณต้องการให้กระสุน/พุ่งของอาวุธจะระเบิดเมื่อได้รับการกระทบ false โดยค่าเริ่มต้นคือ false
  • BlastRadius (NumberValue) (optional) — รัศมีของการระเบิด; ค่าเริ่มต้นคือ 8
  • BlastPressure (NumberValue) (optional) — แรงระเบิด; ค่าเริ่มต้นคือ 10000
  • BlastDamage (NumberValue) (optional) — ความเสียหายที่ทำให้เมื่ออยู่ในศูนย์กลางของการระเบิด หมายเหตุว่าการระเบิดจะทำให้ความเสียหายลดลงเมื่อวัตถุอยู่ไกลจากศูนย์กลางการระเบิด ค่าเริ่มต้นคือ 100

อาวุธที่ชาร์จ

อาวุธที่ชาร์จ เช่น เรลกัน ต้องชาร์จขึ้นระหว่างการยิงก่อนที่จะสามารถยิงได้อีกครั้ง

ลูกหลานของโมเดล:

  • Charging (Sound) (optional) — เล่นขณะชาร์จอาวุธ
  • Discharging (Sound) (optional) — เล่นขณะยกเลิกการชาร์จอาวุธ สำหรับตัวอย่างหากคุณชาร์จอาวุธเพียงบางส่วนและปล่อยปุ่มยิง
  • ChargeComplete (Sound) (optional) — เล่นเมื่ออาวุธชาร์จเต็มที่
  • DischargeComplete (Sound) (optional) — เล่นเมื่ออาวุธถูกถอดออกอย่างสมบูรณ์
  • ChargeGlow (BasePart) (optional) — วัตถุตัวนี้จะโปร่งแสงน้อยลงเมื่ออาวุธชาร์จเต็มที่ จนกระทั่งมันจะเต็มที่ใน 100%
  • ChargeCompleteParticles (ParticleEmitter) (optional) — ปล่อยเมื่ออาวุธชาร์จเสร็จ สิ่งนี้สามารถเป็นลูกหลานของโมเดล BasePart หรือเป็นลูกหลานของ Attachment ภายใน BasePart
  • DischargeCompleteParticles (ParticleEmitter) (optional) — ปล่อยเมื่ออาวุธถูกชาร์จจนหมดอายุ วัตถุนี้สามารถเป็นลูกหลานของโมเดล BasePart หรือเป็นลูกหลานของ Attachment ภายใน BasePart
  • ChargingParticles (ParticleEmitter) (optional) — ปล่อยระหว่างที่อาวุธกำลังชาร์จ คุณสามารถรวมอนุภาคหลายตัวที่มีชื่อนี้และแต่ละตัวจะปล่อยระหว่างการชาร์จ สิ่งนี้สามารถเป็นลูกหลานของโมเดล BasePart หรือเป็นลูกหลานของ Attachment ภายใน BasePart

ลูกหลานการกำหนดค่า:

  • ChargeRate (NumberValue) — อัตราที่อาวุธจะชาร์จ ค่าค่านี้ต้องระบุเพื่อระบุว่าอาวุธใช้การชาร์จ
  • DischargeRate (NumberValue) (optional) — อัตราที่อาวุธจะยกเลิกการชาร์จ ค่าเริ่มต้นคือ 0 ซึ่งหมายความว่าอาวุธจะไม่ทำการชาร์จเลย
  • ChargePassively (BoolValue) (optional) — ตั้งค่าเป็น true หากคุณต้องการให้อาวุธชาร์จโดยอัตโนมัติ ดังนั้นจะยิงทันทีเมื่อคุณคลิก หรือ false หากคุณต้องการคลิก/สัมผัสเพื่อชาร์จอาวุธและมียิงเมื่อชาร์จนเต็มแล้ว ค่าเริ่มต้นคือ false
  • ChargingParticlesRatePerCharge (IntValue) (optional) — จำนวนอนุภาคที่จะปล่อยออกจากอนุภาค ChargingParticles ทั้งหมด คูณโดยอัตราชาร์จของอาวุธ ค่าเริ่มต้นคือ 20 หมายความว่าถ้าอาวุธชาร์จอยู่ที่ 10% อนุภาคจะถูกปล่อยออกมา 2 อนุภาค (20×0.1) และถ้าชาร์จอยู่ที่ 90% แต่ละจะปล่อย 18 อนุภาค (20×0.9)
  • FireDischarge (NumberValue) (optional) — จำนวนการชาร์จที่จะลดหลังจากการยิงที่ชาร์จเต็มที่; ค่าเริ่มต้นคือ 1
  • NumChargeCompleteParticles (IntValue) (optional) — จำนวนอนุภาคที่จะปล่อยออกจากอนุภาค ChargeCompleteParticles เมื่อตอนที่อาวุธถูกชาร์จเต็มที่ ค่าเริ่มต้นคือ 25
  • NumDischargeCompleteParticles (IntValue) (optional) — จำนวนอนุภาคที่จะปล่อยออกจากอนุภาค DischargeCompleteParticles เมื่อตอนที่อาวุธถูกชาร์จจนเสร็จเรียบร้อย ค่าเริ่มต้นคือ 25

อาวุธธนู

อาวุธธนู เช่น คันธนูสามารถรวมถึงการสร้างสายและแขนที่สมจริงรวมถึงลูกธนูที่มองเห็นได้ติดอยู่กับสาย

นอกเหนือจากการเพิ่มลูกหลานไปยังโมเดล คุณต้องดำเนินการดังนี้:

  • ทำให้อาวุธเป็น อาวุธที่ชาร์จ ตัวอย่างเช่น เพิ่ม ChargeRate ที่ต้องส่งใน Configuration ของอาวุธซึ่งระบุความเร็วที่สายถูกดึงขึ้น นอกจากนี้ ควรพิจารณาเพิ่มลูกหลานทางเลือกไปยังโมเดล เช่น เสียงการชาร์จสำหรับการดึงพื้นฐาน/แขน
  • ตั้งค่า WeaponType ให้เป็น BowWeapon ตามที่ระบุใน โครงสร้างอาวุธ

ลูกหลานของโมเดล:

  • LeftString (Beam) (optional) — ด้านซ้ายของสายที่เห็น
  • RightString (Beam) (optional) — ด้านขวาของสายที่เห็น
  • Arrow (BasePart) (optional) — ลูกธนูที่จะปรากฏเมื่อธนูถูกดึงเต็มที่ หมายเหตุว่านี่เป็นเพียงจุดที่ใช้การมองเห็นบนธนู (ลูกธนูที่ยิงจริงจะเป็น ShotEffect ตามที่ระบุใน เอฟเฟกต์/เสียงการพุ่ง/การตี)
  • String1 (Attachment) (optional) — จุดกลางของสาย
  • StringLoose (Attachment) (optional) — จุดที่ String1 ควรอยู่เมื่อธนูอยู่ในสภาพสงบ
  • StringTight (Attachment) (optional) — จุดที่ String1 ควรอยู่เมื่อดึงธนูจนเต็มที่
  • Arms (Part) (optional) — ส่วนที่ใช้เพื่อระบุวงแขนของธนูที่จำลอง ซึ่งอาจมีลูกหลานต่อไปนี้:
  • LeftString0 (Attachment) (optional) — จุดที่ด้านซ้ายของสายติดอยู่กับธนู
  • RightString0 (Attachment) (optional) — จุดที่ด้านขวาของสายติดอยู่กับธนู
  • LeftLoose (Attachment) (optional) — จุดที่ LeftString0 ควรทำให้สภาพสงบ
  • RightLoose (Attachment) (optional) — จุดที่ RightString0 ควรทำให้สภาพสงบ
  • LeftTight (Attachment) (optional) — จุดที่ LeftString0 ควรเกิดผูกเมื่อธนูดึงขึ้น
  • RightTight (Attachment) (optional) — จุดที่ RightString0 ควรเกิดผูกเมื่อธนูดึงขึ้น
  • [SpecialMesh] (SpecialMesh) (optional) — ส่วนของธนูที่จะยืดเมื่อธนูถูกดึงออก ไม่ว่าของนี้จะต้องระบุตำแหน่ง 3D ของ 4 Vector3Value

Weapons system GUI

ระบบอาวุธหลักทำงานร่วมกับระบบนี้เพื่อปรับปรุง GUI ตามสิ่งที่เช่นการกระจายของปืน การระบุเมื่อคุณถูกตีหรือทำตีคนอื่น ๆ เป็นต้น

WeaponsSystemGui เป็นวัตถุ ScreenGui ใน WeaponsSystem/Assets ที่ถูกเชื่อมโยงกับ PlayerGui เมื่อการทำงานของประสบการณ์เริ่มต้น WeaponsSystemGui มีลูกหลาน 4 ตัว:

  • ScalingElements - โฟลเดอร์ Folder ขององค์ประกอบบนหน้าจอ
  • LargeTouchscreen - แฟร์ม Frame สำหรับปุ่มที่อยู่บนหน้าจอสัมผัสใหญ่
  • Scope - แฟร์ม Frame สำหรับการซูมด้วยอาวุธที่ใช้สโคป
  • SmallTouchscreen - แฟร์ม Frame สำหรับปุ่มที่อยู่บนหน้าจอสัมผัสเล็ก

องค์ประกอบที่ปรับขนาด

ScalingElements คือโฟลเดอร์ Folder ที่อยู่ภายใต้ WeaponsSystemGui ที่มีลูกหลานดังต่อไปนี้:

ชื่อประเภทตัวอย่างคำอธิบาย
DirectionalIndicatorsFolderโฟลเดอร์ Folder ที่เก็บ ตัวบ่งชี้ทิศทาง ทั้งหมด
CrosshairFrameแฟร์ม Frame ที่มีวัตถุต่อไปนี้:

[UIAspectRationConstraint] - UIAspectRatioConstraint
Bottom - ImageLabel
Left - ImageLabel
Right - ImageLabel
Top - ImageLabel
HitMarkerFrameแฟร์ม Frame ที่มีวัตถุต่อไปนี้:

[UIAspectRatioConstraint] - UIAspectRatioConstraint
HitMarkerImage - ImageLabel ที่ปรากฏและหายไปเมื่อผู้เล่นตีตัวละครผู้เล่นคนอื่นสำเร็จ

LargeTouchscreen

LargeTouchscreen คือแฟร์ม Frame ที่มีปุ่มที่แสดงระหว่างหน้าจอสัมผัสใหญ่ LargeTouchscreen มีลูกหลานดังต่อไปนี้:

สโคป

Scope คือแฟร์ม Frame ที่มี ScopeImage (ImageLabel) ซึ่งแสดงเมื่อซูมเข้าไปในอาวุธที่มีการตั้งค่าสโคป (ดูที่ โครงสร้างอาวุธ)

สโคป มีลูกหลานดังต่อไปนี้:

ชื่อประเภทตัวอย่างคำอธิบาย
ScopeInstanceFrameแฟร์ม Frame ที่มีสินทรัพย์ที่ใช้เมื่อซูมเข้าอาวุธด้วย HasScope ที่เปิดอยู่:

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

SmallTouchscreen

SmallTouchScreen คือแฟร์ม Frame ที่มีปุ่มที่แสดงระหว่างหน้าจอสัมผัสเล็ก SmallTouchscreen มีลูกหลานดังต่อไปนี้:

สร้างตัวบ่งชี้ทิศทาง

ตัวบ่งชี้ทิศทางใช้เพื่อแสดงทิศทางของสิ่งต่าง ๆ รอบ ๆ ทฤษฎีเล็งของผู้เล่น ตัวอย่างเช่น หากมีคนยิงคุณ นักกีฬาอาจปรากฏรอบตัวคุณในทิศทางที่การยิงมาจาก นอกจากนี้ยังมีตัวอย่างอื่น ๆ เพื่อแสดงทิศทางของการก้าวเดิน เสียงของปืนระยะทาง หรือแม้กระทั่งวัตถุด้านสิ่งแวดล้อมเช่นกล่องเก็บของ

ในการสร้างตัวบ่งชี้ใหม่ ให้เพิ่มชั้น Indicator Frame ใน WeaponsSystemGui/ScalingElements/DirectionalIndicators โดยมีโครงสร้างดังนี้:

ชื่อประเภทตัวอย่างคำอธิบาย
[UIAspectRationConstraint] UIAspectRatioConstraint
[ImageLabel]ImageLabelภาพของตัวบ่งชี้ทิศทาง ปรับหมุนภาพใน Studio อาจเป็นสิ่งจำเป็น เว้นแต่คุณจะอัปโหลดภาพที่หันไปด้านล่าง และมีพื้นที่ว่างน้อยหรือไม่มีเลยรอบ ๆ
ฉลากภาพควรมี
UIAspectRatioConstraint ของตัวเอง
[Configuration]Configurationมีคุณสมบัติเสริมเพื่อปรับแต่ง ดูที่ การกำหนดค่าตัวบ่งชี้ สำหรับข้อมูลเพิ่มเติม

เมื่อสร้างเสร็จแล้ว คุณสามารถเปิดตัวบ่งชี้ผ่านคำสั่งดังต่อไปนี้ภายใน WeaponsSystem/Libraries/WeaponsGui ที่ indicatorName เป็นชื่อเส้นของตัวบ่งชี้ที่เปิดใช้งานและ worldPos เป็นตำแหน่งในโลกที่ตัวบ่งชี้ทิศทางควรชี้:


self.DirectionalIndicatorGuiManager:ActivateDirectionalIndicator(indicatorName, worldPos)

การกำหนดค่าตัวบ่งชี้

ตัวบ่งชี้ทิศทางสามารถปรับแต่งเพิ่มเติมได้โดยการปรับการตั้งค่าในวัตถุ Configuration ที่เป็นลูกหลานอยู่ใต้ [Indicator] การตั้งค่าเหล่านี้ทั้งหมดมีค่าตั้งต้น ซึ่งไม่จำเป็นต้องกำหนดเมื่อไม่ได้แก้ไขการตั้งค่า

การตั้งค่าดังต่อไปนี้สามารถตั้งค่าได้:

ชื่อประเภทตัวอย่างคำอธิบาย
DistanceLevelFromCenterNumberValueจำนวนระดับจากจุดศูนย์กลางของหน้าจอ (แต่ละระดับตั้งอยู่ประมาณ 0.03 เท่าของขนาดหน้าจอ); ค่าเริ่มต้นคือ 6
FadeTimeNumberValueเวลาเลือนซึ่งตามการเปิดใช้งานตัวบ่งชี้และเวลาที่ TimeBeforeFade; ค่าเริ่มต้นคือ 1.
NameStringValueชื่อของตัวบ่งชี้ทิศทางตามที่คุณต้องการอ้างอิงในโค้ด; ค่าเริ่มต้นคือชื่อของ Frame ชั้นบนสุดของตัวบ่งชี้
TimeBeforeFadeNumberValueจำนวนวินาทีที่ตัวบ่งชี้จะแสดงก่อนที่จะเลือน; ค่าเริ่มต้นคือ 1
TransparencyBeforeFadeNumberValueความโปร่งแสงของตัวบ่งชี้ก่อนที่จะเริ่มเลือน; ค่าเริ่มต้นคือ 0
WidthLevelNumberValueจำนวนระดับความกว้างจากศูนย์กลาง (แต่ละระดับขนาดคือประมาณ 0.03 เท่าของขนาดหน้าจอ); ค่าเริ่มต้นคือค่า DistanceLevelFromCenter

แสดงบิลบอร์ดความเสียหาย

บิลบอร์ดความเสียหายใช้เพื่อแสดงตัวเลขเล็ก ๆ บนหัวของตัวละครเมื่อได้รับความเสียหาย สิ่งเหล่านี้จะแสดงขึ้นเฉพาะสำหรับผู้เล่นที่ทำให้ความเสียหายแก่ตัวละครของผู้เล่นคนอื่น ไม่ใช่สำหรับผู้เล่นที่อยู่ในโหมดสังเกต

บิลบอร์ดความเสียหายจะถูกจัดการใน WeaponsSystem/Libraries/DamageBillboardHandler และสามารถเปิดใช้งานจากโค้ดฝั่งลูกค้าใด ๆ ได้ดังนี้ โดยที่ความเสียหายคือจำนวนความเสียหายที่จะทำ และ adornmentPart คือส่วนที่สำหรับประดับบิลบอร์ด เช่นหัวของเหยื่อ:


DamageBillboardHandler:ShowDamageBillboard(damage, adornmentPart)

กล้องบนไหล่

กล้องบนไหล่เป็นกล้องแบบบุคคลที่สามที่มองข้ามไหล่ขวาของตัวละครผู้เล่น เพื่อปรับแต่งกล้องบนไหล่ให้ปรับเปลี่ยนตัวแปรใต้ -- พารามิเตอร์การกำหนดค่า (ค่าคงที่) ในฟังก์ชัน ShoulderCamera.new() ของ WeaponsSystem/Libraries/ShoulderCamera คุณสามารถปรับแต่งสิ่งต่าง ๆ เช่นมุมมองด้านกว้าง ระยะห่างจากตัวละคร ความเร็วในการเดินในขณะ วิ่งหรือซูม เป็นต้น

การควบคุมการวิ่งและซูมตามค่าเริ่มต้น ระบบอาวุธจะเพิ่มความสามารถในการ "วิ่ง" ดังนั้นผู้เล่นสามารถวิ่งได้โดยการกดปุ่ม Shift ดันขึ้นสุดที่ thumbstick แบบไดนามิก (มือถือ) หรือดันขึ้นสุดที่จอยสติ๊กซ้าย (เกมแพด) หากคุณต้องการปิดการวิ่ง ให้ตั้งค่าค่าของ SprintEnabled ภายใน WeaponsSystem/Configuration เป็น false

ระบบยังลดความเร็วของผู้เล่นขณะเล็ง/ซูม แต่คุณสามารถปิดพฤติกรรมนี้ได้โดยการตั้งค่าค่าของ SlowZoomWalkEnabled เป็น false

©2026 Roblox Corporation. Roblox, โลโก้ Roblox และ Powering Imagination เป็นส่วนหนึ่งของเครื่องหมายการค้าที่จดทะเบียน และไม่ได้จดทะเบียนของเราในสหรัฐฯ และประเทศอื่นๆ