Waffen-Kit

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Um bei der Erstellung wettbewerbsbasierter Kampf-Erfahrungen zu unterstützen, stehen mehrere empfohlene Waffen zur Verfügung, die in jeder Erfahrung verwendet werden können. Das Kernsystem bietet projektilebasierte Waffen mit einer über der Schulter Kameraperspektive, und das Einstellen der Projektilgeschwindigkeit auf einen hohen Wert kann raycastähnliche Waffen wie Lasergewehre simulieren.

Um eine empfohlene Waffe in deiner Erfahrung zu verwenden:

  1. Wähle eine Waffe unten aus, indem du zum Link der Asset-Bibliothek navigierst.
Pistole
Schrotflinte
Sturmgewehr
Maschinenpistole
Schneiderrifle
Armbrust
Granatwerfer
Raketenwerfer
Railgun
  1. Gehe auf die Artikelseite der Waffe, klicke auf die grüne Holen-Taste und bestätige die Transaktion.

  2. Öffne im Studio die Toolbox.

  3. Wähle den Abschnitt Inventar in deiner Toolbox aus.

  4. Finde die Waffe und klicke darauf, um sie in den Ort hinzuzufügen. Wenn du gefragt wirst, ob das Werkzeug in das Starter-Pack gelegt werden soll, klicke auf Ja, wenn du möchtest, dass die Spieler mit der Waffe in ihrem Rucksack beginnen, oder klicke auf Nein, um die Waffe einfach als Pickup in der 3D-Welt zu platzieren.

  5. Wenn dies das erste Mal ist, dass eine empfohlene Waffe hereingebracht wird, verschiebe ihren WeaponsSystem-Ordner in ServerScriptService, um als einheitlicher Systemordner für alle empfohlenen Waffen in der Erfahrung zu dienen.

Systemordnerstruktur

Der WeaponsSystem-Ordner ist ein einheitlicher Ordner, der Assets, Konfigurationen und Skripte enthält, die alle empfohlenen Waffen in der Erfahrung betreiben. Wenn er sich in ServerScriptService befindet, überschreibt er alle entsprechenden WeaponsSystem-Ordner, die sich in einzelnen Waffen befinden könnten.

Der WeaponsSystem-Ordner enthält die folgenden Instanzen:

Innerhalb des WeaponsSystem-Ordners werden verschiedene Aspekte durch die folgenden ModuleScripts gesteuert:

AspektPrimär verwaltet innerhalb...
Waffenfunktionalität
  • Libraries/BaseWeapon
  • WeaponTypes/BulletWeapon
  • WeaponTypes/BowWeapon
Schulterkamera
  • Libraries/ShoulderCamera
Waffen-GUI
  • Libraries/WeaponsGui
  • Libraries/DirectionalIndicatorGuiManager
  • Libraries/DamageBillboardHandler

Waffenstruktur

Empfohlene Waffen sind Tools und sind so benannt, wie sie im Rucksack des Spielers erscheinen werden. Jede Waffe hat eine ähnliche Hierarchie.

Waffentyp

Der WeaponType StringValue entspricht dem ModuleScript für die Waffe im WeaponsSystem/WeaponTypes-Ordner. Die zwei Basiswerte sind BulletWeapon und BowWeapon.

Waffenmodell

Jede Waffe enthält ein Model, das aus einem oder mehreren BaseParts besteht, um die physische Waffe zu bilden. Eine dieser Teile sollte als das PrimaryPart des Modells festgelegt werden.

Das Modell enthält auch die folgenden wichtigen Nachkommen, die an eines der BaseParts des Modells angehängt werden können:

  • TipAttachmentAttachment, dessen Position auf dem übergeordneten BasePart bestimmt, wo Kugeln/Projektilen herauskommen.
  • HandleAttachmentAttachment, dessen Position auf dem übergeordneten BasePart bestimmt, wo der Griff geschweißt ist.
  • Fired
    optional
    Sound, die spielt, wenn die Waffe abgefeuert wird.
  • Reload
    optional
    Sound, die spielt, wenn die Waffe nachgeladen wird.
  • Zusätzliche Nachkommen für alle spezialisierten Optionen.

Waffengriff

Der Griff-Teil bestimmt, wo ein Spielercharakter die Waffe hält. Dies muss ein Part sein, es muss Griff genannt werden, und es muss ein unmittelbares Kind der Waffe (Werkzeug) sein.

Konfigurationsordner

Der Configuration-Ordner enthält spezifische "Wert"-Typen für das Verhalten der Waffe. Über die Standardwerte hinaus kannst du zusätzliche Konfigurationselemente für spezialisierte Optionen hinzufügen, wenn dies zutrifft.

Hier sind die Basiskonfigurationen und ihre Standardwerte:

