Kit di armi

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Roblox offre le seguenti armi prefabbricate per assistere nella creazione di giochi competitivi basati sul combattimento. Il sistema principale presenta armi a proiettile con una telecamera sopra la spalla, e impostando la velocità del proiettile abbastanza alta si possono simulare armi a raggi come le pistole laser.

Per utilizzare un'arma prefabbricata nel tuo gioco:

  1. Seleziona un'arma qui sotto, navigando al link della libreria degli asset.

    Pistola

    Fucile a pompa

    Fucile automatico

    Mitra

    Fucile di precisione

    Arco balista

    Lanciagranate

    Lanciator di razzi

    Fucile a rotaia

  2. Nella pagina dell'oggetto dell'arma, clicca sul pulsante Ottieni modello e conferma la transazione.

  3. In Studio, apri il Toolbox e seleziona la tua sezione Inventario.

  4. Trova l'arma e cliccaci sopra per aggiungerla nel luogo. Quando ti viene chiesto se vuoi mettere lo strumento nel pacchetto iniziale, clicca se vuoi che i giocatori inizino con l'arma nel loro zaino, oppure clicca No per semplicemente posizionare l'arma nel mondo 3D come un pickup.

  5. Se questa è la prima volta che porti un'arma prefabbricata, sposta la sua cartella WeaponsSystem in ServerScriptService per fungere da cartella sistema unificato per tutte le armi prefabbricate nel gioco.

Struttura della cartella di sistema

La cartella WeaponsSystem è una cartella unificata che contiene asset, configurazioni e script che alimentano tutte le armi prefabbricate nel gioco. Se si trova in ServerScriptService, sovrascrive eventuali cartelle WeaponsSystem equivalenti che potrebbero risiedere all'interno delle singole armi.

All'interno della cartella WeaponsSystem, diversi aspetti sono controllati dai seguenti ModuleScripts:

AspettoGestito principalmente all'interno di...
Funzionalità delle armi
  • WeaponsSystem
  • Libraries/BaseWeapon
  • WeaponTypes/BulletWeapon
  • WeaponTypes/BowWeapon
Telecamera sopra la spalla
  • Libraries/ShoulderCamera
GUI delle armi
  • Libraries/WeaponsGui
  • Libraries/DirectionalIndicatorGuiManager
  • Libraries/DamageBillboardHandler

Struttura dell'arma

Le armi prefabbricate sono strumenti e sono nominate come appariranno nello zaino del giocatore. Ogni arma è strutturata con una gerarchia simile.

Tipo di arma

Il WeaponType StringValue corrisponde al ModuleScript per l'arma nella cartella WeaponsSystem/WeaponTypes. I due valori base sono BulletWeapon e BowWeapon.

Modello dell'arma

Ogni arma contiene un Model composto da uno o più BaseParts per formare l'arma fisica. Uno di questi dovrebbe essere impostato come PrimaryPart del modello.

Il modello include anche i seguenti discendenti importanti che possono essere parentati a uno dei BaseParts del modello:

  • TipAttachmentAttachment la cui posizione sul BasePart genitore determina da dove escono i proiettili/proiettili.
  • HandleAttachmentAttachment la cui posizione sul BasePart genitore determina dove è saldata la maniglia dello strumento.
  • Fired
    opzionale
    Sound che viene riprodotto quando l'arma viene sparata.
  • Reload
    opzionale
    Sound che viene riprodotto quando l'arma viene ricaricata.
  • Discendenti aggiuntivi per eventuali opzioni specializzate.

Configurazione

La cartella Configuration contiene tipi di "valore" specifici per il comportamento dell'arma. Oltre ai valori predefiniti, puoi aggiungere ulteriori elementi di configurazione per opzioni specializzate quando applicabile.

Di seguito sono riportate le configurazioni di base e i loro valori predefiniti:

