This script is one of 3 scripts being used this script currently tells the other 2 scripts when to pick up and to drop/throw a part, It worked before but this is the current script I changed it to and it doesnt work. I am assuming the issue revolves around the “if function onButtonPress()” part since it was different before. Is there anyway to make this work, I am trying to use “onButtonPress()” to make it mobile compatible
Previously, I’ve had the script so that where it says “if function onButtonPress() then” would say “if input.KeyCode == Enum.KeyCode.F then” and that seemed to work. I’m trying to use “function onButtonPress()” to make it mobile compatible but hasnt worked so far.
I’ve tried using both in one script by doing “if input.KeyCode == Enum.KeyCode.F or function onButtonPress() then” but that didnt work either.
local plr = game.Players.LocalPlayer
local char = plr.Character or plr.CharacterAdded:wait()
local uis = game:GetService("UserInputService")
local hum = char:WaitForChild("Humanoid")
local anim = hum:LoadAnimation(script.GrabBlockAnim)
local CanGrabBlock = true
local contextActionService = game:GetService("ContextActionService")
local function Block(plr, block)
if CanGrabBlock == true then
CanGrabBlock = false
anim:Play()
game.ReplicatedStorage.TakeBlock:FireServer(plr, block)
uis.InputBegan:Connect(function(input, GameprocessedEvent)
if function onButtonPress() then
game.ReplicatedStorage.ThrowBlock:FireServer(plr, block)
anim:Stop()
wait(1)
CanGrabBlock = true
end
end)
end
end
game.ReplicatedStorage.ClientBlock.OnClientEvent:Connect(Block)
local mobilebutton = contextActionService:BindAction("ThrowBlock",onButtonPress(),true,"f")```