--[[

Roblox Studio.
GUI. Интерактивное взаимодействие.
Ввод целочисленного значения.
Цифровая клавиатура.
Параметры (в виде переменных) хранятся в папке "Vars".
Переменные:
Value_Input - введенное значение (целое число после нажатия на кнопку Enter);
DelayKeyPress - задержка при нажатии на кнопку.
Специфичная обработка, после нажатия кнопки "Enter":
Action_If_Enter(player);

-------------------------------
2024.08.25 roamer55.ru

]]

-- ---------------------------
local kbn = script.Parent -- эта клавиатура
local Disp = kbn.KB_Display -- отображение вводимого значения
local SoundClick = kbn.Sound.SoundClick -- звук "клика" на кнопку
-- ---------------------------

-- ---------------------------
local DelayKeyPress = kbn.Vars.DelayKeyPress.Value
if DelayKeyPress <=0 then DelayKeyPress = 0.1 end
-- ---------------------------

-- ---------------------------
local BufInput = "" -- буфер ввода данных
Disp.SurfaceGui.TextLabel.Text = BufInput
kbn.Vars.Value_Input.Value = 0 -- введенное значение
-- ---------------------------


-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-- Специфичная обработка (после нажатия кнопки "Enter"):
function Action_If_Enter(player)
    if player ~= nil then
        -- соответствующий код

        print("============================")
        print("Привет, " .. player.Name)
        print("Введенное значение=", kbn.Vars.Value_Input.Value)
        print("============================")

    end
end
-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@




-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

-- ========================================
function ClickKeyEnter(player)
    kbn.KeyEnter.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 0.498039)
    SoundClick:Play()
    wait()
    if BufInput == nil then BufInput = "" end
    if BufInput == "" then BufInput = "0" end
    kbn.Vars.Value_Input.Value = tonumber(BufInput)
    wait()
    Disp.SurfaceGui.TextLabel.Text = BufInput
    Disp.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(0, 1, 0)
    wait(DelayKeyPress)
    kbn.KeyEnter.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)

    -- ......................................
    -- Специфичная обработка (после нажатия кнопки "Enter"):
    Action_If_Enter(player)
    -- ......................................

    wait()
end
kbn.KeyEnter.ClickDetector.MouseClick:connect(ClickKeyEnter)
-- ========================================


-- ========================================
function ClickKeyEsc()
    kbn.KeyEsc.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 0.498039)
    SoundClick:Play()
    wait()
    BufInput = ""
    kbn.Vars.Value_Input.Value = 0
    Disp.SurfaceGui.TextLabel.Text = BufInput
    Disp.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
    Disp.SurfaceGui.TextLabel.TextColor3 = Color3.new(0, 0, 0)
    wait()
    wait(DelayKeyPress)
    kbn.KeyEsc.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
    wait()
end
kbn.KeyEsc.ClickDetector.MouseClick:connect(ClickKeyEsc)
-- ========================================
-- ========================================
function ClickKeyBackSpace()
    kbn.KeyBackSpace.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 0.498039)
    SoundClick:Play()
    wait()
    if #BufInput > 1 then
        BufInput = BufInput:sub(1 , #BufInput-1)
    else
        BufInput = ""
    end
    Disp.SurfaceGui.TextLabel.Text = BufInput
    Disp.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
    wait()
    wait(DelayKeyPress)
    kbn.KeyBackSpace.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
    wait()
end
kbn.KeyBackSpace.ClickDetector.MouseClick:connect(ClickKeyBackSpace)
-- ========================================

-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@



-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-- ========================================
function Click7()
    kbn.Key7.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 0.498039)
    SoundClick:Play()
    wait(0.01)
    BufInput = BufInput .. "7"
    Disp.SurfaceGui.TextLabel.Text = BufInput
    Disp.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
    wait(DelayKeyPress)
    kbn.Key7.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
end
kbn.Key7.ClickDetector.MouseClick:connect(Click7)
-- ========================================
-- ========================================
function Click8()
    kbn.Key8.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 0.498039)
    SoundClick:Play()
    wait(0.01)
    BufInput = BufInput .. "8"
    Disp.SurfaceGui.TextLabel.Text = BufInput
    Disp.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
    wait(DelayKeyPress)
    kbn.Key8.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
end
kbn.Key8.ClickDetector.MouseClick:connect(Click8)
-- ========================================
-- ========================================
function Click9()
    kbn.Key9.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 0.498039)
    SoundClick:Play()
    wait(0.01)
    BufInput = BufInput .. "9"
    Disp.SurfaceGui.TextLabel.Text = BufInput
    Disp.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
    wait(DelayKeyPress)
    kbn.Key9.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
end
kbn.Key9.ClickDetector.MouseClick:connect(Click9)
-- ========================================

-- ========================================
function Click4()
    kbn.Key4.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 0.498039)
    SoundClick:Play()
    wait(0.01)
    BufInput = BufInput .. "4"
    Disp.SurfaceGui.TextLabel.Text = BufInput
    Disp.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
    wait(DelayKeyPress)
    kbn.Key4.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
end
kbn.Key4.ClickDetector.MouseClick:connect(Click4)
-- ========================================
-- ========================================
function Click5()
    kbn.Key5.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 0.498039)
    SoundClick:Play()
    wait(0.01)
    BufInput = BufInput .. "5"
    Disp.SurfaceGui.TextLabel.Text = BufInput
    Disp.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
    wait(DelayKeyPress)
    kbn.Key5.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
end
kbn.Key5.ClickDetector.MouseClick:connect(Click5)
-- ========================================
-- ========================================
function Click6()
    kbn.Key6.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 0.498039)
    SoundClick:Play()
    wait(0.01)
    BufInput = BufInput .. "6"
    Disp.SurfaceGui.TextLabel.Text = BufInput
    Disp.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
    wait(DelayKeyPress)
    kbn.Key6.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
end
kbn.Key6.ClickDetector.MouseClick:connect(Click6)
-- ========================================
-- ========================================
function Click1()
    kbn.Key1.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 0.498039)
    SoundClick:Play()
    wait(0.01)
    BufInput = BufInput .. "1"
    Disp.SurfaceGui.TextLabel.Text = BufInput
    Disp.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
    wait(DelayKeyPress)
    kbn.Key1.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
end
kbn.Key1.ClickDetector.MouseClick:connect(Click1)
-- ========================================
-- ========================================
function Click2()
    kbn.Key2.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 0.498039)
    SoundClick:Play()
    wait(0.01)
    BufInput = BufInput .. "2"
    Disp.SurfaceGui.TextLabel.Text = BufInput
    Disp.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
    wait(DelayKeyPress)
    kbn.Key2.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
end
kbn.Key2.ClickDetector.MouseClick:connect(Click2)
-- ========================================
-- ========================================
function Click3()
    kbn.Key3.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 0.498039)
    SoundClick:Play()
    wait(0.01)
    BufInput = BufInput .. "3"
    Disp.SurfaceGui.TextLabel.Text = BufInput
    Disp.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
    wait(DelayKeyPress)
    kbn.Key3.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
end
kbn.Key3.ClickDetector.MouseClick:connect(Click3)
-- ========================================
-- ========================================
function Click0()
    kbn.Key0.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 0.498039)
    SoundClick:Play()
    wait(0.01)
    BufInput = BufInput .. "0"
    Disp.SurfaceGui.TextLabel.Text = BufInput
    Disp.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
    wait(DelayKeyPress)
    kbn.Key0.SurfaceGui.TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
end
kbn.Key0.ClickDetector.MouseClick:connect(Click0)
-- ========================================


-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@