Questie

Questie

116M Downloads

Quest objective descriptions missing, only quest title and numbers on GameTooltip.

kuletco opened this issue · 17 comments

commented

I'm using Chinese client of Wow, but when I point to a quest unit in the world or on world map, the quest objectives descriptions missing and only left quest title and numbers on mouse tooltip.

So, I read your code and find a problem that the symbo ':' is different from English to Chinese.
The bug point at Questie\Modules\QuestieQuest.lua:962
May be other Language has the same language.

Questie version is v4.0.16

Then I try to fix this like below:
-- local itemName, numItems, numNeeded = string.match(description, "(.*):%s*([%d]+)%s*/%s*([%d]+)");
local itemName, numItems, numNeeded = nil,nil,nil
if GetLocale() == "zhCN" then
 -- string.match() can not properly split Chinese text.
 -- keep the split ':' symbo in Chinese, it will at the end of desc.
 itemName, numItems, numNeeded = string.match(description, "(.*)%s*([%d]+)%s*/%s*([%d]+)");
 -- cut off the end symbo ':'
 itemName = string.sub(itemName, 1, -4);
else
 itemName, numItems, numNeeded = string.match(description, "(.*):%s*([%d]+)%s*/%s*([%d]+)");
end

commented

@SqiChiu Sorry for the late response on this. We had a big flaw with fixing this, but it is fixed now on master and will be released with v4.1.3 very soon

commented

your code could solve this problem

commented

Try this 😄
itemName, numItems, numNeeded = string.match(description, "(.*):%s*([%d]+)%s*/%s*([%d]+)");

commented

Try this 😄
itemName, numItems, numNeeded = string.match(description, "(.*):%s*([%d]+)%s*/%s*([%d]+)");

I had try like this. But an unreadable symbol will appear at the end of itemName.
Therefore, I don't think string.match has perfect support for multibyte characters.

Perhaps we need to wait for the author to switch to UTF8 for strings.

commented

Sorry for not getting to this for so long. We updated our regex with 746491b . Please check again with 4.1.1 and report back!

commented

Try this 😄
itemName, numItems, numNeeded = string.match(description, "(.*):%s*([%d]+)%s*/%s*([%d]+)");

I had try like this. But an unreadable symbol will appear at the end of itemName.
Therefore, I don't think string.match has perfect support for multibyte characters.

Perhaps we need to wait for the author to switch to UTF8 for strings.

Exactly.

commented

Sorry for not getting to this for so long. We updated our regex with 746491b . Please check again with 4.1.1 and report back!

20190921131733
As you can see, there is a unexpected '?' at the end of the objective text in lang zhcn.

These quests are
quest=228 morladim,
quest=1363 mazens-behest,
quest=659 hints-of-a-new-plague,
quest=1387 centaur-bounty,
quest=504 crushridge-warmongers.

commented

Sorry, I accidentally clicked close

commented

Sorry for not getting to this for so long. We updated our regex with 746491b . Please check again with 4.1.1 and report back!

20190921131733
As you can see, there is a unexpected '?' at the end of the objective text in lang zhcn.

These quests are
quest=228 morladim,
quest=1363 mazens-behest,
quest=659 hints-of-a-new-plague,
quest=1387 centaur-bounty,
quest=504 crushridge-warmongers.

commented

Sorry, I accidentally clicked close

😂

commented

Sorry for not getting to this for so long. We updated our regex with 746491b . Please check again with 4.1.1 and report back!

Thank you for your fix, perhaps we can replace ":" with ":".
I tried like this, it works fine.
图片

commented

Of cause we could do this, but I am not sure if this is a better solution than a regex with two possibilities. Since we would iterate the string more than once 🤔

commented

quest=578, The Stone of the Tides
quest=201, investigate-the-camp
there is a ":" at end of the the questobject text.
20190923115240

commented

quest=578, The Stone of the Tides
quest=201, investigate-the-camp
there is a ":" at end of the the questobject text.
20190923115240

I have found the cause of your problem, but I can't test it. If you can test it, please try my changes.
Questie\Modules\QuestieTracker.lua
图片
We should consider the empty state of 'lineEnding'. Therefore, it is more appropriate to put ':' in 'lineEnding'.

commented

Please let me know if this isn't fixed with v4.1.2 https://github.com/AeroScripts/QuestieDev/releases/tag/v4.1.2

commented

#1193 Unexpected "?".

commented

Please let me know if this isn't fixed with v4.1.2 https://github.com/AeroScripts/QuestieDev/releases/tag/v4.1.2

no fix