ElementBeschreibungStandard
AmmoCapacityAnzahl der Schüsse in jedem "Munitionsclip", bevor der Spieler nachladen muss. Beachte, dass Munition unbegrenzt ist und dies nicht angibt, wie viel Munition ein Spieler trägt.30
FireModeWähle entweder Semiautomatic (ein Schuss pro Klick/Tap), Automatic (fortlaufendes Feuern) oder Burst (Serienschüsse entsprechend NumBurstShots bei jedem Klick/Tap).Semiautomatic
ShotCooldownMinimale Wartezeit zwischen Klicks. Bei Waffen mit dem FireMode Automatic ist dies auch die Zeit zwischen Schüssen, während die Feuertaste gedrückt gehalten wird oder der Klick erfolgt.0.1
BurstShotCooldownZeit zwischen jedem Schuss in einer Serie; zählt nur, wenn du den FireMode auf Burst festlegst.Wert von ShotCooldown
NumBurstShotsAnzahl der Schüsse pro Klick/Burst; zählt nur, wenn du den FireMode auf Burst festlegst.3
HitDamageDie Menge an Schaden, den jeder direkte Treffer anrichtet.10
FullDamageDistanceMaximale Entfernung, in der Schüsse vollen Schaden anrichten. Alles, was über diese Entfernung getroffen wird, erleidet immer weniger Schaden, je näher die Entfernung zu ZeroDamageDistance kommt.1000
ZeroDamageDistanceAlles, was in dieser Entfernung oder darüber getroffen wird, erleidet keinen Schaden.10000
BulletSpeedDie Geschwindigkeit, mit der Kugeln/Projektilen beim Schuss reisen. Das Festlegen dieses Wertes auf einen sehr hohen Wert wie 20000 simuliert raycasting Waffen wie Lasergewehre.1000
MaxDistanceMaximale Entfernung, die Kugeln/Projektilen zurücklegen, bevor sie verschwinden.2000
MinSpreadMinimale Streuung der Waffe.0
MaxSpreadMaximale Streuung der Waffe.Wert von MinSpread
GravityFactorDie Menge, in der die Schwerkraft jeden Schuss/projektil beeinflussen soll. Beispielsweise beträgt dieser Wert für die Armbrust 1, da Pfeile während des Flugs eine Kurve machen, aber dieser Wert für den Raketenwerfer beträgt 0, da angetriebene Raketen geradeaus fliegen.0
HasScopeAuf true setzen, wenn du das Fadenkreuz verwenden möchtest, das in der Weapons System GUI spezifiziert ist.false
ReloadAnimationName der Nachlade-Animationsspur in Assets/Animations des Systemordners.RifleReload
AimTrackName der Ziel-Animationsspur in Assets/Animations des Systemordners.RifleAim
AimZoomTrackName der Ziel-Animationsspur bei Zoom in Assets/Animations des Systemordners.RifleAimDownSights
RecoilMinMinimaler Rückstoß, der bei jedem Schuss hinzugefügt wird.0.05
RecoilMaxMaximaler Rückstoß, der bei jedem Schuss hinzugefügt wird.0.5
TotalRecoilMaxMaximal akkumulierte Rückstoß insgesamt. Der aktuelle Rückstoß der Waffe wird diesen Wert nie überschreiten.2
RecoilDecayVerfallsfaktor für Rückstoß; im Wesentlichen die Rate, mit der der Rückstoß nach dem Schießen nachlässt.0.825
RecoilDelayTimeWartezeit nach dem Schießen/Klicken, bevor der Rückstoß zur Kamera hinzugefügt wird.0.07
StartupTimeLänge der Zeit nach dem Ausrüsten der Waffe, bevor der Spieler schießen kann. Dies verhindert, dass Spieler aus verschiedenen Waffen in schneller Folge einzelne Schüsse abgeben.0.2
FiredPlaybackSpeedRangeDie Menge, in der die Tonhöhe für den Fired-Sound der Waffe variieren kann. Setze dies auf 0, um ihn immer in der gleichen Tonhöhe abzuspielen.0.1
NumProjectilesDie Anzahl der Kugeln/Projektilen, die gleichzeitig abgefeuert werden, wenn du einmal klickst/tapst. Dies ist nützlich für Waffen wie die Schrotflinte, die mehrere Kugeln gleichzeitig abfeuert. Beachte, dass ein Schuss immer genau eine Munition verwendet, unabhängig von diesem Wert.1

Spezialisierte Optionen

Du kannst die folgenden Optionen für jede Waffe hinzufügen/modifizieren. Diese Anpassungen erfordern das Modifizieren entweder des Model der Waffe, des Configuration der Waffe oder beides. Einige Konfigurationen hängen von anderen ab, wie z.B. den Mündungs-Partikeln, die die erforderlichen Kinder für Projektil-/Treffer-Effekte und -Geräusche benötigen.

