Forum > Serverside Modding

[TrinityCore 3.3.5a] Altering languages known for recently created characters

(1/3) > >>

Big Bad Bot:
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.

staleness89:
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

Shaorin:
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.

Amaroth:
"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.

staleness89:

--- Quote from: 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.

--- End quote ---

Incorrect or not thoroughly explained enough? That really is all he should have to know to get it done.

Navigation

[0] Message Index

[#] Next page

Go to full version