ElementoDescrizionePredefinito
AimTrackNome della traccia di animazione di mira in Assets/Animations della cartella di sistema.RifleAim
AimZoomTrackNome della traccia di animazione di zoom di mira in Assets/Animations della cartella di sistema.RifleAimDownSights
AmmoCapacityNumero di colpi in ciascun "caricatore" prima che il giocatore debba ricaricare. Nota che le munizioni sono illimitate e questo non specifica quante munizioni un giocatore sta portando.30
BulletSpeedVelocità con cui i proiettili/proiettili viaggiano quando vengono sparati. Impostando questo a un valore molto alto come 20000 si simulano armi a raggi come le pistole laser.1000
BurstShotCooldownTempo tra ogni colpo in una raffica; conta solo se imposti FireMode su Burst.Valore di ShotCooldown
FiredPlaybackSpeedRangeQuantità con cui il tono può variare per il suono Fired dell'arma. Imposta questo a 0 per riprodurlo sempre con lo stesso tono.0.1
FireModeScegli tra Semiautomatico (un colpo per clic/tocco), Automatico (fuoco continuo) o Burst (raffica di colpi pari a NumBurstShots a ogni clic/tocco).Semiautomatico
FullDamageDistanceDistanza massima alla quale i colpi infliggeranno danni completi. Qualsiasi cosa colpita oltre questa distanza riceverà meno e meno danni man mano che la distanza si avvicina a ZeroDamageDistance.1000
GravityFactorQuantità con cui la gravità dovrebbe influenzare ogni proiettile/proiettile. Ad esempio, questo valore per il Crossbow è 1 perché le frecce curvano durante il volo, ma questo valore per il Rocket Launcher è 0 perché i razzi propulsi viaggiano dritti.0
HasScopeImposta su true se vuoi utilizzare il mirino specificato nella GUI delle armi.false
HitDamageQuantità di danno inflitto da ogni colpo diretto.10
MaxDistanceDistanza massima che i proiettili/proiettili possono viaggiare prima di scomparire.2000
MaxSpreadMassima quantità di dispersione per l'arma.Valore di MinSpread
MinSpreadMinima quantità di dispersione per l'arma.0
NumBurstShotsNumero di colpi per clic/raffica; conta solo se imposti FireMode su Burst.3
NumProjectilesNumero di proiettili/proiettili che verranno sparati contemporaneamente quando clicchi/tocchi una volta. Questo è utile per armi come il Fucile a pompa che spara più proiettili contemporaneamente. Nota che un colpo utilizzerà sempre esattamente una munizione indipendentemente da questo valore.1
RecoilDecayMoltiplicatore di decadimento per il rinculo; essenzialmente il tasso al quale il rinculo diminuisce dopo lo sparo.0.825
RecoilDelayTimeTempo di attesa dopo aver sparato/cliccato prima che il rinculo venga aggiunto alla telecamera.0.07
RecoilMaxRinculo massimo aggiunto per ogni colpo.0.5
RecoilMinRinculo minimo aggiunto per ogni colpo.0.05
ReloadAnimationNome della traccia di animazione di ricarica in Assets/Animations della cartella di sistema.RifleReload
ShotCooldownTempo di attesa minimo tra i clic. Per armi con FireMode di Automatico, questo è anche il tempo tra i colpi mentre si preme il pulsante di fuoco o si tiene premuto il clic.0.1
StartupTimeDurata di tempo dopo aver equipaggiato l'arma prima che il giocatore possa sparare. Questo impedisce ai giocatori di sparare un colpo singolo da più armi in rapida successione.0.2
TotalRecoilMaxRinculo massimo totale accumulato. Il rinculo attuale dell'arma non supererà mai questo valore.2
ZeroDamageDistanceQualsiasi cosa colpita a questa distanza o oltre non riceverà danni.10000

Opzioni specializzate

Puoi aggiungere/modificare le seguenti opzioni per qualsiasi arma. Queste personalizzazioni richiedono di modificare il Model dell'arma, la Configuration dell'arma, o entrambi. Alcune configurazioni dipendono da altre, come le particelle di bocca che richiedono i figli necessari per effetti e suoni di proiettile/impatto.

