Roblox ofrece las siguientes armas prefabricadas para ayudar en la creación de juegos competitivos basados en combate. El sistema central presenta armas basadas en proyectiles con una cámara sobre el hombro, y establecer la velocidad del proyectil lo suficientemente alta puede simular armas de raycasting como pistolas láser.

Para usar un arma prefabricada en tu juego:
En la página del artículo del arma, haz clic en el botón Obtener Modelo y confirma la transacción.
En Studio, abre el Toolbox y selecciona tu sección de Inventario.

Localiza el arma y haz clic en ella para agregarla al lugar. Cuando se te pregunte si deseas poner la herramienta en el paquete inicial, haz clic en Sí si deseas que los jugadores comiencen con el arma en su mochila, o haz clic en No para simplemente colocar el arma en el mundo 3D como un objeto recogible.
Si esta es la primera vez que traes un arma prefabricada, mueve su carpeta WeaponsSystem a ServerScriptService para que sirva como la carpeta del sistema unificada para todas las armas prefabricadas en el juego.

Estructura de la carpeta del sistema
La carpeta WeaponsSystem es una carpeta unificada que contiene activos, configuraciones y scripts que alimentan todas las armas prefabricadas en el juego. Si se encuentra en ServerScriptService, anula cualquier carpeta WeaponsSystem equivalente que pueda residir dentro de armas individuales.

Dentro de la carpeta WeaponsSystem, diferentes aspectos son controlados por los siguientes ModuleScripts:
| Aspecto | Manejado principalmente dentro de... |
|---|---|
| Funcionalidad de las armas |
|
| Cámara sobre el hombro |
|
| GUI de armas |
|
Estructura del arma
Las armas prefabricadas son herramientas y están nombradas como aparecerán en la mochila del jugador. Cada arma está estructurada con una jerarquía similar.
Tipo de arma
El WeaponType StringValue corresponde con el ModuleScript para el arma en la carpeta WeaponsSystem/WeaponTypes. Los dos valores base son BulletWeapon y BowWeapon.
Modelo de arma
Cada arma contiene un Model compuesto por una o más BaseParts para formar el arma física. Uno de estos debe establecerse como la PrimaryPart del modelo.

El modelo también incluye los siguientes descendientes importantes que pueden estar parentados a uno de los BaseParts del modelo:
- TipAttachment — Attachment cuya posición en el BasePart padre determina de dónde salen las balas/proyectiles.
- HandleAttachment — Attachment cuya posición en el BasePart padre determina dónde se suelda el mango de la herramienta.
- Descendientes adicionales para cualquier opción especializada.
Configuración
La carpeta Configuration contiene tipos de "valor" específicos para el comportamiento del arma. Más allá de los valores predeterminados, puedes agregar elementos de configuración adicionales para opciones especializadas cuando sea aplicable.

