Коды для роблокс студио
24 subscribers
1 photo
15 links
Если у вас есть конкретные требования, дайте знать и я помогу вам - @IceCream_holder
Download Telegram
Розыгрыш будет завершён 29.03.2025 ( через неделю )
31
Вот код, который делает так, что если нажать на кнопку, будет спавниться объект. ( Предполагается, что у вас уже есть модель объекта, например дом. )
Для того чтобы создать функционал, который будет спавнить объект в Roblox Studio при нажатии на кнопку, вам нужно использовать LocalScript и Server Script. Вот пример кода, который позволяет это сделать.

1. Создайте кнопку:
- Вставьте ScreenGui в StarterGui.
- Вставьте TextButton в ScreenGui (вы можете настроить его цвет, размер и текст).

2. Создайте объект, который вы хотите спавнить:
- Например, создайте модель или объект в ReplicatedStorage.

3. Напишите код:

- В TextButton добавьте LocalScript с следующим кодом:

local button = script.Parent -- Указывает на TextButton
local ReplicatedStorage = game:GetService("ReplicatedStorage")

local function onButtonClicked()
-- Отправляем запрос на сервер для спавна объекта
game.ReplicatedStorage.SpawnObject:FireServer()
end

button.MouseButton1Click:Connect(onButtonClicked)

4. Создайте RemoteEvent:
- В ReplicatedStorage создайте RemoteEvent и назовите его SpawnObject.

5. Добавьте серверный скрипт:
- В ServerScriptService создайте Script с следующим кодом:

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SpawnObjectEvent = ReplicatedStorage:WaitForChild("SpawnObject")

local function onSpawnObject(player)
-- Здесь создаем объект, который вы хотите спавнить
local newObject = Instance.new("Part") -- Вы можете заменить это на вашу модель
newObject.Size = Vector3.new(1, 1, 1)
newObject.Position = Vector3.new(0, 50, 0) -- Позиция, где будет спавниться объект
newObject.Anchored = true
newObject.Parent = workspace
end

SpawnObjectEvent.OnServerEvent:Connect(onSpawnObject)

Теперь, когда игрок нажимает на кнопку в интерфейсе, он получит событие на стороне сервера, и объект будет создан в игре. Вы можете заменить Instance.new("Part") на вашу модель, которая находится в ReplicatedStorage.

Не забудьте протестировать вашу игру, чтобы убедиться, что всё работает корректно.
22
В 9:35 подведение итогов!
111
обещанная награда
933111
Вот код для камеры👇🏻👇🏻👇🏻
42
Вот готовый код для управления камерой и прозрачностью персонажа. Создайте LocalScript в StarterPlayerScripts:

local Players = game:GetService("Players")
local UserInput = game:GetService("UserInputService")
local RunService = game:GetService("RunService")

local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local camera = workspace.CurrentCamera

-- Настройки
local ZOOM_SPEED = 4 -- Скорость зума
local MIN_ZOOM = 2 -- Минимальное расстояние
local MAX_ZOOM = 20 -- Максимальное расстояние
local CAMERA_OFFSET = Vector3.new(0, 3, 0) -- Смещение камеры для 3-го лица

local currentCameraMode = "ThirdPerson" -- FirstPerson/ThirdPerson/FrontView
local currentZoom = 10
local isTransparent = false

-- Переключение режимов камеры
local function SetCameraMode(mode)
currentCameraMode = mode
camera.CameraType = Enum.CameraType.Scriptable

if mode == "FirstPerson" then
camera.CFrame = character.Head.CFrame
elseif mode == "FrontView" then
camera.CFrame = character.Head.CFrame * CFrame.new(0, 0, 5) * CFrame.Angles(0, math.pi, 0)
end
end

-- Управление прозрачностью
local function ToggleTransparency()
isTransparent = not isTransparent
local transparency = isTransparent and 0.8 or 0