Animazioni e suoni del bullone

Il bullone di un'arma è la parte che si muove avanti e indietro ogni volta che viene sparata.

  • Discendenti del modello dell'arma:

    • BoltBasePart che si muove quando l'arma viene sparata.
    • BoltMotorMotor6D utilizzato per animare il bullone. Assicurati di impostare il Part0 del motore sulla PrimaryPart del modello dell'arma e Part1 sulla parte Bolt.
    • BoltMotorStartAttachment la cui posizione sul BasePart genitore determina dove si trova il bullone quando è a riposo.
    • BoltMotorTargetAttachment la cui posizione sul BasePart genitore determina dove il bullone si anima quando spara.
    • BoltOpenSound
      opzionale
      Sound che viene riprodotto quando il bullone si apre.
    • BoltCloseSound
      opzionale
      Sound che viene riprodotto quando il bullone si chiude.
  • Discendenti della cartella configurazione dell'arma:

    • ActionOpenTime
      opzionale
      — Tempo necessario per il bullone per animarsi nella posizione aperta. Il predefinito è 0.025.
    • ActionCloseTime
      opzionale
      — Tempo necessario per il bullone per animarsi nella posizione chiusa. Il predefinito è 0.075.

Bossoli espulsi

Le armi possono includere bossoli fisici che vengono espulsi al momento dello sparo e cadono a terra.

  • Discendenti del modello dell'arma:

    • CasingEjectPointAttachment la cui posizione sul BasePart genitore determina dove vuoi che i bossoli escano. Nota che la sua orientazione determina la direzione in cui i bossoli escono.
  • Discendenti della cartella configurazione dell'arma:

    • CasingEffect — Nome del BasePart del bossolo in Assets/Effects/Casings della cartella di sistema.
    • CasingEjectSpeedMin
      opzionale
      — Velocità di espulsione minima dei bossoli. Il predefinito è 15.
    • CasingEjectSpeedMax
      opzionale
      — Velocità di espulsione massima dei bossoli. Il predefinito è 18.
  • Figlio del BasePart del bossolo in Assets/Effects/Casings della cartella di sistema:

    • CasingHitSound
      opzionale
      Sound che viene riprodotto quando i bossoli colpiscono il suolo.

Effetti e suoni di proiettile/impatto

