A fix of 1-10PioneersQuests/l3t_pioneer.xml

Runes of Magic/Radiant Arcana (http://www.runesofmagic.com)
Post Reply
Message
Author
wps
Posts: 74
Joined: Tue Feb 05, 2013 11:11 am

A fix of 1-10PioneersQuests/l3t_pioneer.xml

#1 Post by wps » Thu Feb 28, 2013 12:55 am

I started to use this script this morning, and I found a error in l3t_pioneer.xml.

There are 2 quests with the same name "Embedding Runes", somehow the script on svn is the other one.
The quest can't be taken and the quest chain is broken.

It should be 420668, but 424800.

I can't check in the file to svn, so I post it here just in case anyone got this problem too.

User avatar
lisa
Posts: 8332
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: A fix of 1-10PioneersQuests/l3t_pioneer.xml

#2 Post by lisa » Thu Feb 28, 2013 2:12 am

if the names are the same then the number shouldn't matter as it uses the GetIdName by using the numbers.

My database has this

Code: Select all

{Name = "Embedding Runes",ID = 420668},
{Name = "Embedding Runes",ID = 424800},
So either ID should work as the names are exactly the same.

Unless you are in a different language and the names are different for the Id's I can't see how it wouldn't work.
Remember no matter you do in life to always have a little fun while you are at it ;)

wiki here http://www.solarstrike.net/wiki/index.php?title=Manual

wps
Posts: 74
Joined: Tue Feb 05, 2013 11:11 am

Re: A fix of 1-10PioneersQuests/l3t_pioneer.xml

#3 Post by wps » Thu Feb 28, 2013 3:25 am

lisa wrote:if the names are the same then the number shouldn't matter as it uses the GetIdName by using the numbers.

My database has this

Code: Select all

{Name = "Embedding Runes",ID = 420668},
{Name = "Embedding Runes",ID = 424800},
So either ID should work as the names are exactly the same.

Unless you are in a different language and the names are different for the Id's I can't see how it wouldn't work.
You're right.
No wonder nobody encountered this before.
The name of these two quests are the same in English, but different in mine.
420668 is the one in Howling Mountains, and other one is in Yrvandis Hollows.

Btw, is there any method to configure micromicro to display unicode characters?
I can't recognize those output strings, because they're not displayed in the correct charset.

Thanks.

User avatar
lisa
Posts: 8332
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: A fix of 1-10PioneersQuests/l3t_pioneer.xml

#4 Post by lisa » Thu Feb 28, 2013 5:08 am

I was hoping rock would answer this 1 since I don't really look into the code for other languages.

I thought it was all taken care of by this

Code: Select all

	-- language conversations
	if( bot.ClientLanguage == "RU" ) then
		message = oem2utf8_russian(message);
	else
		message = asciiToUtf8_umlauts(message);	-- for ingame umlauts
	end

Code: Select all

function utf8ToAscii_umlauts(_str)

	-- convert one UTF8 character to his ASCII code
	-- key is the combined UTF8 code
	local function replaceUtf8( _str, _key )
		local tmp = database.utf8_ascii[_key];
		_str = string.gsub(_str, string.char(tmp.utf8_1, tmp.utf8_2), string.char(tmp.ascii) );
		return _str
	end

	_str = replaceUtf8(_str, 195164);		-- ä
	_str = replaceUtf8(_str, 195132);		-- Ä
	_str = replaceUtf8(_str, 195182);		-- ö
	_str = replaceUtf8(_str, 195150);		-- Ö
	_str = replaceUtf8(_str, 195188);		-- ü
	_str = replaceUtf8(_str, 195156);		-- Ü
	_str = replaceUtf8(_str, 195159);		-- ß
	return _str;
end


-- we only replace umlaute, hence only that are important for
-- printing ingame messages
function asciiToUtf8_umlauts(_str)

	-- convert one ASCII code to his UTF8 character
	-- key is the combined UTF8 code
	local function replaceAscii( _str, _key )
		local tmp = database.utf8_ascii[_key];
		_str = string.gsub(_str, string.char(tmp.ascii), string.char(tmp.utf8_1, tmp.utf8_2) );
		return _str
	end

	_str = replaceAscii(_str, 195164);		-- ä
	_str = replaceAscii(_str, 195132);		-- Ä
	_str = replaceAscii(_str, 195182);		-- ö
	_str = replaceAscii(_str, 195150);		-- Ö
	_str = replaceAscii(_str, 195188);		-- ü
	_str = replaceAscii(_str, 195156);		-- Ü
	_str = replaceAscii(_str, 195159);		-- ß
	return _str;
end
Remember no matter you do in life to always have a little fun while you are at it ;)

wiki here http://www.solarstrike.net/wiki/index.php?title=Manual

User avatar
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Re: A fix of 1-10PioneersQuests/l3t_pioneer.xml

#5 Post by rock5 » Thu Feb 28, 2013 5:23 am

I have no idea about languages either. Administrator is the expert I think.

BTW I changed the quest id so next time I commit it will be included. For now you can change it yourself.

Edit: Had 1 idea. Maybe the 3 font sets MM uses are different (although I doubt it). Maybe try a different font. Right click the MM titles bar and select 'default' or 'properties'.
  • Please consider making a small donation to me to support my continued contributions to the bot and this forum. Thank you. Donate
  • I check all posts before reading PMs. So if you want a fast reply, don't PM me but post a topic instead. PM me for private or personal topics only.
  • How to: copy and paste in micromacro
    ________________________
    Quote:
    • “They say hard work never hurt anybody, but I figure, why take the chance.”
          • Ronald Reagan

Jandrana
Posts: 187
Joined: Thu Jul 05, 2012 5:53 am

Re: A fix of 1-10PioneersQuests/l3t_pioneer.xml

#6 Post by Jandrana » Thu Feb 28, 2013 9:07 am

Ascii char set should be regarded obsolete when using Windows, because the glyphs for characters with a binary value > 127 are not defined. In good old DOS times, the different code pages were used to print characters with diacritical marks.

Windows uses CP 1252 (mostly referred to as ANSI encoding), which covers most of the latin characters using diacritical marks and nearly all Windows fonts have a complete set of glyphs for this code page. But most modern code in Windows uses UTF16 (wide char api) which lets you cover the whole Unicode character set.

RoM uses UTF8 to encode the strings. So it would be a good idea to translate all strings taken from RoM using MultiByteToWideChar into UTF16. Either keep all strings as UTF16 or translate them back to ANSI using WideCharToMultiByte.

Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot] and 8 guests