Bolzenanimationen und -geräusche

Der Bolzen einer Waffe ist der Teil, der sich jedes Mal hin und her bewegt, wenn sie abgefeuert wird.

BolzenBasePart, das sich bewegt, wenn die Waffe abgefeuert wird.
BolzenMotorMotor6D, das zur Animation des Bolzens verwendet wird. Stelle sicher, dass der Part0 des Motors auf das PrimaryPart des Waffenmodells und Part1 auf den Bolzen-Teil gesetzt wird.
BolzenMotorStartAttachment, dessen Position auf dem übergeordneten BasePart bestimmt, wo sich der Bolzen im Ruhezustand befindet.
BolzenMotorZielAttachment, dessen Position auf dem übergeordneten BasePart bestimmt, wo sich der Bolzen bei Schüssen animiert.
BolzenÖffnungsGeräuschSound, das abgespielt wird, wenn der Bolzen geöffnet wird.
optional
BolzenSchließungsGeräuschSound, das abgespielt wird, wenn der Bolzen schließt.
optional
ElementBeschreibungStandard
ActionOpenTimeDie Zeit, die benötigt wird, damit sich der Bolzen in die offene Position animiert.0.025
ActionCloseTimeDie Zeit, die benötigt wird, damit sich der Bolzen in die geschlossene Position animiert.0.075

Ausstoßen von Hülsen

Waffen können physische Hülsen enthalten, die beim Abfeuern ausgestoßen werden und zu Boden fallen.

HülsenAusstoßpunktAttachment, dessen Position auf dem übergeordneten BasePart bestimmt, wo du willst, dass Hülsen herauskommen. Beachte, dass die Orientierung bestimmt, in welche Richtung die Hülsen herauskommen.
ElementBeschreibungStandard
HülsenEffektName des Hülsen-BasePart in Assets/Effects/Casings des Systemordners.
HülsenAusstoßGeschwindigkeitMinMinimale Ausstoßgeschwindigkeit der Hülsen15
HülsenAusstoßGeschwindigkeitMaxMaximale Ausstoßgeschwindigkeit der Hülsen18
HülsenTrefferGeräuschSound, das abgespielt wird, wenn die Hülsen den Boden treffen.
optional

Projektil-/Treffer-Effekte und -Geräusche

Du kannst physische Projektilen für jede Waffe konfigurieren, zusammen mit Sounds, Beams und ParticleEmitters für Treffer-Effekte und andere spezielle Effekte.

ElementBeschreibungStandard
ShotEffectName eines Schusseffekts, der in Assets/Effects/Shots des Systemordners gespeichert ist.
ShouldMovePartAuf true setzen, wenn der ShotEffect der Waffe sich mit dem Projektil bewegen soll, oder auf false, wenn nicht. Das solltest du nur auf true setzen, wenn es ein sichtbares Objekt gibt, das sich mit jedem Schuss bewegt, wie beispielsweise ein Pfeil oder eine Rakete.false
BeamFadeTimeDie Zeit, die benötigt wird, damit Beam0 oder Beam1 (siehe unten) verblasst, nachdem die Kugel/das Projektil etwas trifft. Standardmäßig wird kein manuelles Verblassen durch den Code angewendet.0
BeamWidth0Die Dicke von Beam0 oder Beam1 bei Attachment0 (siehe unten).1.5
BeamWidth1Die Dicke von Beam0 oder Beam1 bei Attachment1 (siehe unten).1.8
NumHitParticlesDie Anzahl der Partikel, die der HitParticles (siehe unten)-Emitter emittieren wird.3
HitParticlesUsePartColorAuf true setzen, wenn du möchtest, dass die Trefferpartikel die Farbe der getroffenen Oberfläche haben; false, wenn du möchtest, dass die Trefferpartikel die Farbe nicht ändern.true

ShotEffect-Nachkommen

Nachkommen des angegebenen ShotEffect, die im vorherigen Abschnitt angegeben wurden

