Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

Transferring parameters from client to server?

Asked by 4 years ago

Hi, I'm not exactly sure how to transfer parameters from the client to the server via Remote Events. I'm trying to create a laser gun and I pretty much followed the guide on the Roblox Dev website, but instead of using a Local Script I tried to use Remote Events. Here's what I have.

LocalScript:

local tool = script.Parent
local handle = tool:WaitForChild("Handle")
local RS = game:GetService("ReplicatedStorage")
local FlameEvent = RS:WaitForChild("FlameThrowEvent")

local player = game.Players.LocalPlayer
local Mouse = player:GetMouse()
local handlepos = handle.CFrame.p
local mousepos = Mouse.hit.p

local debounce = false


tool.Activated:connect(function()
    if debounce == false then
        debounce = true

        FlameEvent:FireServer(handlepos, mousepos)

        wait(2)
        debounce = false
    end
end)

Server Script:

local RS = game:GetService("ReplicatedStorage")
local FireEvent = RS:WaitForChild("FlameThrowEvent")

local DebrisFolder = Instance.new("Folder")
DebrisFolder.Parent = game.Workspace

function FireBlaze(player, start, finish)
    local ray = Ray.new(start, (finish - start).unit * 300)
    local part, position = workspace:FindPartOnRay(ray, player.Character, false, true)

    local flame = Instance.new("Part")
    flame.Transparency = 0.5
    flame.Anchored = true
    flame.CanCollide = false
    flame.Locked = true


    local distance = (start - position).magnitude
    flame.Size = Vector3.new(4, 4, distance)
    flame.CFrame = CFrame.new(start, position) * CFrame.new(0, 0, -distance/2)

    flame.Parent = game.Workspace
    game:GetService("Debris"):AddItem(flame, .5)


end

FireEvent.OnServerEvent:connect(function(player, handlepos, mousepos)
        FireBlaze(player, handlepos, mousepos)
end)

I don't get any errors, but it doesn't work as it's supposed to since the part just spawns at a random point on the map. Did I use the parameters wrong here, or is it something else?

Answer this question