Мы уже сделали крутой домик в прошлой части. (кстати, теперь я опубликовал модельку моего дома, и вы можете свободно скопировать и тренировать скиллы в строительстве. Вот моделька: https://www.roblox.com/library/6966714902/ ). Теперь, мы займёмся самой главной, и самой крутой частью roblox studio - скриптинг. Для жанра подойдёт FPS (first person shooter). Кстати, мой любимый. Начнём.
(Кстати, теперь у меня Properties будет Пропс и Explore будет Экс
Для начала!
Вам нужно установить 2 плагина в роблокс студио:
https://web.roblox.com/library/3919577710/camera-locker-thing-idk?ViewInBrowser=true&CreatorId=22306125&SearchId=1FB6439B-BE8B-4D60-9082-3E69003315AE&Category=Plugin&Position=3&SearchKeyword=&CreatorType=User&SortType=Relevance (camera locker thing idk)
1. Находим модельку рук.
Моделька бывает любая. Но просто нужно зайти в Home, заметить Toolbox, нажать на него, и в строке поиска написать Viewmodel. Я его назову "руки". Но, я рекомендую взять мои: https://www.roblox.com/library/6966820191 . Для начала, зайдите в экс, нажмите на ReplicatedStorage, добавьте туда Folder, и назовите его Viewmodels. Вставьте туда руки без ничего, и назовите его под ваше оружие. Но, вставьте ещё и другие руки, с часами и рукавами. Обратно к другим рукам, например v_TOOLNAME будет v_Glock, если оружие будет Glock. (то, что нет VMArms в папке, не волнуйтесь.)
Теперь, зайдите в StarterPack, добавьте туда Tool, назовите его как оружие которые вы хотите сделать, и туда добавьте локал скрипт. Что такое локал скрипт? Это скрипт, который отображается только игроку. Скажем так: есть сервер, и игрок. Обычный скрипт передаст информацию серверу, то есть, каждому игроку. А если это локал скрипт, то он передаст информацию одному игроку. Вот, чтобы у каждого были свои "руки", мы и используем локал скрипт. Назовите его ViewmodelManager.
Зайдите в него, и вставьте этот скрипт:
local repstor = game:GetService("ReplicatedStorage")
local CC = workspace.CurrentCamera
local cam = game.Workspace.Camera
local run = game:GetService("RunService")
local VMs = repstor:WaitForChild("Viewmodels")
local tool = script.Parent
local VM = VMs:FindFirstChild(tool.Name)
tool.Equipped:Connect(function()
run.RenderStepped:Connect(function()
VM:SetPrimaryPartCFrame(CC.CFrame)
end)
VM.Parent = cam
end)
tool.Unequipped:Connect(function()
VM.Parent = VMs
end)
Протестируете. Всё работает? Вроде бы всё хорошо, но нужны ещё и "украшения" для рук. По этому ещё добавляем это (кстати, чтобы это заработало, вам надо добавить WeldConstraint к каждой руке в модельке рук без часов, и для левой руки, велд назвать "LaWeld", а для правой "RaWeld":
local LA = VM:FindFirstChild("LeftArm")
local RA = VM:FindFirstChild("RightArm")
local LaW = LA:WaitForChild("LaWeld")
local RaW = RA:WaitForChild("RaWeld")
LA.Transparency = 1
RA.Transparency = 1
local VMA = VMs:WaitForChild("VMArms")
local La = VMA:FindFirstChild("LeftArm")
local Ra = VMA:FindFirstChild("RightArm")
VMA:WaitForChild("Main")Position = VM:WaitForChild("HumanoidRootPart").Position
La.Position = LA.Position
LaW.Part1 = La
Ra.Position = RA.Position
RaW.Part1 = Ra
VMA.Parent = VM
tool.Unequipped:Connect(function()
VMA.Parent = VMs
end)
tool.Equipped:Connect(function()
VMA.Parent = VM
end)
Теперь всё в порядке. Но ещё не всё! Теперь, нам надо дать оружие рукам. Я уже взял одно из тулбокса.
Выделите у него самую большую детальку, назовите её Handle, а потом при помощи РигЕдит Лайт, соединяем всё. Как? Выберите любую детальку в оружии, нажмите на плагин, появится окошко.
Теперь, выберите Handle, затем все другие детальки одновременно. После этого, нажмите на "Create Joints". Так-как у меня это уже готово, я не буду этого делать.
Теперь, выключите плагин, нажав на него снова, выберите все детальки, зайдите в пропс, если Anchored - галочка, то уберите её. Потом, выберите Handle, и уже у него поставьте обратно галочку на Anchored. Затем, вы должны вернуть руки без часов в Workspace, потом вам нужно повернуть оружие стороной рук, зайти в модельку рук, выделить HumanoidRootPart, зайти в пропс, и скопировать Position. Затем, вы заходите в пропсы Handle, и вставляете Position. В результате должно выглядеть как-то так:
затем двигаете оружие вперёд, и засовываете его в модельку рук. Теперь, вы также включаете РигЕдит, и сначала выбираете HumanoidRootPart, а затем Handle, и нажмите Create Joints. Должно получится вот-так:
Вот и конец 2 части...
Я конечно планирую много частей на эту тему, так-как ещё много чего нам понадобится сделать. А пока, давайте наберём 5-10 лайков, будет приятно, и мотивирует сильно))) Кстати, если я что-то не хорошо объяснил, или у вас появились вопросы, можете легко написать комментарий, я вам быстро отвечу! :P