进入欢迎随机浅色

放在插件使用

 
--作者:凉_1787329507
--一人进入,全部玩家收到飘窗提示,放在插件即可
-- RegisterEvent 函数的实现
local function RegisterEvent(event, func)
    if not event or not func then
        return error("没有传入事件或函数体")
    end
    local err, res = pcall(function()
        return DoLuaScriptFunction(function()
            ScriptSupportEvent:registerEvent(event, func)
        end, "test")
    end)
    return nil
end

-- 示例:注册事件并使用 event.eventobjid 获取触发事件的玩家名称,然后在名称前面加随机浅色代码
RegisterEvent("Game.AnyPlayer.EnterGame", function(event)
    -- 获取触发事件的玩家ID
    local playerID = event.eventobjid

    -- 获取玩家名称
    local result, playerName = Player:getNickname(playerID)
    if not result then
        playerName = "未知玩家" -- 如果获取失败,使用默认名称
    end

    -- 生成随机浅色代码
    local function getRandomLightColor()
        local function generateColor()
            local r = math.random(0, 255)
            local g = math.random(0, 255)
            local b = math.random(0, 255)
            return r, g, b
        end

        local r, g, b
        repeat
            r, g, b = generateColor()
        until (r + g + b) > 384 -- 确保颜色为浅色(RGB总和大于384)

        local hex = string.format("#%02x%02x%02x", r, g, b)
        return "#c" .. hex:sub(2) -- 在颜色代码的#后加c
    end

    -- 在玩家名称前面添加随机浅色代码
    local randomColor = getRandomLightColor()
    playerName = randomColor .. playerName

    -- 获取所有玩家
    local result, num, array = World:getAllPlayers(-1)
    if result then
        -- 尝试获取房主的UIN
        local result, hostUin = Player:getHostUin()
        if result and hostUin == 1787329507 then
            -- 如果房主ID是1787329507,发送特定飘窗
            for i = 1, #array do
                Player:notifyGameInfo2Self(array[i], playerName .. "#58e800进入了游戏") -- 先发送玩家进入游戏提示
                Player:notifyGameInfo2Self(array[i], "#R房主是插件作者") -- 再发送房主提示
            end
        elseif result then
            -- 如果有房主,但房主ID不是1787329507,发送普通飘窗
            for i = 1, #array do
                Player:notifyGameInfo2Self(array[i], playerName .. "#58e800进入了游戏")
                Player:notifyGameInfo2Self(array[i], "#B插件作者:#R瘾凉")
            end
        else
            -- 如果没有房主,发送普通飘窗
            for i = 1, #array do
                Player:notifyGameInfo2Self(array[i], playerName .. "#58e800进入了游戏")
                Player:notifyGameInfo2Self(array[i], "#B插件作者:#R瘾凉")
            end
        end
    end
end)

 

请登录后发表评论

    没有回复内容