In-experience Tools são ferramentas interativas que os usuários podem equipar em sessões, como espadas, lançadores de foguetes e varinhas mágicas. Você pode criar ferramentas personalizadas na experiência, colocá-las na sua hierarquia de experiência e escrever scripts para implementá-las para seus usuários.
Criando uma Ferramenta In-Experience
Para o primeiro passo de criar qualquer ferramenta na experiência, você precisa criar um objeto de ferramenta para conter todos os elementos que compõem a ferramenta. Você pode então adicionar outros instâncias ao objeto de ferramenta incluindo peças e malhas, efeitos sonoros e scripts que fornecem funcionalidades. Você também
Criando o Objeto de Ferramenta
Você pode criar um novo objeto de ferramenta com as seguintes etapas:
Na janela Explorer , passe o mouse sobre Espaço de Trabalho e clique no botão ⊕ para mostrar a lista de objetos.
Selecione Ferramenta abaixo da categoria Interação .
Adicionando Peças ou Malhas
Depois de criar o Objetode ferramenta, você precisa adicionar Parts ou MeshParts ao modelo de ferramenta ou criar a ferramenta como um item de inventário sem peças e malhas sem peças e malhas. Como outros modelos, f
Se você quiser criar uma ferramenta sem adicionar peças ou malhas, você pode criá-la como um item de inventário .
Configurando o Cabo da Ferramenta
Para habilitar os usuários a carregar ferramentas ao redor, você precisa definir um Part e nomeá-lo Handle para ser conectado à mão do usuário. O seguinte exemplo mostra uma varinha mágica com três partes: uma dica brilhante, o corpo principal e uma Manipulador / alçavermelha. Quando um usuário
Certifique-se de ter apenas um Part chamado Handle . Se você nomear vários Parts como 1> Handle1> , a ferramenta escolhe aleatoriamente um deles como ponto de anexo de mão que pode causar problemas, como usuários segurando espadas de espadas em vez de alças.
Ajustando a Orientação do Empunhadura da Ferramenta
Se a orientação do cabo de sua ferramenta estiver errada, como arrastar no chão ou olhar para trás, você pode corrigi-lo ajustando Grip propriedades sob a categoria Aparência na janela Propriedades .
Como a orientação ideal para cada ferramenta é diferente, você precisa experimentar com a mudança de valores ao lado da GripForward, GripRight e GripUp propriedades até que sua ferramenta fique correta. O seguinte exemplo mostra possíveis garras inválidas e corretas para uma varinha mágica:
Você também pode habilitar personagens de usuário para desviar ferramentas de sua mão com a propriedade GripPos . Isso pode ser útil ao fazer uma ferramenta que deve aparecer em seu ombro.
Personalizando o ícone de ferramentas
As ferramentas que um usuário possui são armazenadas em seu Backpack. Os usuários podem visualizar o ícone de cada ferramenta em seus sacos nas barras de ação em uma barra de ação:
Na janela Propriedades da ferramenta, use as propriedades a seguir para personalizar a aparência da ferramenta na barra de ação:
- TextureID — O ícone de ferramentas. Defina o ID da imagem para esta propriedade da mesma maneira que decalques e botões de imagem.
- ToolTip — O nome da dica de ferramentas.
Habilitando e Desabilitando Usuários para Soltar Ferramentas
Por padrão, um usuário pode derrubar uma ferramenta pressionando a tecla Backspace no Windows ou delete no Mac. Você pode desativar essa opção configurando a propriedade CanBeDropped da ferramenta para 2>
Criando Ferramentas Como Itens de Inventário
Você também pode fazer uma ferramenta de in-experience sem peças ou malhas como um item de inventário que aguarda a entrada do usuário, como um feitiço mágico que os personagens do usuário podem clicar em outros ou tocar a tela para invocá-lo. As ferramentas de inventário não requerem alças, então você precisa desmarcar a propriedade RequiresHandle na janela de propriedades da ferramenta.
Adicionando Ferramentas à sua Experiência
Uma vez que você terminar de configurar sua ferramenta na experiência, você precisa colocá-la na área correspondente da hierarquia de objetos da experiência. Onde você coloca a ferramenta dentro da hierarquia de objetos da experiência depende de seu uso pretendido.
Ferramenta de Inicialização Padrão
Se você quiser que todos os usuários comecem com uma ferramenta em seu inventário, coloque-a dentro da pasta StarterPack . Quando qualquer usuário gerar, o sistema copia a ferramenta para sua mochila.
Ferramenta Colecionável
Se você quiser permitir que os usuários coletem ferramentas enquanto se movimento, você pode colocar as ferramentas no Workspace na Explorer hierarquia. Por exemplo, você pode querer colocar um lançador de super rockets em uma área difícil de alcançar do seu mundo de experiência.
Ferramenta Comprada e Ganha
Se você quiser definir uma ferramenta como uma recompensa quando um usuário fizer algo especial ou oferecê-lo para venda em uma loja de in-experience, coloque a ferramenta dentro de Armazenamento do Servidor na hierarquia Explorer, que pode clonar a ferramenta para o usuário na mochila no momento certo.
Adicionando Efeitos de Ferramentas
Depois de adicionar suas ferramentas à sua experiência, você pode adicionar scripts para permitir que os usuários usem ferramentas para fazer efeitos especiais.
Eventos Específicos de Ferramentas
Você pode usar as quatro condições específicas de ferramentas para indicar o estado da ferramenta e a entrada do usuário com ela em seu script de ferramentas:
Tool:Equipped() : Ocorre quando o usuário seleciona a ferramenta da mochila.
Tool:Unequipped() : Ocorre quando o usuário deixa cair a ferramenta ou troca de ferramentas.
Tool:Activated() : Ocorre quando o usuário começa a ativar a ferramenta (cliques, toques ou pressiona A em um controle / controle de jogo).
Tool:Deactivated() : Ocorre quando o usuário para a inativação de ativação (libera o botão ou toque).
Embora você pode não precisar de todas as quatro condições ao projetar uma ferramenta, você pode usar o seguinte script de código como um modelo de script de ferramenta básico:
local tool = script.Parent
local function onEquip()
print("The tool is now equipped.")
end
local function onUnequip()
print("The tool is now unequipped.")
end
local function onActivate()
print("The tool is now activated.")
end
local function onDeactivate()
print("The tool is now deactivated.")
end
tool.Equipped:Connect(onEquip)
tool.Unequipped:Connect(onUnequip)
tool.Activated:Connect(onActivate)
tool.Deactivated:Connect(onDeactivate)
Este código de exemplo pressupõe que o script é um filho de nível inicial dentro do Objetode ferramentas. Se o script estiver em outro lugar, ajuste o caminho na linha 1 (o valor de tool ) para apontar para o Objetode ferramenta central.
Adicionando um Script Básico
O seguinte exemplo mostra etapas para adicionar um Script no servidor que permite que os usuários equipem uma varinha mágica que pode alternar o dia e a noite clicando na tela:
Na janela Explorer, hover over the tool object and click the ⊕ button to insert a Script .
Copie o seguinte código e cole-o em seu Script .
local Lighting = game:GetService("Lighting")local tool = script.Parentlocal function onActivate()if Lighting.ClockTime >= 8 and Lighting.ClockTime < 16 thenLighting.ClockTime = 20elseLighting.ClockTime = 8endendtool.Activated:Connect(onActivate)Teste sua experiência pegando a ferramenta e clicando em qualquer lugar na tela de sua experiência para mudar entre o dia e a noite:
Diferentes Tipos de Scripts para Implantação de Ferramentas
Algumas ferramentas só precisam de um Script no servidor para implementar, como o exemplo anterior, mas a maioria das ferramentas requer um Script no servidor e um LocalScript no cliente, onde cada uma cuida de alguns aspectos do comportamento da ferramenta.
Antes de adicionar seus scripts, certifique-se de entender a diferença central entre cada digitarde script:
- Script gerencia alterações dentro do mundo de experiência geral visível para todos os usuários, como desbloquear uma porta e atirar uma seta.
- LocalScript gerencia coisas que acontecem apenas no dispositivo do usuário, como detectar a localização de onde eles tocam ou clicam na tela.
Aqui estão alguns exemplos de ferramentas e seus comportamentos gerenciados por um script local ou um script do servidor:
Herramienta | Script local | Script del servidor |
---|---|---|
Varita del Creador | Detecta dónde toca o hace clic el jugador en la pantalla. | Crea una nueva parte en el lugar dentro del mundo del juego donde el jugador tocó o hizo clic. |
Capa de invisibilidad | Hace que el jugador sea invisible para todos los demás usuarios, mientras que el capa está equipada. | |
Mega-Bow | Detecta la duración de la activación / desactivado del jugador. | Dispara una flecha mágica con más o menos poder, dependiendo del tiempo de activación detectado. |
Para mais informações sobre os diferentes tipos de script, see Scripts .
Dicas de solução de problemas
Uma ferramenta pode funcionar bem no Studio, mas não em uma experiência ao vivo do Roblox. Se isso ocorrer, use as seguintes dicas para solucionar problemas:
- LocalScripts e Scripts não podem ouvir um ao outro diretamente, então você precisa adicionar um RemoteEvent para enviar mensagens entre os dois scripts.
- Certifique-se de que cada Script e LocalScript só se preocupa exatamente com o que é suposto fazer.
Para mais informações sobre RemoteEvents, veja Eventos Remotos e Chamadas de Retorno.