FliegendSound, das abgespielt wird, während die Kugel/das Projektil sich bewegt.
optional
Beam0Erster Platz für einen nachzogenen Beam hinter der Kugel/dem Projektil. Vergiss nicht, Attachment0 und Attachment1 festzulegen.
optional
Beam1Zweiter Platz für einen nachzogenen Beam hinter der Kugel/dem Projektil. Vergiss nicht, Attachment0 und Attachment1 festzulegen.
optional
Attachment0Attachment, dessen Position auf dem übergeordneten BasePart das Ende der nachgezogenen Strahlen bestimmt; stelle sicher, dass du Beam.Attachment0 sowohl für Beam0 als auch für Beam1 auf dies setzt.
optional
Attachment1Attachment, dessen Position auf dem übergeordneten BasePart das Ende der nachgezogenen Strahlen bestimmt; stelle sicher, dass du Beam.Attachment1 sowohl für Beam0 als auch für Beam1 auf dies setzt.
optional
TrailParticlesParticleEmitter, der direkt als Kind von Attachment0 angehängt ist; dies wird emittiert, während die Kugel/das Projektil sich bewegt.
optional
LeadingParticlesParticleEmitter, der direkt als Kind von Attachment1 angehängt ist; dies wird emittiert, während die Kugel/das Projektil sich bewegt.
optional
HitEffectAttachment, dessen Position auf Beam.Attachment1 von Beam0 gesetzt wird, wenn die Kugel/das Projektil trifft. Du musst Beam0 und seine Anhänge angeben, damit dies richtig funktioniert.
optional
HitSoundSound, das als direktes Kind von HitEffect angehängt ist; spielt, wenn die Kugel/das Projektil trifft.
optional
HitParticlesSound, das als direktes Kind von HitEffect angehängt ist; emittiert, wenn die Kugel/das Projektil trifft.
optional
[ProjectilePart]Jeder Part oder MeshPart, der als physisches Projektil erscheinen soll. Stelle sicher, dass du ShouldMovePart, wie im vorherigen Abschnitt angegeben, auf true setzt, wenn du hier ein sichtbares Objekt hast.
optional

Mündungs-Partikel

Diese Option emittiert Partikel von dem angegebenen ParticleEmitter an der TipAttachment-Attachment der Waffe, wenn sie abgefeuert wird.

Konfigurationsnachkommen:

  • ShotEffect (StringValue) — Name eines Schusseffekts, der in WeaponsSystem/Assets/Effects/Shots gespeichert ist.
  • NumMuzzleParticles (IntValue) (optional) — Anzahl der Mündungs-Partikel, die emittiert werden; Standard ist 50.

Für den angegebenen Schusseffekt füge ein ParticleEmitter-Asset innerhalb von WeaponsSystem/Assets/Effects/Shots mit dem Namen MuzzleParticles hinzu.

Mündungsblitze

Diese Option erstellt einen Class.Beam-Blitz-Effekt, wenn die Waffe abgefeuert wird.

Modell-Nachkommen:

  • MuzzleFlash0 (Attachment) — Wird verwendet, um eine Seite des Mündungsblitzes anzugeben. Die Position spielt keine Rolle.
  • MuzzleFlash1 (Attachment) — Wird verwendet, um die gegenüberliegende Seite des Mündungsblitzes anzugeben. Die Position spielt keine Rolle.
  • MuzzleFlash (Beam) — Stelle sicher, dass du Attachment0 auf MuzzleFlash0 und Attachment1 auf MuzzleFlash1 setzt.

Konfigurationsnachkommen:

  • MuzzleFlashTime (NumberValue) (optional) — Länge der Zeit, die der Mündungsblitz sichtbar sein wird; Standard ist 0.03.
  • MuzzleFlashRotation0 (NumberValue) (optional) — Minimale Drehung des Mündungsblitzes; Standard ist -math.pi.
  • MuzzleFlashRotation1 (NumberValue) (optional) — Maximale Drehung des Mündungsblitzes; Standard ist math.pi.
  • MuzzleFlashSize0 (NumberValue) (optional) — Minimale Größe des Mündungsblitzes; Standard ist 1.
  • MuzzleFlashSize1 (NumberValue) (optional) — Maximale Größe des Mündungsblitzes; Standard ist 1.

Partikelspuren

Diese Option erstellt eine Spur unterschiedlicher Länge von der Waffe bis zur Projektiltrefferstelle.

Konfigurationsnachkommen:

  • TrailLength (NumberValue) (optional) — Länge der Spur hinter der Kugel/dem Projektil; Standard ist nil, was bedeutet, dass die Länge der Spur stattdessen unter Verwendung von TrailLengthFactor berechnet wird.
  • TrailLengthFactor (NumberValue) (optional) — Die Länge der Spur wird auf diesen Wert eingestellt, multipliziert mit der Distanz, die die Kugel/das Projektil im letzten Frame zurückgelegt hat; Standard ist 1. Beachte, dass dies überschrieben wird, wenn du TrailLength angibst.
  • ShowEntireTrailUntilHit (BoolValue) (optional) — Setze auf true, um die Spur von der Waffenmündung bis zu dem Ort, an dem das Projektil ist, vollständig anzuzeigen; dies überschreibt sowohl TrailLength als auch TrailLengthFactor, und die Spur verschwindet erst, wenn das Projektil etwas trifft. Setze auf false, um eine der oben genannten Optionen zur Berechnung der Spurlänge zu verwenden. Standard ist false.

