尝试使用一个 RemoteEvent 创建一个 TeamChanger

Trying to create a TeamChanger with one RemoteEvent

所以我要创建的是一个 TeamChanger,如果按下一个按钮,LocalScript 会触发服务器并且 ServerScriptService 中的脚本会连接到它,但我有一个问题。

我希望当 LocalScript 触发服务器时,ServerScript 仅连接到一个函数(团队的每个加入按钮都会触发相同的 RemoteEvent)

所以基本上如果 Button1 将被按下脚本将只使用 Function1

但是如果按下 Button2 脚本将只使用 Function2 等等。

有什么想法吗?

更新:

所有按钮 LocalScript:

TR = game.ReplicatedStorage.TeamChangeRE


function buttonPressed()
    TR:FireServer()
end

script.Parent.MouseButton1Click:Connect(buttonPressed)

服务器脚本:

local Team = game:GetService("Teams")
local TRE = game.ReplicatedStorage.TeamChangeRE

function CDTeam(player)
    if player:IsInGroup(7465879) == 1 then
        player.Team = Team["Class-D"]
    end
end


function FPTeam(player)
    if player:IsInGroup(7465879) == 3 then
        player.Team = Team["Foundation Personnel"]
    end
end


TRE.OnServerEvent:Connect(CDTeam)
TRE.OnServerEvent:Connect(FPTeam)

基本上我想要达到的是,如果按下了一个按钮,那么只有脚本中的特定函数会触发,而不是全部。 (导致玩家多次组队)

RemoteEvent 不可能只针对一个连接触发。

但是在你的例子中,为什么不把这些功能合二为一呢? player:IsInGroup() function returns 一个布尔值,而不是一个数字,因此您可以根据它来安排人员。

local Team = game:GetService("Teams")
local TRE = game.ReplicatedStorage.TeamChangeRE

function joinTeam(player)
    if player:IsInGroup(7465879) then
        player.Team = Team["Class-D"]
    else
        player.Team = Team["Foundation Personnel"]
    end
end

TRE.OnServerEvent:Connect(joinTeam)