for _, part in pairs(character:GetDescendants()) do
if part:IsA("BasePart") then
part.LocalTransparencyModifier = transparency
end
end
end

-- Обработка ввода
UserInput.InputBegan:Connect(function(input)
if input.KeyCode == Enum.KeyCode.T then
ToggleTransparency()
elseif input.KeyCode == Enum.KeyCode.One then
SetCameraMode("FirstPerson")
elseif input.KeyCode == Enum.KeyCode.Two then
SetCameraMode("FrontView")
elseif input.KeyCode == Enum.KeyCode.Three then
SetCameraMode("ThirdPerson")
end
end)

UserInput.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseWheel then
currentZoom = math.clamp(currentZoom - input.Position.Z * ZOOM_SPEED, MIN_ZOOM, MAX_ZOOM)
end
end)

-- Обновление камеры
RunService.RenderStepped:Connect(function()
if currentCameraMode == "ThirdPerson" then
local rootPart = character:FindFirstChild("HumanoidRootPart")
if rootPart then
local cameraPosition = rootPart.Position + CAMERA_OFFSET + rootPart.CFrame.LookVector * -currentZoom
camera.CFrame = CFrame.lookAt(cameraPosition, rootPart.Position + Vector3.new(0, 2, 0))
end
end
end)

-- Первоначальная настройка
SetCameraMode("ThirdPerson")
Управление:
1. 1 - Первое лицо (от первого лица)
2. 2 - Вид спереди
3. 3 - Третье лицо (обычный вид)
4. Колесо мыши - Приближение/отдаление (в режиме 3-го лица)
5. T - Переключение прозрачности

Особенности:
- Плавное управление камерой в режиме третьего лица
- Полная прозрачность всех частей тела и аксессуаров
- Автоматическое отслеживание персонажа
- Защита от выхода за пределы зума

