Para ajudar na criação de experiências baseadas em combate competitivo, várias armas endossadas estão disponíveis para uso em qualquer experiência. Os recursos do sistema de núcleo incluem armas baseadas em projéteis com uma Câmerade ombro, e configurar a velocidade do projétil pode simular armas de raios como armas de laser.
Para usar uma arma endossada em sua experiência:
- Selecione uma arma abaixo, navegando até o víncular / conectarda biblioteca de recursos.
Na página de itens da arma, clique no botão verde Obter e confirme a transação.
In Studio, open the Caixa de ferramentas ( Ver → Caixa de ferramentas ).
Selecione sua caixa de ferramentas Inventário seção.
Localize a arma e clique nela para adicioná-la ao local. Quando solicitado a colocar a ferramenta no pacote de iniciante, clique em Sim se você quiser que os jogadores comecem com a arma na mochila deles ou clique em Não para simplesmente colocar a arma no mundo 3D como um pickup.
Se esta é a primeira vez que você está importando uma arma, mova sua pasta WeaponsSystem para ServerScriptService para servir como o pasta de sistema padrão para todas as armas endossadas na experiência.
Estrutura da pasta do sistema
A pasta WeaponsSystem é um arquivo unificado que contém recursos, configurações e scripts que alimentam todas as armas endossadas na experiência. Se localizado em ServerScriptService , ele substitui qualquer pasta WeaponsSystem que possa estar dentro de armas individuais.
A pasta Sistema de Armas contém as seguintes instâncias:
- Recursos ( Folder )
- Tipos de Arma ( Folder ) – Specifies todos os tipos de armas.
- Script de Armas do Servidor ( Script )
- Versão ( IntValue )
- Script de ClienteWeaponScript ( LocalScript )
- Chamadas de Rede ( ModuleScript )
- Dados de Arma ( RemoteEvent )
- Sistema de Armas ( ModuleScript )
Dentro da pasta WeaponsSystem , diferentes aspectos são controlados pelo seguinte ModuleScripts :
Aspecto | Controlado Primariamente dentro de... |
---|---|
Funcionalidades de Armas |
|
Câmera de Ombro |
|
GUI de Armas |
|
Estrutura de Arma
As armas endossadas são Tools e têm nomes como elas aparecerão na mochila do jogador. Cada arma é estruturada com uma hierarquia semelhante.
Tipo de Arma
O Tipo de Arma StringValue corresponde ao ModuleScript para a arma na pasta 1>ArmasSistema1> / 4>ArmasTipos4>. Os dois valores base são 7>BulletWeapon7> e 0>BowWeapon0>.
Modelo de Arma
Cada arma contém um Model feito de um ou mais BaseParts para formar a arma física. Um desses deve ser definido como o PrimaryPart do modelo.
O modelo também inclui os seguintes descendentes importantes que podem estar ligados a um dos descendentes do modelo:
- Manusear Ataque – Attachment cuja posição na raiz BasePart determina onde o 0> Manusear0> é soldado.
- Fired – Class.Sound que toca quando a arma é disparada.
- Recarregar – Sound que toca quando a arma é recarregada.
- Descendentes adicionais para qualquer opções especializadas.
Suporte de arma
A peça Handle determina onde um personagem de jogador segura a arma. Isso deve ser um Part, deve ser chamado Handle e deve ser um filho direto da arma (ferramenta).
Pasta de Configuração
A pasta Configuração contém tipos específicos de "valor" para o comportamento da arma. Além dos padrões, você pode adicionar itens de configuração adicionais para opções especializadas quando Aplicável.
A seguir estão as configurações de base e seus valores padrão:
Item | Descrição | Padrão |
---|---|---|
Capacidade de Munição | Número de tiros em cada "magazine de munição" antes que o jogador deve recarregar. Observe que a munição é ilimitada e isso não especifica quanta munição um jogador está carregando. | 30 |
Modo de Fogo | Escolha Semiautomático (um tiro por clique/toque), Automático (Iniciar / executarcontínuo), ou Rajada (rajada de tiros igual a 1>NumBurstShots1> em cada clique/toque). | Semiautomático |
Tempo de Recarga da Arma | Tempo mínimo de espera entre cliques. Para armas com FireMode de Automatic , esta é também a hora entre os tiros enquanto pressionando o botão de fogo ou segurando o clique. | 0.1 |
Tempo de Recarga de Tiros Explosivos | Tempo entre cada tiro em uma rajada; só importa se você definir Modo de Fogo para Rajada . | Valor de ShotCooldown |
Tiros de NúmeroBurst | Número de tiros por clique/burst; só importa se você definir Modo de Fogo para Burst . | 3 |
Dano de Hit | Quantidade de dano que cada acerto direto causa. | 10 |
Distância Completa de Dano | Distância máxima que os tiros causarão dano completo. Qualquer coisa que for alcançada além desta distância receberá menos e menos dano à medida que a distância se aproxima ZeroDamageDistance . | 1.000 |
ZeroDamageDistance | Qualquer coisa acertada ou além desta distância não receberá dano. | 10000 |
Velocidade de Chumbo | Velocidade que as balas/projéteis viajam quando atirados. Configurar isso para um valor muito alto, como 20000, simula armas de raycasting, como armas de laser. | 1.000 |
Distância Máxima | Projéteis/metralhadoras máximas de distância antes de desaparecerem. | 2000 |
MinSpread | Quantidade mínima de distorção para a arma. | 0 |
Espalhamento Máximo | Quantidade máxima de distribuição para a arma. | Valor de MinSpread |
Fator de Gravidade | Quantidade que a gravidade deve influenciar cada bala/projétil. Por exemplo, este valor para o Crossbow é 1 porque as setas se arqueiam durante o vôo, mas este valor para o Rocket Launcher é 0 porque as rochas propelidas viajam diretamente. | 0 |
Tem escopo | Definir para verdadeiro se você quiser usar o escopo que está especificado em Weapons System GUI. | falso |
Animação de Recarregamento | Nome da nova animação de recompilação na Assets / Animações do pasta de sistemas . | Recarregamento de Rifle |
Rastreamento de Mira | Nome da pista de animação de meta em Recursos / Animações do pasta de sistema. | Mira de Rifle |
Rastreamento de Mira Zoom. | Nome da animação de rastreamento de zoom de meta em Recursos / Animações do pasta de sistema. | RifleAimDownSights |
RecuoMínimo | Recuo mínimo adicionado para cada tiro. | 0.05 |
RecuoMaximo | Recuo máximo adicionado para cada tiro. | 0.5 |
TotalRecoilMax | Total de recuo máximo acumulado. O recuo atual da arma nunca excederá este valor. | 2 |
RecoilDecay | Multiplicador de decadência para recuo; Essencialmente, a taxa em que o recuo diminui após o tiro. | 0.825 |
RecoilDelayTime | Tempo de espera após o tiro/clique antes que o recuo seja adicionado à Câmera. | 0.07 |
Tempo de Inicialização | Comprimento do tempo depois de equipar a arma antes que o jogador possa atirar. Isso impede que os jogadores atirem um único tiro de várias armas em sucessão rápido. | 0.2 |
Reprodução de Fogo-PlaybackSpeedRange | Quantidade que o tom pode variar para o som Fired da arma. Defina isso em 0 para sempre tocá-lo na mesma nota. | 0.1 |
NumProjectiles | Número de balas/projéteis que atirarão ao mesmo tempo quando você clicar/tocar uma vez. Isso é útil para armas como a Escopeta que atira múltiplas balas ao mesmo tempo. Observe que um tiro sempre usará exatamente uma munição, independentemente deste valor. | 1 |
Opções Especializadas
Você pode adicionar/modificar as seguintes opções para qualquer arma. Essas personalizações requerem modificar o Model da arma, Configuration ou ambos. Algumas configurações dependem de outros, como Partículas de Muzzle, que requerem as crianças necessárias para 2>Efeitos de Projétil/Acerto e Sons2>.
Animações e Sons de Parafuso
O parte de arma é a peça que se move para trás e para a frente cada vez que é disparada.
- Descendentes da arma's Modelo de Arma
Prego | BasePart que se move quando a arma é disparada. | |
Motor de Parafuso | Motor6D usado para animação do parafuso. Certifique-se de definir o motor's Part0 para o modelo de arma PrimaryPart e 0> Class.Motor6D.Part1|Part1</ | |
Inicializa??o de BoltMotor | Attachment cuja posição na raiz BasePart determina onde o parafuso está quando está em repouso. | |
BoltMotorTarget | Attachment cuja posição na base BasePart determina onde o parafuso anima quando ativado. | |
Som de abertura de parafuso | Sound que toca quando a alavanca se abre. | optional |
Som de Fechamento de Parafuso | Sound que toca quando a alavanca se fecha. | optional |
- Filhos da pasta Configuração da arma
Item | Descrição | Padrão |
---|---|---|
Ação Aberta em Tempo | Ajusta o tempo que leva para a alavanca abrir a posição. | 0.025 |
AçãoCloseTime | Tempo que leva para a viga se anima para uma posição fechada. | 0.075 |
Ejetando Cascas de Balas
As armas podem incluir caixas de balas físicas que ejetam ao disparar e cair no chão.
- Descendentes da arma's Modelo de Arma
CasingEjectPoint | Attachment cuja posição na parte pai BasePart determina onde você deseja que as capas de balas pop-out. Observe que sua orientação determina a direção em que as capas de balas pop-out. |
- Filhos da pasta Configuração da arma
Item | Descrição | Padrão |
---|---|---|
Efeito de Encaixe | Nome do caso BasePart em Recursos / Efeitos / 1> Casings1> da pasta de sistema.4> | |
CasingEjectSpeedMin | Velocidade mínima de ejeção das caixas | 15 |
CasingEjectSpeedMax | Velocidade máxima de ejeção de caixas | 18 |
Som de Caseamento de Coringa | Sound que toca quando caixas tocam o chão. | optional |
Efeitos de Projétil/Acerto e Sons
Você pode configurar projéteis físicos para qualquer arma, juntamente com Sounds, Beams e ParticleEmitters para efeitos de hit e outros efeitos especiais.
- Filhos da pasta Configuração da arma
Item | Descrição | Padrão |
---|---|---|
Efeito de Chute | Nome de um efeito de nome armazenado dentro de Recursos / Efeitos / Tiros do 1> pasta de sistema1> . | |
O ShouldMovePart | Definido para verdadeiro se o efeito de chute da arma deve se mover com o projétil ou falso se não. Você deve definir isso apenas para 2> verdadeiro2> se houver um objeto visível que se move com cada tiro, como uma seta ou um foguete. | falso |
Tempo de Desvanecimento do Raio | A duração de Beam0 ou Beam1 ( ver abaixo ) para desaparecer depois que a bala/projétil atinge algo. Por padrão, nenhuma desvanecimento manual será aplicado pelo código. | 0 |
BeamWidth0 | Espessura de Beam0 ou Beam1 em Attachment0 ( 1> veja abaixo1> ). | 1.5.1 |
BeamWidth1 | Espessura de Beam0 ou Beam1 em Attachment1 ( 1> veja abaixo1> ). | 1.8. |
Partículas de Número | Número de partículas que o HitParticles ( veja abaixo ) emitterá. | 3 |
HitParticlesUsePartColor | Definir para verdadeiro se você quiser que as partículas de hit sejam da cor da superfície de hit; falso se você quiser que as partículas de hit não mudem de cor. | verdade |
- Descendentes do especificado Efeito de Chute notado na seção anterior
Voador | Sound que toca enquanto a bala/projétil está viajando. | optional |
Beam0 | Primeiro espaço para um Beam atrás da bala/projétil. Não se esqueça de definir Ataque0 e Ataque1 . | optional |
Beam1 | Segundo slot para um Beam atrás da bala/projétil. Não se esqueça de definir Ata0 e Ata1 . | optional |
Anexo0 | Class.Rotation cuja posição na raiz BasePart determina a parte de trás dos raios; certifique-se de definir Beam.Attachment0 em ambos os 0>Beam00> e Attachment3> para isso. | optional |
Anexo1 | Class.Rotation cuja posição na raiz BasePart determina a frente dos raios de puxamento; certifique-se de configurar Beam.Attachment1 em ambos 0> Beam00> e Attachment3> para isso. | optional |
Partículas de Trilha | ParticleEmitter filho direto de Attachment0 ; isso será emitido enquanto a bala/projétil estiver viajando. | optional |
Partículas de Liderança | ParticleEmitter ; este será emitido enquanto a bala/projétil estiver viajando. | optional |
Efeito de Acerto | Attachment cuja posição será definida como Beam.Attachment1 de Beam0 quando a bala/projétil atingir. Você deve especificar 0> Beam00> e seus anexos para que isso funcione corretamente. | optional |
Som de Acerto | Sound ; filho direto de HitEffect ; toca quando a bala/projétil atinge. | optional |
Partículas de Acerto | Sound ; filho direto de HitEffect ; emite quando a bala/projétil atinge. | optional |
[ParteProjétil] | Qualquer Part ou MeshPart que você deseja aparecer como um projétil físico. Certifique-se de definir ShouldMovePart notado na seção anterior para 2> verdadeiro2> se você tiver um objeto visível aqui. | optional |
Partículas de Boca
Essa opção emite partículas do ParticleEmitter especificado no Tipo de AtaqueAttachment quando é disparado.
Descendentes de configuração:
- ShotEffect ( StringValue ) — Nome de um efeito de chute armazenado dentro de WeaponsSystem/Assets/Effects/Shots .
- NumMuzzleParticles ( IntValue ) (opcional) — Número de partículas de muzzle que serão emitidas; padrão é 50 .
Para o efeito de chute especificado, adicione um recurso ParticleEmitter dentro de WeaponsSystem/Assets/Effects/Shots chamado MuzzleParticles .
Efeitos de Luminosidade
Essa opção cria um efeito de Beam de raios quando a arma é disparada.
Descendentes de modelos:
- MuzzleFlash0 ( Attachment ) — Usado para especificar um lado do flash de muzzle. A posição não importa.
- MuzzleFlash1 ( Attachment ) — Usado para especificar o lado oposto do muzzle flash. A posição não importa.
- MuzzleFlash ( Beam ) — Certifique-se de definir Attachment0 para 0> MuzzleFlash00> e 3> Attach13> para 6> MuzzleFlash1 6>.
Descendentes de configuração:
- MuzzleFlashTime ( NumberValue ) (opcional) — Comprimento do tempo muzzle flash será mostrado para; padrão é 0.03 .
- MuzzleFlashRotation0 ( NumberValue ) (opcional) — Rotatação mínima do flash do muzzle; padrão é -math.pi .
- MuzzleFlashRotation1 ( NumberValue ) (opcional) — Rotação máxima do muzzle flash; padrão é math.pi .
- Tamanho do Flash da Cabeça1 ( NumberValue ) (opcional) — Tamanho máximo do flash da cabeça; o padrão é 1 .
Trilhas de Partículas
Essa opção cria uma trilha de vária longitude da arma ao ponto de impacto do projétil.
Descendentes de configuração:
- TrailLength ( NumberValue ) (opcional) — Comprimento da trilha atrás da bala/projétil; o padrão é nil, o que significa que o comprimento da trilha será calculado usando 0> TrailLengthFactor 0>.
- TrailLengthFactor ( NumberValue ) (opcional) — A comprimento da trilha será definido para este valor multiplicado pela distância que a bala/projétil viajou na última janela; o padrão é 1 . Observe que isso será sobrescrito se você incluir 0> TrailLength 0> .
- Mostrar todo o rastro até a hit ( BoolValue ) (opcional) — Definido para verdadeiro para renderizar o rastro a partir do ponto de arma até onde o projétil estiver; isso substituirá ambas as opções 0>
Marcações de Acerto
Esta adição visual aparece na superfície onde os projéteis atingem e é útil para as setas, buracos de balas, marcas de queimadura, etc.
Descendentes de configuração:
- HitMarkEffect ( StringValue ) (opcional) — Nome do efeito de hit mark armazenado dentro de WeaponsSystem/Assets/Effects/HitMarks ; padrão é 0> BulletHole 0> .
- AlignHitMarkToNormal ( BoolValue ) (opcional) — Definido como verdadeiro se a marca de hit sempre deve estar alinhada na superfície como um buraco de bala, ou 0> falso 0> se a marca de hit deve aparecer presa na superfície da direção da qual vem o projétil (como uma seta). O padrão é
Você pode adicionar o seguinte recurso opcional dentro de WeaponsSystem/Assets/Effects/HitMarks :
- Brilho ( Decal ) (opcional) — Parece na superfície de hit totalmente opaca, então rapidamente fica mais transparente, como um efeito brilhante de cor vermelha que desvanece rapidamente. Útil para coisas como mostrar um marcador vermelho brilhante onde explosivos atingem.
- BulletHole ( Decal ) (opcional) — Aparece na superfície de hit totalmente opaca e, após 4 segundos, desaparece para transparente por mais de 1 segundo.
- Billboard de Impacto ( BillboardGui ) (opcional) — Exibe na superfície de hit, sempre voltado para a Câmera.
- Impacto ( ImageLabel ) (opcional) — Filho direto de ImpactBillboard ; isso começa totalmente opaco, cresce até o tamanho total do 0> ImpactBillboard0> sobre 0.1 segundos, então encolhe até metade do tamanho e desvanecer para a metade de sua transparência sobre 0.1 segundos.
- Qualquer Part / MeshPart / SpecialMesh que você deseja aparecer como um projétil físico (opcional). Por exemplo, incluir uma seta 1> Class.MeshPart1> e definir 4> AlignHitMarkToNormal 4> notado acima para <
Projéteis Explosivos
Projéteis podem incluir um objeto de Explosão para danificar personagens de jogadores em uma área ao redor do ponto de impacto.
Descendentes de configuração:
- ExplodeOnImpact ( BoolValue ) (opcional) — Definido como verdadeiro se você quiser balas/projéteis para a arma explodir no impacto, 0> falso 0> de outra forma. Padrão é 3> falso 3> .
- Dano de Explosão ( NumberValue ) (opcional) — Dano dado às coisas no centro da explosão. Observe que a explosão causa menos dano quanto mais longe os objetos estiverem do centro da explosão. Padrão é 100 .
Carregando Arma
Uma arma de carga, como a Railgun, deve ser recarregada entre os tiros antes de poder disparar novamente.
Descendentes de modelos:
- Carregando ( Sound ) (opcional) — Joga enquanto a arma está carregando.
- Descarregando ( Sound ) (opcional) — Joga enquanto a arma está descarregando, por exemplo, se você recarregar a arma apenas parcialmente e soltar o botão de disparo.
- CarregamentoCompleto ( Sound ) (opcional) — Joga quando a arma atingir a cobrançacompleta.
- Descarregamento finalizado ( Sound ) (opcional) — Joga quando a arma está completamente descarregada.
- ChargeGlow ( BasePart ) (opcional) — Este objeto ficará menos transparente à medida que a arma carrega, para que seja totalmente opaco em 100% de cobrança.
- ChargeCompleteParticles ( ParticleEmitter ) (opcional) — Emite quando a arma terminar de carregar. Este emissor pode ser um filho de qualquer modelo BasePart ou um filho de um 0> Class.Attendance0> dentro do 3> Class.BasePart 3> .
- DischargeCompleteParticles ( ParticleEmitter ) (opcional) — Emite quando a arma está completamente descarregada. Este emissor pode ser um filho de qualquer modelo BasePart ou um filho de um 0> Class.Attendance0> dentro do 3> Class.BasePart 3> .
- ChargingParticles ( ParticleEmitter ) (opcional) — Emite enquanto a arma está carregando. Você pode incluir vários emissores deste nome e cada um deles emite enquanto carrega. Este emissor pode ser um filho de qualquer modelo BasePart ou um filho de um 0> Class.
Descendentes de configuração:
- Taxa de Recarregamento ( NumberValue ) — Taxa em que a arma será cobrança. Este valor deve ser especificado para indicar que a arma usa recarregamento.
- DischargeRate ( NumberValue ) (opcional) — Taxa em que a arma será descarregada; o padrão é 0 , o que significa que a arma não será descarregada em todas / todos.
- CarregarPassivamente ( BoolValue ) (opcional) — Definido como verdadeiro se você quiser que a arma seja carregada passivamente para que ela possa disparar instantaneamente quando você clique, ou 0> falso 0> se você quiser que a arma seja carregada e atire quando a carga for completa. Padrão é 3> falso
- ChargingParticlesRatePerCharge ( IntValue ) (opcional) — Número de partículas que irão emitir de todos os ChargingParticles emissores multiplicado pelo carregamento atual da arma. O padrão é
- Descarregamento de Fogo ( NumberValue ) (opcional) — A quantidade de carga da arma será perdida ao disparar um tiro totalmente carregado; o padrão é 1 .
- Particles de Carga Finalizada ( IntValue ) (opcional) — Número de partículas que a - ChargeCompleteParticles emitterá uma vez que a arma estiver totalmente carregada. O padrão é 25 .
- NumDischargeCompleteParticles ( IntValue ) (opcional) — Número de partículas que os - DischargeCompleteParticles emitem quando a arma estiver completamente descarregada. O padrão é 0>250>.
Arma de Arco
Uma arma de arco, como a Crossbow, pode incluir uma construção de corda e braços realistas, bem como uma seta visual derrubada para a string / cadeia / texto.
Além de adicionar descendentes de modelos, você precisa aplicar o seguindo:
- Faça a arma em uma arma de carga. Por exemplo, adicione o requerido taxa de carga dentro da arma's Configuration que especifica como rápido a string é voltar. Além disso, considere adicionar descendentes opcionais à arma's 1> Class.Model1> como um 4> som de carga
Descendentes de modelos:
- LeftString ( Beam ) (opcional) — A parte visual da string / cadeia / texto.
- RightString ( Beam ) (opcional) — A parte visual da direita da string / cadeia / texto.
- Flecha ( BasePart ) (opcional) — A flecha que aparece quando a proa é totalmente desenhar. Observe que isso é apenas para a aparência visual na proa (a seta real ativada será um ShotEffect como descrito em 0>Efeitos de Projétil/Acerto0> ).
- String1 ( Attachment ) (opcional) — O ponto central da string / cadeia / texto.
- StringTight ( Attachment ) (opcional) — Pontos onde String1 deve ser quando o arco for totalmente desenhado.
- Braços ( Part ) (opcional) — Uma parte que apenas serve como um indicador interno de que os braços internos serão animados. Isso pode conter as seguintes crianças diretas:
- LeftString0 ( Attachment )(opcional) — Ponto onde o lado esquerdo da string é conectado ao arco.
- RightString0 ( Attachment ) (opcional) — Ponto onde o lado direito da string é conectado ao arco.
- LeftLoose ( Attachment ) (opcional) — Ponto onde LeftString0 deve estar quando o arco estiver em repouso.
- RightLoose ( Attachment ) (opcional) — Pontos onde RightString0 deve ser quando o arco estiver em repouso.
- LeftTight ( Attachment ) (opcional) — Pontos onde LeftString0 deve ser quando o arco for totalmente desenhado.
- RightTight ( Attachment ) (opcional) — Pontos onde RightString0 deve ser quando o arco for totalmente desenhado.
- [SpecialMesh] ( SpecialMesh ) (opcional) — A parte do arco que realmente se dobrará quando o arco for desenhado. Observe que você deve especificar os seguintes quatro objetos Vector3Value para fazer esse animação.
- LooseOffset ( Vector3Value ) (opcional) — Deslocamento do SpecialMesh quando o arco está em repouso.
- TightOffset ( Vector3Value ) (opcional) — Deslocamento do SpecialMesh quando o arco é totalmente desenhado.
- TightScale ( Vector3Value ) (opcional) — Escala do SpecialMesh quando o arco é totalmente desenhado.
Interface gráfica do usuáriodo Sistema de Armas
O sistema de armas principais interage com este sistema para atualizar a GUI com base em coisas como a propagação da arma, indicadores para quando você é atingido ou atingir outras pessoas, etc.
O WeaponsSystemGui é um objeto ScreenGui em WeaponsSystem/Assets que é filho de 2> Class.PlayerGui2> quando a experiência começa. O WeaponSystemGui tem 4 descendentes:
- ScalingElements - Um Folder de elementos na tela.
- Tela Grande Touchscreen - Um Frame para botões em grandes telas de toque.
- Tela Pequena de Alto Tocar - Um Frame para botões em pequenas telas de toque.
Redimensionando Elementos
ScalingElements é um Folder pai abaixo de WeaponsSystemGui com os seguintes descendentes:
Nome | Tipo de Instância | Descrição |
---|---|---|
Indicadores Direcionais | Folder | Um Folder onde todos os indicadores direcionais são armazenados. |
Crosshair | Frame | Um Frame contendo os seguintes objetos:[UIAspectRationConstraint] - 1> Class.UIAspectRatioConstraint1> 4> Bottom4> - 7> Class.ImageLabel7> |
Marcador de Acerto | Frame | Um Frame contendo os seguintes objetos: [UIAspectRatioConstraint] - UIAspectRatioConstraint1> Hit MarkerImage1> - 4> Class.ImageLabel4> que aparece e desaparece quando o jogador acerta outro personagem de jogador com sucesso. |
Tela Grande
LargeTouchscreen é um Frame contendo botões que são exibidos em grandes telas de toque. GrandeTouchscreen tem os seguintes descendentes:
- AimButton ( ImageButton )
- FireButton ( ImageButton )
Mira
O escopo é um Frame que contém ScopeImage ( ImageLabel ) que aparece quando você zooma em uma arma com HasScope ativado (veja 2> Estrutura da Arma2>). Scope tem os seguintes descendentes:
Nome | Tipo de Instância | Descrição |
---|---|---|
Instância de Escopo | Frame | Um Frame contendo as seguintes recursos usados ao zoomar em uma arma com HasScope habilitado: [UIAspectRationConstraints] - UIAspectRatioConstraint 1> |
Tela Pequena
SmallTouchScreen é um Frame contendo botões que são exibidos em pequenos touchscreens. SmallTouchscreen tem os seguintes descendentes:
- AimButton ( ImageButton )
- FireButton ( ImageButton )
Criar um Índice Direcional
Indicadores direcionais são usados para mostrar a direção de algo ao redor do crosshair do jogador. Por exemplo, se alguém atirar em você, um semicírculo vermelho pode aparecer ao redor do crosshair na direção em que o tiro veio. Outros exemplos incluem indicadores para mostrar a direção de passos de pé, tiro indireto ou até mesmo objetos ambientais, como baús.
Para criar um novo indicador, adicione um novo Indicador Frame em WeaponsSystemGui/ScalingElements/DirectionalIndicators com a seguinte estrutura:
Nome | Tipo de Instância | Descrição |
---|---|---|
[Restrição de Aspecto da Interface] | UIAspectRatioConstraint | |
[ImagemLabel] | ImageLabel | Imagem do indicador direcional. Tweaking the rotation of the image in Studio pode ser necessário, a menos que você carregue a imagem para que ela esteja voltada para baixo e há pouco ou nenhum espaço em branco ao redor dela. Este rótulo de imagem também deve conter seu próprio UIAspectRatioConstraint . |
[Configuração] | Configuration | Contém propriedades opcionais para ajustar. Veja Configuração de Indicador para mais informações. |
Uma vez criado, você pode ativar um indicador via o seguinte comando dentro de WeaponsSystem/Libraries/WeaponsGui onde indicatorName é o nome de estrangulado do indicador para ativar e worldPos é a posição mundial onde o indicador direcional deve apontar:
self.DirectionalIndicatorGuiManager:ActivateDirectionalIndicator(indicatorName, worldPos)
Configuração do indicador
Os DirectionalIndicators podem ser modificados ainda mais ao ajustar o objeto Configuration sob o [Indicator]. Todas essas configurações têm um valor padrão, então não há necessidade de configurar configurações quando não estiver modificando uma configuração.
As seguintes configurações podem ser configurar:
Nome | Tipo de Instância | Descrição |
---|---|---|
Distância do nível do centro | NumberValue | Número de níveis de distância do centro da tela (cada nível de distância é cerca de 0,03 de dimensionar/escalonarde tela); padrão é 6 . |
Tempo de Desvanecimento | NumberValue | Tempo de desvanecimento do indicador após sua ativação e o tempo de TimeBeforeFade; padrão é 1 . |
Nome | StringValue | Nome do indicador direcional como você deseja referenciá-lo no código; o padrão é o nome do nível superior do indicador Frame . |
Tempo antes de desvanecer | NumberValue | Número de segundos que o indicador aparecerá antes de desaparecer; o padrão é 1 . |
Transparência antes de Desvanecer | NumberValue | Transparência do indicador antes de ele começar a desvanecer; padrão é 0 . |
Nível de largura | NumberValue | Número de níveis de largura do centro (cada nível de largura é cerca de 0,03 de dimensionar/escalonarde tela); o padrão é o valor de DistânciaLevelFromCenter . |
Mostrar Billboard de Dano
O painel de dano é usado para mostrar pequenos números acima da cabeça de um personagem quando eles são danificados. Esses só aparecerão para o jogador que danificou o personagem de outro jogador, não para espectadores de jogadores.
Os bilhetes de dano são processados em WeaponsSystem/Libraries/DamageBillboardHandler e podem ser ativados a partir de qualquer código do lado do cliente, como mostrado abaixo, onde o dano é a quantidade de dano feita e a adornmentPart é a parte na qual o bilhete será colocado, como a cabeça da vítima:
DamageBillboardHandler:ShowDamageBillboard(damage, adornmentPart)
Câmera de Ombro
A câmera de ombro é uma câmera de terceiros que olha para o ombro direito do personagem. Para personalizar a Câmerade ombro, modifique as variáveis sob os parâmetros de configuração (conjuntos) na função ShoulderCamera.new() . Você pode modificar coisas como o campo de ver, o deslocamento do personagem, a velocidade de caminhada
Controle de Corrida e Zoom
Por padrão, o sistema de armas adiciona capacidade de "corrida" para que os jogadores possam correr pressionando a tecla Shift , pressionando completamente no joystick dinâmico (celular), ou pressionando completamente na joystick esquerda (controle / controle de jogo). Se você quiser desativar a corrida, configure o valor de SprintEnabled dentro de Weapons
O sistema também reduz a velocidade do jogador enquanto eles estão mirando/Zoomando, mas você pode desativar esse comportamento definindo o valor de SlowZoomWalkEnabled para falso .