Puoi configurare proiettili fisici per qualsiasi arma, insieme a Sounds, Beams, e ParticleEmitters per effetti di impatto e altri effetti speciali.

  • Discendenti della cartella configurazione dell'arma:

    • ShotEffect — Nome di un effetto di colpo memorizzato in Assets/Effects/Shots della cartella di sistema.
    • ShouldMovePart
      opzionale
      — Imposta su true se l'ShotEffect dell'arma dovrebbe muoversi con il proiettile o false se non lo deve fare. Dovresti impostarlo su true solo se c'è un oggetto visibile che si muove con ogni colpo, come una freccia o un razzo. Il predefinito è false.
    • BeamFadeTime
      opzionale
      — Tempo necessario affinché Beam0 o Beam1 (vedi sotto) svaniscano dopo che il proiettile/proiettile colpisce qualcosa. Per impostazione predefinita, non verrà applicato alcun dissolvimento manuale tramite codice. Il predefinito è 0.
    • BeamWidth0
      opzionale
      — Spessore di Beam0 o Beam1 all'Attachment0 (vedi sotto). Il predefinito è 1.5.
    • BeamWidth1
      opzionale
      — Spessore di Beam0 o Beam1 all'Attachment1 (vedi sotto). Il predefinito è 1.8.
    • NumHitParticles
      opzionale
      — Numero di particelle che l'emettitore HitParticles (vedi sotto) emetterà. Il predefinito è 3.
    • HitParticlesUsePartColor
      opzionale
      — Imposta su true se vuoi che le particelle di impatto siano del colore della superficie colpita; false se vuoi che le particelle di impatto non cambino colore. Il predefinito è true.
  • Discendenti dell'ShotEffect specificato nella sezione sopra:

    • Flying
      opzionale
      Sound che viene riprodotto mentre il proiettile/proiettile sta viaggiando.
    • Beam0
      opzionale
      — Prima slot per un Beam che segue il proiettile/proiettile. Non dimenticare di impostare Attachment0 e Attachment1.
    • Beam1
      opzionale
      — Seconda slot per un Beam che segue il proiettile/proiettile. Non dimenticare di impostare Attachment0 e Attachment1.
    • Attachment0
      opzionale
      Attachment la cui posizione sul BasePart genitore determina la parte posteriore dei fasci in movimento; assicurati di impostare Beam.Attachment0 su entrambi Beam0 e Beam1 su questo.
    • Attachment1
      opzionale
      Attachment la cui posizione sul BasePart genitore determina la parte anteriore dei fasci in movimento; assicurati di impostare Beam.Attachment1 su entrambi Beam0 e Beam1 su questo.
    • TrailParticles
      opzionale
      ParticleEmitter parentato come figlio diretto di Attachment0; questo emetterà mentre il proiettile/proiettile sta viaggiando.
    • LeadingParticles
      opzionale
      ParticleEmitter parentato come figlio diretto di Attachment1; questo emetterà mentre il proiettile/proiettile sta viaggiando.
    • HitEffect
      opzionale
      Attachment la cui posizione sarà impostata su Beam.Attachment1 di Beam0 quando il proiettile/proiettile colpisce. Devi specificare Beam0 e i suoi attacchi affinché questo funzioni correttamente.
    • HitSound
      opzionale
      Sound parentato come figlio diretto di HitEffect; viene riprodotto quando il proiettile/proiettile colpisce.
    • HitParticles
      opzionale
      Sound parentato come figlio diretto di HitEffect; emette quando il proiettile/proiettile colpisce.
    • Mesh
      opzionale
      SpecialMesh che vuoi apparire come un proiettile fisico. Assicurati di impostare ShouldMovePart nella configurazione dell'arma su true se hai un oggetto visibile qui.

Particelle di bocca

Questa opzione emette particelle dall'ParticleEmitter specificato all'Attachment TipAttachment dell'arma quando viene sparata. I discendenti della cartella configurazione dell'arma includono:

  • ShotEffect — Nome di un effetto di colpo memorizzato in WeaponsSystem/Assets/Effects/Shots. Come figlio di questo effetto di colpo, includi un asset ParticleEmitter chiamato MuzzleParticles.
  • NumMuzzleParticles
    opzionale
    — Numero di particelle di bocca che verranno emesse. Il predefinito è 50.

Lampi di bocca

Questa opzione crea un effetto di flash Beam quando l'arma viene sparata.

  • Discendenti del modello dell'arma:

    • MuzzleFlash0Attachment utilizzato per specificare un lato del flash di bocca. La posizione non importa.
    • MuzzleFlash1Attachment utilizzato per specificare il lato opposto del flash di bocca. La posizione non importa.
    • MuzzleFlashBeam per l'effetto di flash di bocca. Assicurati di impostare Attachment0 su MuzzleFlash0 e Attachment1 su MuzzleFlash1.
  • Discendenti della cartella configurazione dell'arma:

    • MuzzleFlashTime
      opzionale
      — Durata del tempo in cui il flash di bocca sarà visibile. Il predefinito è 0.03.
    • MuzzleFlashRotation0
      opzionale
      — Rotazione minima del flash di bocca. Il predefinito è -math.pi.
    • MuzzleFlashRotation1
      opzionale
      — Rotazione massima del flash di bocca. Il predefinito è math.pi.
    • MuzzleFlashSize0
      opzionale
      — Dimensione minima del flash di bocca. Il predefinito è 1.
    • MuzzleFlashSize1
      opzionale
      — Dimensione massima del flash di bocca. Il predefinito è 1.

