Em vez de executar scripts do ServerScriptService, você pode querer anexar um script à peça. Por instância, usando um script para transformar uma peça em uma armadilha ou fazer uma peça dar pontos de jogador quando eles a tocarem. Ao entender como scripts e peças são relacionados na hierarquia, você pode criar um script que funciona automaticamente sem nomear qual peça usar.
Para fazer isso, você deve entender relacionamentos de pais e filhos .
Pais e filhos são maneiras de descrever a hierarquia entre diferentes objetos. Sempre que você adicionou uma nova parte ao Workspace, Workspace foi o Objetode pai e a parte se tornou um Objetode filho. Quando você adicionou um script ao ServerScriptService, ServerScriptService foi o objeto de pai e o script se tornou um objeto de filho.
Configurando o Projeto e o Script
Para mostrar relações de pais e filhos, você começará com uma única peça que muda as cores e, em seguida, duplica o script em várias peças.
Crie uma nova peça e renomeie-a. Essa lição usará ColorPart.
Clique com o botão direito na peça e selecione Inserir Objeto > Novo Script . Rename the script ColorChanger.
Copie e cole o código abaixo no ColorChanger. Essa versão do código é a mesma que você usou antes. Ele atribui uma parte específica a uma variável.
Muda a cor de ColorPartlocal colorPart = workspace.ColorPartcolorPart.Color = Color3.fromRGB(50, 240, 255)
4.Teste e verifique se a peça muda de cor como desejado.
Relacionamentos de Pais e Filhos
Um pai é qualquer coisa com objetos, como scripts ou peças, anexados abaixo. Qualquer coisa abaixo do pai é seu filho . No exemplo abaixo, ColorPart é o pai e ColorChanger é o filho.
Com o script atual, você só pode alterar a cor de uma peça única chamada ColorPart. Para alterar a cor de qualquer peça, você pode projetar o código para funcionar no Objetode pai de script, seja qual for o nome. O código script.Parent , irá subir a hierarquia e encontrar o objeto ao qual o script está anexado.
Usando script.Parent
script.Parent pode ser atribuído a uma variável como qualquer outro valor com o símbolo =.
No script, replace the named part with script.Parent . Check your code below.
Muda a cor do Objetopailocal colorPart = script.ParentcolorPart.Color = Color3.fromRGB(50, 240, 255)
Testando Peças Reutilizáveis
Agora que a variável se referirá a qualquer parte na qual o script estiver anexado, você pode fazer tantas cópias quanto quiser.
Clique com o botão direito na peça de cor e selecione Duplicar, ou use a tecla rápida CtrlD ( ⌘D ). Crie pelo menos três peças totais.
Execute o jogo para verificar se todas as peças mudaram de cor.
Visão Geral
Em vez de sempre diretamente referenciar peças por nome e local, script.Parent pode ser usado como uma alternativa. Esse código irá agarrar o pai, ou Objeto, que o script está acessando, para que o script possa fazer modificações nele. Usar código como script.Parent virá em handy para tornar seu código reutilizável. Um desafio para lembrar é que você agora tem múltiplos scripts que requer