--[[
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)
-- ========================================
-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@