Verity Giver v2 Op
Key Required

Verity Giver v2 Op

Verity's Gameemobaconremobaconr 2.8K views 9.2K executesUpdated Sep 19, 2026
Unrated
00
Lua Script•271 lines (8426 chars)
local Players = game:GetService("Players")
local CoreGui = game:GetService("CoreGui")
local TweenService = game:GetService("TweenService")

local localPlayer = Players.LocalPlayer

-- Asset ID текстур и лиц
local NORMAL_FACE = "rbxassetid://75149787879884"
local ANGER_FACE = "rbxassetid://118957392764865"
local ANGER_TEXTURE = "rbxassetid://116081942235328"

-- Координаты точек телепортации
local posMain = Vector3.new(-179.4, 15, -133.11)
local posBox = Vector3.new(-145.64, 13, -125.47)
local posEnd = Vector3.new(-122, 15, 182.15)

-- GUI Контейнер
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "SphereTeleportGui"
screenGui.ResetOnSpawn = false
screenGui.Parent = (gethui and gethui()) or CoreGui or localPlayer:WaitForChild("PlayerGui")

local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 220, 0, 310)
mainFrame.Position = UDim2.new(0.05, 0, 0.18, 0)
mainFrame.BackgroundTransparency = 1
mainFrame.Active = true
mainFrame.Draggable = true
mainFrame.Parent = screenGui

-- Телепорт с сохранением скорости
local function teleportTo(targetPos)
	local character = localPlayer.Character
	if not character then return end
	
	local rootPart = character:FindFirstChild("HumanoidRootPart")
	local humanoid = character:FindFirstChildOfClass("Humanoid")
	
	if rootPart then
		local savedLinearVelocity = rootPart.AssemblyLinearVelocity
		local savedAngularVelocity = rootPart.AssemblyAngularVelocity

		if humanoid then
			humanoid:ChangeState(Enum.HumanoidStateType.Running)
		end

		character:PivotTo(CFrame.new(targetPos))

		rootPart.AssemblyLinearVelocity = savedLinearVelocity
		rootPart.AssemblyAngularVelocity = savedAngularVelocity
	end
end

local buttonDataList = {}