Treffer-Markierungen

Diese visuelle Ergänzung erscheint auf der Oberfläche, wo Projektilen treffen, und ist nützlich für Pfeile, Kugellöcher, Brandspuren usw.

Konfigurationsnachkommen:

  • HitMarkEffect (StringValue) (optional) — Name des Treffer-Marker-Effekts, der innerhalb von WeaponsSystem/Assets/Effects/HitMarks gespeichert ist; Standard ist BulletHole.
  • AlignHitMarkToNormal (BoolValue) (optional) — Setze auf true, wenn die Treffer-Markierung immer flach gegen die Oberfläche ausgerichtet sein soll wie bei einem Kugelloch, oder auf false, wenn die Treffer-Markierung erscheinen soll, als ob sie von der Richtung, aus der das Projektil kam, in die Oberfläche gedrückt ist (wie bei einem Pfeil). Standard ist true.

Du kannst die folgende optionale Asset innerhalb von WeaponsSystem/Assets/Effects/HitMarks hinzufügen:

  • Glow (Decal) (optional) — Erscheint auf der getroffenen Oberfläche vollständig undurchsichtig, wird dann schnell transparenter, wie ein leuchtender Effekt auf der Oberfläche, der schnell verblasst. Nützlich für Dinge wie das Anzeigen eines leuchtend roten Marks, wo Sprengstoffe getroffen sind.
  • BulletHole (Decal) (optional) — Erscheint auf der getroffenen Oberfläche vollständig undurchsichtig und verblasst nach 4 Sekunden innerhalb von 1 Sekunde auf transparent.
  • ImpactBillboard (BillboardGui) (optional) — Wird an der getroffenen Oberfläche angezeigt und zeigt immer auf die Kamera.
    • Impact (ImageLabel) (optional) — Direktes Kind von ImpactBillboard; dieses beginnt vollständig undurchsichtig, wächst zur vollen Größe des ImpactBillboard in 0.1 Sekunden und schrumpft dann auf die Hälfte seiner Größe und verblasst in 0.1 Sekunden vollständig.
  • Jeder Part/MeshPart/SpecialMesh, der als physisches Projektil erscheinen soll (optional). Wenn du z.B. ein Pfeil-MeshPart einfügst und AlignHitMarkToNormal, wie oben angegeben, auf false setzt, wird der Pfeil aus der Oberfläche herausstechen in der Richtung, aus der du ihn abgeschossen hast.

Explodierende Projektilen

Projektilen können ein Explosionsobjekt enthalten, um Spielercharaktere im Umkreis des Aufschlagpunkts zu beschädigen.

Konfigurationsnachkommen:

  • ExplodeOnImpact (BoolValue) (optional) — Auf true setzen, wenn du möchtest, dass Kugeln/Projektilen der Waffe beim Aufprall explodieren, sonst auf false. Standard ist false.
  • BlastRadius (NumberValue) (optional) — BlastRadius der Explosion; standardmäßig ist 8.
  • BlastPressure (NumberValue) (optional) — BlastPressure der Explosion; standardmäßig ist 10000.
  • BlastDamage (NumberValue) (optional) — Schaden, der an den Dingen im Zentrum der Explosion verursacht wird. Beachte, dass die Explosion weniger Schaden verursacht, je weiter die getroffenen Objekte vom Zentrum der Explosion entfernt sind. Standard ist 100.

Ladewaffe

Eine Ladewaffe wie die Railgun muss zwischen den Schüssen aufgeladen werden, bevor sie erneut feuern kann.

Modell-Nachkommen:

  • Laden (Sound) (optional) — Spielt, während die Waffe aufgeladen wird.
  • Entladen (Sound) (optional) — Spielt, während die Waffe entladen wird, z. B. wenn du die Waffe nur teilweise auflädst und die Feuertaste loslässt.
  • LadungAbgeschlossen (Sound) (optional) — Spielt, wenn die Waffe vollständig aufgeladen ist.
  • EntladungAbgeschlossen (Sound) (optional) — Spielt, wenn die Waffe vollständig entladen ist.
  • LadeLeuchten (BasePart) (optional) — Dieses Objekt wird weniger transparent, während die Waffe auflädt, sodass es bei 100% Ladung vollständig undurchsichtig ist.
  • LadungsAbgeschlossenPartikel (ParticleEmitter) (optional) — Emitiert, wenn die Waffe das vollständige Laden abgeschlossen hat. Dieser Emitter kann ein Kind eines beliebigen BasePart-Modells oder eines Attachment innerhalb des BasePart sein.
  • EntladungAbgeschlossenPartikel (ParticleEmitter) (optional) — Emitiert, wenn die Waffe vollständig entladen ist. Dieser Emitter kann ein Kind eines beliebigen BasePart-Modells oder eines Attachment innerhalb des BasePart sein.
  • LadungsPartikel (ParticleEmitter) (optional) — Emitiert, während die Waffe aufgeladen wird. Du kannst mehrere Emitter dieses Namens einfügen, und jeder wird während des Ladevorgangs emitieren. Dieser Emitter kann ein Kind eines beliebigen BasePart-Modells oder eines Attachment innerhalb des BasePart sein.

