Um bei der Erstellung wettbewerbsbasierter Kampferlebnisse zu helfen, sind mehrere von Endorsement-Waffen verfügbar, die in jedem Erlebnis verwendet werden können. Das Kern-System bietet Projektil-basierte Waffen mit einer über dem Schulter-Kamera und die Einstellung der Projektilgeschwindigkeit hoch genug, um Rayscasting-Waffen wie Laserwaffen zu simulieren.
Um eine von der Firma anerkannte Waffe in deiner Erlebniszu verwenden:
- Wähle eine Waffe aus, die zu der verlinkennavigiert.
On the weapon's item page, click the green Get button and confirm the transaction.
Öffnen Sie in Studio die Toolbox ( Ansicht → Toolbox ).
Wählen Sie Ihre Toolbox-Registerkarte Inventar .
Suchen Sie die Waffe und klicken Sie, um sie in den Ort hinzuzufügen. Wenn Sie aufgefordert werden, ob Sie das Werkzeug in das Starter-Paket einfügen möchten, klicken Sie auf Ja , wenn Sie möchten, dass die Spieler mit der Waffe in ihrem Rucksack beginnen, oder klicken Sie auf Nein ', um die Waffe einfach in die 3D-Welt als Pickup zu platzieren.
Wenn dies die erste Zeit ist, in der eine mitgebrachte endorse Waffe vorkommt, bewegen Sie ihre WaffenSystem-Ordner in ServerScriptService , um als unified System-Ordner für alle endorse Waffen im Erlebnis zu dienen.
System-Ordnerstruktur
Der WeaponsSystem-Ordner ist ein unified Folder, der Assets, Konfigurationen und Skripte enthält, die alle endorsierten Waffen in der Erlebnisanstehen. Wenn er in ServerScriptService gefunden wird, überschreibt er alle entsprechenden Waffensystem-Ordner , die möglicherweise innerhalb einzelner Waffen residen.
Die WaffenSystem-Ordner enthält die folgenden Instanzen:
- Assets ( Folder )
- Bibliotheken ( Folder ) – Speichert alle anderen ModuleScripts , die in dem Waffensystem verwendet werden.
- Waffenarten ( Folder ) – Spezifiziert alle Waffenarten.
- ServerWeaponsScript ( Script )
- Version ( IntValue )
- ClientWeaponScript ( LocalScript )
- Netzwerk-Callbacks ( ModuleScript )
- WaffenDaten ( RemoteEvent )
- Waffensystem ( ModuleScript )
Innerhalb der WeaponsSystem -Ordner werden verschiedene Aspekte durch die folgenden ModuleScripts kontrolliert:
Aspekt | Primär innerhalb behandelt... |
---|---|
Waffenfunktionalität |
|
Schulterkamera |
|
Waffen-GUI |
|
Waffenstruktur
Endorse Waffen sind Tools und werden nach dem Namen benannt, wie sie im Rucksack des Spieler:inerscheinen. Jede Waffe ist mit einer ähnlichen Hierarchie strukturiert.
Waffentyp
Die WaffenTyp-StringValue entspricht dem ModuleScript für die Waffe im 2> Waffensystem 2> / 5> Waffentypen 5>-Ordner. Die beiden Basiswerte sind 8> Kugelwaffe8> und 1> Bogenwaffe 1>.
Waffenmodell
Jede Waffe enthält ein Model , das aus einer oder mehreren BaseParts besteht, um die physische Waffe zu bilden. Einer dieser sollte als PrimaryPart festgelegt sein.
Das Modell enthält auch die folgenden wichtigen Nachkommen, die möglicherweise zu einem der Modell-BaseParts :
- TipAsset – Attachment dessen Position auf dem Elternteil BasePart bestimmt, wo Kugeln/Projektile kommen.
- HandleArgument – Attachment dessen Position auf dem Elternteil BasePart bestimmt, wo das 0> Handle 0> verschweißt wird.
- Fired – Sound das spielt, wenn die Waffe abgefeuert wird.
- Neuladen – Sound das abgespielt wird, wenn die Waffe neu geladen wird.
- Zusätzliche Nachkommen für alle spezialisierten Optionen.
Waffen-Griff
Der Griff -Teil bestimmt, wo ein Spielercharakter die Waffe hält. Dies muss ein Part sein, es muss einen Namen Griff haben und es muss ein direkter Nachkommen der Waffe (Tool) sein.
Konfigurationsordner
Die Konfigurations -Ordner enthalten spezifische "Werte"-Typen für die Waffenverhalten. Darüber hinaus können Sie bei Bedarf zusätzliche Konfigurations-Items für Spezialoptionen hinzufügen, wenn geltendanwendbar ist.
Die folgenden sind die Standardkonfigurationen und ihre Standardwerte:
Artikel | Beschreibung | Standard |
---|---|---|
Munitionskapazität | Anzahl der Schüsse in jedem "Munitionsklemmer", bevor der Spieler nachladen muss. Beachten Sie, dass Munition unbegrenzt ist und dies nicht spezifiziert, wie viel Munition ein Spieler trägt. | 30 |
Feuermodus | Wählen Sie entweder Halbautomatisch (ein Schuss pro Klick/Berührung), Automatisch (initiieren) oder Explosion (Explosion von Schüssen, die 2>NumBurstShots2> auf jeder Klick/Berührung entsprechen). | Halbautomatisch |
Abklingzeit für Schüsse | Minimum Time zwischen Klicks. Für Waffen mit FireMode von Automatic , ist dies auch die Zeit zwischen Schüssen, während Sie auf die Schaltfläche klicken oder die Klicken halten. | 0.1 |
Explosionsschuss-Abklingzeit | Zeit zwischen jedem Schuss in einer Feuerstoß; nur wichtig, wenn Sie Feuermodus auf Burst setzen. | Wert von ShotCooldown |
NumBurstShots | Anzahl der Schüsse pro Klick/Burst; nur wichtig, wenn Sie Feuermodus auf Burst setzen. | 3 |
Schadensangriff | Menge des Schadens, die jeder direkte Treffer verursacht. | 10 |
Komplette Schadens距anz | Maximale Distanz, bei der Schüsse vollständigen Schaden anrichten. Alles, was über diese Distanz hinausgeht, wird weniger und weniger Schaden erleiden, je näher die Distanz ZeroDamageDistance wird. | 1.000 |
ZeroDamageDistance | Alles, was diese Reichweite berührt oder darüber hinaus liegt, wird keinen Schaden erleiden. | 10 |
Kugelgeschwindigkeit | Geschwindigkeit, mit der Kugeln/Projektile reisen, wenn sie angeschossen werden. Setzen Sie dies auf einen sehr hohen Wert wie 20000 simuliert Raycasting-Waffen wie Laserwaffen. | 1.000 |
Maximaler Abstand | Maximale Distanz, die Kugeln/Projektile zurücklegen, bevor sie verschwinden. | 2000 |
MinSpread | Mindestmenge des Streus für die Waffe. | 0 |
MaxSpread | Maximale Streuung für die Waffe. | Wert von MinSpread |
Schwerkraft | Menge, die die Schwerkraft auf jede Kugel/Projektil beeinflussen sollte. Zum Beispiel ist dieser Wert für den Crossbow 1, da Arbeitspfeile während des Flugs arbeiten, aber dieser Wert für den Rocket Launcher ist 0, da gedrehte Raketen gerade reisen. | 0 |
HatScope | Set to true if you want to use the scope that's specified in Weapons System GUI. | falsch |
NeuladenAnimation | Name der Neuladen-Animation-Schiene in Assets / Animationen der System-Ordner. | GewehrNeuladen |
Ziel-Track | Name der Ziel-Animation im Assets / Animationen der System-Ordner . | GewehrZielen |
ZielZoomTrack | Name der Ziel-Zoom-Animation im Assets / Animationen der System-Ordner. | RifleAimDownSights |
Rückstoßminimierung | Für jeden Schuss ein minimaler Rückstoß hinzugefügt. | 0.05 |
Rückstoß-Maximum | Maximaler Rückstoß für jeden Schuss hinzugefügt. | 0.5 |
Gesamter Rückstoß-Maximum | Maximaler Gesamtschaden. Der aktuelle Schaden der Waffe wird diesen Wert nie überschreiten. | 2 |
Rückstoß-Verfall | Verfallsmultiplikator für Rückstoß; im Grunde die Rate, mit der Rückstoß nach dem Schießen abnimmt. | 0,825 |
Rückstoßverzögerungszeit | Wartezeit, bevor der Rückstoß hinzugefügt wird, bevor die Kamera. | 0.07 |
StartupTime | Länge der Zeit, nachdem die Waffe ausgerüstet ist, bevor der Spieler schießen kann. Dies verhindert, dass Spieler einen einzigen Schuss aus mehreren verschiedenen Waffen in rascher Abfolge abfeuern. | 0.2 |
FiredPlaybackSpeedRange | Betrag, der für den Feuer -Sound der Waffe variieren kann. Setzen Sie ihn auf 0, um ihn immer mit demselben Ton zu spielen. | 0.1 |
NumProjektile | Anzahl der Kugeln/Projektile, die gleichzeitig abgefeuert werden, wenn Sie einmal auf eine beliebige Stelle klicken/tippen. Dies ist für Waffen wie die Schrotflinte , die mehrere Kugeln gleichzeitig abfeuert. Beachten Sie, dass ein Schuss immer genau eine Munition verwendet, unabhängig von diesem Wert. | 1 |
Spezialisierte Optionen
Du kannst/modifizierst die folgenden Optionen für jede Waffe. Diese Anpassungen erfordern die Änderung der Waffen Model , der Waffen Configuration oder beider. Einige Konfigurationen sind abhängig von anderen, wie z. B. Mündungs частицы, die die notwendigen Kinder für 1> Projektileffekte und Sounds1> erfordern.
Bolt-Animationen und Sounds
Ein Waffenrückstoß ist die Teil, die jedes Mal zurück und nach vorne bewegt wird, wenn sie abgefeuert wird.
- Abstammende der Waffen Waffenmodell
Blitz | BasePart , das sich bewegt, wenn die Waffe abgefeuert wird. | |
BoltMotor | Motor6D wurde verwendet, um die Bolzen zu animieren. Stellen Sie sicher, dass Sie den Motor의 Part0 auf das ModellPrimaryPart und 0> Class.Motor6D.Part1|Part1 | |
BoltMotorStart | Attachment dessen Position auf dem Elternteil BasePart bestimmt, wo der Bolt ist, wenn er ruht. | |
BoltMotorTarget | Attachment dessen Position auf dem Elternteil BasePart bestimmt, wo der Bolzen animiert, wenn er schießt. | |
BoltOpenSound | Sound das abgespielt wird, wenn der Bolzen sich öffnet. | optional |
BoltCloseSound | Sound das abgespielt wird, wenn der Bolzen schließt. | optional |
- Kinder der Waffen- Konfigurations-Ordner
Artikel | Beschreibung | Standard |
---|---|---|
Aktionen öffnen Zeit | Zeit, die für die Bolzen-Animation zum Öffnen der Position erforderlich ist. | 0.025 |
ActionsCloseTime | Zeit, die für die Animation des Bolzen zum geschlossenen Zustand benötigt wird. | 0.075 |
Kugelkästen auswerfen
Waffen können physische Kugelhülsen enthalten, die beim Schießen und auf den Boden fallen.
- Abstammende der Waffen Waffenmodell
KasingEjectPoint | Attachment dessen Position auf dem Elternteil BasePart bestimmt, wo Sie Widerrufsbehälter herausziehen möchten. Beachten Sie, dass seine Ausrichtung die Richtung bestimmt, in die Widerrufsbehälter herausziehen. |
- Kinder der Waffen- Konfigurations-Ordner
Artikel | Beschreibung | Standard |
---|---|---|
Kasing-Effekt | Name des Gehäuses BasePart in Assets / Effekte / 1> Gehäuse1> der 4> System-Ordner4>. | |
CasingEjectSpeedMin | Mindestgeschwindigkeit der Kapseln | 15 |
KasingEjectSpeedMax | Maximale Auswerfgeschwindigkeit von Kapseln | 18 |
Kasing-Hit-Sound | Sound spielt, wenn Kapseln den Boden berühren. | optional |
Projektile/Treffereffekte und Sounds
Du kannst physische Projektile für jede Waffe, einschließlich Sounds , Beams und ParticleEmitters für Treffeffekte und andere Spezialeffekte konfigurieren.
- Kinder der Waffen- Konfigurations-Ordner
Artikel | Beschreibung | Standard |
---|---|---|
SchießEffekt | Name eines Shot-Effects, der in Assets / Effekte / Schüsse des 1> Systemordners1> gespeichert ist. | |
Sollte verschieben Teil | Set to true if the weapon's ShotEffect should move with the projectile or false if not. You should only set this to 1> true1> if there's a visible object that moves with each shot, such as an arrow or a rocket. | falsch |
Strahlverblasst Zeit | Zeit, die für Beam0 oder Beam1 ( siehe unten ) zum Verblasen benötigt wird, nachdem die Kugel/das Projektil etwas trifft. Standardmäßig wird für keine manuelle Verblasung von Codes. | 0 |
Strahlen Breite0 | Dicke von Beam0 oder Beam1 bei Attachment0 ( 1> siehe unten1> ). | 1.5 |
Strahlen Breite 1 | Dicke von Beam0 oder Beam1 bei Attachment1 ( 1> siehe unten1> ). | 1.8.0 |
NumHitParticles | Anzahl der Partikel, die die HitParticles ( siehe unten ) emitter werden. | 3 |
HitParticlesUsePartColor | Setzen Sie auf wahr , wenn Sie die Treffpartikel der Farbe der Treffoberfläche setzen möchten; falsch , wenn Sie die Treffpartikel nicht farbig ändern möchten. | wahr |
- Nachkommen der angegebenen ShotEffect in der vorherigen Sektion
Fliegen | Sound das spielt, während die Kugel/ das Projektil reist. | optional |
Strahl0 | Erster Slot für einen folgenden Beam hinter der Kugel/des Projektils. Vergessen Sie nicht, Attachment0 und Attachment1 zu setzen. | optional |
Strahl1 | Zweiter Slot für einen folgenden Beam hinter der Kugel/des Projektils. Vergessen Sie nicht, Attachment0 und Attachment1 zu setzen. | optional |
Anbauten0 | Class.Attachment dessen Position auf dem Elternteil BasePart bestimmt die Rückseite der folgenden Beams; stellen Sie sicher, dass Sie Beam.Attachment0 auf beide 0> Beam00> und Attachment3> einstellen, um dies zu tun. | optional |
Anbauten1 | Class.Attachment dessen Position auf dem Elternteil BasePart die Vorderseite der verfolgenden Bäume bestimmt; stellen Sie sicher, dass Sie Beam.Attachment1 auf beide 0> Beam00> und Attachment3> einstellen, um dies zu tun. | optional |
TrailParticles | ParticleEmitter als direktes Kind von Attachment0 ; dies wird während der Reise der Kugel/des Projektils emittieren. | optional |
Führende Partikel | ParticleEmitter als direktes Kind von Attachment1 ; dies wird während der Reise der Kugel/des Projektils emittieren. | optional |
Effekt auswählen | Attachment dessen Position auf Beam.Attachment1 von Beam0 eingestellt wird, wenn die Kugel/Spaten den Treffer erzielt. Sie müssen 0> Beam00> und seine Anbauten für diesen Zweck richtig spezifizieren. | optional |
Schlaggeräusch | Sound als direktes Kind von HitEffect ; spielt, wenn die Kugel/ das Projektil trifft. | optional |
Treffpartikel | Sound als direktes Kind von HitEffect ; emittiert, wenn die Kugel/ das Projektil trifft. | optional |
[ProjektilePart] | Jedes Part oder MeshPart, das du als physisches Projektile erscheinen möchtest. Stell sicher, dass du ShouldMovePart in der vorherigen Sektion auf 1>wahr1> eingegeben hast, wenn du ein sichtbares Objekt hier hast. | optional |
Mündungs-Partikel
Diese Option emittiert Partikel vom angegebenen ParticleEmitter an der Waffen- TipAttach Attachment wenn sie abgefeuert wird.
Konfigurationsnachkommen:
- ShotEffect ( StringValue ) — Name eines Schießeffekts, der innerhalb von WeaponsSystem/Assets/Effects/Shots gespeichert ist.
- NumMuzzleParticles ( IntValue ) (optional) — Anzahl der Mündungs частиikel, die emittiert werden; Standard ist 50 .
Für den angegebenen Schießeffekt fügen Sie ein ParticleEmitter-Asset innerhalb von WeaponsSystem/Assets/Effects/Shots mit dem Namen MuzzleParticles hinzu.
Mündungsfeuer
Diese Option erstellt einen Beam Blitzeffekt, wenn die Waffe abgefeuert wird.
Modell-Abkömmlinge:
- MuzzleFlash0 ( Attachment ) — Wird verwendet, um eine Seite des Mündungsfeuers zu spezifizieren. Die Position spielt keine Rolle.
- MuzzleFlash1 ( Attachment ) — Wird verwendet, um die gegenüberliegende Seite des Mündungsfeuers zu spezifizieren. Die Position spielt keine Rolle.
- MuzzleFlash ( Beam ) — Stellen Sie sicher, dass Sie Attachment0 auf 0> MuzzleFlash00> und 3> Attach13> auf 6> MuzzleFlash1 6> setzen.
Konfigurationsnachkommen:
- MuzzleFlashTime ( NumberValue ) (optional) — Länge der Zeit des Mündungsfeuers wird für angezeigt; Standard ist 0.03 .
- MuzzleFlashRotation0 ( NumberValue ) (optional) — MinimumRotation des Mündungsfeuers; Standard ist -math.pi .
- MuzzleFlashRotation1 ( NumberValue ) (optional) — MaximaleRotation des Mündungsfeuers; Standard ist math.pi .
Partikel-Spuren
Diese Option erstellt eine Spur von verschiedener Länge von der Waffe zum Projektildurchgang.
Konfigurationsnachkommen:
- TrailLength ( NumberValue ) (optional) — Länge des Schweifs hinter der Kugel/des Projektils; Standard ist nil, was bedeutet, dass die Schaftlänge stattdessen mit 0> TrailLengthFactor 0> berechnet wird.
- TrailLengthFactor ( NumberValue ) (optional) — Die Trail-Länge wird auf dieses Wert multipliziert, den die Kugel/ das Projektil im letzten Frame zurückgeleitet hat; Standard ist 1 . Beachten Sie, dass dies überschrieben wird, wenn Sie 0> Trail-Länge0> hinzufügen.
- ShowEntireTrailUntilHit ( BoolValue ) (optional) — Set to true to render the trail from the weapon tip all the way to wherever the projectile is; this will Override both 0> TrailLength0> and 3> TrailLengthFactor 3> and the trail
Zielmarkierungen
Diese visuelle Ergänzung erscheint auf der Oberfläche, auf der Projektile getroffen werden, und ist für Pfeile, Kugellöcher, Verbrennungszeichen usw. nützlich.
Konfigurationsnachkommen:
- HitMarkEffect ( StringValue ) (optional) — Name des Treffmarkierungseffekts im WeaponsSystem/Assets/Effects/HitMarks ; Standard ist 0> Kugelhohл 0> .
- AlignHitMarkToNormal ( BoolValue ) (optional) — Set to true if the hit mark should always flat gegen der Oberfläche wie ein Schussloch ausgerichtet, oder 0> false 0> if the hit mark should appear stuck in the surface von der Richtung, aus der der Projektile kam ( wie ein Pfeil). Standard ist 3> true 3> .
Du kannst das folgende optionale Asset innerhalb von WeaponsSystem/Assets/Effects/HitMarks hinzufügen:
- Glow ( Decal ) (optional) — erscheint auf der Trefffläche vollständig undurchsichtig, dann wird sie schnell wieder transparenter, wie ein glühender Effekt auf der Oberfläche, die schnell fällt. Nützlich für Dinge wie das Anzeigen eines glühenden roten Marks, auf dem Explosive treffen.
- Kugelhalle ( Decal ) (optional) — erscheint auf der Trefffläche vollständig undurchsichtig und nach 4 Sekunden heller als 1 Sekunde.
- Einfluss-Werbetafel ( BillboardGui ) (optional) — Wird auf der Anzeigefläche angezeigt, immer in Richtung Kamera.
- Einfluss ( ImageLabel ) (optional) — Direktkind von ImpactBillboard ; Dies beginnt vollständig und wird bis zum vollständigen Umriss des 0> ImpactBillboard0> über 0,1 Sekunden vollständig und dann schrumpft auf die Hälfte seiner Größe und Verblasst bis zum vollständigen Transparenz über 0,1 Sekunden.
- Jeder Part / MeshPart / SpecialMesh, den du als physisches Projektile erscheinen lassen möchtest (optional). Zum Beispiel, einschließlich eines Pfeils 1> Class.MeshPart1> und der Einstellung 4> AlignHitMarkToNormal 4> bemer
Explodierende Projektile
Projektile können ein Explosionsobjekt enthalten, um Spielercharaktere in einem Bereich um den Einwirkungspunkt zu schaden.
Konfigurationsnachkommen:
- ExplodeOnImpact ( BoolValue ) (optional) — Setzen Sie auf true wenn Sie Kugeln/Projektile für die Waffe im Aufprall explodieren möchten, und auf 0> false 0> wenn Sie anderswo keine Kugeln/Projektile verwenden möchten. Standard ist 3> false 3> .
- Explosionsschaden ( NumberValue ) (optional) — Schaden, der den Dingen in der Mitte der Explosion zugänglich ist. Beachten Sie, dass die Explosion weniger Schaden verursacht, je weiter die Objekte vom Zentrum der Explosion entfernt sind. Standard ist 100 .
Waffe aufladen
Eine schussfähige Waffe wie die Railgun muss zwischen den Schüssen aufgeladen werden, bevor sie wieder feuern kann.
Modell-Abkömmlinge:
- Wird geladen ( Sound ) (optional) — Wird gespielt, während die Waffe lädt.
- Entladung ( Sound ) (optional) — Spielt, während die Waffe entlädt, z. B. wenn du die Waffe nur teilweise auflädst und den Schießknopf loslässt.
- Ladung vollständig ( Sound ) (optional) — Spielt, wenn die Waffe vollständig Kontobelastungist.
- Entladung abgeschlossen ( Sound ) (optional) — Spielt, wenn die Waffe vollständig entladen ist.
- Glühen aufladen ( BasePart ) (optional) — Dieses Objekt wird weniger transparent, wenn die Waffe aufgeladen wird, so dass es bei 100% Kontobelastungvollständig undurchsichtig ist.
- Lade vollständige Partikel aus ( ParticleEmitter ) (optional) — Emittiert, wenn die Waffe fertig geladen ist. Dieser Emitter kann ein Kind von jedem Modell BasePart oder ein Kind eines 0> Class.Attachment0> innerhalb der 3> Class.BasePart 3> sein.
- NachladenCompleteParticles ( ParticleEmitter ) (optional) — Emittiert, wenn die Waffe vollständig aufgeladen ist. Dieser Emitter kann ein Kind von jedem Modell BasePart oder ein Kind eines 0> Class.Attachment0> innerhalb des 3> Class.BasePart 3> sein.
- LadungPartikel ( ParticleEmitter ) (optional) — Emitiert, während die Waffe lädt. Sie können mehrere Emitter dieses Namens und jedes wird während der Ladung emittieren. Dieser Emitter kann ein Kind eines beliebigen Modells BasePart oder ein Kind eines 0> Class.Attachment0> innerhalb des 3> Class.Base
Konfigurationsnachkommen:
- Lade Rate ( NumberValue ) — Rate, mit der die Waffe Kontobelastungwird. Dieser Wert muss angegeben werden, um anzuzeigen, dass die Waffe Kämpfen verwendet.
- Entladungsrate ( NumberValue ) (optional) — Rate, bei der die Waffe entladen wird; Standard ist 0 , was bedeutet, dass die Waffe nicht entladen wird.
- ChargePassively ( BoolValue ) (optional) — Setzen Sie es auf true , wenn Sie die Waffe passiv aufladen möchten, damit sie sofort schießt, wenn Sie auf sie klicken, oder 0> false 0> , wenn Sie auf die Waffe klicken/berühren, um sie vollständig aufzuladen und sofort zu schießen. Standard ist 3> false 3> .
- ChargingParticlesRatePerCharge ( IntValue ) (optional) — Anzahl der Partikel, die aus allen ChargingParticles -Emittern multipliziert durch die aktuelle Ladung der Waffe. Standard ist 0> 20 ', was bede
- Feuerentlastung ( NumberValue ) (optional) — Menge der Ladung, die die Waffe nach dem Abfeuern eines voll aufgeladenen Schusses verliert; Standard ist 1 .
- NumChargeCompleteParticles ( IntValue ) (optional) — Anzahl der Partikel, die - ChargeCompleteParticles emittieren, sobald die Waffe vollständig aufgeladen ist. Standard ist 25 .
- NumDischargeCompleteParticles ( IntValue ) (optional) — Anzahl der Partikel, die - DischargeCompleteParticles emitter wird, wenn die Waffe vollständig entladen ist. Standard sind 0> 25 0> .
Bogenwaffe
Eine Bogenwaffe wie die Armbrust kann einen realistischen Strich und eine Arms Konstruktion enthalten, sowie eine visuelle Pfeil zum String.
Zusätzlich zu der Einführung von Modell-Nachkommen müssen Sie das gefolgte Profileanwenden:
- Make the weapon into a Waffen-Waffe . Zum Beispiel, füge den erforderlichen ChargeRate innerhalb der Waffen- Configuration hinzu, die bestimmt, wie schnell die Zeichen/Arme Zurückwerden. Darüber hinaus, berücksichtige die Optionen, die Waffen- 1> Class.Model1> hinz
Modell-Abkömmlinge:
- LeftString ( Beam ) (optional) — Die visuelle linke Hälfte der Strings.
- RechtsString ( Beam ) (optional) — Die visuelle rechte Hälfte der Strings.
- Pfeil ( BasePart ) (optional) — Der Pfeil, der erscheint, wenn der Bogen vollständig gezeichnet ist. Beachten Sie, dass dies nur für visuelle Ansicht auf dem Bogen ist (die tatsächliche abgefeuerte Pfeil wird ein SchießEffekt als in 0>Projektile/Treffereffekte und Sounds0> beschriebenen).
- String1 ( Attachment ) (optional) — Der mittlere Punkt der Strings.
- StringTight ( Attachment ) (optional) — Zeigen Sie, wo String1 sein sollte, wenn der Bogen vollständig gezogen ist.
- Arme ( Part ) (optional) — Ein Teil, der nur als interner Indikator dient, dass die Bogenarme animiert werden. Dies kann die folgenden direkten Kinder enthalten:
- LeftString0 ( Attachment ) (optional) — Zeigen Sie, wo die linke Seite des Strings an den Bogen angehängt ist.
- RightString0 ( Attachment ) (optional) — Zeigen Sie, wo die rechte Seite des Strings an den Bogen angehängt ist.
- RightLoose ( Attachment ) (optional) — Zeigen Sie, wo RightString0 sein sollte, wenn der Bogen ruht.
- LeftTight ( Attachment ) (optional) — Zeigen Sie, wo LeftString0 sein sollte, wenn der Bogen vollständig gezogen ist.
- RightTight ( Attachment ) (optional) — Zeigen Sie, wo RightString0 sein sollte, wenn der Bogen vollständig gezogen ist.
- [Spezialmesch] ( SpecialMesh ) (optional) — Der Teil des Bogen, der tatsächlich bewegt wird, wenn der Bogen gezogen wird. Beachten Sie, dass Sie die folgenden vier Vector3Value Objekte angeben müssen, um diesen Animation zu erstellen.
- TightOffset ( Vector3Value ) (optional) — Offset des SpecialMesh wenn der Bogen vollständig gezeichnet ist.
- TightScale ( Vector3Value ) (optional) — Skalierung der SpecialMesh wenn der Bug vollständig gezeichnet ist.
grafische Benutzeroberfläche
Das Kern-Waffen-System verbindet sich mit diesem System, um die GUI basierend auf Dingen wie der Ausbreitung der Waffe, Indikatoren für quando você é hit or hit others, etc. zu aktualisieren.
Die WeaponsSystemGui ist ein ScreenGui -Objekt in WeaponsSystem/Assets, das der Erfahrung beginnt, wenn sie startet. WeaponSystemGui hat 4 Nachkommen:
- ScalingElements - Ein Folder von On-Screen-Elementen.
- Großes Touchscreen-Display - Ein Frame für Schaltflächen auf großen Touchscreen-Displays.
- Zielfernrohr - Ein Frame für das Zoom mit Waffen, die ein Zielfernrohr verwenden.
- Kleiner Touchscreen - Ein Frame für Schaltflächen auf kleinen Touchscreen.
Skalieren von Elementen
ScalingElements ist ein Folder Parent unter WeaponsSystemGui mit den folgenden Nachkommen:
Name | Instanztyp | Beschreibung |
---|---|---|
Richtungsvorschau | Folder | Ein Folder, in dem alle Richtungsinдиikatoren gespeichert sind. |
Fadenkreuz | Frame | Ein Frame mit folgenden Objekten:[UIAspectRationConstraint] - UIAspectRatioConstraint 1> Bottom 1> - 4> Class.ImageLabel4> 7> Left |
Zielmarkierung | Frame | Ein Frame , der die folgenden Objekte enthält:[UIAspectRatioConstraint] - UIAspectRatioConstraint1> HitMarkerImage1> - 4> Class.ImageLabel 4>, der erscheint und verblasst, wenn der Spieler einen anderen Spieler-Charakter erfolgreich trifft. |
Großer Touchscreen
LargeTouchscreen ist ein Frame mit Schaltflächen, die auf großen Touchscreens angezeigt werden. LargeTouchscreen hat die folgenden Nachkommen:
- AimButton ( ImageButton )
- FireButton ( ImageButton )
Zielfernrohr
Das Zielfernrohr ist ein Frame, das enthält ScopeImage ( ImageLabel ) , die beim Zoomen auf eine Waffe mit HasScope aktiviert ist (siehe 2> Waffenstruktur2>). Scope hat die folgenden Nachkommen:
Name | Instanztyp | Beschreibung |
---|---|---|
Scope-Instanz | Frame | Ein Frame mit folgenden Assets, die beim Zoomen auf eine Waffe mit HasScope aktiviert sind: [UIAspectRationConstraint] - 0> Class.UIAspectRatioConstraint0> - 3> |
Kleiner Touchscreen
SmallTouchScreen ist ein Frame mit Schaltflächen, die auf kleinen Touch-Displays angezeigt werden. SmallTouchscreen hat die folgenden Nachkommen:
- AimButton ( ImageButton )
- FireButton ( ImageButton )
Erstellen Sie einen Richtungsindex
Richtungsindikatoren werden verwendet, um die Richtung von etwas um das Spieler:inzu zeigen. Zum Beispiel, wenn jemand Sie schießt, kann ein roter Halbkreis um Ihrem Fadenkreuz in die Richtung des Schusses erscheinen. Andere Beispiele sind Indikatoren, um die Richtung von Schritten zu zeigen, indirektem Feuerwerk oder sogar Umweltobjekten wie Truhen.
Um einen neuen Indikator zu erstellen, füge einen neuen Indikator Frame in WeaponsSystemGui/ScalingElements/DirectionalIndicators mit der folgenden Struktur hinzu:
Name | Instanztyp | Beschreibung |
---|---|---|
[UIAspectRationLimit] | UIAspectRatioConstraint | |
[Bild-Etikett] | ImageLabel | Bild des Richtungspinners. Die Drehung des Bildes in Studio kann möglicherweise erforderlich sein, wenn Sie das Bild nicht so hochladen, dass es in Richtung unten zeigt und wenig oder keinen leeren Raum um es herum ist.Dieser Bild-Label muss auch seinen eigenen UIAspectRatioConstraint enthalten. |
[Konfiguration] | Configuration | Enthält optionale Eigenschaften zum Anpassen. Siehe Konfiguration des Indikators für weitere Informationen. |
Nachdem du erstellt hast, kannst du einen Indikator über das folgende Kommando innerhalb von WeaponsSystem/Libraries/WeaponsGui aktivieren, in dem indicatorName der Name des Indikators ist, um ihn zu aktivieren, und worldPos die Weltposition ist, in der der Richtungspfeil deaktiviert werden soll:
self.DirectionalIndicatorGuiManager:ActivateDirectionalIndicator(indicatorName, worldPos)
Konfiguration des Indikators
Die Richtungspunkte können weiter modifiziert werden, indem der Configuration -Objekt, der unter dem [Indicator] übergeordnet ist, angepasst wird. Alle dieser Einstellungen haben einen Standardwert, sodass keine Konfigurationen festgelegt werden müssen, wenn Sie eine Einstellung nicht ändern.
Die folgenden Konfigurationen können festlegenwerden:
Name | Instanztyp | Beschreibung |
---|---|---|
Entfernungslevel von der Mitte | NumberValue | Anzahl der Entfernungsstufen vom Zentrum des Bildschirms (jede Entfernungsstufe beträgt etwa 0,03 Größenverhältnis); Standard ist 6 . |
Verblasst Zeit | NumberValue | Indikator Verblasst Zeit nach seiner Aktivierung und die TimeBeforeFade Zeit; Standard ist 1 . |
Name | StringValue | Name des Richtungspinners, wie Sie ihn in Codesbeziehen möchten; Standard ist der Name der obersten Ebene des Indikators Frame . |
Zeit vor dem Verblasen | NumberValue | Anzahl der Sekunden, in denen der Indikator vor dem Verblasen angezeigt wird; Standard ist 1 . |
Transparenz vor dem Verblasen | NumberValue | Transparenz des Indikators, bevor er begint zu verschwinden; Standard ist 0 . |
Breitenlevel | NumberValue | Anzahl der Breitengrade aus der Mitte (jeder Breitengrade ist etwa 0,03 Größenverhältnisskalieren); Standard ist der Wert von DistanceLevelFromCenter . |
Schaden-Reklameta zeigen
Die Schadensanzeige wird verwendet, um kleine Anzeige Schäden über dem Kopf eines Benutzers zu zeigen, wenn sie beschädigt sind. Dies wird nur für den Benutzer angezeigt, der einen anderen Spieler:inbeschädigte, nicht für Zuschauer.
Schadensschilder werden in WeaponsSystem/Libraries/DamageBillboardHandler gehandhabt und können von jedem Client-seitigen Code aktiviert werden, indem der Schaden die Menge des Schadens und das Schmuck an der AdornmentPart einschließt, wie z. B. das Opferkopf ist:
DamageBillboardHandler:ShowDamageBillboard(damage, adornmentPart)
Schulterkamera
Die Schulterkamera ist eine dritte Person-Kamera, die den rechten Schulter des Spielers überwacht. Um die Schulterkamera anzupassen, modifizieren Sie die Variablen unter den -- Konfigurationsparamern (Gruppen) in der ShoulderCamera.new() -Funktion von WeaponsSystem/Libraries/ShoulderCamera. Sie können Dinge wie Ansicht, Offset vom Charakter, Walkspeed
Sprint- und Zoom-Steuerung
Standardmäßig fügt das Waffensystem "Sprint"-Fähigkeit hinzu, damit Spieler sprinten können, indem sie den Schlüsselgedrückt halten, den dynamischen Thumbstick (Mobile) vollständig nach oben schieben oder den linken Joystick (Gamepad) vollständig nach links schieben. Wenn Sie den Sprint deaktivieren möchten, setzen Sie den Wert von SprintEnabled
Das System reduziert auch die Geschwindigkeit des Spielers, während er zielt/zoomen, aber du kannst dieses Verhalten deaktivieren, indem du den Wert von SlowZoomWalkEnabled auf false setzt.