Hello,
I have searched far and wide to find someone with the same issue but either I really suck at searching or it's unique to me.
My Quest Log in the OTClient on the first window displays garbled text instead of the Quest Name.
Example:
However if I click on one of the quests it will display the mission names correctly.
Example 2:
I've tried using other versions of the OTClient as well as pre-existing already compiled clients and they all do the same thing, I've tried other versions of the questlog module and they also all do the same thing, the one I'm using is pretty generic but I'll attach it anyway.
The line
Appears to be where the issue is happening, if I change it to
It displays the Quest ID without issue.
I have no idea what could be causing this or even where to start.
Any help would be greatly appreciated.
I have searched far and wide to find someone with the same issue but either I really suck at searching or it's unique to me.
My Quest Log in the OTClient on the first window displays garbled text instead of the Quest Name.
Example:
However if I click on one of the quests it will display the mission names correctly.
Example 2:
I've tried using other versions of the OTClient as well as pre-existing already compiled clients and they all do the same thing, I've tried other versions of the questlog module and they also all do the same thing, the one I'm using is pretty generic but I'll attach it anyway.
Lua:
questLogButton = nil
questLineWindow = nil
function init()
g_ui.importStyle('questlogwindow')
g_ui.importStyle('questlinewindow')
questLogButton = modules.client_topmenu.addLeftGameButton('questLogButton', tr('Quest Log'), '/images/topbuttons/questlog', function() g_game.requestQuestLog() end)
connect(g_game, { onQuestLog = onGameQuestLog,
onQuestLine = onGameQuestLine,
onGameEnd = destroyWindows})
end
function terminate()
disconnect(g_game, { onQuestLog = onGameQuestLog,
onQuestLine = onGameQuestLine,
onGameEnd = destroyWindows})
destroyWindows()
questLogButton:destroy()
end
function destroyWindows()
if questLogWindow then
questLogWindow:destroy()
end
if questLineWindow then
questLineWindow:destroy()
end
end
function onGameQuestLog(quests)
destroyWindows()
questLogWindow = g_ui.createWidget('QuestLogWindow', rootWidget)
local questList = questLogWindow:getChildById('questList')
for i,questEntry in pairs(quests) do
local id, name, completed = unpack(questEntry)
local questLabel = g_ui.createWidget('QuestLabel', questList)
questLabel:setOn(completed)
questLabel:setText(name)
questLabel.onDoubleClick = function()
questLogWindow:hide()
g_game.requestQuestLine(id)
end
end
questLogWindow.onDestroy = function()
questLogWindow = nil
end
questList:focusChild(questList:getFirstChild())
end
function onGameQuestLine(questId, questMissions)
if questLogWindow then questLogWindow:hide() end
if questLineWindow then questLineWindow:destroy() end
questLineWindow = g_ui.createWidget('QuestLineWindow', rootWidget)
local missionList = questLineWindow:getChildById('missionList')
local missionDescription = questLineWindow:getChildById('missionDescription')
connect(missionList, { onChildFocusChange = function(self, focusedChild)
if focusedChild == nil then return end
missionDescription:setText(focusedChild.description)
end })
for i,questMission in pairs(questMissions) do
local name, description = unpack(questMission)
local missionLabel = g_ui.createWidget('MissionLabel')
missionLabel:setText(name)
missionLabel.description = description
missionList:addChild(missionLabel)
end
questLineWindow.onDestroy = function()
if questLogWindow then questLogWindow:show() end
questLineWindow = nil
end
missionList:focusChild(missionList:getFirstChild())
end
The line
Code:
questLabel:setText(name)
Appears to be where the issue is happening, if I change it to
Code:
questLabel:setText(id)
It displays the Quest ID without issue.
I have no idea what could be causing this or even where to start.
Any help would be greatly appreciated.