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
-
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.
-
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
-
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.
-
"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:
- (You can possibly skip this point and it will work, but maybe you will have to make this step in order to really make everything work.): At some point TC2 has removed (because... reasons...) playercreateinfo_spell table from World DB. Go to worldserver.conf and set PlayerStart.AllSpells = 1. This will make world.playercreateinfo_spell_custom table be used. Access that table and set spells which teach languages there as known for all race/class combinations. Also, you'll probably have to delete spells which are already there and you don't want players to obtain. Note that you can possibly do this also via SkillLineAbilitty.dbc, but... lets not be too fancy, shall we?
- Go to world.playercreateinfo_skills and enter language skills (don't confuse spell ID and skill ID!!!) as obtained by all races and classes.
- Go to SkillRaceClassInfo.dbc. Find all records which are for language skills you want to use and delete those records.
- Create new records in SkillRaceClassInfo.dbc which make all those skills learnable for all race/class combinations.
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.
-
"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.
-
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.
-
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.
-
"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. ???
-
"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
-
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.
-
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.
-
You are perfectly correct - I am apparently wasting my time here.