|
| 15 Jan 2017 12:13 AM |
So it annoys me how even if you right click a click detector it activates the script...
Does anyone know a way for the script to only activate when you left click? Thx in advance. |
|
|
| Report Abuse |
|
|
|
| 15 Jan 2017 12:14 AM |
mouse hover and using player:getmouse() or uis
|
|
|
| Report Abuse |
|
|
|
| 15 Jan 2017 12:19 AM |
| A little more explaining would be nice.. im kind of new to scripting. |
|
|
| Report Abuse |
|
|
| |
|
|
| 15 Jan 2017 12:54 AM |
player mouse mouse.Target mouse.Button1Down
search it up in the wiki.
#code self = nil |
|
|
| Report Abuse |
|
|
Swordlust
|
  |
| Joined: 05 Dec 2016 |
| Total Posts: 476 |
|
|
| 15 Jan 2017 01:04 AM |
Mhm keep in mind you can still add a clickdetector in the part without adding the function, and you can use a mouse.Button1Down function to trigger what happens as well.
Tips are always good | https://www.roblox.com/catalog/588125527/Tip |
|
|
| Report Abuse |
|
|
|
| 15 Jan 2017 01:53 AM |
local mouse = game.Players.LocalPlayer:GetMouse() local buttonClickedEvent = game.ReplicatedStorage:WaitForChild("ButtonClickedEvent")
mouse.Button1Down:connect(function() if game.Players.LocalPlayer.Character and mouse.Target then local clickDetector = mouse.Target:FindFirstChildOfClass("ClickDetector") if clickDetector and game.Players.LocalPlayer:DistanceFromCharacter(mouse.Target) == clickDetector.MaxActivationDistance then buttonClickedEvent:FireServer(mouse.Target) end end end)
--Server code inside the button:
function onClicked(player) --Your code here end
game.ReplicatedStorage.ButtonClickedEvent.OnServerEvent:connect(function(player, button) if script.Parent == button then onClicked(player, button) end end)
|
|
|
| Report Abuse |
|
|
|
| 15 Jan 2017 01:55 AM |
local player = game.Players.LocalPlayer local mouse = player:GetMouse() local buttonClickedEvent = game.ReplicatedStorage:WaitForChild("ButtonClickedEvent")
mouse.Button1Down:connect(function() if player.Character and player.Character.Parent == workspace and mouse.Target then local clickDetector = mouse.Target:FindFirstChildOfClass("ClickDetector") if clickDetector and player:DistanceFromCharacter(mouse.Target.Position) <= clickDetector.MaxActivationDistance then buttonClickedEvent:FireServer(mouse.Target) end end end)
--Server code inside the button:
function onClicked(player) --Your code here end
game.ReplicatedStorage.ButtonClickedEvent.OnServerEvent:connect(function(player, button) if script.Parent == button then onClicked(player, button) end end)
|
|
|
| Report Abuse |
|
|
|
| 15 Jan 2017 01:57 AM |
Put the code at the top in a localscript inside of the StarterPlayerScripts. Put the bottom code inside a regular script inside of the button/object that is being clicked on and put the code from your old script where it says "Your code here". Also make sure to put a ClickDetector object inside of the button/object.
|
|
|
| Report Abuse |
|
|
| |
|