Konfigurationsnachkommen:

  • ChargeRate (NumberValue) — Rate, mit der die Waffe auflädt. Dieser Wert muss angegeben werden, um anzuzeigen, dass die Waffe ein Laden verwendet.
  • DischargeRate (NumberValue) (optional) — Rate, mit der die Waffe entladen wird; Standard ist 0, was bedeutet, dass die Waffe überhaupt nicht entladen wird.
  • ChargePassively (BoolValue) (optional) — Auf true setzen, wenn du möchtest, dass die Waffe passiv auflädt, sodass sie sofort schießt, wenn du klickst, oder auf false, wenn du klicken/tippen möchtest, um die Waffe aufzuladen und sie abzufeuern, sobald die volle Ladung erreicht ist. Standard ist false.
  • ChargingParticlesRatePerCharge (IntValue) (optional) — Anzahl der Partikel, die aus allen ChargingParticles-Emittern emittiert werden, multipliziert mit der aktuellen Ladung der Waffe. Standard ist 20, was bedeutet, dass, wenn die Waffe auf 10% geladen ist, jeder ChargingParticles-Emitter 2 Partikel emittiert (20×0.1), und wenn die Waffe auf 90% geladen ist, jeder Emitter 18 Partikel emittiert (20×0.9).
  • FireDischarge (NumberValue) (optional) — Menge an Ladung, die die Waffe nach dem Abfeuern eines voll aufgeladenen Schusses verlieren wird; Standard ist 1.
  • NumChargeCompleteParticles (IntValue) (optional) — Anzahl der Partikel, die der LadungsAbgeschlossenPartikel-Emitter emittieren wird, sobald die Waffe vollständig aufgeladen ist. Standard ist 25.
  • NumDischargeCompleteParticles (IntValue) (optional) — Anzahl der Partikel, die der EntladungAbgeschlossenPartikel-Emitter emittieren wird, wenn die Waffe vollständig entladen ist. Standard ist 25.

Bogenwaffe

Eine Bogenwaffe wie die Armbrust kann eine realistische Schnur- und Armkonstruktion enthalten, sowie einen visuellen Pfeil, der auf die Schnur aufgetragen ist.

Zusätzlich zur Hinzufügung von Modell-Nachkommen musst du folgendes anwenden:

  • Mache die Waffe zu einer Ladewaffe. Füge beispielsweise den erforderlichen ChargeRate innerhalb der Konfiguration der Waffe hinzu, die angibt, wie schnell die Schnur gezogen wird. Erwäge außerdem das Hinzufügen von optionalen Nachkommen zum Modell der Waffe, wie beispielsweise einen Lade-Ton für das Zurückziehen von Schnur/Armen.
  • Setze den WeaponType auf BowWeapon, wie in Waffenstruktur angegeben.