Tracce di particelle

Questa opzione crea una scia di lunghezza variabile dall'arma al punto di impatto del proiettile. I discendenti della cartella configurazione dell'arma includono:

  • TrailLength
    opzionale
    — Lunghezza della scia dietro il proiettile; il predefinito è nil, il che significa che la lunghezza della scia sarà calcolata utilizzando TrailLengthFactor.
  • TrailLengthFactor
    opzionale
    — Se specificato, la lunghezza della scia sarà impostata su questo valore moltiplicato per la distanza percorsa dal proiettile nell'ultimo fotogramma; il predefinito è 1. Nota che questo sarà sovrascritto se includi TrailLength.
  • ShowEntireTrailUntilHit
    opzionale
    — Imposta su true per rendere visibile la scia dalla punta dell'arma fino a dove si trova il proiettile; questo sovrascriverà sia TrailLength che TrailLengthFactor e la scia scomparirà solo una volta che il proiettile colpisce qualcosa. Imposta su false per utilizzare una delle due opzioni sopra per calcolare la lunghezza della scia. Il predefinito è false.

Segni di impatto

Questa aggiunta visiva appare sulla superficie dove i proiettili colpiscono ed è utile per frecce, fori di proiettile, segni di bruciature, ecc. I discendenti della cartella configurazione dell'arma includono:

  • HitMarkEffect
    opzionale
    — Nome di un effetto di segno di impatto Part/MeshPart/SpecialMesh memorizzato in WeaponsSystem/Assets/Effects/HitMarks. Il predefinito è BulletHole.
  • AlignHitMarkToNormal
    opzionale
    — Imposta su true se il segno di impatto dovrebbe sempre allinearsi piatto contro la superficie come un foro di proiettile, o false se il segno di impatto dovrebbe apparire incastrato nella superficie dalla direzione da cui è arrivato il proiettile (come una freccia). Il predefinito è true.

Come indicato da HitMarkEffect sopra, puoi aggiungere una parte/mesh all'interno di WeaponsSystem/Assets/Effects/HitMarks per apparire come un proiettile fisico. Ad esempio, includere una MeshPart per una freccia e impostare AlignHitMarkToNormal su false farà sì che la freccia sporga dalla superficie nella direzione in cui l'hai colpita. Questa Part/MeshPart/SpecialMesh può contenere i seguenti discendenti:

  • Glow
    opzionale
    Decal che appare sulla superficie colpita completamente opaco, poi diventa rapidamente più trasparente, come un effetto luminoso sulla superficie che svanisce rapidamente. Utile per mostrare un segno rosso luminoso dove sono esplosi gli esplosivi.
  • BulletHole
    opzionale
    Decal che appare sulla superficie colpita completamente opaco e, dopo 4 secondi, svanisce in trasparente in 1 secondo.
  • ImpactBillboard
    opzionale
    BillboardGui che viene visualizzato sulla superficie colpita, sempre rivolto verso la telecamera.
  • Impact
    opzionale
    ImageLabel come figlio diretto di ImpactBillboard; inizia completamente opaco, cresce fino alla dimensione completa di ImpactBillboard in 0.1 secondi, poi si riduce a metà della sua dimensione e svanisce in trasparente in 0.1 secondi.

Proiettili esplosivi

I proiettili possono includere un oggetto Explosion per danneggiare i personaggi dei giocatori in un'area attorno al punto di impatto. I discendenti della cartella configurazione dell'arma includono:

  • ExplodeOnImpact
    opzionale
    — Imposta su true se vuoi che i proiettili dell'arma esplodano all'impatto, false altrimenti. Il predefinito è false.
  • BlastRadius
    opzionale
    BlastRadius dell'esplosione; il predefinito è 8.
  • BlastPressure
    opzionale
    BlastPressure dell'esplosione; il predefinito è 10000.
  • BlastDamage
    opzionale
    — Danno inflitto a cose nel centro dell'esplosione. Nota che l'esplosione infligge meno danni man mano che gli oggetti colpiti si allontanano dal centro dell'esplosione. Il predefinito è 100.