A continuación se presentan las configuraciones base y sus valores predeterminados:
| Elemento | Descripción | Predeterminado |
|---|---|---|
| AimTrack | Nombre de la pista de animación de apuntar en Assets/Animations de la carpeta del sistema. | RifleAim |
| AimZoomTrack | Nombre de la pista de animación de zoom de apuntar en Assets/Animations de la carpeta del sistema. | RifleAimDownSights |
| AmmoCapacity | Número de disparos en cada "cargador de munición" antes de que el jugador deba recargar. Ten en cuenta que la munición es ilimitada y esto no especifica cuánta munición lleva un jugador. | 30 |
| BulletSpeed | Velocidad a la que viajan las balas/proyectiles cuando se disparan. Establecer esto en un valor muy alto como 20000 simula armas de raycasting como pistolas láser. | 1000 |
| BurstShotCooldown | Tiempo entre cada disparo en una ráfaga; solo importa si estableces FireMode en Burst. | Valor de ShotCooldown |
| FiredPlaybackSpeedRange | Cantidad que el tono puede variar para el sonido Fired del arma. Establece esto en 0 para reproducirlo siempre al mismo tono. | 0.1 |
| FireMode | Elige entre Semiautomático (un disparo por clic/tap), Automático (fuego continuo) o Ráfaga (ráfaga de disparos igual a NumBurstShots en cada clic/tap). | Semiautomático |
| FullDamageDistance | Distancia máxima a la que los disparos harán daño completo. Cualquier cosa golpeada más allá de esta distancia recibirá menos y menos daño a medida que la distancia se acerque a ZeroDamageDistance. | 1000 |
| GravityFactor | Cantidad que la gravedad debe influir en cada bala/proyectil. Por ejemplo, este valor para la Ballesta es 1 porque las flechas arquean durante el vuelo, pero este valor para el Lanzacohetes es 0 porque los cohetes propulsados viajan en línea recta. | 0 |
| HasScope | Establece en true si deseas usar la mira que se especifica en GUI de Armas. | false |
| HitDamage | Cantidad de daño que hace cada golpe directo. | 10 |
| MaxDistance | Distancia máxima que las balas/proyectiles viajan antes de desaparecer. | 2000 |
| MaxSpread | Cantidad máxima de dispersión para el arma. | Valor de MinSpread |
| MinSpread | Cantidad mínima de dispersión para el arma. | 0 |
| NumBurstShots | Número de disparos por clic/ráfaga; solo importa si estableces FireMode en Burst. | 3 |
| NumProjectiles | Número de balas/proyectiles que se dispararán al mismo tiempo cuando hagas clic/tap una vez. Esto es útil para armas como la Escopeta que dispara múltiples balas al mismo tiempo. Ten en cuenta que un disparo siempre usará exactamente una munición independientemente de este valor. | 1 |
| RecoilDecay | Multiplicador de decaimiento para el retroceso; esencialmente la tasa a la que el retroceso disminuye después de disparar. | 0.825 |
| RecoilDelayTime | Tiempo de espera después de disparar/hacer clic antes de que se agregue el retroceso a la cámara. | 0.07 |
| RecoilMax | Máximo retroceso agregado por cada disparo. | 0.5 |
| RecoilMin | Mínimo retroceso agregado por cada disparo. | 0.05 |
| ReloadAnimation | Nombre de la pista de animación de recarga en Assets/Animations de la carpeta del sistema. | RifleReload |
| ShotCooldown | Tiempo de espera mínimo entre clics. Para armas con FireMode de Automático, este también es el tiempo entre disparos mientras se presiona el botón de disparo o se mantiene el clic. | 0.1 |
| StartupTime | Duración del tiempo después de equipar el arma antes de que el jugador pueda disparar. Esto evita que los jugadores disparen un solo disparo de múltiples armas diferentes en rápida sucesión. | 0.2 |
| TotalRecoilMax | Máximo total de retroceso acumulado. El retroceso actual del arma nunca excederá este valor. | 2 |
| ZeroDamageDistance | Cualquier cosa golpeada a esta distancia o más allá no recibirá daño. | 10000 |
Opciones especializadas
Puedes agregar/modificar las siguientes opciones para cualquier arma. Estas personalizaciones requieren modificar ya sea el Model del arma, la Configuration del arma, o ambos. Algunas configuraciones dependen de otras, como partículas de boca que requieren los hijos necesarios para efectos y sonidos de proyectiles/golpes.
Animaciones y sonidos del cerrojo
El cerrojo de un arma es la parte que se mueve hacia adelante y hacia atrás cada vez que se dispara.
Descendientes del modelo del arma:
- Bolt — BasePart que se mueve cuando se dispara el arma.
- BoltMotor — Motor6D utilizado para animar el cerrojo. Asegúrate de establecer el Part0 del motor en el PrimaryPart del modelo del arma y Part1 en la parte Bolt.
- BoltMotorStart — Attachment cuya posición en el BasePart padre determina dónde está el cerrojo cuando está en reposo.
- BoltMotorTarget — Attachment cuya posición en el BasePart padre determina dónde se anima el cerrojo al disparar.
Descendientes de la carpeta de configuración del arma:
- ActionOpenTimeopcional— Tiempo que tarda el cerrojo en animarse a la posición abierta. El valor predeterminado es 0.025.
- ActionCloseTimeopcional— Tiempo que tarda el cerrojo en animarse a la posición cerrada. El valor predeterminado es 0.075.
Casquillos de bala expulsados
Las armas pueden incluir casquillos de bala físicos que se expulsan al disparar y caen al suelo.
Descendientes del modelo del arma:
- CasingEjectPoint — Attachment cuya posición en el BasePart padre determina dónde deseas que salgan los casquillos de bala. Ten en cuenta que su orientación determina la dirección en la que los casquillos salen.
Descendientes de la carpeta de configuración del arma:
- CasingEffect — Nombre de la parte BasePart de casquillo en Assets/Effects/Casings de la carpeta del sistema.
- CasingEjectSpeedMinopcional— Velocidad mínima de expulsión de los casquillos. El valor predeterminado es 15.
- CasingEjectSpeedMaxopcional— Velocidad máxima de expulsión de los casquillos. El valor predeterminado es 18.
Hijo de la parte BasePart del casquillo en Assets/Effects/Casings de la carpeta del sistema:
Efectos y sonidos de proyectiles/golpes
Puedes configurar proyectiles físicos para cualquier arma, junto con Sounds, Beams, y ParticleEmitters para efectos de golpe y otros efectos especiales.
Descendientes de la carpeta de configuración del arma:
- ShotEffect — Nombre de un efecto de disparo almacenado en Assets/Effects/Shots de la carpeta del sistema.
- ShouldMovePartopcional— Establece en true si el ShotEffect del arma debe moverse con el proyectil o false si no. Solo debes establecer esto en true si hay un objeto visible que se mueve con cada disparo, como una flecha o un cohete. El valor predeterminado es false.
- BeamFadeTimeopcional— Tiempo que tarda en desvanecerse Beam0 o Beam1 (ver más abajo) después de que la bala/proyectil golpea algo. Por defecto, no se aplicará un desvanecimiento manual por código. El valor predeterminado es 0.
- BeamWidth0opcional— Grosor de Beam0 o Beam1 en Attachment0 (ver más abajo). El valor predeterminado es 1.5.
- BeamWidth1opcional— Grosor de Beam0 o Beam1 en Attachment1 (ver más abajo). El valor predeterminado es 1.8.
- NumHitParticlesopcional— Número de partículas que el emisor HitParticles (ver más abajo) emitirá. El valor predeterminado es 3.
- HitParticlesUsePartColoropcional— Establece en true si deseas que las partículas de golpe sean del color de la superficie golpeada; false si deseas que las partículas de golpe no cambien de color. El valor predeterminado es true.
Descendientes del ShotEffect especificado en la sección anterior:
- Beam0opcional— Primer espacio para un Beam que sigue a la bala/proyectil. No olvides establecer Attachment0 y Attachment1.
- Beam1opcional— Segundo espacio para un Beam que sigue a la bala/proyectil. No olvides establecer Attachment0 y Attachment1.
- Attachment0opcional— Attachment cuya posición en el BasePart padre determina la parte trasera de los haces que siguen; asegúrate de establecer Beam.Attachment0 en ambos Beam0 y Beam1 a esto.
- Attachment1opcional— Attachment cuya posición en el BasePart padre determina la parte delantera de los haces que siguen; asegúrate de establecer Beam.Attachment1 en ambos Beam0 y Beam1 a esto.
- TrailParticlesopcional— ParticleEmitter parentado como un hijo directo de Attachment0; esto emitirá mientras la bala/proyectil está viajando.
- LeadingParticlesopcional— ParticleEmitter parentado como un hijo directo de Attachment1; esto emitirá mientras la bala/proyectil está viajando.
- HitEffectopcional— Attachment cuya posición se establecerá en Beam.Attachment1 de Beam0 cuando la bala/proyectil golpee. Debes especificar Beam0 y sus adjuntos para que esto funcione correctamente.
- HitSoundopcional— Sound parentado como un hijo directo de HitEffect; se reproduce cuando la bala/proyectil golpea.
- HitParticlesopcional— Sound parentado como un hijo directo de HitEffect; emite cuando la bala/proyectil golpea.
- Meshopcional— SpecialMesh que deseas que aparezca como un proyectil físico. Asegúrate de establecer ShouldMovePart en la configuración del arma en true si tienes un objeto visible aquí.
Partículas de boca
Esta opción emite partículas del ParticleEmitter especificado en el TipAttachment Attachment del arma cuando se dispara. Los descendientes de la carpeta de configuración del arma incluyen:
- ShotEffect — Nombre de un efecto de disparo almacenado en WeaponsSystem/Assets/Effects/Shots. Como hijo de este efecto de disparo, incluye un activo ParticleEmitter llamado MuzzleParticles.
- NumMuzzleParticlesopcional— Número de partículas de boca que se emitirán. El valor predeterminado es 50.
Destellos de boca
Esta opción crea un efecto de destello Beam cuando se dispara el arma.
Descendientes del modelo del arma:
- MuzzleFlash0 — Attachment utilizado para especificar un lado del destello de boca. La posición no importa.
- MuzzleFlash1 — Attachment utilizado para especificar el lado opuesto del destello de boca. La posición no importa.
- MuzzleFlash — Beam para el efecto de destello de boca. Asegúrate de establecer el Attachment0 del haz en MuzzleFlash0 y el Attachment1 en MuzzleFlash1.
Descendientes de la carpeta de configuración del arma:
- MuzzleFlashTimeopcional— Duración del tiempo que se mostrará el destello de boca. El valor predeterminado es 0.03.
- MuzzleFlashRotation0opcional— Rotación mínima del destello de boca. El valor predeterminado es -math.pi.
- MuzzleFlashRotation1opcional— Rotación máxima del destello de boca. El valor predeterminado es math.pi.
- MuzzleFlashSize0opcional— Tamaño mínimo del destello de boca. El valor predeterminado es 1.
- MuzzleFlashSize1opcional— Tamaño máximo del destello de boca. El valor predeterminado es 1.
Rastro de partículas
Esta opción crea un rastro de longitud variable desde el arma hasta el punto de impacto del proyectil. Los descendientes de la carpeta de configuración del arma incluyen:
- TrailLengthopcional— Longitud del rastro detrás de la bala/proyectil; el valor predeterminado es nil, lo que significa que la longitud del rastro se calculará utilizando TrailLengthFactor.
- TrailLengthFactoropcional— Si se especifica, la longitud del rastro se establecerá en este valor multiplicado por la distancia que la bala/proyectil viajó en el último fotograma; el valor predeterminado es 1. Ten en cuenta que esto se anulará si incluyes TrailLength.
- ShowEntireTrailUntilHitopcional— Establece en true para renderizar el rastro desde la punta del arma hasta donde sea que esté el proyectil; esto anulará tanto TrailLength como TrailLengthFactor y el rastro solo desaparecerá una vez que el proyectil golpee algo. Establece en false para usar una de las dos opciones anteriores para calcular la longitud del rastro. El valor predeterminado es false.
Marcas de impacto
Esta adición visual aparece en la superficie donde los proyectiles golpean y es útil para flechas, agujeros de bala, marcas de quemaduras, etc. Los descendientes de la carpeta de configuración del arma incluyen:
- HitMarkEffectopcional— Nombre de un efecto de marca de impacto Part/MeshPart/SpecialMesh almacenado en WeaponsSystem/Assets/Effects/HitMarks. El valor predeterminado es BulletHole.
- AlignHitMarkToNormalopcional— Establece en true si la marca de impacto debe alinearse siempre plana contra la superficie como un agujero de bala, o false si la marca de impacto debe aparecer atascada en la superficie desde la dirección de la que vino el proyectil (como una flecha). El valor predeterminado es true.
Como se indica en HitMarkEffect arriba, puedes agregar una parte/malla dentro de WeaponsSystem/Assets/Effects/HitMarks para aparecer como un proyectil físico. Por ejemplo, incluir una MeshPart de flecha y establecer AlignHitMarkToNormal en false hará que la flecha sobresalga de la superficie desde la dirección en la que la disparaste. Esta Part/MeshPart/SpecialMesh puede contener los siguientes descendientes:
- Glowopcional— Decal que aparece en la superficie golpeada completamente opaco, luego se vuelve rápidamente más transparente, como un efecto de brillo en la superficie que se desvanece rápidamente. Útil para cosas como mostrar una marca roja brillante donde impactan explosivos.
- BulletHoleopcional— Decal que aparece en la superficie golpeada completamente opaco y, después de 4 segundos, se desvanece a transparente durante 1 segundo.
- ImpactBillboardopcional— BillboardGui que se muestra en la superficie golpeada, siempre mirando hacia la cámara.
- Impactopcional— ImageLabel como un hijo directo de ImpactBillboard; comienza completamente opaco, crece al tamaño completo del ImpactBillboard durante 0.1 segundos, luego se reduce a la mitad de su tamaño y se desvanece a plena transparencia durante 0.1 segundos.
Proyectiles explosivos
Los proyectiles pueden incluir un objeto Explosion para dañar personajes de jugadores en un área alrededor del punto de impacto. Los descendientes de la carpeta de configuración del arma incluyen:
- ExplodeOnImpactopcional— Establece en true si deseas que las balas/proyectiles del arma exploten al impactar, false de lo contrario. El valor predeterminado es false.
- BlastDamageopcional— Daño infligido a las cosas en el centro de la explosión. Ten en cuenta que la explosión hace menos daño cuanto más lejos están los objetos golpeados del centro de la explosión. El valor predeterminado es 100.
Arma de carga
Un arma de carga como el Railgun debe cargarse entre disparos antes de que pueda disparar nuevamente.
Descendientes del modelo del arma:
- Dischargingopcional— Sound que se reproduce mientras el arma se está descargando, por ejemplo, si cargas el arma solo parcialmente y sueltas el botón de disparo.
- ChargeGlowopcional— BasePart que se volverá menos transparente a medida que el arma se carga, de modo que será completamente opaco al 100% de carga.
- ChargeCompleteParticlesopcional— ParticleEmitter que emite cuando el arma ha terminado de cargarse. Este emisor puede ser un hijo de cualquier modelo BasePart o un hijo de un Attachment dentro del BasePart.
- DischargeCompleteParticlesopcional— ParticleEmitter que emite cuando el arma se ha descargado completamente. Este emisor puede ser un hijo de cualquier modelo BasePart o un hijo de un Attachment dentro del BasePart.
- ChargingParticlesopcional— ParticleEmitter que emite mientras el arma se está cargando. Puedes incluir múltiples emisores de este nombre y cada uno emitirá mientras se carga. Este emisor puede ser un hijo de cualquier modelo BasePart o un hijo de un Attachment dentro del BasePart.
Descendientes de la carpeta de configuración del arma:
- ChargeRate — Tasa a la que el arma se cargará. Este valor debe especificarse para indicar que el arma utiliza carga.
- DischargeRateopcional— Tasa a la que el arma se descargará. El valor predeterminado es 0, lo que significa que el arma no se descargará en absoluto.
- ChargePassivelyopcional— Establece en true si deseas que el arma se cargue pasivamente para que dispare instantáneamente cuando hagas clic, o false si deseas hacer clic/tocar para cargar el arma y que dispare una vez que se alcance la carga completa. El valor predeterminado es false.
- ChargingParticlesRatePerChargeopcional— Número de partículas que se emitirán de todos los emisores ChargingParticles multiplicado por la carga actual del arma. El valor predeterminado es 20, lo que significa que si la carga del arma está al 10%, cada emisor ChargingParticles emitirá 2 partículas (20*0.1), y si la carga del arma está al 90%, cada emisor emitirá 18 partículas (20*0.9).
- FireDischargeopcional— Cantidad de carga que el arma perderá después de disparar un disparo completamente cargado. El valor predeterminado es 1.
- NumChargeCompleteParticlesopcional— Número de partículas que el emisor ChargeCompleteParticles emitirá una vez que el arma esté completamente cargada. El valor predeterminado es 25.
- NumDischargeCompleteParticlesopcional— Número de partículas que el emisor DischargeCompleteParticles emitirá cuando el arma esté completamente descargada. El valor predeterminado es 25.
Arma de arco
Un arma de arco como la Ballesta puede incluir una construcción de cuerda y brazos realista, así como una flecha visual colocada en la cuerda.
Además de agregar descendientes al modelo, necesitas aplicar lo siguiente:
- Haz que el arma sea un arma de carga. Por ejemplo, agrega la ChargeRate requerida dentro de la Configuration del arma que especifica qué tan rápido se tensa la cuerda. Además, considera agregar descendientes opcionales al Model del arma, como un sonido de Charging para la cuerda/brazos que se tiran hacia atrás.
Los descendientes del modelo del arma incluyen:
- Arrowopcional— BasePart para la flecha que aparece cuando el arco está completamente tensado. Ten en cuenta que esto es solo para apariencia visual en el arco (la flecha disparada real será un ShotEffect como se describe en efectos y sonidos de proyectiles/golpes).
- String1 — Attachment para el punto central de la cuerda.
- StringTight — Attachment punto donde String1 debería estar cuando el arco está completamente tensado.
- Armsopcional— Part que solo sirve como un indicador interno de que los brazos del arco serán animados. Esto puede contener los siguientes hijos directos:
- LeftString0 — Attachment punto donde el lado izquierdo de la cuerda está unido al arco.
- RightString0 — Attachment punto donde el lado derecho de la cuerda está unido al arco.
- LeftTight — Attachment punto donde LeftString0 debería estar cuando el arco está completamente tensado.
- RightTight — Attachment punto donde RightString0 debería estar cuando el arco está completamente tensado.
- Mesh — SpecialMesh parte del arco que realmente se doblará cuando se tense el arco. Ten en cuenta que debes especificar los siguientes cuatro objetos Vector3Value para que esto se anime.
- TightOffset — Vector3Value desplazamiento de la SpecialMesh cuando el arco está completamente tensado.
GUI de Armas
El sistema central de armas interactúa con este sistema para actualizar la GUI en función de cosas como la dispersión del arma, indicadores de cuándo te golpean o golpeas a otros, etc.
El WeaponsSystemGui es un objeto ScreenGui en WeaponsSystem/Assets que se parenta a PlayerGui cuando comienza el juego. WeaponSystemGui tiene cuatro descendientes como sigue:
ScalingElements es una Folder con los siguientes descendientes:
- Crosshair — Un Frame que contiene un UIAspectRatioConstraint y etiquetas de imagen para los elementos inferior, izquierdo, derecho y superior del punto de mira.
- HitMarker — Un Frame que contiene un UIAspectRatioConstraint y una etiqueta de imagen HitMarkerImage que aparece y se desvanece cuando el jugador golpea exitosamente a otro personaje jugador.
LargeTouchscreen es un Frame que contiene botones AimButton y FireButton que se muestran en pantallas táctiles grandes.
Scope es un Frame que contiene la etiqueta de imagen ScopeImage que aparece al hacer zoom en un arma con HasScope habilitado (ver estructura del arma).
SmallTouchscreen es un Frame que contiene botones AimButton y FireButton que se muestran en pantallas táctiles pequeñas.
Indicadores direccionales
Los indicadores direccionales se utilizan para mostrar la dirección de algo alrededor del punto de mira del jugador. Por ejemplo, si alguien te dispara, puede aparecer un semicírculo rojo alrededor de tu punto de mira en la dirección de donde vino el disparo. Otros ejemplos incluyen indicadores para mostrar la dirección de pasos, disparos indirectos, o incluso objetos ambientales como cofres.
Para crear un nuevo indicador, agrega un nuevo Frame en WeaponsSystemGui/ScalingElements/DirectionalIndicators con la siguiente estructura:
- Indicador (Frame)
- ImageLabel para el indicador direccional. Puede ser necesario ajustar la rotación de la imagen en Studio a menos que subas la imagen de manera que esté mirando hacia abajo y haya poco o ningún espacio en blanco a su alrededor. Esta etiqueta de imagen también debe contener su propio UIAspectRatioConstraint.
- Configuration que contiene propiedades opcionales para ajustar:
- DistanceLevelFromCenteropcional— Número de niveles de distancia desde el centro de la pantalla (cada nivel de distancia es aproximadamente 0.03 de escala de pantalla). El valor predeterminado es 6.
- FadeTimeopcional— Tiempo de desvanecimiento del indicador después de su activación y el tiempo TimeBeforeFade. El valor predeterminado es 1.
- Nameopcional— Nombre del indicador direccional como deseas referenciarlo en el código. El valor predeterminado es el nombre del Frame de nivel superior del indicador.
- TimeBeforeFadeopcional— Número de segundos que el indicador aparecerá antes de desvanecerse. El valor predeterminado es 1.
- TransparencyBeforeFadeopcional— Transparencia del indicador antes de que comience a desvanecerse. El valor predeterminado es 0.
- WidthLevelopcional— Número de niveles de ancho desde el centro (cada nivel de ancho es aproximadamente 0.03 de escala de pantalla). El valor predeterminado es el valor de DistanceLevelFromCenter.
Una vez creado, puedes activar un indicador a través del siguiente comando dentro de WeaponsSystem/Libraries/WeaponsGui donde indicatorName es el nombre de cadena del indicador a activar y worldPos es la posición en el mundo donde el indicador direccional debe apuntar:
self.DirectionalIndicatorGuiManager:ActivateDirectionalIndicator(indicatorName, worldPos)Cartel de daño
El cartel de daño se utiliza para mostrar números sobre la cabeza de un personaje cuando son dañados. Estos solo aparecerán para el jugador que dañó al personaje de otro jugador, no para los jugadores que están observando.
Los carteles de daño son manejados en WeaponsSystem/Libraries/DamageBillboardHandler y pueden ser activados desde cualquier código del lado del cliente de la siguiente manera, donde damage es la cantidad de daño infligido y adornmentPart es la parte en la que adornar el cartel, como la cabeza de la víctima:
DamageBillboardHandler:ShowDamageBillboard(damage, adornmentPart)Cámara sobre el hombro
La cámara sobre el hombro es una cámara en tercera persona que mira sobre el hombro derecho del personaje jugador. Para personalizar la cámara sobre el hombro, modifica las variables bajo el comentario -- Parámetros de configuración (constantes) en la función ShoulderCamera.new() de WeaponsSystem/Libraries/ShoulderCamera. Puedes modificar cosas como el campo de visión, el desplazamiento del personaje, la velocidad de caminata mientras corres o haces zoom, etc.
Correr y hacer zoom
Por defecto, el sistema de armas agrega la capacidad de "correr" para que los jugadores puedan correr manteniendo presionada la tecla Shift, empujando completamente hacia arriba en el joystick dinámico (móvil), o empujando completamente hacia arriba en el joystick izquierdo (controlador). Si deseas desactivar la carrera, establece el valor de SprintEnabled dentro de WeaponsSystem/Configuration en false.
El sistema también reduce la velocidad del jugador mientras está apuntando/haciendo zoom, pero puedes desactivar este comportamiento estableciendo el valor de SlowZoomWalkEnabled dentro de WeaponsSystem/Configuration en false.








