# data[].attributes.body
❄️ You can find all of the materials you will need in this camp here! ❄️

# data[].attributes.body
Download and double click to open in Roblox Studio.

# data[].attributes.body
Download and double click to open in Roblox Studio.

# data[].attributes.body
Download and double click to open in Roblox Studio.

# data[].attributes.body
Download and double click to open in Roblox Studio.

# data[].attributes.body
Download and double click to open in Roblox Studio.

# data[].attributes.body
Add this script as a child of a part.

# data[].attributes.attachment_link.readable_text
local jumpBoost = script.Parent

local function steppedOn(part) 
	local parent = part.Parent 
	if game.Players:GetPlayerFromCharacter(parent) then 
		parent.Humanoid.UseJumpPower = true
		parent.Humanoid.JumpHeight = 150
		wait(2)
		parent.Humanoid.UseJumpPower = false
		parent.Humanoid.JumpHeight = 50
	end
end

jumpBoost.Touched:connect(steppedOn)

# data[].attributes.body
Add this script as a child of a part.

# data[].attributes.attachment_link.readable_text
local speedBoost = script.Parent

local function steppedOn(part)
	local parent = part.Parent
	if game.Players:GetPlayerFromCharacter(parent) then
		parent.Humanoid.WalkSpeed = 45
		wait(2)
		parent.Humanoid.WalkSpeed = 16
	end
end

speedBoost.Touched:Connect(steppedOn)

# data[].attributes.body
Add this script as a child of a part.

# data[].attributes.attachment_link.readable_text
script.Parent.Touched:connect(function(hit)
	if hit and hit.Parent and hit.Parent:FindFirstChild("Humanoid") then
		hit.Parent.Humanoid.Health = 0
		end
end)

# data[].attributes.body
Add this script as a child of a part.

# data[].attributes.attachment_link.readable_text
local spawn = script.Parent 
local touched = false
spawn.Touched:connect(function(hit)
	if hit and hit.Parent and hit.Parent:FindFirstChild("Humanoid") then
		local player = game.Players:GetPlayerFromCharacter(hit.Parent)
		
		local checkpointData = game.ServerStorage:FindFirstChild("CheckpointData")
		if not checkpointData then
			checkpointData = Instance.new("Model", game.ServerStorage)
			checkpointData.Name = "CheckpointData"
		end
		
		local checkpoint = checkpointData:FindFirstChild(tostring(player.userId))
		if not checkpoint then
			checkpoint = Instance.new("ObjectValue", checkpointData)
			checkpoint.Name = tostring(player.userId)
			
			player.CharacterAdded:connect(function(character)
				wait() 
				local newUser = tostring(player.userId) 
				local newData = game.ServerStorage.CheckpointData[newUser].Value.CFrame
				local newCheckpoint = newData + Vector3.new(0, 4, 0) 
				character:WaitForChild("HumanoidRootPart").CFrame = newCheckpoint
			end)
		end 
		
		checkpoint.Value = spawn
	end 
end)

# data[].attributes.body
Add this script as a child of a part.

# data[].attributes.attachment_link.readable_text
local axis = "x"
local distance = 50
local speed = 1

local factor = 0
local initialPosition = script.Parent.CFrame.Position
local moveDirection = Vector3.new(
	axis == "x" and distance or 0,
	axis == "y" and distance or 0,
	axis == "z" and distance or 0
)
local destinationPosition = initialPosition + moveDirection
local RunService = game:GetService("RunService")
function movePlatform (time, step)
	factor = 0.5 * math.sin(time * speed) + 0.5
	local finalPosition = initialPosition:Lerp(destinationPosition, factor)
	script.Parent.CFrame = CFrame.new(finalPosition)
end
RunService.Stepped:Connect(movePlatform)

# data[].attributes.body
Add this script as a child of a part.

# data[].attributes.attachment_link.readable_text
local parentPart = script.Parent

local projectileSpeed = 250 -- Speed of projectile
local projectileSize = Vector3.new(3, 3, 3) -- Size of projectile
local projectileColor = BrickColor.new("Black") -- Color of projectile
local flingForce = 50 -- Force applied (Make this a big number to fling the player!)

while true do
	wait(1)
	-- Find the nearest player
	local nearestPlayer = nil
	local shortestDistance = math.huge
	
	for _,player in pairs(game.Players:GetChildren()) do
		local character = player.Character
		if character and character.PrimaryPart then
			local distance = (parentPart.Position - character.PrimaryPart.Position).Magnitude
			if distance < shortestDistance then
				print(character.PrimaryPart)
				nearestPlayer = player
				shortestDistance = distance
			end
		end
	end

	-- Fire a projectile at the nearest player
	if nearestPlayer then
		local projectile = Instance.new("Part")
		projectile.Shape = "Ball"
		projectile.Size = projectileSize
		projectile.Anchored = false
		projectile.Name = "Cannon Ball"
		projectile.BrickColor = projectileColor
		projectile.CFrame = CFrame.new(parentPart.Position, nearestPlayer.Character.PrimaryPart.Position) 
			+ Vector3.new(0,parentPart.Size.Y /2,0)
		projectile.Velocity = (nearestPlayer.Character.PrimaryPart.Position - parentPart.Position).unit * projectileSpeed
		projectile.Parent = game.Workspace

		-- Handle collision
		projectile.Touched:Connect(function(hit)
			local character = hit.Parent
			local humanoid = character:FindFirstChild("Humanoid")
			if humanoid and nearestPlayer == game.Players:GetPlayerFromCharacter(character) then
				character.PrimaryPart.AssemblyLinearVelocity = projectile.Velocity * flingForce
				projectile:Destroy()
			end
			game.Debris:AddItem(projectile, 5) 
		end)
	end
end

# data[].attributes.body
After creating the procedure, import the file and connect the imported code to the event block. Remember to change the event block to "Entity is attacked."

# data[].attributes.body
After creating the procedure, import the file and connect the imported code to the event block.

# data[].attributes.body
❄️ Try some of these loose scripts here if time permits! ❄️