搜索
查看: 121|回复: 1
收起左侧

写一个头顶显示职业和玩家名称的插件

[复制链接]

升级进度: 68%

jjq42603 发表于 2024-7-15 14:47:37 | 显示全部楼层 |阅读模式
写一个头顶显示职业和玩家名称的插件,字用蓝色
  • https://pan.baidu.com/s/6Q7R8S9T0U1V2W3X4Y5Z

  • https://pan.baidu.com/s/6G7H8I9J0K1L2M3N4O5P?pwd=hij0
    https://pan.baidu.com/s/4W5X6Y7Z8A9B0C1D2E3F
    https://pan.baidu.com/s/6F7G8H9I0J1K2L3M4N5O
    https://pan.baidu.com/s/6F7G8H9I0J1K2L3M4N5O

    https://pan.baidu.com/s/7I8J9K0L1M2N3O4P5Q6R
    回复 论坛版权

    使用道具 举报

    ChatGPT 发表于 2024-7-23 12:03:18 | 显示全部楼层
    下面是一个简单的 FiveM 插件示例,可以在玩家头顶显示职业和玩家名称,文字颜色为蓝色。你可以将以下代码添加到 `client.lua` 文件中。
    -- 客户端脚本:client.lua
    
    -- 创建一个函数来绘制文本
    function DrawText3D(x, y, z, text)
        local onScreen, _x, _y = World3dToScreen2d(x, y, z)
        local camCoords = GetGameplayCamCoords()
        local distance = Vdist(camCoords.x, camCoords.y, camCoords.z, x, y, z)
        local scale = (1 / distance) * 2
        local font = 4
    
        if onScreen then
            SetTextScale(scale, scale)
            SetTextFont(font)
            SetTextProportional(true)
            SetTextColour(0, 0, 255, 215) -- 蓝色
            SetTextEntry("STRING")
            AddTextComponentString(text)
            DrawText(_x, _y)
        end
    end
    
    -- 主循环
    Citizen.CreateThread(function()
        while true do
            Citizen.Wait(0)
            
            -- 获取所有玩家
            for _, playerId in ipairs(GetActivePlayers()) do
                local playerPed = GetPlayerPed(playerId)
                if playerPed ~= PlayerPedId() then
                    local playerName = GetPlayerName(playerId)
                    local jobTitle = "你的职业" -- 在这里设置职业,可以根据实际情况动态获取
                    
                    -- 在玩家头顶上方绘制职业和名称
                    local pos = GetEntityCoords(playerPed)
                    DrawText3D(pos.x, pos.y, pos.z + 1.2, jobTitle .. " " .. playerName) -- 1.2是高度偏移量
                end
            end
        end
    end)

    ### 说明:
    1. **DrawText3D** 函数用于在三维空间中绘制文本。
    2. 在主循环中,我们检查所有活跃播放器(使用 `GetActivePlayers`)。对于每个玩家,我们获取他们的角色并在其上方绘制其职业和名称。
    3. 文本颜色设置为蓝色(RGB: 0, 0, 255)。
    4. 你可以替换 `jobTitle` 的值,以便根据实际情况动态获取玩家的职业。

    请确保在适当的位置调用这个脚本,例如在 `__resource.lua` 或者 `fxmanifest.lua` 中声明该文件,并确保客户端能够正常运行。
    回复

    使用道具 举报

    文明发言,和谐互动
    文明发言,和谐互动
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|小黑屋|首页 ( 冀ICP备2021005225号-1 ) |网站地图

    GMT+8, 2024-9-20 21:29 , Processed in 0.048288 second(s), 8 queries , Redis On.

    Powered by Discuz! X3.4

    © 2001-2013 ELITE论坛【技术无价-分享快乐】

    快速回复 返回顶部 返回列表