【问题标题】:Trying to create a TeamChanger with one RemoteEvent尝试使用一个 RemoteEvent 创建 TeamChanger
【发布时间】:2021-01-17 08:19:24
【问题描述】:

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

基本上我想要达到的是,如果按下按钮,则只有脚本中的特定功能会触发而不是全部触发。 (这会导致玩家多次组队)

【问题讨论】:

  • 您可以添加一个代码示例来解决您的问题吗?
  • 在下面发布了脚本。
  • 您应该编辑您的问题以包含脚本,而不是将它们作为答案发布。
  • 我现在已经修好了。

标签: roblox


【解决方案1】:

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

但是在您的示例中,为什么不将这些功能合二为一呢? player:IsInGroup() function 返回一个布尔值,而不是数字,因此您可以根据该值将人员分配到团队中。

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)

【讨论】:

猜你喜欢
  • 2014-05-25
  • 2013-12-09
  • 2011-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多