Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::General Support

Support::General Support Post all topics here having to do with errors while trying to connect to an EQEMu server but not about the setup/running of the Server itself.

Reply
 
Thread Tools Display Modes
  #1  
Old 06-17-2009, 11:50 AM
pfyon's Avatar
pfyon
Discordant
 
Join Date: Mar 2009
Location: Ottawa
Posts: 495
Default Player Language Skill Gains

I'm in the process of modifying all the quests/chat interaction with npcs so the npcs speak their native language, and won't respond unless the player uses that language as well. This is an attempt to make languages seem more meaningful.

Where is the code stored for language skill gains? I'm wondering if it's possible to give players the abillity to skillup in languages by listening to npcs speak. On live, you could gain skill points by practicing speaking/listening to other people speak the language.
Reply With Quote
  #2  
Old 06-17-2009, 12:17 PM
Shendare
Dragon
 
Join Date: Apr 2009
Location: California
Posts: 814
Default

I don't believe the code functionality currently exists for automatic language skill-ups.

My plan is to implement some awesome quest-based language learning in my custom server.

First the player has to gain enough faction with the race through race-specific story-based questing that gets them familiar with the race's role in the world, then they can learn the language through race-specific questing that will help make the player more familiar with the history and motivations of the race.

That's my plan, anyway.

- Shendare
Reply With Quote
  #3  
Old 06-17-2009, 12:41 PM
realityincarnate
Developer
 
Join Date: Dec 2007
Posts: 122
Default

The language skill up code is handled in zone/client.cpp, under ChannelMessageSend(). When I added it, I only put in functionality for group messages (channel #2), but you could modify that to allow any other channel type you want by just adding it to the if statement.
Reply With Quote
  #4  
Old 06-17-2009, 12:47 PM
Shendare
Dragon
 
Join Date: Apr 2009
Location: California
Posts: 814
Default

Oh! When was that added in?

Or am I misremembering it not being an available feature?

- Shendare
Reply With Quote
  #5  
Old 06-17-2009, 01:08 PM
pfyon's Avatar
pfyon
Discordant
 
Join Date: Mar 2009
Location: Ottawa
Posts: 495
Default

Excellent, thanks, will go look into it.
Reply With Quote
  #6  
Old 06-17-2009, 02:48 PM
realityincarnate
Developer
 
Join Date: Dec 2007
Posts: 122
Default

I don't remember exactly when, but it was added early-ish this year. It was part of the change that added language support for tells and group messages (and drunk talk).
Reply With Quote
  #7  
Old 06-17-2009, 02:55 PM
pfyon's Avatar
pfyon
Discordant
 
Join Date: Mar 2009
Location: Ottawa
Posts: 495
Default

Any idea where I can find the corresponding IDs for channels? According to that function, channel id 2 is group (I assume), but I don't know what the other ones are.
Reply With Quote
  #8  
Old 06-17-2009, 02:55 PM
Andrew80k
Dragon
 
Join Date: Feb 2007
Posts: 659
Default

Quote:
Originally Posted by realityincarnate View Post
I don't remember exactly when, but it was added early-ish this year. It was part of the change that added language support for tells and group messages (and drunk talk).
Around rev 500, early May.

From the changelog.txt:
Quote:
==05/09/2009==
realityincarnate: Modified quest::say to allow npcs to speak in other languages, added $langid quest variable
realityincarnate: Made low language skill/drunkenness a bit less understandable
Reply With Quote
  #9  
Old 06-17-2009, 04:51 PM
realityincarnate
Developer
 
Join Date: Dec 2007
Posts: 122
Default

Quote:
Originally Posted by pfyon View Post
Any idea where I can find the corresponding IDs for channels? According to that function, channel id 2 is group (I assume), but I don't know what the other ones are.
The easiest place to find them is probably ChannelMessageReceived(), still in client.cpp. I don't have convenient source access at the moment, but I think they're listed in a switch statement there.
Reply With Quote
  #10  
Old 06-17-2009, 05:05 PM
Andrew80k
Dragon
 
Join Date: Feb 2007
Posts: 659
Default

Quote:
Originally Posted by realityincarnate View Post
The easiest place to find them is probably ChannelMessageReceived(), still in client.cpp. I don't have convenient source access at the moment, but I think they're listed in a switch statement there.
Yep.

They are:

Code:
0 -- Guild
2 -- Group
3 -- shout
4 -- Auction
5 -- OOC
6 -- Broadcast
7 -- Tell
8 -- say
11 -- GMSay
15 -- Raid
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 11:05 AM.


 

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 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3