Modcraft - The community dedicated to quality WoW modding!

Wrath of the Lich King Modding => Serverside Modding => Topic started by: Big Bad Bot on June 01, 2017, 05:47:25 pm

Title: [TrinityCore 3.3.5a] Altering languages known for recently created characters
Post by: Big Bad Bot on June 01, 2017, 05:47:25 pm
Hi everyone,

I'm trying to make it so in my server, all races & classes would either know all languages or they all know the same language. I have plenty custom races and I'm having issues with recently created characters having all the language skills...

I think it's related to racials and DBCs but I couldn't figure out how to set it right. In fact, by trying to set it so all races and classes know all languages, newly created characters appear with no languages at all... Which is, of course, not exactly what I was hoping for.

Does anyone know what steps I should take to accomplish what I'm setting out for? I'm running last month's release of the 3.3.5a TrinityCore fork that supports Eluna.
Title: Re: [TrinityCore 3.3.5a] Altering languages known for recently created characters
Post by: staleness89 on June 04, 2017, 11:18:07 am
You'd first find the language in SkillLine.dbc
https://trinitycore.atlassian.net/wiki/display/tc/SkillLine

Then you would want to edit the RaceMasks (column 2) of SkillRaceClassInfo.dbc
https://wowdev.wiki/DB/SkillRaceClassInfo

Then you'd need to go into playercreateinfo_skills in the sql DB and change the racemask there as well.
https://trinitycore.atlassian.net/wiki/display/tc/playercreateinfo_skills
Title: Re: [TrinityCore 3.3.5a] Altering languages known for recently created characters
Post by: Shaorin on June 13, 2017, 11:25:44 am
hey i think its just add it in the DB, under playerinfo_spell or playerinfo_skill depend on what type of core you use.
it can be so you need to add.
like to add:
668 Language Common

either by class and race. 1 and 1 for homan warr same for all. so 1 2 for paladin and so on.

or your core are newer so you can add 0 0 for all race and classes.
or it even might use the new class and race masks. then you need to know the values for it. like 1 is human 8 its night elf. and so on.
if you added new races its works like the like duble of the lower one. so
1 2 4 8 16 32 and so on. so you need to know the ID of that race to put it in. like races 10 11 blood elf dranei.
9 11 warlock druid. and so on i think you will understand.

sorry bad english i get dyslexsia

hope it helped, i think it should help but i dont really know. you can allways turn on:
AllowTwoSide.Interaction.Chat     = 1
AllowTwoSide.Interaction.Channel  = 1

it should me it so all can understand all. not if a night elf speak there lang and undead speak there. thats not working. but i know it work with common and orcish they will be like one. so horde and ally can speak.
the channel one are for so they get one channel so instad of horde get oen and ally get one.
Title: Re: [TrinityCore 3.3.5a] Altering languages known for recently created characters
Post by: Amaroth on June 13, 2017, 12:13:16 pm
"Then you would want to edit the RaceMasks (column 2) of SkillRaceClassInfo.dbc"
- Incorrect, to seme extend. There are records which are actually preventing race/class combinations from ever being able to use certain skills.

"AllowTwoSide.Interaction.Chat     = 1
AllowTwoSide.Interaction.Channel  = 1"
- Will enable Horde and Alliance members to communicate with each other, it will NOT teach them languages OR enable them to use those languages. Thats quite a difference.



Each language is a skill. Skill is learned via a spell - you need to teach that spell to a character for him to know that skill and thus be able to speak that language (you may get away just with giving someone a skill, but I would preffer to be on safe side of things). There is more to this - you need to actually make that skill learnable for that character (his race/class combination).

Assuming you have some more recent version of TC2:


An example of a record which enables all race/class combinations in SkillRaceClassInfo.dbc for skill 666:
ID; Skill; Races; Classes; Flags; ReqLvl; SkillTier; SkillCost;
1000; 666; -1; -1; 128; 0; 21; 0; (21 SkillTier is used by language skills, for some reason)

That should enable skill 666 to be learned by all race/class combinations. You may possibly have to use flags other than -1 (flags covering all races/classes), I am not sure wheter -1 value works there or not, but it should.


PS: Don't ask me why do some records have contradictory flag 160 - not available and learnable. I don't know. Blizzard logic. But use 128.
Title: Re: [TrinityCore 3.3.5a] Altering languages known for recently created characters
Post by: staleness89 on June 13, 2017, 11:41:22 pm
"Then you would want to edit the RaceMasks (column 2) of SkillRaceClassInfo.dbc"
- Incorrect, to seme extend. There are records which are actually preventing race/class combinations from ever being able to use certain skills.