Modell-Nachkommen:

  • LinkeSchnur (Beam) (optional) — Die visuelle linke Hälfte der Schnur.
  • RechteSchnur (Beam) (optional) — Die visuelle rechte Hälfte der Schnur.
  • Pfeil (BasePart) (optional) — Der Pfeil, der erscheint, wenn der Bogen vollständig gezogen ist. Beachte, dass dies nur zur visuellen Darstellung auf dem Bogen dient (der tatsächlich abgefeuerte Pfeil wird ein ShotEffect sein, wie in Projektil-/Treffer-Effekte und -Geräusche angegeben).
  • Schnur1 (Attachment) (optional) — Der Mittelpunkt der Schnur.
  • SchnurLocker (Attachment) (optional) — Punkt, an dem Schnur1 sein sollte, wenn der Bogen im Ruhezustand ist.
  • SchnurZug (Attachment) (optional) — Punkt, an dem Schnur1 sein sollte, wenn der Bogen vollständig gezogen ist.
  • Arme (Part) (optional) — Ein Teil, das einfach als internes Indiz dient, dass die Bogenarme animiert werden. Dies kann die folgenden direkter Kinder enthalten:
  • LinkeSchnur0 (Attachment) (optional) — Punkt, an dem die linke Seite der Schnur am Bogen befestigt ist.
  • RechteSchnur0 (Attachment) (optional) — Punkt, an dem die rechte Seite der Schnur am Bogen befestigt ist.
  • LinkeLocker (Attachment) (optional) — Punkt, an dem LinkeSchnur0 sein sollte, wenn der Bogen im Ruhezustand ist.
  • RechteLocker (Attachment) (optional) — Punkt, an dem RechteSchnur0 sein sollte, wenn der Bogen im Ruhezustand ist.
  • LinkeZug (Attachment) (optional) — Punkt, an dem LinkeSchnur0 sein sollte, wenn der Bogen vollständig gezogen ist.
  • RechteZug (Attachment) (optional) — Punkt, an dem RechteSchnur0 sein sollte, wenn der Bogen vollständig gezogen ist.
  • [SonderMesh] (SpecialMesh) (optional) — Der Teil des Bogens, der sich tatsächlich biegt, wenn der Bogen gezogen wird. Beachte, dass du die folgenden vier Vector3Value-Objekte angeben musst, um dies zu animieren.
  • LockerOffset (Vector3Value) (optional) — Offset des SpecialMesh, wenn der Bogen im Ruhezustand ist.
  • ZugOffset (Vector3Value) (optional) — Offset des SpecialMesh, wenn der Bogen vollständig gezogen ist.
  • LockerScale (Vector3Value) (optional) — Skala des SpecialMesh, wenn der Bogen im Ruhezustand ist.
  • ZugScale (Vector3Value) (optional) — Skala des SpecialMesh, wenn der Bogen vollständig gezogen ist.

Waffen-System GUI

Das Kernwaffensystem interagiert mit diesem System, um die GUI basierend auf Dingen wie der Streuung der Waffe, Indikatoren, wenn du getroffen wirst oder andere triffst, usw. zu aktualisieren.

Die WeaponsSystemGui ist ein ScreenGui-Objekt in WeaponsSystem/Assets, das beim Start der Erfahrung an PlayerGui angehängt wird. Die WeaponSystemGui hat 4 Nachkommen:

Skalierungs-Elemente

ScalingElements ist ein Folder, das unter WeaponsSystemGui mit den folgenden Nachkommen hängt:

NameInstanztypBeschreibung
RichtungsindikatorenFolderEin Folder, wo alle Richtungsindikatoren gespeichert sind.
FadenkreuzFrameEin Frame, das die folgenden Objekte enthält:

[UIAspectRationConstraint] - UIAspectRatioConstraint
Unten - ImageLabel
Links - ImageLabel
Rechts - ImageLabel
Oben - ImageLabel
TrefferanzeigeFrameEin Frame, das die folgenden Objekte enthält:

[UIAspectRatioConstraint] - UIAspectRatioConstraint
TrefferanzeigeBild - ImageLabel, die erscheint und verblasst, wenn der Spieler erfolgreich einen anderen Spielercharakter trifft.

LargeTouchscreen

LargeTouchscreen ist ein Frame, das Schaltflächen enthält, die auf großen Touchscreens angezeigt werden. LargeTouchscreen hat die folgenden Nachkommen:

Scope

Scope ist ein Frame, das ScopeImage (ImageLabel) enthält, das angezeigt wird, wenn auf eine Waffe mit aktivem HasScope gezoomt wird (siehe Waffenstruktur).

Scope hat die folgenden Nachkommen:

NameInstanztypBeschreibung
ScopeInstanzFrameEin Frame, das die folgenden Assets enthält, die beim Hineinzoomen mit einer Waffe, die HasScope aktiviert hat, verwendet werden:

[UIAspectRationConstraint] - UIAspectRatioConstraint
UntenSchwarz - Frame
LinksSchwarz - Frame
RechtsSchwarz - Frame
ObenSchwarz - Frame

SmallTouchscreen

SmallTouchScreen ist ein Frame, das Schaltflächen enthält, die auf kleinen Touchscreens angezeigt werden. SmallTouchscreen hat die folgenden Nachkommen:

Erstelle einen Richtungsindikator

Richtungsindikatoren werden verwendet, um die Richtung von etwas um das Fadenkreuz des Spielers anzuzeigen. Zum Beispiel, wenn dich jemand beschießt, kann ein rot gefärbter Halbkreis um dein Fadenkreuz erscheinen, in der Richtung, aus der der Schuss kam. Weitere Beispiele sind Indikatoren, um die Richtung von Schritten, indirektem Schussfeuer oder sogar Umweltobjekten wie Kisten anzuzeigen.

Um einen neuen Indikator zu erstellen, füge ein neues Indikator-Frame in WeaponsSystemGui/ScalingElements/DirectionalIndicators mit der folgenden Struktur hinzu:

