example
example

教程 Fivem翻译中文后文字变成乱码的解决方案

Yann

站长
管理成员
GTAOS管理组
认证卖家
认证用户
本 月 名 人 榜 最 佳
通常我们创建文字的函数一般会长这样的
代码:
local function DrawTxt(x, y, width, height, scale, text, r, g, b, a, _)
    SetTextFont(4)
    SetTextProportional(0)
    SetTextScale(scale, scale)
    SetTextColour(r, g, b, a)
    SetTextDropShadow(0, 0, 0, 0,255)
    SetTextEdge(2, 0, 0, 0, 255)
    SetTextDropShadow()
    SetTextOutline()
    SetTextEntry("STRING")
    AddTextComponentString(text)
    DrawText(x - width/2, y - height/2 + 0.005)
end
其中导致乱码的罪魁祸首就是
代码:
SetTextFont(4)
让中文正常显示的修改方法就是把其中的4改成0
代码:
SetTextFont(0)
这样乱码问题就解决了。如果解决了你的问题请点赞评论支持一下,谢谢
 

edgezp

用户
认证用户
通常我们创建文字的函数一般会长这样的
代码:
local function DrawTxt(x, y, width, height, scale, text, r, g, b, a, _)
    SetTextFont(4)
    SetTextProportional(0)
    SetTextScale(scale, scale)
    SetTextColour(r, g, b, a)
    SetTextDropShadow(0, 0, 0, 0,255)
    SetTextEdge(2, 0, 0, 0, 255)
    SetTextDropShadow()
    SetTextOutline()
    SetTextEntry("STRING")
    AddTextComponentString(text)
    DrawText(x - width/2, y - height/2 + 0.005)
end
其中导致乱码的罪魁祸首就是
代码:
SetTextFont(4)
让中文正常显示的修改方法就是把其中的4改成0
代码:
SetTextFont(0)
这样乱码问题就解决了。如果解决了你的问题请点赞评论支持一下,谢谢
要是源码里面没有SetTextFont 该怎么办??
 

JaysonLiu

洛圣都地头蛇
管理成员
FiveM版主
论坛元老
高级用户
认证用户
通常我们创建文字的函数一般会长这样的
代码:
local function DrawTxt(x, y, width, height, scale, text, r, g, b, a, _)
    SetTextFont(4)
    SetTextProportional(0)
    SetTextScale(scale, scale)
    SetTextColour(r, g, b, a)
    SetTextDropShadow(0, 0, 0, 0,255)
    SetTextEdge(2, 0, 0, 0, 255)
    SetTextDropShadow()
    SetTextOutline()
    SetTextEntry("STRING")
    AddTextComponentString(text)
    DrawText(x - width/2, y - height/2 + 0.005)
end
其中导致乱码的罪魁祸首就是
代码:
SetTextFont(4)
让中文正常显示的修改方法就是把其中的4改成0
代码:
SetTextFont(0)
这样乱码问题就解决了。如果解决了你的问题请点赞评论支持一下,谢谢
qb core 这个文件在哪里?
 

wbjaicq

用户
认证用户
已经发布B站视频,【[Fivem]如何解决脚本汉化后乱码的情况】

通常我们创建文字的函数一般会长这样的
代码:
local function DrawTxt(x, y, width, height, scale, text, r, g, b, a, _)
    SetTextFont(4)
    SetTextProportional(0)
    SetTextScale(scale, scale)
    SetTextColour(r, g, b, a)
    SetTextDropShadow(0, 0, 0, 0,255)
    SetTextEdge(2, 0, 0, 0, 255)
    SetTextDropShadow()
    SetTextOutline()
    SetTextEntry("STRING")
    AddTextComponentString(text)
    DrawText(x - width/2, y - height/2 + 0.005)
end
其中导致乱码的罪魁祸首就是
代码:
SetTextFont(4)
让中文正常显示的修改方法就是把其中的4改成0
代码:
SetTextFont(0)
这样乱码问题就解决了。如果解决了你的问题请点赞评论支持一下,谢谢
为什么我把4改成0还是不行
 

wbjaicq

用户
认证用户
local function Draw3DText(coords, str)
local onScreen, worldX, worldY = World3dToScreen2d(coords.x, coords.y, coords.z)
local camCoords = GetGameplayCamCoord()
local scale = 200 / (GetGameplayCamFov() * #(camCoords - coords))
if onScreen then
SetTextScale(1.0, 0.5 * scale)
SetTextFont(0)
SetTextColour(255, 255, 255, 255)
SetTextEdge(2, 0, 0, 0, 150)
SetTextProportional(1)
SetTextOutline()
SetTextCentre(1)
BeginTextCommandDisplayText("STRING")
AddTextComponentSubstringPlayerName(str)
EndTextCommandDisplayText(worldX, worldY)
end
end



我的是这样的改成这样还是乱码
 

Yann

站长
管理成员
GTAOS管理组
认证卖家
认证用户
本 月 名 人 榜 最 佳
local function Draw3DText(coords, str)
local onScreen, worldX, worldY = World3dToScreen2d(coords.x, coords.y, coords.z)
local camCoords = GetGameplayCamCoord()
local scale = 200 / (GetGameplayCamFov() * #(camCoords - coords))
if onScreen then
SetTextScale(1.0, 0.5 * scale)
SetTextFont(0)
SetTextColour(255, 255, 255, 255)
SetTextEdge(2, 0, 0, 0, 150)
SetTextProportional(1)
SetTextOutline()
SetTextCentre(1)
BeginTextCommandDisplayText("STRING")
AddTextComponentSubstringPlayerName(str)
EndTextCommandDisplayText(worldX, worldY)
end
end



我的是这样的改成这样还是乱码
重启服务器了吗?找对地方了嘛?是不是所有有SetTextFont的地方都改成了0,因为所有有类似文字显示的脚本中可能都有这样一个函数。
 

wbjaicq

用户
认证用户
重启服务器了吗?找对地方了嘛?是不是所有有SetTextFont的地方都改成了0,因为所有有类似文字显示的脚本中可能都有这样一个函数。
谢谢,一语惊人,秒懂
 

JinHui

用户
高级用户
认证用户
ExecuteCommand命令里边不要用中文
我找到问题所在了,原因是因为我做枪包的时候直接使用的中文,而非在做枪包的时候使用英文,完成枪包制作后再改中文导致的
 
顶部