Incorrect or not thoroughly explained enough? That really is all he should have to know to get it done.
Title: Re: [TrinityCore 3.3.5a] Altering languages known for recently created characters
Post by: Amaroth on June 14, 2017, 10:10:48 am
Definitely not thoroughly explained enough, only possibly incorrect, it depends on what you know about that DBC :P. My experience is that making just a very short and even potentially confusing note usually produces just more questions, which could be answered in my first answer already, had I taken some more time to get more into detail. Sadly, you usually don't actually save time by doing this :D.
Title: Re: [TrinityCore 3.3.5a] Altering languages known for recently created characters
Post by: staleness89 on June 14, 2017, 06:45:49 pm
Definitely not thoroughly explained enough, only possibly incorrect, it depends on what you know about that DBC :P. My experience is that making just a very short and even potentially confusing note usually produces just more questions, which could be answered in my first answer already, had I taken some more time to get more into detail. Sadly, you usually don't actually save time by doing this :D.

Having added multiple custom languages and created scripts to learn both Orcish and Common languages for both factions, 100% it's not incorrect. It's definitely not difficult or complicated, certainly doesn't deserve a 'wall of text'. I'm not sure how my note could be confusing unless you aren't fluent in english, in which case I can't help that. Change a race flag here, change a race flag there. If you want to learn the language by way of vendor or spell, rather than on character creation, THEN you may have trouble with the client showing it. I made a solution to this myself with a custom spell entry.
Title: Re: [TrinityCore 3.3.5a] Altering languages known for recently created characters
Post by: staleness89 on June 14, 2017, 06:48:26 pm
"AllowTwoSide.Interaction.Chat     = 1
AllowTwoSide.Interaction.Channel  = 1"
- Will enable Horde and Alliance members to communicate with each other, it will NOT teach them languages OR enable them to use those languages. Thats quite a difference.

how was this relevant? He wants the characters to actually learn and speak the languages. Yes, it is quite a difference.  ???
Title: Re: [TrinityCore 3.3.5a] Altering languages known for recently created characters
Post by: staleness89 on June 14, 2017, 06:51:57 pm
"Then you would want to edit the RaceMasks (column 2) of SkillRaceClassInfo.dbc"
- Incorrect, to seme extend. There are records which are actually preventing race/class combinations from ever being able to use certain skills.

The record you are talking about it SkillRaceClassInfo.dbc There might be another dbc I am forgetting, but it would literally be the same thing. Find the Skill ID, change the race mask
Title: Re: [TrinityCore 3.3.5a] Altering languages known for recently created characters
Post by: Amaroth on June 14, 2017, 08:52:43 pm
1. Your note about SkillRaceClassInfo.dbc was confusing, because if he had just opened that DBC, went to the first record about skill and changed mask, he could have very well made that skill actually unavailable for all race/class combinations. If this is something you don't understand, you probably have a little bit too high expectations about others :D (or, you don't know that DBC very well - that was clear possibility, taking only your first post into consideration). People are getting even the most obvious stuff wrong all the time, everywhere, it just happens, and I preffer avoiding this happening. I haven't said that there is any other DBC, or that you don't understand what is that DBC for (I've just said that that is the possibility). I said that information you have provided is misleading - and thats pretty much all.

2. I have quoted TwoSide.Interaction settings because Shaorin has suggested to set these to 1. I have just said that thats something completely unrelated to Big Bad Bot's problem. I have only adressed message which was posted before, and said actually the very same thing you did - that what Shaorin has posted is not relevant to matter at hand. Yet again, to prevent confusion. Nothing more, nothing less.


Just btw, its funny that you are speaking about learning english, while you are clearly not very capable of actually reading stuff others write carefuly - sometimes its quite worthless to know language, if you are not really interrested in what have others to say. Or I haven't made myself clear enough.

The last note - there should be Modify button on each of your posts, so you don't have to triple-post.
Title: Re: [TrinityCore 3.3.5a] Altering languages known for recently created characters
Post by: staleness89 on June 15, 2017, 12:11:02 am
1. It wasn't confusing. I didn't explain bit masks. That's all.

2. My bad, I guess he didn't explain thoroughly enough for you either.

I thought links to documentation was enough. I guess you like wasting as much of your time as possible.
Title: Re: [TrinityCore 3.3.5a] Altering languages known for recently created characters
Post by: Amaroth on June 15, 2017, 01:28:48 pm
You are perfectly correct - I am apparently wasting my time here.