Итак, в настоящее время у меня есть кнопка на экране игроков, которая, когда они щелкают по ней, проверяет, щелкает ли игрок где-либо в мире, и отправляет координаты попадания своей мыши на сервер. Затем сервер будет использовать их для выполнения определенной части (скоро она будет работать с моделями), где мышь находится, когда игрок нажимает левую кнопку мыши. Это работает просто отлично. Тем не менее, я хочу сделать это там, где, если игрок нажимает букву «E» до или после того, как они установили положение части, он в основном прекратит отправку данных о попадании мыши на сервер и будет двигаться дальше.
Я все еще учусь использовать UserInputService. UserInputService.InputBegan и UserInputService.InputEnded , работают не так, как я надеялся. Может ли кто-нибудь помочь мне с этим?
Вот код:
Локальный скрипт:
userInputService.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
movePartEvent:FireServer(math.ceil(mouse.Hit.X), math.ceil(mouse.Hit.Y), math.ceil(mouse.Hit.Z))
end
if input.UserInputType == Enum.KeyCode.E then
print("Part placed...")
--Exit the userInput part of the code here --
end
end)
Серверный скрипт:
local replicatedStorage = game:GetService("ReplicatedStorage")
local movePartEvent = replicatedStorage:WaitForChild("MovePartEvent")
movePartEvent.OnServerEvent:Connect(function(...)
local tuppleArgs = {...}
local player = tuppleArgs[1]
local value1 = tuppleArgs[2]
local value2 = tuppleArgs[3]
local value3 = tuppleArgs[4]
local function movePartOnEvent(part)
part.Position = Vector3.new(value1, value2, value3)
end
movePartOnEvent(game.Workspace.MovingPart)
end)
Заранее спасибо!