Перед тем, как приступить к написанию скрипта, вам нужно создать скриптовый объект в Roblox Studio и связать его с NPC.
Вот пример скрипта, который будет заставлять NPC бить только после того, как его ударит игрок:
-- Переменная, которая будет определять, может ли NPC бить игрока
local canAttack = false
-- Обработчик столкновения с игроком
local function onTouched(hit)
-- Проверяем, что это игрок
local player = game.Players:GetPlayerFromCharacter(hit.Parent)
if player then
-- Если игрок ударил NPC, то NPC может начать бить его
canAttack = true
end
end
-- Обработчик атаки
local function onAttack()
-- Если NPC может бить игрока, то атакуем его
if canAttack then
-- Код для атаки игрока
print("NPC атакует игрока!"
end
end
-- Подключаем обработчик столкновения с игроком
script.Parent.Touched:Connect(onTouched)
-- Подключаем обработчик атаки
script.Parent.AttackEvent.Event:Connect(onAttack)
Этот скрипт будет работать следующим образом:
На старте NPC не может бить игрока.
Когда игрок столкнулся с NPC, NPC получает возможность бить игрока.
Когда NPC атакует, он проверяет, может ли он бить игрока. Если NPC не может бить игрока, то он не будет атаковать.
Для того, чтобы данный скрипт работал, вам нужно:
Создать объект NPC в вашей игре.
Создать скриптовый объект в вашей игре.
Связать скриптовый объект с NPC, используя свойство Parent объекта NPC.
Сохранить скрипт и запустить игру для проверки его работоспособности.