Arma a carica

Un'arma a carica come il Fucile a rotaia deve essere caricata tra i colpi prima di poter sparare di nuovo.

  • Discendenti del modello dell'arma:

    • Charging
      opzionale
      Sound che viene riprodotto mentre l'arma è in carica.
    • Discharging
      opzionale
      Sound che viene riprodotto mentre l'arma si scarica, ad esempio se carichi l'arma solo parzialmente e rilasci il pulsante di sparo.
    • ChargeComplete
      opzionale
      Sound che viene riprodotto quando l'arma ha raggiunto la carica completa.
    • DischargeComplete
      opzionale
      Sound che viene riprodotto quando l'arma si è completamente scaricata.
    • ChargeGlow
      opzionale
      BasePart che diventerà meno trasparente man mano che l'arma si carica, in modo che sia completamente opaco al 100% di carica.
    • ChargeCompleteParticles
      opzionale
      ParticleEmitter che emette quando l'arma ha finito di caricarsi. Questo emettitore può essere un figlio di qualsiasi modello BasePart o un figlio di un Attachment all'interno del BasePart.
    • DischargeCompleteParticles
      opzionale
      ParticleEmitter che emette quando l'arma si è completamente scaricata. Questo emettitore può essere un figlio di qualsiasi modello BasePart o un figlio di un Attachment all'interno del BasePart.
    • ChargingParticles
      opzionale
      ParticleEmitter che emette mentre l'arma è in carica. Puoi includere più emettitori con questo nome e ognuno emetterà mentre è in carica. Questo emettitore può essere un figlio di qualsiasi modello BasePart o un figlio di un Attachment all'interno del BasePart.
  • Discendenti della cartella configurazione dell'arma:

    • ChargeRate — Tasso al quale l'arma si caricherà. Questo valore deve essere specificato per indicare che l'arma utilizza la carica.
    • DischargeRate
      opzionale
      — Tasso al quale l'arma si scaricherà. Il predefinito è 0, il che significa che l'arma non si scaricherà affatto.
    • ChargePassively
      opzionale
      — Imposta su true se vuoi che l'arma si carichi passivamente in modo che spari istantaneamente quando clicchi, o false se vuoi cliccare/toccare per caricare l'arma e farla sparare una volta raggiunta la carica completa. Il predefinito è false.
    • ChargingParticlesRatePerCharge
      opzionale
      — Numero di particelle che emetteranno tutti gli emettitori ChargingParticles moltiplicato per la carica attuale dell'arma. Il predefinito è 20, il che significa che se la carica dell'arma è al 10%, ogni emettitore ChargingParticles emetterà 2 particelle (20*0.1), e se la carica dell'arma è al 90%, ogni emettitore emetterà 18 particelle (20*0.9).
    • FireDischarge
      opzionale
      — Quantità di carica che l'arma perderà dopo aver sparato un colpo completamente carico. Il predefinito è 1.
    • NumChargeCompleteParticles
      opzionale
      — Numero di particelle che l'emettitore ChargeCompleteParticles emetterà una volta che l'arma è completamente carica. Il predefinito è 25.
    • NumDischargeCompleteParticles
      opzionale
      — Numero di particelle che l'emettitore DischargeCompleteParticles emetterà quando l'arma è completamente scaricata. Il predefinito è 25.

Arma ad arco

Un'arma ad arco come il Crossbow può includere una costruzione realistica di corda e braccia, così come una freccia visiva incoccata sulla corda.

Oltre ad aggiungere discendenti al modello, devi applicare quanto segue:

  • Trasforma l'arma in un' arma a carica. Ad esempio, aggiungi il necessario ChargeRate all'interno della Configuration dell'arma che specifica quanto velocemente viene tirata la corda. Inoltre, considera di aggiungere discendenti opzionali al Model dell'arma come un suono di Charging per la corda/le braccia che vengono tirate indietro.
  • Imposta il WeaponType su BowWeapon come indicato nella struttura dell'arma.