Для кастомизации можно менять значения:
- ZOOM_SPEED - скорость изменения масштаба
- CAMERA_OFFSET - позиция камеры относительно персонажа
- MIN_ZOOM/MAX_ZOOM - ограничения зума
34221
Ребята, простите что давно коды не выкладывал)
Скоро будет всё как раньше
21
Кстати, на что хотите код?
Пишите в комментарии (только коды, не создание целых игр)
Вот полный код для игры по типу зомби апокалипсиса спустя НЕВЕРОЯТНО долгое время (такого больше не будет). Вам понадобятся два скрипта: один для сервера (зомби и здоровье игрока), другой для клиента (управление и интерфейс). Создайте модель зомби и назовите «zombie», затем соедините его руки, ноги, голову и туловище.
3211
1. Серверный скрипт (вставьте в Script внутри ServerScriptService)
`lua
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")

-- Настройки
local ZOMBIE_SPEED = 4
local DAMAGE_RANGE = 3
local DAMAGE_AMOUNT = 10
local DETECTION_RANGE = 20
local RESPAWN_POSITION = Vector3.new(0, 5, 0) -- Позиция спавна
local HEALTH_REGEN_RATE = 0.5 -- Регенерация здоровья в секунду

-- Инициализация зомби
local zombie = workspace:FindFirstChild("zombie")
if not zombie then error("Zombie model not found!") end

local zombieRoot = zombie:FindFirstChild("HumanoidRootPart")
local zombieHumanoid = zombie:FindFirstChildOfClass("Humanoid")

-- Система здоровья и состояния игроков
local playerStats = {}

local function respawnPlayer(player)
local character = player.Character
if character then
local humanoid = character:FindFirstChildOfClass("Humanoid")
if humanoid then
humanoid.Health = 100
end
character:MoveTo(RESPAWN_POSITION)
end
playerStats[player].health = 100
end

Players.PlayerAdded:Connect(function(player)
playerStats[player] = {
health = 100,
sprinting = false,
stamina = 100
}

player.CharacterAdded:Connect(function(character)
playerStats[player].health = 100
playerStats[player].stamina = 100

local humanoid = character:WaitForChild("Humanoid")
humanoid.Health = 100

-- Отправляем начальные значения клиенту
playerStats[player].updateEvent:Fire(playerStats[player].health, playerStats[player].stamina)
end)

-- Создаем удаленное событие для обновления состояния
playerStats[player].updateEvent = Instance.new("RemoteEvent")
playerStats[player].updateEvent.Name = "PlayerStatsUpdate"
playerStats[player].updateEvent.Parent = player
end)

-- ИИ зомби
local function findNearestPlayer(zombiePos)
local closestPlayer = nil
local closestDistance = math.huge

for player, stats in pairs(playerStats) do
local character = player.Character
if character and stats.health > 0 then
local hrp = character:FindFirstChild("HumanoidRootPart")
if hrp then
local distance = (hrp.Position - zombiePos).Magnitude
if distance < closestDistance and distance < DETECTION_RANGE then
closestDistance = distance
closestPlayer = player
end
end
end
end

return closestPlayer
end

local lastAttack = 0
local wanderDirection = Vector3.new(math.random(), 0, math.random()).Unit

-- Обработка спринта от клиента
local sprintEvent = Instance.new("RemoteEvent")
sprintEvent.Name = "SprintEvent"
sprintEvent.Parent = game:GetService("ReplicatedStorage")

sprintEvent.OnServerEvent:Connect(function(player, sprinting)
if playerStats[player] then
playerStats[player].sprinting = sprinting
end
end)

RunService.Heartbeat:Connect(function(delta)
-- Обновление здоровья и стамины игроков
for player, stats in pairs(playerStats) do
if stats.health < 100 then
stats.health = math.min(stats.health + HEALTH_REGEN_RATE * delta, 100)

local character = player.Character
if character then
local humanoid = character:FindFirstChildOfClass("Humanoid")
if humanoid then
humanoid.Health = stats.health
end
end

-- Отправляем обновление клиенту
stats.updateEvent:Fire(stats.health, stats.stamina)
end
end

-- ИИ зомби
if not zombieRoot then return end

local target = findNearestPlayer(zombieRoot.Position)

if target then
-- Преследование игрока
local targetPos = target.Character.HumanoidRootPart.Position
local direction = (targetPos - zombieRoot.Position).Unit
zombieRoot.CFrame = CFrame.lookAt(zombieRoot.Position, zombieRoot.Position + direction)
zombieRoot.Position += direction * ZOMBIE_SPEED * delta

-- Атака
if (tick() - lastAttack) > 1 then
if (targetPos - zombieRoot.Position).Magnitude < DAMAGE_RANGE then
playerStats[target].health = math.max(playerStats[target].health - DAMAGE_AMOUNT, 0)

local character = target.Character
if character then
local humanoid = character:FindFirstChildOfClass("Humanoid")
if humanoid then
humanoid.Health = playerStats[target].health
end
end

-- Отправляем обновление клиенту
playerStats[target].updateEvent:Fire(playerStats[target].health, playerStats[target].stamina)

if playerStats[target].health <= 0 then
respawnPlayer(target)
end

lastAttack = tick()
end
end
else
-- Случайное блуждание
if (tick() - lastAttack) > 5 then
wanderDirection = Vector3.new(math.random(-1, 1), 0, math.random(-1, 1)).Unit
lastAttack = tick()
end
zombieRoot.Position += wanderDirection * ZOMBIE_SPEED * delta
end
end)

-- Инициализация позиции зомби
zombieRoot.Anchored = false
zombieRoot.CFrame = CFrame.new(RESPAWN_POSITION + Vector3.new(10, 0, 10))
21
(Этот длинный скрипт телеграм разделил на 2 части, но это все один код.)
1
2. Клиентский скрипт (вставьте в LocalScript внутри StarterPlayerScripts)
`lua
local Players = game:GetService("Players")
local UserInput = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer

