Необходимо изменить прозрачность объекта после завершения диалога с NPC - PullRequest
0 голосов
/ 30 декабря 2018

Я новичок в написании сценариев Roblox и пытался изменить оружие с прозрачного на видимое, когда диалог начинается с NPC.

Я установил прозрачность оружия «Автогиперлазер» на 1 в свойствах, чтобы он был прозрачным по умолчанию.У меня есть NPC с именем Weapon_holder, у которого есть дочерний элемент Dialog и DialogChoice.Итак, иерархия:

workspace.Weapon_holder.Head.Dialog.DialogChoice

Я создал скрипт под объектом DialogChoice, который имеет следующий код:

local Dialog = script.Parent

Dialog.DialogChoiceSelected:Connect(function(Player, Choice)
workspace.Autohyperlaser.Handle.Transparency = 0
end)

Я ожидал, что прозрачность workspace.Autohyperlaser.Handle изменится с 1до 0 после выбора любого диалогового окна.Однако пистолет остается прозрачным, поэтому сценарий либо неверен, либо не вызывается.Как я могу заставить это работать?

1 Ответ

0 голосов
/ 30 декабря 2018

DialogChoiceSelected Событие может быть инициировано только на стороне клиента.Это событие Dialog , а не DialogChoice .И вы должны использовать его в LocalScript , так как событие только на стороне клиента.Вы можете поместить LocalScript в персонажа, поместив его в StarterPlayer> StarterCharacterScripts или в проигрыватель, поместив его в StarterPlayer> StarterPlayerScripts, так как LocalScripts будет работать только в том случае, если он является потомком этого или любого другого объекта-потомка игрока.

Для кода вам просто нужно изменить переменную Dialog:

local Dialog = workspace.Weapon_holder.Head.Dialog --Since it is an event of a Dialog

Dialog.DialogChoiceSelected:Connect(function(Player, Choice)
workspace.Autohyperlaser.Handle.Transparency = 0
end)

Это должно быть запущено сейчас, если LocalScript находится в нужном месте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...