尝试使用一个 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)
所以我要创建的是一个 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)