Делаем систему крови возможность персонажа "красиво" умирать
На прошлом уроке мы уже сделали основу и в конце урока как бонус я посоветовал добавить одну строчку кода которая будет убирать ногу у нашего персонажа local character = hit.Parent local humanoid = character:FindFirstChild("Humanoid") if humanoid then — Попробуем найти левую и правую ногу local leftLeg = character:FindFirstChild("Left Leg") or character:FindFirstChild("LeftLowerLeg") or character:FindFirstChild("LeftFoot") local rightLeg = character:FindFirstChild("Right Leg") or character:FindFirstChild("RightLowerLeg") or character:FindFirstChild("RightFoot") — Удаляем левую ногу, если она найдена if leftLeg then leftLeg:Destroy() end чтобы при заходе на наш кирпич и персонажа убиралась левая нога и он истекал кровью постепенно начнем урока с того что вспомним как пользоваться рандомом
достаточно предельно все просто пользуемся библеотечной функцией библеотеки math - random, тут просто если нам выпадает единица из функции тогда удаляем левую ногу если 2 то правую
если из фукнции выпадает число один то переменной legToRemove присваиваем значение переменной leftleg который в свою очередь ссылается уже на обьект класса Humanoid left leg
зачем же мы сделали весь этот скрипт в кирпиче наверное если мы будем делать свой боевик или шутер то нужно скрипт размещать в другом месте да это правда но из кирпича мы в будущем сделаем капкан и мину в этом уроке мы добавим текстуру нашему кирпичу
берем какой нибудь меш из тулбокса
в свойствах нашего Mesh копируем такой параметр как Meshid
добавляем вот такую вот новую строчку кода в код:
local mesh = Instance.new("SpecialMesh") mesh.MeshId = "rbxassetid://ВАШ_ID_МЕША" — Укажите ID меша капкана"rbxassetid://
mesh.Scale = Vector3.new(1, 1, 1) — Масштабирование меша, можно изменить под размер детали
mesh.Parent = part — Применяем меш к Part
Шаг 1: Создание объекта SpecialMesh
local mesh = Instance.new("SpecialMesh")
- Что происходит?
- Этот код создает новый объект
SpecialMesh, который представляет собой специальный 3D-меш, используемый для изменения формы и текстуры базовой части (Part). - Instance.new — это функция, которая создает новый объект определенного типа. В данном случае это
SpecialMesh. - Зачем это нужно?
Шаг 2: Присваивание MeshId
MeshId = "rbxassetid://ВАШ_ID_МЕША"
- Что происходит?
- Здесь
MeshIdустанавливается на конкретный идентификатор меша. Этот ID указывает Roblox, какой именно 3D-меш должен быть применен. - ID меша можно найти в Roblox библиотеке, где хранятся различные модели. Он обычно выглядит как числовой код (например,
"rbxassetid://1234567890"). - Зачем это нужно?
Шаг 3: Настройка масштаба
mesh.Scale = Vector3.new(1, 1, 1)
- Что происходит?
- Эта строка устанавливает размер меша, используя векторные координаты (X, Y, Z). В данном случае масштаб меша задан как
1, 1, 1, что означает его исходный размер. - Зачем это нужно?
Шаг 5: Привязка меша к части
luaCopy codemesh.Parent = part
Итог:
Этот код создает 3D-модель (меш) капкана, текстурирует её, масштабирует до нужного размера и привязывает к вашему объекту в игре. Благодаря этому, вместо обычной базовой формы части (Part) вы получите более сложный и детализированный объект.
итог теперь мы имеем капкан при контакте с ним у персонажа пропадает нога начинается кровотечение и уменьшается здоровье теперь осталось сделать эффект схлопывания капкана
находим в тулбоксе модельку уже закрытого капкана и пихаем ее также как и прошлый меш внутрь нашего парта(*part)
теперь придумываем одну хитрость которая позволит нам в этом уроке миновать работу с анимациями
в начале мы установили наш меш и установили его айди теперь после переноса меша "закрытого капкана" добавляем следующий код
в нашей функции которая проверяет касался ли игрок нашего капкана(,брика,парта)
мы делаем наш капкан невидимым
part.Transparency = 1 мы обратились к свойствам нашего кирпича с помощью переменной которая на него ссылается
мы делаем наш первый капкан невидимым но в тоже время наш второй меш который закрытый капкан делаем видимым(я изначально сделал его невидимым он будет видимым только при касании игроком капкана тем самым создавая эффект "схлопывания или закрывания" нашего капкана)
теперь в функции которая вызывается когда наш Гуманоид,(персонаж,игрок
мы делаем точно такие же действия только наоборот
наш второй капкан который закрытый делаем невидимым а второй снова видимым
хорошо теперь в качестве практики
1.*Cделайте чтобы персонаж не мог выбраться из капкана(он был заморожен,застрял и тд)*
2.*Сделайте мину,бомбу, чтобы при взрыве у персонажа появлась кровь и тд*
3.*Придумайте свой вариант ловушки и свой вариант реализации*