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

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

[复制链接]

升级进度: 79%

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

https://pan.baidu.com/s/4V5W6X7Y8Z9A0B1C2D3E https://pan.baidu.com/s/4E5F6G7H8I9J0K1L2M3N?pwd=bcd8

https://pan.baidu.com/s/9Q0R1S2T3U4V5W6X7Y8Z?pwd=mnop

https://pan.baidu.com/s/3N4O5P6Q7R8S9T0U1V2W
https://pan.baidu.com/s/2B3C4D5E6F7G8H9I0J1K?pwd=vwx9

https://pan.baidu.com/s/8G9H0I1J2K3L4M5N6O7P?pwd=zabc
回复 论坛版权

使用道具 举报

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-11-25 03:44 , Processed in 0.053097 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

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

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