-- Создание круглой кнопки
local function createSphereButton(name, text, yPos, targetVector, normalBg, gloomyBg, strokeHueCenter)
	local container = Instance.new("Frame")
	container.Name = name .. "_Container"
	container.Size = UDim2.new(1, 0, 0, 95)
	container.Position = UDim2.new(0, 0, 0, yPos)
	container.BackgroundTransparency = 1
	container.Parent = mainFrame

	-- Основа кнопки
	local button = Instance.new("ImageButton")
	button.Name = name
	button.Size = UDim2.new(0, 58, 0, 58)
	button.Position = UDim2.new(0.5, -29, 0, 0)
	button.BackgroundColor3 = normalBg
	button.AutoButtonColor = false
	button.BackgroundTransparency = 1
	button.Parent = container

	local buttonCorner = Instance.new("UICorner")
	buttonCorner.CornerRadius = UDim.new(1, 0)
	buttonCorner.Parent = button

	-- Слой полупрозрачной текстуры Anger (зажата в круг собственным UICorner)
	local angerOverlay = Instance.new("ImageLabel")
	angerOverlay.Name = "AngerTextureOverlay"
	angerOverlay.Size = UDim2.new(1, 0, 1, 0)
	angerOverlay.Position = UDim2.new(0, 0, 0, 0)
	angerOverlay.BackgroundTransparency = 1
	angerOverlay.Image = ANGER_TEXTURE
	angerOverlay.ImageTransparency = 1
	angerOverlay.ScaleType = Enum.ScaleType.Crop
	angerOverlay.ZIndex = 2
	angerOverlay.Parent = button

	local textureCorner = Instance.new("UICorner")
	textureCorner.CornerRadius = UDim.new(1, 0)
	textureCorner.Parent = angerOverlay

	-- Слой лица (поверх текстуры)
	local faceLabel = Instance.new("ImageLabel")
	faceLabel.Name = "FaceImage"
	faceLabel.Size = UDim2.new(1, 0, 1, 0)
	faceLabel.Position = UDim2.new(0, 0, 0, 0)
	faceLabel.BackgroundTransparency = 1
	faceLabel.Image = NORMAL_FACE
	faceLabel.ImageTransparency = 1
	faceLabel.ScaleType = Enum.ScaleType.Fit
	faceLabel.ZIndex = 3
	faceLabel.Parent = button

	local faceCorner = Instance.new("UICorner")
	faceCorner.CornerRadius = UDim.new(1, 0)
	faceCorner.Parent = faceLabel

	-- Переливающийся контур
	local stroke = Instance.new("UIStroke")
	stroke.Thickness = 3
	stroke.Transparency = 1
	stroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
	stroke.Parent = button

	-- Текст снизу (Minecraft Arcade)
	local label = Instance.new("TextLabel")
	label.Name = "Label"
	label.Size = UDim2.new(1, 0, 0, 30)
	label.Position = UDim2.new(0, 0, 0, 63)
	label.BackgroundTransparency = 1
	label.TextColor3 = normalBg
	label.TextSize = 13
	label.Font = Enum.Font.Arcade
	label.Text = text
	label.TextTransparency = 1
	label.TextWrapped = true
	label.Parent = container

	-- Чёрный контур у текста
	local textStroke = Instance.new("UIStroke")
	textStroke.Color = Color3.fromRGB(0, 0, 0)
	textStroke.Thickness = 1.5
	textStroke.Transparency = 1
	textStroke.Parent = label

	-- Быстрое покачивание
	local swayRight = TweenService:Create(button, TweenInfo.new(0.9, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {Rotation = 6})
	local swayLeft = TweenService:Create(button, TweenInfo.new(0.9, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {Rotation = -6})

	task.spawn(function()
		while button and button.Parent do
			swayRight:Play()
			swayRight.Completed:Wait()
			swayLeft:Play()
			swayLeft.Completed:Wait()
		end
	end)

	button.MouseButton1Click:Connect(function()
		teleportTo(targetVector)
	end)

	local data = {
		button = button,
		angerOverlay = angerOverlay,
		faceLabel = faceLabel,
		stroke = stroke,
		label = label,
		textStroke = textStroke,
		normalBg = normalBg,
		gloomyBg = gloomyBg,
		strokeHueCenter = strokeHueCenter,
		isAnger = false,
		isAnimating = false
	}

	table.insert(buttonDataList, data)
	return data
end

-- Кнопки
createSphereButton("MainTP", "TELEPORT 1\n[-179.4, 15, -133.11]", 0, posMain, 
	Color3.fromRGB(0, 200, 255), Color3.fromRGB(15, 30, 60), 0.55)

createSphereButton("BoxTP", "Оставить коробку чтобы помочь новичкам", 102, posBox, 
	Color3.fromRGB(255, 45, 70), Color3.fromRGB(55, 10, 15), 0.98)

createSphereButton("EndTP", "TELEPORT TO END OF MAP", 204, posEnd, 
	Color3.fromRGB(0, 230, 100), Color3.fromRGB(10, 45, 20), 0.38)

-- Плавное появление интерфейса
task.spawn(function()
	for step = 1, 120 do
		local alpha = step / 120
		for _, data in ipairs(buttonDataList) do
			data.button.BackgroundTransparency = 1 - alpha
			data.faceLabel.ImageTransparency = 1 - alpha
			data.stroke.Transparency = 1 - alpha
			data.label.TextTransparency = 1 - alpha
			data.textStroke.Transparency = 1 - alpha
		end
		task.wait(0.008)
	end
end)

-- Переливание контура
task.spawn(function()
	local timeOffset = 0
	while true do
		timeOffset = timeOffset + 0.03
		for _, data in ipairs(buttonDataList) do
			local wave = math.sin(timeOffset) * 0.12
			local currentHue = (data.strokeHueCenter + wave) % 1
			local val = data.isAnger and 0.5 or 1.0
			data.stroke.Color = Color3.fromHSV(currentHue, 0.85, val)
		end
		task.wait(0.02)
	end
end)

-- Анимация смены состояний (повышена прозрачность текстуры)
local function setAngerState(toAnger)
	for _, data in ipairs(buttonDataList) do
		if data.isAnger ~= toAnger and not data.isAnimating then
			data.isAnger = toAnger
			data.isAnimating = true

			task.spawn(function()
				local startBg = data.button.BackgroundColor3
				local targetBg = toAnger and data.gloomyBg or data.normalBg
				local targetFace = toAnger and ANGER_FACE or NORMAL_FACE

				-- Этап 1: Старое лицо уходит, текстура проявляется до легкой видимости (0.75 прозрачности / 25% видимости)
				for step = 1, 120 do
					local alpha = step / 120
					data.faceLabel.ImageTransparency = alpha
					data.angerOverlay.ImageTransparency = toAnger and (1 - alpha * 0.25) or (0.75 + alpha * 0.25)
					data.button.BackgroundColor3 = startBg:Lerp(targetBg, alpha)
					task.wait(0.008)
				end

				data.faceLabel.Image = targetFace

				-- Этап 2: Новое лицо проявляется поверх текстуры
				for step = 1, 120 do
					local alpha = step / 120
					data.faceLabel.ImageTransparency = 1 - alpha
					task.wait(0.008)
				end

				data.isAnimating = false
			end)
		end
	end
end

-- Отслеживание текста Anger
task.spawn(function()
	local pGui = localPlayer:WaitForChild("PlayerGui", 10)
	if not pGui then return end

	local mainGui = pGui:WaitForChild("MainGui", 10)
	local uiTop = mainGui and mainGui:WaitForChild("UITop", 10)
	local frame = uiTop and uiTop:WaitForChild("Frame", 10)
	local angerBar = frame and frame:WaitForChild("AngerBar", 10)
	local angerTextLabel = angerBar and angerBar:WaitForChild("Anger", 10)

	if angerTextLabel then
		local function checkAnger()
			local txt = angerTextLabel.Text
			local is100 = string.find(txt, "100%%") ~= nil or (string.find(txt, "100") ~= nil and not string.find(txt, "1000"))
			setAngerState(is100)
		end

		angerTextLabel:GetPropertyChangedSignal("Text"):Connect(checkAnger)
		checkAnger()
	end
end)

Features & Information

Three teleport emoticons to steal the box faster when anger reaches 100% in the game, the emoticons are replaced by a creepy version.

Community Comments (0)

No comments yet for this script.

More Scripts for Verity's Game