local player = game:GetService("Players").LocalPlayer
local mouse = player:GetMouse()
local event = game:GetService("ReplicatedStorage"):WaitForChild("Events").Click
mouse.Button1Down:Connect(function()
event:FireServer(player)
--local t = mouse.Target
--local block = t.Name
--if mouse.Target ~= nil and block == "testBlock" then
-- print("-Hp")
-- t:WaitForChild("Health").Value -= 1
--end
end)
Server:
local event = game:GetService("ReplicatedStorage"):WaitForChild("Events").Click
event.OnServerEvent:Connect(function(player)
local mouse = player:GetMouse()
local t = mouse.Target
local block = t.Name
if mouse.Target ~= nil and block == "testBlock" then
event:FireServer(player, mouse)
print("-Hp")
t:WaitForChild("Health").Value -= 1
end
end)
:GetMouse() is a client-side only method – using it on the server won’t work. You’d also need to use a RemoteEvent or RemoteFunction to communicate between the client-server.
event.OnServerEvent:Connect(function(player,Block,Damage)
if Block.Name == "testBlock" then
Block:WaitForChild("Health").Value -= Damage --In this case 1, which you can set it to 1 on client side
end
end)
local player = game:GetService("Players").LocalPlayer
local mouse = player:GetMouse()
local event = game:GetService("ReplicatedStorage"):WaitForChild("Events").Click
local Damage = 1
mouse.Button1Down:Connect(function()
if mouse.Target then -- I guess you could check if the block's name is correct on the client side instead
of the server side.
event:FireServer(player,mouse.Target,Damage )
end
end)
local player = game:GetService("Players").LocalPlayer
local mouse = player:GetMouse()
local event = game:GetService("ReplicatedStorage"):WaitForChild("Events").Click
local Damage = 1
mouse.Button1Down:Connect(function()
if mouse.Target then
print("client")
event:FireServer(player,mouse.Target,Damage )
end
end)
Server:
local event = game:GetService("ReplicatedStorage"):WaitForChild("Events").Click
event.OnServerEvent:Connect(function(player,Block,Damage)
print("server1")
print(Block.Name)
if Block.Name == "testBlock" then
print("server2")
Block:WaitForChild("Health").Value -= Damage
end
end)
local player = game:GetService("Players").LocalPlayer
local mouse = player:GetMouse()
local event = game:GetService("ReplicatedStorage"):WaitForChild("Events").Click
local Damage = 1
mouse.Button1Down:Connect(function()
if mouse.Target then
print("client")
event:FireServer(mouse.Target,Damage )
end
end)
Server:
local event = game:GetService("ReplicatedStorage"):WaitForChild("Events").Click
event.OnServerEvent:Connect(function(Block,Damage)
print("server1")
print(Block.Name)
if Block.Name == "testBlock" then
print("server2")
Block:WaitForChild("Health").Value -= Damage
end
end)
Okay, I did like this, but it still prints the player