Go Back   EQEmulator Home > EQEmulator Forums > Quests > Quests::Q&A

Quests::Q&A This is the quest support section

Reply
 
Thread Tools Display Modes
  #16  
Old 05-10-2009, 02:10 PM
realityincarnate
Developer
 
Join Date: Dec 2007
Posts: 122
Default

I'm glad you included the full output like that. I don't know if I would have ever figured out what was going on without seeing the "Current Language is..." text.

So here's what I've found so far: if you change the language by right clicking on the main chat box and selecting a language, everything works fine. But if you use the /language command (which I forgot existed), it doesn't seem to actually change the language (even though it does update it in the select language box).

I'll try to figure out what's going on with /language; hopefully it'll be something simple and I'll be able to get a fix out tonight or tomorrow.
Reply With Quote
  #17  
Old 05-10-2009, 02:25 PM
Shendare
Dragon
 
Join Date: Apr 2009
Location: California
Posts: 814
Default

So I've been tripped up by an obscure problem with the /language command! Good catch!

I did some testing and it does appear that the /language command is not being received or processed on the server.

The client is acting as though it's working (it lists the changed value with /lang sans argument and even shows the correct language highlighted in the right-click menu), but the server never sees the change.

The server keeps acting as though you're speaking the old language, until you zone, at which time the server gets updated properly, and the NPC recognizes the new language.
Reply With Quote
  #18  
Old 05-10-2009, 09:58 PM
realityincarnate
Developer
 
Join Date: Dec 2007
Posts: 122
Default

I spent a little bit of time looking at the /language issue and, to be perfectly honest, I'm pretty confused.

The language number and skill is contained in the packet of each message sent, so that's where all the code currently grabs the language id from. For whatever reason, when you use /language it doesn't change the data that the client sends, but using the right click method does.

My first thought was that there was a "default" language value stored someplace on the server, and that /language was supposed to change that rather than updating the value sent in each packet. But the client doesn't seem to send anything different to the server when you use the command, so I don't know where it would get the information. The fact that it changes after zoning just makes it more confusing.

Anyway, with the weekend ending, I probably won't get to look at this again for a little bit, but I'd be interested to know if anyone has any idea what it's doing.
Reply With Quote
  #19  
Old 05-10-2009, 10:16 PM
Shendare
Dragon
 
Join Date: Apr 2009
Location: California
Posts: 814
Default

Ahh, if language changes are handled client-side, then it must be a client issue. Perhaps I'll just have to say good-bye to old /lang and start using the right-click menu. Thanks for looking into it!
Reply With Quote
  #20  
Old 05-10-2009, 10:28 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

If language doesn't update until you zone, then it is probably because it is being added to the Player Profile, but not being handled properly by the server code before zoning. Using the /language command probably sends a packet that we aren't handling properly yet. Sounds like it should be changing a setting on the server end, but it isn't. This is just a guess, but the profile thing is most likely accurate.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #21  
Old 05-11-2009, 12:45 AM
realityincarnate
Developer
 
Join Date: Dec 2007
Posts: 122
Default

The profile was my thought as well, but I couldn't track down how the data should be getting to the server in my (admittedly far from thorough) first attempts. The only packets I see being sent are ClientUpdate and FloatListThing. It doesn't seem to change any of the unknown values in ClientUpdate, and the floatlist is just a mess... I really hope it doesn't come to sifting through that.

Of course, I'm just using a zone modified to list and dump all incoming packets as my way of checking, so I could be missing something.

And actually, I'm not seeing the /language start working after zoning (using Titanium), now that I paid attention to it. Mine still sticks with whatever value was set by the right-click menu.
Reply With Quote
  #22  
Old 05-11-2009, 01:32 AM
Shendare
Dragon
 
Join Date: Apr 2009
Location: California
Posts: 814
Default

Oops, I must have goofed when I typed 'zoning' before. It updates after camping and logging back in, but not after zoning. Sorry!

As a reminder, another thing that may complicate tracking down the problem or detecting the packets is that the /lang command's language list doesn't number the languages by their langid, it renumbers the languages to keep them consecutive starting with 1 for the first language available to you, 2 for the second, 3 for the third, etc. It was meant to simplify things before the right-click menu was available.
Reply With Quote
  #23  
Old 05-11-2009, 12:43 PM
realityincarnate
Developer
 
Join Date: Dec 2007
Posts: 122
Default

I found a spot in the character .ini files where it stores the language setting for each window, and this seems to correspond to the /lang command values. It also explains why they switch after camping but not zoning.

Does anybody have a Live account that could check and see if /language actually works properly there? I'd hate to spend any more time just to eventually find out that it's a deprecated command that SOE left in. (I do remember it being a huge help back in the days when you otherwise had to just keep clicking until the language you wanted showed up)
Reply With Quote
  #24  
Old 05-15-2009, 06:56 AM
BWStripes
Sarnak
 
Join Date: Jun 2007
Location: Finland
Posts: 65
Default

Just wanted to post that I noticed an NPC on live the other day speaking an unknown (to Drakkin) language. Turned out it was Dwarven.
Reply With Quote
  #25  
Old 05-16-2009, 09:35 AM
BWStripes
Sarnak
 
Join Date: Jun 2007
Location: Finland
Posts: 65
Default

Oh, /language works - tested today
Reply With Quote
  #26  
Old 05-16-2009, 10:13 PM
realityincarnate
Developer
 
Join Date: Dec 2007
Posts: 122
Default

Ok, I feel really stupid that I didn't figure this out right away, but I think know the deal with /language now. Basically, it changes the language of anything coming out of the chat box but doesn't change the language of the hail command. I got these results a few minutes ago:
Code:
Current language is Erudian. (2)
You say, 'Hail, Ghul Rustem'
Ghul Rustem says, in Elvish, 'Hail, Candor!  You're speaking Common Tongue (0)!'
You say, 'This time I type hail'
Ghul Rustem says, in Elvish, 'Hail, Candor!  You're speaking Erudian (2)!'
There is a byte in the packet that tells if the message is from a hail command or not, but I can't think of anything particularly useful to do with that off the top of my head.

Oh, and thanks for checking, BWStripes.
Reply With Quote
  #27  
Old 05-17-2009, 12:59 AM
Shendare
Dragon
 
Join Date: Apr 2009
Location: California
Posts: 814
Default

Huh, so either the language code doesn't get transmitted properly with a hail, or things are somehow organized slightly differently for a hail.

Is it a completely different OpCode and struct for a hail as opposed to a regular /say message?
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 06:47 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3