NameInstanztypBeschreibung
[UIAspectRationConstraint]UIAspectRatioConstraint
[ImageLabel]ImageLabelBild des Richtungsindikators. Möglicherweise ist eine Anpassung der Bilddrehung im Studio erforderlich, es sei denn, du lädst das Bild so hoch, dass es nach unten zeigt und nur wenig oder keinen leeren Raum darum hat.
Dieses Bildlabel muss auch sein eigenes
UIAspectRatioConstraint enthalten.
[Konfiguration]ConfigurationEnthält optionale Eigenschaften zur Anpassung. Siehe Indikatorkonfiguration für weitere Informationen.

Sobald erstellt, kannst du einen Indikator über den folgenden Befehl innerhalb von WeaponsSystem/Libraries/WeaponsGui aktivieren, wobei indicatorName der String-Name des zu aktivierenden Indikators ist und worldPos die Weltposition, auf die der Richtungsindikator zeigen soll:


self.DirectionalIndicatorGuiManager:ActivateDirectionalIndicator(indicatorName, worldPos)

Indikator-Konfiguration

Die Richtungsindikatoren können weiter modifiziert werden, indem das Configuration-Objekt angepasst wird, das unter dem [Indikator] angehängt ist. Alle diese Einstellungen haben einen Standardwert, sodass es nicht notwendig ist, Konfigurationen festzulegen, wenn keine Einstellungen geändert werden.

Die folgenden Konfigurationen können festgelegt werden:

NameInstanztypBeschreibung
DistanceLevelFromCenterNumberValueAnzahl der Abstandslevel vom Mittelpunkt des Bildschirms (jeder Abstandlevel ist etwa 0.03 Bildschirmmaßstab); Standard ist 6.
FadeTimeNumberValueDie Fade-Zeit des Indikators nach seiner Aktivierung und der TimeBeforeFade-Zeit; Standard ist 1.
NameStringValueName des Richtungsindikators, wie du ihn im Code referenzieren möchtest; Standard ist der Name des höchsten Frame des Indikators.
TimeBeforeFadeNumberValueAnzahl der Sekunden, in denen der Indikator angezeigt wird, bevor er verblasst; Standard ist 1.
TransparencyBeforeFadeNumberValueTransparenz des Indikators, bevor er zu verblassen beginnt; Standard ist 0.
WidthLevelNumberValueAnzahl der Breitenlevel vom Zentrum (jeder Breitenlevel ist etwa 0.03 Bildschirmmaßstab); Standard ist der Wert von DistanceLevelFromCenter.

Schadensbillboard anzeigen

Das Schadensbillboard wird verwendet, um kleine Zahlen über dem Kopf eines Charakters anzuzeigen, wenn sie beschädigt werden. Diese werden nur für den Spieler angezeigt, der den Charakter eines anderen Spielers beschädigt hat, nicht für zuschauende Spieler.

Schadensbillboards werden in WeaponsSystem/Libraries/DamageBillboardHandler behandelt und können aus jedem client-seitigen Code wie folgt aktiviert werden, wobei der Schaden die Schadenshöhe ist und adornmentPart der Teil ist, auf dem das Billboard dekoriert werden soll, wie z. B. der Kopf des Opfers:


DamageBillboardHandler:ShowDamageBillboard(damage, adornmentPart)

Schulterkamera

Die Schulterkamera ist eine Third-Person-Kamera, die über die rechte Schulter des Spielercharakters schaut. Um die Schulterkamera anzupassen, ändere die Variablen unter dem Kommentar -- Konfigurationsparameter (Konstanten) in der Funktion ShoulderCamera.new() von WeaponsSystem/Libraries/ShoulderCamera. Du kannst Dinge wie Sichtfeld, Abstand zum Charakter, Gehgeschwindigkeit während des Sprintens oder Zoomens usw. ändern.

Sprint- und Zoomkontrolle

Standardmäßig fügt das Waffensystem die "Sprint"-Fähigkeit hinzu, sodass Spieler sprinten können, indem sie die Shift-Taste gedrückt halten, den dynamischen Daumenstick ganz nach oben drücken (mobil) oder den linken Joystick ganz nach oben drücken (Gamepad). Wenn du das Sprinten deaktivieren möchtest, setze den Wert von SprintEnabled innerhalb von WeaponsSystem/Configuration auf false.

Das System reduziert auch die Spieler-Geschwindigkeit, während sie zielen/zoomen, aber du kannst dieses Verhalten deaktivieren, indem du den Wert von SlowZoomWalkEnabled auf false setzt.

©2026 Roblox Corporation. Roblox, das Roblox-Logo und "Powering Imagination" gehören zu unseren eingetragenen und nicht eingetragenen Markenzeichen in den USA und anderen Ländern.