I discendenti del modello dell'arma includono:

  • LeftString
    opzionale
    Beam per la metà sinistra visiva della corda.
  • RightString
    opzionale
    Beam per la metà destra visiva della corda.
  • Arrow
    opzionale
    BasePart per la freccia che appare quando l'arco è completamente teso. Nota che questo è solo per l'aspetto visivo sull'arco (la freccia effettivamente sparata sarà un ShotEffect come delineato in effetti e suoni di proiettile/impatto).
  • String1Attachment per il punto centrale della corda.
  • StringLooseAttachment punto in cui String1 dovrebbe trovarsi quando l'arco è a riposo.
  • StringTightAttachment punto in cui String1 dovrebbe trovarsi quando l'arco è completamente teso.
  • Arms
    opzionale
    Part che serve solo come indicatore interno che le braccia dell'arco saranno animate. Questo può contenere i seguenti figli diretti:
    • LeftString0Attachment punto in cui il lato sinistro della corda è attaccato all'arco.
    • RightString0Attachment punto in cui il lato destro della corda è attaccato all'arco.
    • LeftLooseAttachment punto in cui LeftString0 dovrebbe trovarsi quando l'arco è a riposo.
    • RightLooseAttachment punto in cui RightString0 dovrebbe trovarsi quando l'arco è a riposo.
    • LeftTightAttachment punto in cui LeftString0 dovrebbe trovarsi quando l'arco è completamente teso.
    • RightTightAttachment punto in cui RightString0 dovrebbe trovarsi quando l'arco è completamente teso.
    • MeshSpecialMesh parte dell'arco che si piegherà effettivamente quando l'arco è teso. Nota che devi specificare i seguenti quattro oggetti Vector3Value per farlo animare.

GUI delle armi

Il sistema principale delle armi interagisce con questo sistema per aggiornare la GUI in base a cose come la dispersione dell'arma, indicatori per quando vieni colpito o colpisci altri, ecc.