-- Настройки
local NORMAL_SPEED = 16
local SPRINT_SPEED = 32
local STAMINA_DRAIN_RATE = 25 -- % в секунду при спринте
local STAMINA_REGEN_RATE = 20 -- % в секунду при восстановлении
local STAMINA_REGEN_DELAY = 2 -- Задержка перед восстановлением
local DOUBLE_TAP_TIME = 0.3 -- Макс время между нажатиями для двойного клика

-- Переменные состояния
local sprinting = false
local stamina = 100
local lastStaminaUse = 0
local lastWPressed = 0
local humanoid

-- Создаем интерфейс
local screenGui = Instance.new("ScreenGui")
screenGui.Parent = player.PlayerGui

-- Полоса здоровья
local healthFrame = Instance.new("Frame")
healthFrame.Size = UDim2.new(0.2, 0, 0.03, 0)
healthFrame.Position = UDim2.new(0.02, 0, 0.02, 0)
healthFrame.BackgroundColor3 = Color3.new(0.2, 0.2, 0.2)
healthFrame.BorderSizePixel = 2
healthFrame.Parent = screenGui

local healthBar = Instance.new("Frame")
healthBar.Size = UDim2.new(1, 0, 1, 0)
healthBar.BackgroundColor3 = Color3.new(1, 0, 0)
healthBar.BorderSizePixel = 0
healthBar.Parent = healthFrame

-- Полоса стамины
local staminaFrame = Instance.new("Frame")
staminaFrame.Size = UDim2.new(0.2, 0, 0.03, 0)
staminaFrame.Position = UDim2.new(0.02, 0, 0.06, 0)
staminaFrame.BackgroundColor3 = Color3.new(0.2, 0.2, 0.2)
staminaFrame.BorderSizePixel = 2
staminaFrame.Parent = screenGui

local staminaBar = Instance.new("Frame")
staminaBar.Size = UDim2.new(1, 0, 1, 0)
staminaBar.BackgroundColor3 = Color3.new(0, 0, 1)
staminaBar.BorderSizePixel = 0
staminaBar.Parent = staminaFrame

-- Кнопка спринта
local sprintButton = Instance.new("TextButton")
sprintButton.Size = UDim2.new(0.15, 0, 0.15, 0)
sprintButton.Position = UDim2.new(0.8, 0, 0.7, 0)
sprintButton.BackgroundColor3 = Color3.new(0.3, 0.3, 0.3)
sprintButton.Text = "🏃‍♂️" -- Эмодзи бегущего человека
sprintButton.TextSize = 24
sprintButton.Parent = screenGui

-- Джойстик для мобильных устройств
local isMobile = UserInput.TouchEnabled
local touchGui, touchJoystick

if isMobile then
touchGui = Instance.new("ScreenGui")
touchGui.Parent = player.PlayerGui

touchJoystick = Instance.new("ImageButton")
touchJoystick.Size = UDim2.new(0.2, 0, 0.2, 0)
touchJoystick.Position = UDim2.new(0.05, 0, 0.7, 0)
touchJoystick.Image = "rbxassetid://3570695787"
touchJoystick.Parent = touchGui
end

-- Функция обновления интерфейса
local function updateUI(health, stam)
healthBar.Size = UDim2.new(health / 100, 0, 1, 0)
staminaBar.Size = UDim2.new(stam / 100, 0, 1, 0)

-- Изменение цвета здоровья при низких значениях
if health < 30 then
healthBar.BackgroundColor3 = Color3.new(1, 0.2, 0.2)
else
healthBar.BackgroundColor3 = Color3.new(1, 0, 0)
end
end

-- Обработка событий от сервера
local playerStatsUpdate = player:WaitForChild("PlayerStatsUpdate")
playerStatsUpdate.OnClientEvent:Connect(updateUI)

