Загрузка...

Не совсем работают теги

Тема в разделе Roblox Studio создана пользователем Nikvet 8 июн 2025 в 01:45. 45 просмотров

Загрузка...
  1. Nikvet
    Nikvet Автор темы 8 июн 2025 в 01:45 0 Четверг
    По идее с переходом в новую команду должен меняться цвет приписки, а также её текст на название команды, но текст не меняется, а цвет команды передаётся на оба тега. Еще по-хорошему второй тег должен брать цвет с заднего фона нажатой кнопки, если она является ребёнком RanksScrollingFrame. Короче помогите пожалуйста кому не лень...
    (пробелы у точек ставил, чтобы ссылки не создавались)
    Вот серверный скрипт:
    local Players = game:GetService("Players")
    local Teams = game:GetService("Teams")
    local ReplicatedStorage = game:GetService("ReplicatedStorage")

    local setTitleEvent = ReplicatedStorage:WaitForChild("SetTitle")
    local titleChangedEvent = ReplicatedStorage:WaitForChild("TitleChanged")

    Players.PlayerAdded:Connect(function(player)
    local function updateTeamAttributes()
    if player. Team then
    player:SetAttribute("TeamName", player. Team. Name)
    player:SetAttribute("SpecialTag", "ExampleTag") -- пример значения
    else
    player:SetAttribute("TeamName", nil)
    player:SetAttribute("SpecialTag", nil)
    end
    end

    updateTeamAttributes()
    player:GetPropertyChangedSignal("Team"):Connect(updateTeamAttributes)

    setTitleEvent.OnServerEvent:Connect(function(_, newTag)
    player:SetAttribute("SpecialTag", newTag)
    titleChangedEvent:FireAllClients(player, newTag)
    end)
    end)
    Локальный:

    local Players = game:GetService("Players")
    local TextChatService = game:GetService("TextChatService")

    local player = Players.LocalPlayer
    local playerGui = player:WaitForChild("PlayerGui")
    local titleSelectionGui = playerGui:FindFirstChild("TitleSelectionGui")
    local scrollingFrame = titleSelectionGui and titleSelectionGui:FindFirstChild("RanksScrollingFrame")

    TextChatService.OnIncomingMessage = function(message)
    local textSource = message.TextSource
    if not textSource then return nil end

    local player = Players:GetPlayerByUserId(textSource.UserId)
    if not player then return nil end

    local teamName = player:GetAttribute("TeamName")
    local specialTag = player:GetAttribute("SpecialTag")

    if teamName then
    local override = Instance. new("TextChatMessageProperties")


    override.PrefixText = "[" .. teamName .. "]" .. (specialTag and ("[" .. specialTag .. "]") or "") .. " " .. message.PrefixText


    if specialTag then
    local selectedColor = player:GetAttribute("SelectedButtonColor")
    if selectedColor then
    override.PrefixTextColor = selectedColor
    end
    end

    return override
    end

    return nil
    end
     
    8 июн 2025 в 01:45 Изменено
Top