local player = game.Players.LocalPlayer -- GUI local screenGui = Instance.new("ScreenGui") screenGui.Name = "AdvancedCalculator" screenGui.ResetOnSpawn = false screenGui.Parent = player:WaitForChild("PlayerGui") -- ========================= -- PANTALLA DE CARGA -- ========================= local loadingFrame = Instance.new("Frame") loadingFrame.Size = UDim2.new(1,0,1,0) loadingFrame.BackgroundColor3 = Color3.fromRGB(15,15,15) loadingFrame.Parent = screenGui loadingFrame.ZIndex = 10 local loadingText = Instance.new("TextLabel") loadingText.Size = UDim2.new(1,0,0,60) loadingText.Position = UDim2.new(0,0,0.5,-30) loadingText.BackgroundTransparency = 1 loadingText.TextColor3 = Color3.new(1,1,1) loadingText.TextScaled = true loadingText.Text = "Fast, Easy, Accurate" loadingText.Parent = loadingFrame -- ===================== -- LOADING ANIMATION -- ===================== local TweenService = game:GetService("TweenService") task.spawn(function() local fadeOutText = TweenService:Create( loadingText, TweenInfo.new(0.8, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {TextTransparency = 0.6} ) local fadeInText = TweenService:Create( loadingText, TweenInfo.new(0.8, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {TextTransparency = 0} ) for i = 1,3 do fadeOutText:Play() fadeOutText.Completed:Wait() fadeInText:Play() fadeInText.Completed:Wait() end local finalTextFade = TweenService:Create( loadingText, TweenInfo.new(0.6, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {TextTransparency = 1} ) local finalBgFade = TweenService:Create( loadingFrame, TweenInfo.new(0.8, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {BackgroundTransparency = 1} ) finalTextFade:Play() finalBgFade:Play() finalBgFade.Completed:Wait() loadingFrame:Destroy() end) task.wait(2) -- ========================= -- CALCULATOR -- ========================= local frame = Instance.new("Frame") frame.Size = UDim2.new(0.35,0,0.6,0) frame.Position = UDim2.new(0.325,0,0.2,0) frame.BackgroundColor3 = Color3.fromRGB(25,25,25) frame.Parent = screenGui frame.ZIndex = 1 local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0,20) corner.Parent = frame local topBar = Instance.new("Frame") topBar.Size = UDim2.new(1,0,0,40) topBar.BackgroundColor3 = Color3.fromRGB(35,35,35) topBar.Parent = frame local topCorner = Instance.new("UICorner") topCorner.CornerRadius = UDim.new(0,20) topCorner.Parent = topBar local dragging = false local dragStart local startPos topBar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = frame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) topBar.InputChanged:Connect(function(input) if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then local delta = input.Position - dragStart frame.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end end) local display = Instance.new("TextLabel") display.Size = UDim2.new(1,-20,0,60) display.Position = UDim2.new(0,10,0,50) display.BackgroundColor3 = Color3.fromRGB(45,45,45) display.TextColor3 = Color3.new(1,1,1) display.TextScaled = true display.TextXAlignment = Enum.TextXAlignment.Right display.Text = "" display.Parent = frame local displayCorner = Instance.new("UICorner") displayCorner.CornerRadius = UDim.new(0,15) displayCorner.Parent = display local function evaluateExpression(expr) expr = expr:gsub("×","*") expr = expr:gsub("÷","/") local success, result = pcall(function() return loadstring("return " .. expr)() end) if success then return tostring(result) else return "Error" end end local function createButton(text, row, col) local button = Instance.new("TextButton") button.Size = UDim2.new(0.22,0,0.12,0) button.Position = UDim2.new(0.04 + (col*0.24),0,0.32 + (row*0.14),0) button.BackgroundColor3 = Color3.fromRGB(60,60,60) button.TextColor3 = Color3.new(1,1,1) button.TextScaled = true button.Text = text button.Parent = frame local c = Instance.new("UICorner") c.CornerRadius = UDim.new(0,12) c.Parent = button button.MouseButton1Click:Connect(function() if text == "=" then display.Text = evaluateExpression(display.Text) elseif text == "C" then display.Text = "" else display.Text = display.Text .. text end end) end local buttons = { {"7","8","9","÷"}, {"4","5","6","×"}, {"1","2","3","-"}, {"0","C","=","+"} } for r,row in ipairs(buttons) do for c,value in ipairs(row) do createButton(value, r-1, c-1) end end -- useless thing local StarterGui = game:GetService("StarterGui") local function SendCustomNotification(title, text, duration, icon) StarterGui:SetCore("SendNotification", { Title = title or "Notification", Text = text or "Hello world!", Duration = duration or 5, Icon = icon or "" -- Puedes poner un asset id aquí }) end SendCustomNotification( "thx for using Guest's and ChatGPT's calculator", "F.E.A.C.S", 6, "rbxassetid://6031075938" )