-- Функция спринта
local function setSprint(enabled)
sprinting = enabled

if humanoid then
humanoid.WalkSpeed = enabled and SPRINT_SPEED or NORMAL_SPEED
end

-- Отправляем состояние на сервер
local sprintEvent = game:GetService("ReplicatedStorage"):FindFirstChild("SprintEvent")
if sprintEvent then
sprintEvent:FireServer(enabled)
end
end

-- Обработка кнопки спринта
sprintButton.MouseButton1Click:Connect(function()
if stamina > 10 then
setSprint(not sprinting)
end
end)

-- Обработка двойного нажатия W
UserInput.InputBegan:Connect(function(input)
if input.KeyCode == Enum.KeyCode.W then
local now = tick()
if now - lastWPressed < DOUBLE_TAP_TIME then
if stamina > 10 then
setSprint(true)
end
end
lastWPressed = now
elseif input.KeyCode == Enum.KeyCode.Space then
if humanoid then
humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
end
end
end)

UserInput.InputEnded:Connect(function(input)
if input.KeyCode == Enum.KeyCode.W then
setSprint(false)
end
end)

-- Основной цикл
RunService.RenderStepped:Connect(function(delta)
-- Обновление стамины
if sprinting and stamina > 0 then
stamina = math.max(stamina - STAMINA_DRAIN_RATE * delta, 0)
lastStaminaUse = tick()
if stamina <= 0 then
setSprint(false)
end
updateUI(playerStatsUpdate:InvokeServer(), stamina)
elseif tick() - lastStaminaUse > STAMINA_REGEN_DELAY and stamina < 100 then
stamina = math.min(stamina + STAMINA_REGEN_RATE * delta, 100)
updateUI(playerStatsUpdate:InvokeServer(), stamina)
end

-- Обновление состояния кнопки спринта
sprintButton.BackgroundColor3 = sprinting and Color3.new(0, 0.5, 0) or Color3.new(0.3, 0.3, 0.3)
end)

-- Инициализация персонажа
local character = player.Character or player.CharacterAdded:Wait()
humanoid = character:WaitForChild("Humanoid")
humanoid.WalkSpeed = NORMAL_SPEED

-- Запрос начальных значений со сервера
playerStatsUpdate:FireServer()
(Этот скрипт телеграмм тоже разделил на 2 части, это тоже 1 код)
1
Инструкция по установке:
1. Серверный скрипт:
- Создайте Script в ServerScriptService
- Вставьте первый код

2. Клиентский скрипт:
- Создайте LocalScript в StarterPlayerScripts
- Вставьте второй код

3. Настройте зомби:
- Убедитесь, что ваша модель зомби называется "zombie"
- У зомби должна быть часть "HumanoidRootPart"
- Добавьте Humanoid к зомби (через Explorer)

4. Настройте спавн:
- Измените RESPAWN_POSITION на координаты вашей точки спавна

Особенности реализации:
1. Система здоровья:
- 100 HP у игрока
- Регенерация 0.5 HP/сек
- При смерти респавн на точке спавна

2. Система стамины:
- Синяя полоса в левом верхнем углу
- Спринт активируется:
- Двойным нажатием W
- Кнопкой в правом нижнем углу
- Во время спринта:
- Скорость увеличивается в 2 раза
- Стамина уменьшается на 25%/сек
- Восстановление стамины:
- Начинается через 2 секунды после остановки
- Восстанавливается на 20%/сек

3. ИИ зомби:
- Случайное блуждание без игроков
- Преследование ближайшего игрока в радиусе 20 studs
- Атака (10 урона/сек) при приближении ближе 3 studs

4. Мобильная поддержка:
- Джойстик в левом нижнем углу
- Кнопка спринта справа

Для корректной работы убедитесь, что у игроков есть HumanoidRootPart в их персонажах.
221
This media is not supported in your browser
VIEW IN TELEGRAM
52111