Il WeaponsSystemGui è un oggetto ScreenGui in WeaponsSystem/Assets che è parentato a PlayerGui quando inizia il gioco. WeaponSystemGui ha quattro discendenti come segue:

  • ScalingElements è una Folder con i seguenti discendenti:

    • DirectionalIndicatorsFolder dove sono memorizzati tutti gli indicatori direzionali.
    • Crosshair — Una Frame contenente un UIAspectRatioConstraint e etichette immagine per gli elementi inferiori, sinistri, destri e superiori del mirino.
    • HitMarker — Una Frame contenente un UIAspectRatioConstraint e un'etichetta immagine HitMarkerImage che appare e svanisce quando il giocatore colpisce con successo un altro personaggio giocante.
  • LargeTouchscreen è una Frame contenente i pulsanti AimButton e FireButton che vengono visualizzati su grandi touchscreen.

  • Scope è una Frame che contiene l'etichetta immagine ScopeImage che appare quando si fa zoom su un'arma con HasScope abilitato (vedi struttura dell'arma).

  • SmallTouchscreen è una Frame contenente i pulsanti AimButton e FireButton che vengono visualizzati su piccoli touchscreen.

Indicatori direzionali

Gli indicatori direzionali vengono utilizzati per mostrare la direzione di qualcosa attorno al mirino del giocatore. Ad esempio, se qualcuno ti spara, un semicerchio rosso può apparire attorno al tuo mirino nella direzione da cui è arrivato il colpo. Altri esempi includono indicatori per mostrare la direzione dei passi, del fuoco indiretto o persino di oggetti ambientali come forzieri.

Per creare un nuovo indicatore, aggiungi un nuovo Frame in WeaponsSystemGui/ScalingElements/DirectionalIndicators con la seguente struttura:

  • Indicatore (Frame)
    • ImageLabel per l'indicatore direzionale. Potrebbe essere necessario modificare la rotazione dell'immagine in Studio a meno che tu non carichi l'immagine in modo che sia rivolta verso il basso e ci sia poco o nessuno spazio vuoto attorno ad essa. Questa etichetta immagine deve anche contenere il proprio UIAspectRatioConstraint.
    • Configuration contenente proprietà opzionali da regolare:
      • DistanceLevelFromCenter
        opzionale
        — Numero di livelli di distanza dal centro dello schermo (ogni livello di distanza è di circa 0.03 scala dello schermo). Il predefinito è 6.
      • FadeTime
        opzionale
        — Tempo di dissolvenza dell'indicatore dopo la sua attivazione e il tempo TimeBeforeFade. Il predefinito è 1.
      • Name
        opzionale
        — Nome dell'indicatore direzionale come vuoi fare riferimento ad esso nel codice. Il predefinito è il nome del Frame di livello superiore dell'indicatore.
      • TimeBeforeFade
        opzionale
        — Numero di secondi in cui l'indicatore apparirà prima di svanire. Il predefinito è 1.
      • TransparencyBeforeFade
        opzionale
        — Trasparenza dell'indicatore prima che inizi a svanire. Il predefinito è 0.
      • WidthLevel
        opzionale
        — Numero di livelli di larghezza dal centro (ogni livello di larghezza è di circa 0.03 scala dello schermo). Il predefinito è il valore di DistanceLevelFromCenter.

Una volta creato, puoi attivare un indicatore tramite il seguente comando all'interno di WeaponsSystem/Libraries/WeaponsGui dove indicatorName è il nome della stringa dell'indicatore da attivare e worldPos è la posizione nel mondo dove l'indicatore direzionale dovrebbe puntare:

self.DirectionalIndicatorGuiManager:ActivateDirectionalIndicator(indicatorName, worldPos)

Billboard di danno

Il billboard di danno viene utilizzato per mostrare numeri sopra la testa di un personaggio quando subisce danni. Questi appariranno solo per il giocatore che ha danneggiato il personaggio di un altro giocatore, non per i giocatori in modalità spettatore.

I billboard di danno sono gestiti in WeaponsSystem/Libraries/DamageBillboardHandler e possono essere attivati da qualsiasi codice lato client come segue, dove damage è l'ammontare di danno inflitto e adornmentPart è la parte su cui adornare il billboard, come la testa della vittima:

DamageBillboardHandler:ShowDamageBillboard(damage, adornmentPart)

Telecamera sopra la spalla

La telecamera sopra la spalla è una telecamera in terza persona che guarda sopra la spalla destra del personaggio del giocatore. Per personalizzare la telecamera sopra la spalla, modifica le variabili sotto il commento -- Parametri di configurazione (costanti) nella funzione ShoulderCamera.new() di WeaponsSystem/Libraries/ShoulderCamera. Puoi modificare cose come il campo visivo, il disallineamento dal personaggio, la velocità di camminata mentre corri o fai zoom, ecc.

Corsa e zoom

Per impostazione predefinita, il sistema delle armi aggiunge la capacità di "corsa" in modo che i giocatori possano correre tenendo premuto il tasto Shift, spingendo completamente in alto sul thumbstick dinamico (mobile) o spingendo completamente in alto sul joystick sinistro (gamepad). Se vuoi disabilitare la corsa, imposta il valore di SprintEnabled all'interno di WeaponsSystem/Configuration su false.

Il sistema riduce anche la velocità del giocatore mentre sta mirando/facendo zoom, ma puoi disabilitare questo comportamento impostando il valore di SlowZoomWalkEnabled all'interno di WeaponsSystem/Configuration su false.

© 2026 Roblox Corporation. Roblox, il logo Roblox e Powering Imagination sono tra i nostri marchi registrati e non registrati negli Stati Uniti. e altri paesi.