Modcraft - The community dedicated to quality WoW modding!

Wrath of the Lich King Modding => Miscellaneous => Tutorials => Topic started by: Khira on July 28, 2010, 08:26:00 pm

Title: [TUTORIAL] Add a new race
Post by: Khira on July 28, 2010, 08:26:00 pm
So, I'll explain how to add a race. Warning, we will not cover the preparation of the model but the introduction of race IG.

For this we take as support races already made by Blizzard but inactive. We will see how to add the race of Goblins and Fel Orcs.


[/li]
[li]Reminder


[/li]
[li]Information
[official] with the highest number.[/list]

[/li]
[li]Information
[/li][/list]



Summary

[/size]
* Parts to do first.




Files to edit


[/size]
Title: Re: Add a new race
Post by: Khira on July 29, 2010, 05:32:14 pm
Changing the screen character creation

In this step, we will see only how change the display of character creation. At the end, the icons will be available with descriptions, etc ....

Open ChrRaces.dbc and modify the lines in connection with race Goblin and Fel Orcs.
Find :
[spoiler:154yd541]
Code: [Select]
9,1,1,0x0,6894,6895,"Go",7,7,15007,0x448,"Goblin",0,0x2,,,"Gobelin",,,,,,,,,,,,,,0xFF01FE,,,"Gobeline",,,,,,,,,,,,,,0xFF01CC,,,"Gobelin",,,,,,,,,,,,,,0xFF01CC,"NORMAL","NONE","NORMAL",0,
12,5,1,0x0,16981,16980,"Fo",7,7,15007,0x448,"FelOrc",0,0x2,,,"Gangr'orc",,,,,,,,,,,,,,0xFF01FE,,,"Gangr'orque",,,,,,,,,,,,,,0xFF01CC,,,"Gangr'orc",,,,,,,,,,,,,,0xFF01CC,"NORMAL","NORMAL","NORMAL",0,
[/spoiler:154yd541]

2nd column, it must change by 12 for the race is playable.
4th column defines the faction of the race, see Faction.dbc
8th column, 1 for horde and 7 for alliance.

For exemple :
[spoiler:154yd541]
Code: [Select]
9,12,1,4140,6894,6895,"Go",1,7,15007,0x448,"Goblin",0,0x2,,,"Gobelin",,,,,,,,,,,,,,0xFF01FE,,,"Gobeline",,,,,,,,,,,,,,0xFF01CC,,,"Gobelin",,,,,,,,,,,,,,0xFF01CC,"NORMAL","NONE","NORMAL",0,
12,12,1,4141,16981,16980,"Fo",7,7,15007,0x448,"FelOrc",0,0x2,,,"Gangr'orc",,,,,,,,,,,,,,0xFF01FE,,,"Gangr'orque",,,,,,,,,,,,,,0xFF01CC,,,"Gangr'orc",,,,,,,,,,,,,,0xFF01CC,"NORMAL","NORMAL","NORMAL",0,
[/spoiler:154yd541]


Then open CharBaseInfo.dbc, this file determines the pairs race / class.
We will for now keep it simple and add two lines to the file:

Code: [Select]
9,1,
12,1,


9 and 12 are the IDs of both races and 1 the ID of the warrior. Only warriors can be created for the moment, you can add other combinations if you want.

Then to edit the following files without problems when starting WoW.exe, we must apply this tutorial. It must be a IDA to remove the check file integrity Interface of World of Warcraft :
http://yias.de/forum/f62/lua-xml-check-der-wow-exe-entfernen-808/

Once done, open the following files :
InterfaceGlueXMLGlueStrings.lua (Data/frFR/patch-frFR-3.MPQ)
InterfaceGlueXMLCharacterCreate.lua (Data/frFR/patch-frFR-2.MPQ)
InterfaceGlueXMLCharacterCreate.xml (Data/frFR/patch-frFR-2.MPQ)
I said the filepath where I found them but we must always take the most recent.


In GlueStrings.lua :
Find :
Code: [Select]
RACE_CHANGE_IN_PROGRESS = "Mise à jour de la race...";
Add after :
Code: [Select]
RACE_INFO_GOBLIN = "Informations sur les Gobelins.";
RACE_INFO_GOBLIN_FEMALE = "Informations sur les Gobelines.";
RACE_INFO_FELORC = "Informations sur les Gangr'orcs.";
RACE_INFO_FELORC_FEMALE = "Informations sur les Gangr'orques.";


Find :
Code: [Select]
ABILITY_INFO_BLOODELF1 = "- Compétence Enchantement améliorée.";
Add before :
Code: [Select]
ABILITY_INFO_GOBLIN1 = "- Compétence Gobelins, ligne 1";
ABILITY_INFO_GOBLIN2 = "- Compétence Gobelins, ligne 2";
ABILITY_INFO_GOBLIN3 = "- Compétence Gobelins, ligne 3";
ABILITY_INFO_GOBLIN4 = "- Compétence Gobelins, ligne 4";
ABILITY_INFO_FELORC1 = "- Compétence Gangr'Orcs, ligne 1";
ABILITY_INFO_FELORC2 = "- Compétence Gangr'Orcs, ligne 2";
ABILITY_INFO_FELORC3 = "- Compétence Gangr'Orcs, ligne 3";
ABILITY_INFO_FELORC4 = "- Compétence Gangr'Orcs, ligne 4";

Lines change according to your desires, they appear when selecting characters.

In CharacterCreate.lua :
Find :
Code: [Select]
MAX_RACES = 10;
Replace by :
Code: [Select]
MAX_RACES = 12;

Find :
Code: [Select]
   ["DRAENEI_MALE"]    = {0.5, 0.625, 0, 0.25},
    ["DRAENEI_FEMALE"]    = {0.5, 0.625, 0.5, 0.75},

Add after :
Code: [Select]
   ["GOBLIN_MALE"]        = {0.5, 0.625, 0, 0.25},
    ["GOBLIN_FEMALE"]    = {0.5, 0.625, 0, 0.25},
   
    ["FELORC_MALE"]        = {0.5, 0.625, 0, 0.25},
    ["FELORC_FEMALE"]    = {0.5, 0.625, 0, 0.25},

Increases the maximum of races and set of icons.
   
In CharacterCreate.xml :
Find :
Code: [Select]
<CheckButton name="CharacterCreateRaceButton1" inherits="CharacterCreateRaceButtonTemplate" id="1">
    <Anchors>
        <Anchor point="TOP" relativePoint="TOP" x="-50" y="-61"/>
    </Anchors>
</CheckButton>
<CheckButton name="CharacterCreateRaceButton2" inherits="CharacterCreateRaceButtonTemplate" id="2">
    <Anchors>
        <Anchor point="TOPLEFT" relativeTo="CharacterCreateRaceButton1" relativePoint="BOTTOMLEFT" x="0" y="-21"/>
    </Anchors>
</CheckButton>
<CheckButton name="CharacterCreateRaceButton3" inherits="CharacterCreateRaceButtonTemplate" id="3">
    <Anchors>
        <Anchor point="TOPLEFT" relativeTo="CharacterCreateRaceButton2" relativePoint="BOTTOMLEFT" x="0" y="-21"/>
    </Anchors>
</CheckButton>
<CheckButton name="CharacterCreateRaceButton4" inherits="CharacterCreateRaceButtonTemplate" id="4">
    <Anchors>
        <Anchor point="TOPLEFT" relativeTo="CharacterCreateRaceButton3" relativePoint="BOTTOMLEFT" x="0" y="-21"/>
    </Anchors>
</CheckButton>
<CheckButton name="CharacterCreateRaceButton5" inherits="CharacterCreateRaceButtonTemplate" id="5">
    <Anchors>
        <Anchor point="TOPLEFT" relativeTo="CharacterCreateRaceButton4" relativePoint="BOTTOMLEFT" x="0" y="-21"/>
    </Anchors>
</CheckButton>
<CheckButton name="CharacterCreateRaceButton6" inherits="CharacterCreateRaceButtonTemplate" id="6">
    <Anchors>
        <Anchor point="TOP" relativePoint="TOP" x="50" y="-61"/>
    </Anchors>
</CheckButton>
<CheckButton name="CharacterCreateRaceButton7" inherits="CharacterCreateRaceButtonTemplate" id="7">
    <Anchors>
        <Anchor point="TOPLEFT" relativeTo="CharacterCreateRaceButton6" relativePoint="BOTTOMLEFT" x="0" y="-21"/>
    </Anchors>
</CheckButton>
<CheckButton name="CharacterCreateRaceButton8" inherits="CharacterCreateRaceButtonTemplate" id="8">
    <Anchors>
        <Anchor point="TOPLEFT" relativeTo="CharacterCreateRaceButton7" relativePoint="BOTTOMLEFT" x="0" y="-21"/>
    </Anchors>
</CheckButton>
<CheckButton name="CharacterCreateRaceButton9" inherits="CharacterCreateRaceButtonTemplate" id="9">
    <Anchors>
        <Anchor point="TOPLEFT" relativeTo="CharacterCreateRaceButton8" relativePoint="BOTTOMLEFT" x="0" y="-21"/>
    </Anchors>
</CheckButton>
<CheckButton name="CharacterCreateRaceButton10" inherits="CharacterCreateRaceButtonTemplate" id="10">
    <Anchors>
        <Anchor point="TOPLEFT" relativeTo="CharacterCreateRaceButton9" relativePoint="BOTTOMLEFT" x="0" y="-21"/>
    </Anchors>
</CheckButton>


Replace by (you can customize if you want):
Code: [Select]
<CheckButton name="CharacterCreateRaceButton1" inherits="CharacterCreateRaceButtonTemplate" id="1">
    <Anchors>
        <Anchor point="TOP" relativePoint="TOP" x="-50" y="-50"/>
    </Anchors>
</CheckButton>
<CheckButton name="CharacterCreateRaceButton2" inherits="CharacterCreateRaceButtonTemplate" id="2">
    <Anchors>
        <Anchor point="TOPLEFT" relativeTo="CharacterCreateRaceButton1" relativePoint="BOTTOMLEFT" x="0" y="-10"/>
    </Anchors>
</CheckButton>
<CheckButton name="CharacterCreateRaceButton3" inherits="CharacterCreateRaceButtonTemplate" id="3">
    <Anchors>
        <Anchor point="TOPLEFT" relativeTo="CharacterCreateRaceButton2" relativePoint="BOTTOMLEFT" x="0" y="-10"/>
    </Anchors>
</CheckButton>
<CheckButton name="CharacterCreateRaceButton4" inherits="CharacterCreateRaceButtonTemplate" id="4">
    <Anchors>
        <Anchor point="TOPLEFT" relativeTo="CharacterCreateRaceButton3" relativePoint="BOTTOMLEFT" x="0" y="-10"/>
    </Anchors>
</CheckButton>
<CheckButton name="CharacterCreateRaceButton5" inherits="CharacterCreateRaceButtonTemplate" id="5">
    <Anchors>
        <Anchor point="TOPLEFT" relativeTo="CharacterCreateRaceButton4" relativePoint="BOTTOMLEFT" x="0" y="-10"/>
    </Anchors>
</CheckButton>

<CheckButton name="CharacterCreateRaceButton7" inherits="CharacterCreateRaceButtonTemplate" id="7">
    <Anchors>
        <Anchor point="TOP" relativePoint="TOP" x="50" y="-50"/>
    </Anchors>
</CheckButton>
<CheckButton name="CharacterCreateRaceButton8" inherits="CharacterCreateRaceButtonTemplate" id="8">
    <Anchors>
        <Anchor point="TOPLEFT" relativeTo="CharacterCreateRaceButton7" relativePoint="BOTTOMLEFT" x="0" y="-10"/>
    </Anchors>
</CheckButton>
<CheckButton name="CharacterCreateRaceButton9" inherits="CharacterCreateRaceButtonTemplate" id="9">
    <Anchors>
        <Anchor point="TOPLEFT" relativeTo="CharacterCreateRaceButton8" relativePoint="BOTTOMLEFT" x="0" y="-10"/>
    </Anchors>
</CheckButton>
<CheckButton name="CharacterCreateRaceButton10" inherits="CharacterCreateRaceButtonTemplate" id="10">
    <Anchors>
        <Anchor point="TOPLEFT" relativeTo="CharacterCreateRaceButton9" relativePoint="BOTTOMLEFT" x="0" y="-10"/>
    </Anchors>
</CheckButton>
<CheckButton name="CharacterCreateRaceButton12" inherits="CharacterCreateRaceButtonTemplate" id="12">
    <Anchors>
        <Anchor point="TOPLEFT" relativeTo="CharacterCreateRaceButton10" relativePoint="BOTTOMLEFT" x="0" y="-10"/>
    </Anchors>
</CheckButton>
<CheckButton name="CharacterCreateRaceButton11" inherits="CharacterCreateRaceButtonTemplate" id="11">
    <Anchors>
        <Anchor point="TOPLEFT" relativeTo="CharacterCreateRaceButton12" relativePoint="BOTTOMLEFT" x="0" y="-10"/>
    </Anchors>
</CheckButton>
<CheckButton name="CharacterCreateRaceButton6" inherits="CharacterCreateRaceButtonTemplate" id="6">
    <Anchors>
        <Anchor point="TOPLEFT" relativeTo="CharacterCreateRaceButton5" relativePoint="BOTTOMLEFT" x="0" y="-10"/>
    </Anchors>
</CheckButton>

To change the display of icons for the races.


At this step you should have your 2 races select on the character creation.


(http://www.model-changing.com/images/new_races_01_mini.png) (http://www.model-changing.com/images/new_races_01.png)
Title: Re: Add a new race
Post by: Khira on July 29, 2010, 05:33:45 pm
[MaNGOS] Core changes

[/li][/list]



Open mangossrcgameSharedDefines.h :
Find :
Code: [Select]
enum Races
{
    RACE_HUMAN          = 1,
    RACE_ORC            = 2,
    RACE_DWARF          = 3,
    RACE_NIGHTELF       = 4,
    RACE_UNDEAD_PLAYER  = 5,
    RACE_TAUREN         = 6,
    RACE_GNOME          = 7,
    RACE_TROLL          = 8,
    //RACE_GOBLIN         = 9,
    RACE_BLOODELF       = 10,
    RACE_DRAENEI        = 11,
    //RACE_FEL_ORC        = 12,
    //RACE_NAGA           = 13,
    //RACE_BROKEN         = 14,
    //RACE_SKELETON       = 15,
    //RACE_VRYKUL         = 16,
    //RACE_TUSKARR        = 17,
    //RACE_FOREST_TROLL   = 18,
    //RACE_TAUNKA         = 19,
    //RACE_NORTHREND_SKELETON = 20,
    //RACE_ICE_TROLL      = 21
};

Replace by :
Code: [Select]
enum Races
{
    RACE_HUMAN          = 1,
    RACE_ORC            = 2,
    RACE_DWARF          = 3,
    RACE_NIGHTELF       = 4,
    RACE_UNDEAD_PLAYER  = 5,
    RACE_TAUREN         = 6,
    RACE_GNOME          = 7,
    RACE_TROLL          = 8,
    RACE_GOBLIN         = 9,
    RACE_BLOODELF       = 10,
    RACE_DRAENEI        = 11,
    RACE_FEL_ORC        = 12,
    //RACE_NAGA           = 13,
    //RACE_BROKEN         = 14,
    //RACE_SKELETON       = 15,
    //RACE_VRYKUL         = 16,
    //RACE_TUSKARR        = 17,
    //RACE_FOREST_TROLL   = 18,
    //RACE_TAUNKA         = 19,
    //RACE_NORTHREND_SKELETON = 20,
    //RACE_ICE_TROLL      = 21
};

This allows to take into account the new races of server side.


Find :
Code: [Select]
#define MAX_RACES         12
Replace by :
Code: [Select]
#define MAX_RACES         13
This is the ID of race maximum + 1, 12 (felorc) + 1 = 13 in our case. If you put only the Goblins, no need to change because the maximum ID (11) is always the same.

Find :
Code: [Select]
#define RACEMASK_ALL_PLAYABLE
    ((1<<(RACE_HUMAN-1))   |(1<<(RACE_ORC-1))          |(1<<(RACE_DWARF-1))   |
    (1<<(RACE_NIGHTELF-1))|(1<<(RACE_UNDEAD_PLAYER-1))|(1<<(RACE_TAUREN-1))  |
    (1<<(RACE_GNOME-1))   |(1<<(RACE_TROLL-1))        |(1<<(RACE_BLOODELF-1))|
    (1<<(RACE_DRAENEI-1)) )

Replace by :
Code: [Select]
#define RACEMASK_ALL_PLAYABLE
    ((1<<(RACE_HUMAN-1))   |(1<<(RACE_ORC-1))          |(1<<(RACE_DWARF-1))   |
    (1<<(RACE_NIGHTELF-1))|(1<<(RACE_UNDEAD_PLAYER-1))|(1<<(RACE_TAUREN-1))  |
    (1<<(RACE_GNOME-1))   |(1<<(RACE_TROLL-1))        |(1<<(RACE_GOBLIN-1))|
    (1<<(RACE_BLOODELF-1))|(1<<(RACE_DRAENEI-1))      |(1<<(RACE_FEL_ORC-1)) )
Title: Re: Add a new race
Post by: Khira on July 29, 2010, 05:34:58 pm
[MaNGOS] DB changes



[/li][/list]


[/li][/list]



Adding spells to the Goblin Warrior (copied from the Human Warrior) :
Code: [Select]
SET @NEW_RACE = 9; -- ID of adding race.
SET @NEW_CLASS = 1; -- ID of class of the new race.
SET @COPY_RACE = 1; -- ID of the race where we copy datas.

DELETE FROM `playercreateinfo_spell` WHERE race = @NEW_RACE AND class = @NEW_CLASS ;
INSERT INTO `playercreateinfo_spell` (`race`, `class`, `Spell`, `Note`)
SELECT @NEW_RACE, @NEW_CLASS, `Spell`, `Note` FROM `playercreateinfo_spell` WHERE race = @COPY_RACE AND class = @NEW_CLASS;


Adding spells to the Fel Orcs Warrior (copied from the Orc Warrior) :
Code: [Select]
SET @NEW_RACE = 12; -- ID of adding race.
SET @NEW_CLASS = 1; -- ID of class of the new race.
SET @COPY_RACE = 2; -- ID of the race where we copy datas.

DELETE FROM `playercreateinfo_spell` WHERE race = @NEW_RACE AND class = @NEW_CLASS ;
INSERT INTO `playercreateinfo_spell` (`race`, `class`, `Spell`, `Note`)
SELECT @NEW_RACE, @NEW_CLASS, `Spell`, `Note` FROM `playercreateinfo_spell` WHERE race = @COPY_RACE AND class = @NEW_CLASS;


Buttons Action Goblin Warrior (copied on Human Warrior) :
Code: [Select]
SET @NEW_RACE = 9; -- ID of adding race.
SET @NEW_CLASS = 1; -- ID of class of the new race.
SET @COPY_RACE = 1; -- ID of the race where we copy datas.

DELETE FROM `playercreateinfo_action` WHERE race = @NEW_RACE AND class = @NEW_CLASS ;
INSERT INTO `playercreateinfo_action` (`race`, `class`, `button`, `action`, `type`)
SELECT @NEW_RACE, @NEW_CLASS, `button`, `action`, `type` FROM `playercreateinfo_action` WHERE race = @COPY_RACE AND class = @NEW_CLASS;


Buttons Action Fel Orcs Warrior (copied on Orc Warrior) :
Code: [Select]
SET @NEW_RACE = 12; -- ID of adding race.
SET @NEW_CLASS = 1; -- ID of class of the new race.
SET @COPY_RACE = 2; -- ID of the race where we copy datas.

DELETE FROM `playercreateinfo_action` WHERE race = @NEW_RACE AND class = @NEW_CLASS ;
INSERT INTO `playercreateinfo_action` (`race`, `class`, `button`, `action`, `type`)
SELECT @NEW_RACE, @NEW_CLASS, `button`, `action`, `type` FROM `playercreateinfo_action` WHERE race = @COPY_RACE AND class = @NEW_CLASS;


Starting location of Goblin Warrior (= Humans) :
Code: [Select]
INSERT INTO `playercreateinfo` (`race`, `class`, `map`, `zone`, `position_x`, `position_y`, `position_z`) VALUES ('9','1','0','12','-8949.95','-132.493','83.5312');

Starting location of Fel Orc Warrior (= Orcs)
Code: [Select]
INSERT INTO `playercreateinfo` (`race`, `class`, `map`, `zone`, `position_x`, `position_y`, `position_z`) VALUES ('12','1','1','14','-618.518','-4251.67','38.718');

Levels for the Goblin Warrior (copied on Human Warrior)
Code: [Select]
SET @NEW_RACE = 9; -- ID of adding race.
SET @NEW_CLASS = 1; -- ID of class of the new race.
SET @COPY_RACE = 1; -- ID of the race where we copy datas.

DELETE FROM `player_levelstats` WHERE race = @NEW_RACE AND class = @NEW_CLASS ;

INSERT INTO `player_levelstats` (`race`, `class`, `level`, `str`, `agi`, `sta`, `inte`, `spi`)
SELECT @NEW_RACE, @NEW_CLASS, `level`, `str`, `agi`, `sta`, `inte`, `spi` FROM `player_levelstats` WHERE race = @COPY_RACE AND class = @NEW_CLASS;



Levels for the Fel Orc Warrior (copied on Orc Warrior)
Code: [Select]
SET @NEW_RACE = 12; -- ID of adding race.
SET @NEW_CLASS = 1; -- ID of class of the new race.
SET @COPY_RACE = 2; -- ID of the race where we copy datas.

DELETE FROM `player_levelstats` WHERE race = @NEW_RACE AND class = @NEW_CLASS ;

INSERT INTO `player_levelstats` (`race`, `class`, `level`, `str`, `agi`, `sta`, `inte`, `spi`)
SELECT @NEW_RACE, @NEW_CLASS, `level`, `str`, `agi`, `sta`, `inte`, `spi` FROM `player_levelstats` WHERE race = @COPY_RACE AND class = @NEW_CLASS;




You can (and you need for good work) change spells and other datas.


(http://www.model-changing.com/images/new_races_02_mini.png) (http://www.model-changing.com/images/new_races_02.png)(http://www.model-changing.com/images/new_races_03_mini.png) (http://www.model-changing.com/images/new_races_03.png)(http://www.model-changing.com/images/new_races_04_mini.png) (http://www.model-changing.com/images/new_races_04.png)
Title: Re: Add a new race
Post by: Khira on July 29, 2010, 05:37:41 pm
Equipment character creation


This section will allow you to dress races in selecting those above and at the same time to add items at character creation.

Open CharStartOutfit.dbc :
For exemple, add at the end of the file :
[spoiler:g0knqxru]
Code: [Select]
380,9,1,0,0,38,39,40,0,49778,-1,-1,6948,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9891,9892,10141,-1,2380,-1,-1,6418,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,7,8,-1,17,-1,-1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
381,9,1,1,0,38,39,40,0,49778,-1,-1,6948,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9891,9892,10141,-1,2380,-1,-1,6418,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,7,8,-1,17,-1,-1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
382,12,1,0,0,6125,139,140,6948,12282,0,-1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9995,9988,9992,6418,22291,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,7,8,0,17,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
383,12,1,1,0,6125,139,140,6948,12282,0,-1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9995,9988,9992,6418,22291,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,4,7,8,0,17,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
[/spoiler:g0knqxru]

1st column : unique ID.
2nd column : ID race
3th column : ID class
4th column : Sex of character.

More informations here : CharStartOutfit.dbc (http://www.madx.dk/wowdev/wiki/index.php?title=CharStartOutfit.dbc)
Title: Re: Add a new race
Post by: Khira on July 29, 2010, 05:39:44 pm
Display helmets


Open ChrRaces.dbc :
At the 7th column, you have the abbreviation of the race, eg Go for GOBLIN. This abbreviation is actually only used for display helmet. You can modify an abbreviation of existing race for the helmets appear, for example by replacing Hu.

Problem: The helmets are misplaced, such as too forward, too high, etc. ... To fix this, simply move the Attachment Point No. 11 (which corresponds to the placement of the helmet) on two M2 model race (GoblinMale.m2 and GoblinFemale.m2 for example). You can use Mod-It for this.

There are other more "clean" way to fix helmets but longer.

(http://www.model-changing.com/images/new_race_helm01.png)(http://www.model-changing.com/images/new_race_helm02.png)
Title: Re: Add a new race
Post by: Khira on July 29, 2010, 05:40:57 pm
Activating languages and skills

Basically, you can not learn language or skills. Indeed, the game uses a verification which is configured for each Skills. We will have to modify all the skills you'll want that the race will be use.

We'll take the example of the Common Language (Skill n°98).
Open SkillLineAbility.dbc :
Find :
Quote
590,98,668,1101,0,,,1,0,0x2,0,0,,,

We must consider the 4th column, the 1101 value. Transform this number into binary (eg with http://www.michelcarrare.com/demos/converter.php) (http://www.michelcarrare.com/demos/converter.php%29) You will find in our case:
10001001101
Every "1" allows the Skill for the race with ID equal to the position :
Code: [Select]
IDRace : 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1
          1    0   0   0   1   0   0   1   1   0   1


It is necessary to put 1 for the ID of your race. For the goblin, its ID 9, so we have:
Code: [Select]
IDRace : 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1
          1    0   1   0   1   0   0   1   1   0   1

Then just reprocess this new value in decimal :
(bin)10101001101 = (dec)1357
So, we have this :
Code: [Select]
590,98,668,1357,0,,,1,0,0x2,0,0,,,


[/li][/list]


Open SkillRaceClassInfo.dbc :
Find :
Quote
40,98,1101,1535,0x80,0x0,0,0x0,

You see the 1101 in the 3rd column? Do as above.


[/li][/list]


[/li][/list]

More informations here : SkillLineAbility.dbc (http://www.madx.dk/wowdev/wiki/index.php?title=SkillLineAbility.dbc) and SkillRaceClassInfo.dbc (http://www.madx.dk/wowdev/wiki/index.php?title=SkillRaceClassInfo.dbc)


(http://www.model-changing.com/images/new_race_language02.png)(http://www.model-changing.com/images/new_race_language01.png)
Title: Re: Add a new race
Post by: Khira on July 29, 2010, 05:42:00 pm
Activating reputations

Open Faction.dbc :
For example, suppose we want allow reputation Stormwind for Goblin, find :
Quote
72,19,1100,690,0x1,0x0,0,0,0x0,0x0,3100,-42000,4000,0,0x111,6,0x11,0x0,469,1.0,0.25,7,5,,,"Hurlevent",,,,,,,,,,,,,,0xFF01FE,,,"Cette capitale de l’Alliance est l’un des derniers bastions de la puissance des humains. Elle est gouvernée par le roi Varian Wrynn, revenu après une disparition mystérieuse.",,,,,,,,,,,,,,0xFF01FE,


Well take this part of the line :
Code: [Select]
 1100,     690,      0x1,      0x0,[...]   3100,              -42000,          4000,0,
Races 1 | Races 2 | Races 3 | Races 4 | Rep for races 1 | Rep for races 2 | Rep for races 3 ...
You understand? 1100 corresponds to all races of the alliance except humans who begin the game with 3,100 reputation. 690 races is the hord, they begin with -42,000 and finally 1 for humans starting with 4000.
So if we want Goblins (ID 9) can start with 3100 (and that reputation is allowed to be used for this race and saved by the server), you must edit 1100 by 1356 (detailed explanations in the activation of languages and skills).
We must do this for all Reputations. No worries, using "Replace All" with your favorite text editor, it will save time.
For example: 1791 means all races of the alliance. So if the goblin is in the alliance, we must add to all the "1791" be replaced 1791 by 2047. Then do manual handling to the capitals (as Stormwind).

That's all for the moment !

Races operational! Good luck.


Title: Re: [TUTORIAL] Add a new race
Post by: Diemen on August 19, 2010, 02:33:20 pm
To bad They didn't Make the +Cookies/Rep Button yet..

This realy deserves My Rep ! ++

I was looking for a Tutorial like this for a long time :D

Thanks Alot :)
Title: Re: [TUTORIAL] Add a new race
Post by: Eluo on August 19, 2010, 05:27:49 pm
Yeah thanks a lot for this!
Great tutorial , well written and sure good for ppl who would like to add a new race.
We won't add a rep system because we think that this destroyed the modding community^^
Modding is fun and you gain much from it. As we see someone who really contributes good stuff, he will get a special rank. We created many individual ranks for this ;)
Tutorials , showoffs and so on are a good way to gain such a special rank!
Title: Re: [TUTORIAL] Add a new race
Post by: Shruik on August 27, 2010, 06:09:00 pm
Hope you asked the author didn´t u?
Title: Re: [TUTORIAL] Add a new race
Post by: Supora on January 02, 2011, 09:20:02 am
Sorry? but I have an error/
Too many races! Update MAX_RACES
But I have Max_races 12
Title: Re: [TUTORIAL] Add a new race
Post by: anaksagor on January 06, 2011, 12:52:29 pm
Quote from: "Supora"
Sorry? but I have an error/
Too many races! Update MAX_RACES
But I have Max_races 12

 Yes me to
Title: Re: [TUTORIAL] Add a new race
Post by: MeL182 on March 26, 2011, 07:23:01 pm
Somebody help me, I do not know what could be a problem when creating Tuskarr I get this problem. Create goblins and nag there was no such  = sorry for my bad english i am russian  :ugly:
[spoiler:17f9bkwp](http://img828.imageshack.us/img828/6278/wowscrnshot032611055932.jpg)[/spoiler:17f9bkwp]
Title: Re: [TUTORIAL] Add a new race
Post by: Tigurius on March 31, 2011, 02:24:51 pm
wrong path to background
Title: Re: [TUTORIAL] Add a new race
Post by: daoloth on April 02, 2011, 05:55:39 am
Hi! i have a couple of questions:


1.- Should i create a new patch, like a "Patch-X.MPQ" for the DBC and interface files? or should i repack them into the original WOW files? I tried making it as a "Patch-X", but wow just won't start. gives me an "interface files damaged, reinstall" message. Of course, if i remove the patch, wow works just fine. (Version 3.3.5a). Removing the XML file from the patch seems to correct this, but when y try to create a character, the game will crash.
-Edit: Yes, i've already removed the wow.exe lua-xml edit protection.

2.- Before making this patch, you say that i need to prepare the model. That means, the "blocked" races dont have a model assigned? i haven't done anything before this tutorial, so that might explain some of the crashes that i am getting.

Thanks in advance.
Title: Re: [TUTORIAL] Add a new race
Post by: glararan on April 12, 2011, 08:36:50 pm
Sorry for revive topic but when i do all what is in Tutorial it's give me
Title: Re: [TUTORIAL] Add a new race
Post by: schlumpf on April 13, 2011, 05:42:37 pm
Update MAX_RACES.
Title: Re: [TUTORIAL] Add a new race
Post by: glararan on April 13, 2011, 10:38:48 pm
I have updated max races....
I have new problem ://
Title: Re: [TUTORIAL] Add a new race
Post by: glararan on April 15, 2011, 11:11:31 pm
SOLVED!
But i have two problems :(
I delete Fel orc..i wanna only Goblin
And lets give me two eerors :(
My XML is
Code: [Select]
<CheckButton name="CharacterCreateRaceButton1" inherits="CharacterCreateRaceButtonTemplate" id="1">
    <Anchors>
        <Anchor point="TOP" relativePoint="TOP" x="-50" y="-50"/>
    </Anchors>
</CheckButton>
<CheckButton name="CharacterCreateRaceButton2" inherits="CharacterCreateRaceButtonTemplate" id="2">
    <Anchors>
        <Anchor point="TOPLEFT" relativeTo="CharacterCreateRaceButton1" relativePoint="BOTTOMLEFT" x="0" y="-10"/>
    </Anchors>
</CheckButton>
<CheckButton name="CharacterCreateRaceButton3" inherits="CharacterCreateRaceButtonTemplate" id="3">
    <Anchors>
        <Anchor point="TOPLEFT" relativeTo="CharacterCreateRaceButton2" relativePoint="BOTTOMLEFT" x="0" y="-10"/>
    </Anchors>
</CheckButton>
<CheckButton name="CharacterCreateRaceButton4" inherits="CharacterCreateRaceButtonTemplate" id="4">
    <Anchors>
        <Anchor point="TOPLEFT" relativeTo="CharacterCreateRaceButton3" relativePoint="BOTTOMLEFT" x="0" y="-10"/>
    </Anchors>
</CheckButton>
<CheckButton name="CharacterCreateRaceButton5" inherits="CharacterCreateRaceButtonTemplate" id="5">
    <Anchors>
        <Anchor point="TOPLEFT" relativeTo="CharacterCreateRaceButton4" relativePoint="BOTTOMLEFT" x="0" y="-10"/>
    </Anchors>
</CheckButton>
<CheckButton name="CharacterCreateRaceButton6" inherits="CharacterCreateRaceButtonTemplate" id="6">
    <Anchors>
        <Anchor point="TOPLEFT" relativeTo="CharacterCreateRaceButton5" relativePoint="BOTTOMLEFT" x="0" y="-10"/>
    </Anchors>
</CheckButton>

<CheckButton name="CharacterCreateRaceButton7" inherits="CharacterCreateRaceButtonTemplate" id="7">
    <Anchors>
        <Anchor point="TOP" relativePoint="TOP" x="50" y="-50"/>
    </Anchors>
</CheckButton>
<CheckButton name="CharacterCreateRaceButton8" inherits="CharacterCreateRaceButtonTemplate" id="8">
    <Anchors>
        <Anchor point="TOPLEFT" relativeTo="CharacterCreateRaceButton7" relativePoint="BOTTOMLEFT" x="0" y="-10"/>
    </Anchors>
</CheckButton>
<CheckButton name="CharacterCreateRaceButton9" inherits="CharacterCreateRaceButtonTemplate" id="9">
    <Anchors>
        <Anchor point="TOPLEFT" relativeTo="CharacterCreateRaceButton8" relativePoint="BOTTOMLEFT" x="0" y="-10"/>
    </Anchors>
</CheckButton>
<CheckButton name="CharacterCreateRaceButton10" inherits="CharacterCreateRaceButtonTemplate" id="10">
    <Anchors>
        <Anchor point="TOPLEFT" relativeTo="CharacterCreateRaceButton9" relativePoint="BOTTOMLEFT" x="0" y="-10"/>
    </Anchors>
</CheckButton>
<CheckButton name="CharacterCreateRaceButton11" inherits="CharacterCreateRaceButtonTemplate" id="12">
    <Anchors>
        <Anchor point="TOPLEFT" relativeTo="CharacterCreateRaceButton10" relativePoint="BOTTOMLEFT" x="0" y="-10"/>
    </Anchors>
</CheckButton>

And errors:
[attachment=0:6uo3gvs6]WoWScrnShot_041511_231018.jpg[/attachment:6uo3gvs6]
[attachment=1:6uo3gvs6]WoWScrnShot_041511_231014.jpg[/attachment:6uo3gvs6]
Title: Re: [TUTORIAL] Add a new race
Post by: glararan on April 21, 2011, 05:38:22 pm
Fixed...now i have problem as viewtopic.php?p=2869#p2869 (http://modcraft.io/viewtopic.php?p=2869#p2869" onclick="window.open(this.href);return false;)

Somebody write:Wrong  background..but where i modifi background?
Title: Re: [TUTORIAL] Add a new race
Post by: Dlink_lip on August 07, 2011, 10:13:11 am
Quote from: "glararan"
Fixed...now i have problem as viewtopic.php?p=2869#p2869 (http://modcraft.io/viewtopic.php?p=2869#p2869" onclick="window.open(this.href);return false;)

Somebody write:Wrong  background..but where i modifi background?

You did this?

Code: [Select]
if ( name == "FelOrc" or name == "FELORC" ) then
name = "Orc";
elseif ( name == "Goblin" or name == "GOBLIN" ) then
name = "Orc";
end
Title: Re: [TUTORIAL] Add a new race
Post by: alxcruel on August 26, 2011, 01:22:35 pm
Hi.
(Sorry if this question to stupid)

I want to make Blood Elves on Alliance side. I make changes in ChrRaces.dbc.  In 8th column change 1 to 7(for alliance). Other values(in other files) are already exist and correct(as I can understand ). But, when I connect to server and make new char, it was steel on the horde side. When I tread to write somethings to chat or speak to any nps, it write me that i don't know this language.

Please help me, what's wrong?
Title: Re: [TUTORIAL] Add a new race
Post by: Chronatus on September 14, 2011, 09:08:17 am
I'm having a couple issues, First of all, I can't edit CharBaseInfo.dbc. It says it's unsupported, but I can edit any other dbc file.
Also, after I edit the .lua fand .xml files I get an error when launching wow.(I'm not sure if it's from the check removal or the editing of these files) but it says something about destructible model data or something not having enough columns. expected 19, returned 17.
Title: Re: [TUTORIAL] Add a new race
Post by: Steff on September 15, 2011, 06:14:52 am
Try an other DBC editor like MYDBCEditor form the resources.
Title: Re: [TUTORIAL] Add a new race
Post by: one0 on October 31, 2011, 06:02:29 pm
Quote
Then to edit the following files without problems when starting WoW.exe, we must apply this tutorial. It must be a IDA to remove the check file integrity Interface of World of Warcraft :
http://yias.de/forum/f62/lua-xml-check- ... ernen-808/ (http://yias.de/forum/f62/lua-xml-check-der-wow-exe-entfernen-808/" onclick="window.open(this.href);return false;)

Can someone update this part? Cuz Link dosent work :/
Title: Re: [TUTORIAL] Add a new race
Post by: Morfium on November 02, 2011, 01:49:34 am
Laniax posted a tool that unsigs the exe here: viewtopic.php?f=26&t=181&p=5336#p5336 (http://modcraft.io/viewtopic.php?f=26&t=181&p=5336#p5336)
And ofc there's the tutorial to do it by hand in the thread. :)
Title: [TUTORIAL] Add a new race
Post by: znailla on November 13, 2011, 06:49:11 pm
i have this problem ;(

http://www.imagebanana.com/view/ccw4hii ... 184429.jpg (http://www.imagebanana.com/view/ccw4hii1/WoWScrnShot_111311_184429.jpg" onclick="window.open(this.href);return false;)

http://www.imagebanana.com/view/5f60ljw ... 184421.jpg (http://www.imagebanana.com/view/5f60ljws/WoWScrnShot_111311_184421.jpg" onclick="window.open(this.href);return false;)
Title: Re: [TUTORIAL] Add a new race
Post by: nnhmeisink on November 20, 2011, 07:26:26 pm
First off thanks for this great guide,but i''m stuck at the modification of the Mangos Database...
Which database file do i edit? I'm sorry i just started with all of this and i would like to see how far i can go^^

Thanks
Title: Re: [TUTORIAL] Add a new race
Post by: samgartell on November 22, 2011, 12:49:06 am
Quote from: "znailla"
i have this problem ;(

http://www.imagebanana.com/view/ccw4hii ... 184429.jpg (http://www.imagebanana.com/view/ccw4hii1/WoWScrnShot_111311_184429.jpg" onclick="window.open(this.href);return false;)

http://www.imagebanana.com/view/5f60ljw ... 184421.jpg (http://www.imagebanana.com/view/5f60ljws/WoWScrnShot_111311_184421.jpg" onclick="window.open(this.href);return false;)

As do I, been trying for nearly a week whenever I can. I can't seem to figure it out.
Title: Re: [TUTORIAL] Add a new race
Post by: thesixth on November 25, 2011, 12:21:36 pm
[/b]
I've tried this tutorial.

Now, I'm not doing this with Mangos, but with Trinity. It is to my understanding that Trinity is based of the Mangos source so adapting the instructions wasn't hard. (Just one modification in the code to the source.)
[spoiler:26z9p9a8]enum Races
{
    RACE_HUMAN          = 1,
    RACE_ORC            = 2,
    RACE_DWARF          = 3,
    RACE_NIGHTELF       = 4,
    RACE_UNDEAD_PLAYER  = 5,
    RACE_TAUREN         = 6,
    RACE_GNOME          = 7,
    RACE_TROLL          = 8,
    RACE_GOBLIN         = 9,
    RACE_BLOODELF       = 10,
    RACE_DRAENEI        = 11,
    RACE_FEL_ORC        = 12,
    //RACE_NAGA           = 13,
    //RACE_BROKEN         = 14,
    //RACE_SKELETON       = 15,
    //RACE_VRYKUL         = 16,
    //RACE_TUSKARR        = 17,
    //RACE_FOREST_TROLL   = 18,
    //RACE_TAUNKA         = 19,
    //RACE_NORTHREND_SKELETON = 20,
    //RACE_ICE_TROLL      = 21
};


 -- VS.

enum Races
{
    RACE_NONE          = 0,
    RACE_HUMAN          = 1,
    RACE_ORC            = 2,
    RACE_DWARF          = 3,
    RACE_NIGHTELF       = 4,
    RACE_UNDEAD_PLAYER  = 5,
    RACE_TAUREN         = 6,
    RACE_GNOME          = 7,
    RACE_TROLL          = 8,
    RACE_GOBLIN         = 9,
    RACE_BLOODELF       = 10,
    RACE_DRAENEI        = 11,
    RACE_FEL_ORC        = 12,
    //RACE_NAGA           = 13,
    //RACE_BROKEN         = 14,
    //RACE_SKELETON       = 15,
    //RACE_VRYKUL         = 16,
    //RACE_TUSKARR        = 17,
    //RACE_FOREST_TROLL   = 18,
    //RACE_TAUNKA         = 19,
    //RACE_NORTHREND_SKELETON = 20,
    //RACE_ICE_TROLL      = 21
};

First row, added "RACE_NONE = 0" and I could compile the core.[/spoiler:26z9p9a8]
At first, I thought I had it all down, pretty much.
Anyways, I started to create a couple of new races, based of the original ones (like adding a new human etc.).
When it came down to testing it out, it didn't work.
I broke it all down a couple of times to really make sure no misstakes were made, whatsoever.
I didn't get it to work so I threw all the work away and decided to do exactly what the tutorial says, and not jump to my own conclusions or attempt anything else. Educational, you know.

Doing this, following the guide step by step, carefully, on an untoutched DB, compiling the unmodifyed serversource-code, I get the exact same error:

InterfaceGlueXMLGlueParent.lua:391:Usage: PlayGlueAmbience("soundname","(optional)fade in time")
This is after logging on, at the character selection screen, black with no background.

And this:
InterfaceGlueXMLCharacterCreate.lua:182 attempt to index local 'coords' (a nil value)
This leaves me with roughly half of the race icons badly messed up.

Going back to the character selection screen gives me following error:
InterfaceGlueXMLCharacterSelect.lua:49: Usage: PlayGlueAmbience("soundname","(optional)fade in time")

Editing the GlueParent.lua didn't make much difference... though something tells me that's where the bad stuff is going on...

I even made some backwards engineering, removing several original races (and classes) to gain some understanding.

Anyway, as the tutorial was made for 3.3.2a, this is being attempted on Wow 3.3.5a Im thinking, perhaps there are more features to change in this version of the GlueXML's?

Has anyone "ported" this tutorial to 3.3.5a with success?
Does anyone have any suggestions?

Thanks in advance //S






****
EDIT:
Seems to be a little tougher to edit the 3.3.5a LUA-XML than 3.2.2a.
Editing the character creation screen by adding races actually works in 3.2.2a.
Now, my build is failing to compile for some reason -.- dunno why, since exactly what I'm doing right now worked just like a charm with trinity 3.3.5....
========== Build: 10 succeeded, 3 failed, 0 up-to-date, 0 skipped ==========

Anyways, since I'm not particulary interrested in making any of the currently existing non-playable races into a playable one, but rather make a few completely new races, I'm wondering : The core and database speaks of races ID's from 1 to 21... so... is it possible to add races beyond 21, i.e raceID 22 - alieninvader... or whatever? Or do I have to completely overhaul (let's say) the Nagas or something - discluding that race from the game to be able to "add" a new one?
It'd be nice to talk to someone with experience around this.

Ciao!
****
EDIT:
Problems with compiling the core was 3x severe sloppyness. Looking it over the next day pretty much made me see my error. Guess I just had to sleep on it. ^^
Title: Re: [TUTORIAL] Add a new race
Post by: nnhmeisink on November 28, 2011, 12:29:59 am
I'm trying this tutorial to wow 3.3.5a and before starting on this tutorial my own little private server worked fine...now i added my GlueXML files etc. and now when i want to check if the races are showing wow crashes and tells me that BattlemasterList.dbc has wrong number of columns (found 35, expected 32)....
Why oh Why??? I did nothing to the battlemasterlist database file and I really do not understand why this is happening....can any1 help me out???

*edit*
Ignore this part....i didn't made a good patch file so now it works fine :) But now the problem is i don't see the extra char. panels i the character creation panel. I do see 2 extra spaces for the new characters but i can not select them....

Thanks in advance
Niek
Title: Re: [TUTORIAL] Add a new race
Post by: samgartell on November 28, 2011, 05:08:40 pm
Quote from: "nnhmeisink"
I'm trying this tutorial to wow 3.3.5a and before starting on this tutorial my own little private server worked fine...now i added my GlueXML files etc. and now when i want to check if the races are showing wow crashes and tells me that BattlemasterList.dbc has wrong number of columns (found 35, expected 32)....
Why oh Why??? I did nothing to the battlemasterlist database file and I really do not understand why this is happening....can any1 help me out???

Thanks
Niek

http://www.mediafire.com/?h07ugzqyziwnbyi (http://www.mediafire.com/?h07ugzqyziwnbyi" onclick="window.open(this.href);return false;) Try using this BattlemasterList.dbc, it's the latest rev straight from Patch-enUS-3.MPQ, so it should have the correct column count.
Title: Re: [TUTORIAL] Add a new race
Post by: thesixth on November 28, 2011, 06:32:34 pm
Hi nnhmeisink!
Perhaps you already know everything I write here, perhaps not.

If you haven't modifyed it, check if you've added dbc-files to your "patch-x.MPQ", then perhaps you've accidently added the wrong version into your "patch-x.MPQ"-file. The most recent version of the file should be located in your "patch-enUS-3.MPQ", if , of course, you have the enUS version.

If the file is located in some of your more recent official "patch-en/es/de....or..whatever... .MPQ", all my experience can tell you is that something probably prevents Wow from loading the 'current'... or rather, the expected version of the BattlemasterList.dbc file.

Perhaps you are editing existing, official MPQ's instead of creating your own patches and somehow corrupted the files?

if not, have you done this?
viewtopic.php?f=26&t=181 (http://modcraft.io/viewtopic.php?f=26&t=181" onclick="window.open(this.href);return false;)
As an easier alternative Laniax uploaded an automatic patcher for the 3.3.5a client wow.exe. I've confirmed it to work perfectly with the enUS version.

This sort of message only occurs when I'm in the middle of editing/gathering resources, and I try to load Wow.exe, but forgot to close all MPQ-files that I have opened with my MPQ-editor.

If you've read my previous post, I've tried this with the 3.3.5a client withour success, and I haven't talked to anyone who has succeeded to do this. My failure lies in that I sort of drowned in the XML-LUA swamp... Seems to be a bit trickier with the 3.3.5a version than in the 3.2.2a...

Anyway, I'm uploading for you, the 'expected' version of BattlemasterList.dbc for the enUS 3.3.5a client. I have also uploaded the automatic unsig ptacher for the 3.3.5a client. Should be two attatchments. This is all I can do to help.

Please know that I am eager to hear how this turns out for you. If you'd manage to pull this off, it would be very interresting to hear about it.
Title: Re: [TUTORIAL] Add a new race
Post by: thesixth on November 28, 2011, 11:47:55 pm
Yaaay! I've got it working!
Thanks for this amazing tutorial!

At the moment I have just been testing out by "cloning" the human race.
One of them is Alliance, the other one is Horde.
Some things are messed up, like skills, languages and factionstandings, plus there aren't any quests avaliable for theese races at the moment. The alliance human doesn't seem to come with any startoutfit and there are some minnor issues. Regardless, this is only the result of experimenting for educational purposes

I'm posting a few screenshots of the result.
PS! nevermind that wierd-looking character creation screen. It's nothing but random tampering.
Title: Re: [TUTORIAL] Add a new race
Post by: nnhmeisink on November 30, 2011, 07:57:44 pm
@ TheSixth

Thnx for the info...you were right, i made an error in my patch xD stupid me....but the problem now is that i have done everything correctly (i think) but the extra char. panels are not showing in the character creation screen...the panels are moved so there is extra space but i dont see anything there

And a 2nd question for these steps:

SET @NEW_RACE = 9; -- ID of adding race.
SET @NEW_CLASS = 1; -- ID of class of the new race.
SET @COPY_RACE = 1; -- ID of the race where we copy datas.

DELETE FROM `playercreateinfo_spell` WHERE race = @NEW_RACE AND class = @NEW_CLASS ;
INSERT INTO `playercreateinfo_spell` (`race`, `class`, `Spell`, `Note`)
SELECT @NEW_RACE, @NEW_CLASS, `Spell`, `Note` FROM `playercreateinfo_spell` WHERE race = @COPY_RACE AND class = @NEW_CLASS;

Wich file do i edit and how? I don't really get this part:S

Sorry for me being a noob xD

Thanks in advance
Niek
Title: Re: [TUTORIAL] Add a new race
Post by: samgartell on November 30, 2011, 08:11:41 pm
Quote from: "thesixth"
Yaaay! I've got it working!

Any info on the whole GlueParent.lua thing? Still no luck here. I'm new to xml and lua, so it's all a mystery to me really.
Thanks in advance.
Title: Re: [TUTORIAL] Add a new race
Post by: Steff on December 02, 2011, 01:58:31 pm
As this Lua stuff is the same as AddOns read the existing docs you find in the web.
Title: Re: [TUTORIAL] Add a new race
Post by: Steff on December 02, 2011, 01:59:26 pm
@thesixth: You need to update the MySQL DB of the Server for many stuff. Like start equipment.
Title: Re: [TUTORIAL] Add a new race
Post by: jippejoosten on January 12, 2012, 11:33:07 am
may u can help me.

i can't find the CharBaseInfo.dbc.
and we i try to make one on Taliis,
than it says no need for make a abc file.

anyone know what to do ?

ps. i work on a mac
Title: Re: Add a new race
Post by: dillanbe20 on January 25, 2012, 06:22:46 pm
Pls Give Site That Work My WoW Give Error
Title: Re: [TUTORIAL] Add a new race
Post by: Dlink_lip on February 13, 2012, 01:34:17 pm
Hello! Sorry for my English. Tell me what DBC is responsible for the canines in Forest Troll. I moved from the standard model 18 ID to 14 ID. All shows, except for the canines.
Title: Re: [TUTORIAL] Add a new race
Post by: Aeroneuron on February 18, 2012, 02:59:08 pm
Hey there.

I just visited this topic. I only got two questions or maybe problems.

1 - we should have done something for the wow to allow the reading of those settings we changed in lua files for the game. that link was broken and I couldnt do that so now when I start wow it gives me the error of "some of your interface files are corrupted" or something like this. a link to that thing would be very helpful.

2 - in my mangos core (latest revision) the shareddefines.h file is exactly like you mentioned here but it has one difference. for example RACE_HUMAN = 1; and for goblin it is the same :D I mean there is no // before that line that relates to goblins. not only goblins of course. this // is excluded from all the races in the file no matter playable or not.

thanks..
Title: Re: [TUTORIAL] Add a new race
Post by: Dlink_lip on February 23, 2012, 12:48:15 am
Quote from: "Aeroneuron"
Hey there.

I just visited this topic. I only got two questions or maybe problems.

1 - we should have done something for the wow to allow the reading of those settings we changed in lua files for the game. that link was broken and I couldnt do that so now when I start wow it gives me the error of "some of your interface files are corrupted" or something like this. a link to that thing would be very helpful.

2 - in my mangos core (latest revision) the shareddefines.h file is exactly like you mentioned here but it has one difference. for example RACE_HUMAN = 1; and for goblin it is the same :D I mean there is no // before that line that relates to goblins. not only goblins of course. this // is excluded from all the races in the file no matter playable or not.

thanks..

1- viewtopic.php?f=26&t=181 (http://modcraft.io/viewtopic.php?f=26&t=181" onclick="window.open(this.href);return false;)
2- they are open xD

ps. please reply to my post above
Title: Re: [TUTORIAL] Add a new race
Post by: Zim4ik on April 15, 2012, 09:58:48 am
Hello guys,
Dont forget to change racebitmasks in quest_template table of your db. If you wont change your bitmasks,
your races will be useless
Title: Re: [TUTORIAL] Add a new race
Post by: Shakar on April 29, 2012, 11:48:47 am
Quote from: "nnhmeisink"
@ TheSixth

Thnx for the info...you were right, i made an error in my patch xD stupid me....but the problem now is that i have done everything correctly (i think) but the extra char. panels are not showing in the character creation screen...the panels are moved so there is extra space but i dont see anything there

I'm having this same error (Involving the missing panels.) I'm using a 3.3.5a client, and according to the tutorial, there's a section for changing race icons but a blank space instead of anything explaining it.

Quote from: "Khira"
To change the display of icons for the races.


At this step you should have your 2 races select on the character creation.

<Image as displayed on the original post>

I think because of that missing part we can't get this tutorial done completely? I'm currently just trying to get the client to see more races as well as additional race/class combinations, but it's proving a bit impossible race wise in terms of the new races (Naga and Taunka in my case) appearing on the character creation screen. Below is what I see on my client...

(http://i260.photobucket.com/albums/ii30/Shakar666/missingpanels.png)

And this is with no errors being reported by the game client.
Title: Re: [TUTORIAL] Add a new race
Post by: darkares on July 20, 2012, 12:43:40 am
What can i do ? :/


[attachment=0:wirig4p6]bug.jpg[/attachment:wirig4p6]
Title: Re: [TUTORIAL] Add a new race
Post by: schlumpf on July 20, 2012, 03:59:07 pm
Fix the nil-value dereference.
Title: Re: [TUTORIAL] Add a new race
Post by: Morfium on July 20, 2012, 08:23:01 pm
You try to concatenate a string with a nil (not set) variable. Look in your lua at the given position. Concatenation is done by: .. (double dots) E.g.
Code: [Select]
"Bla"..VariableName.."blubb"You now have to find out which variable is causing your problem and then initialize it correctly.
Title: Re: [TUTORIAL] Add a new race
Post by: darkares on July 31, 2012, 02:59:06 pm
Mhm i can't find the nill value :( sorry i am blind ?

http://www.imagebanana.com/view/j4uoj4us/Luafail2.jpg (http://www.imagebanana.com/view/j4uoj4us/Luafail2.jpg" onclick="window.open(this.href);return false;)

http://www.imagebanana.com/view/c9v4twle/Luafail.jpg (http://www.imagebanana.com/view/c9v4twle/Luafail.jpg" onclick="window.open(this.href);return false;)

:/ pls. help
Title: Re: [TUTORIAL] Add a new race
Post by: Nupper on August 01, 2012, 09:08:14 pm
Can there be an Arcemu TUT?
Title: Re: [TUTORIAL] Add a new race
Post by: Sirenesusa on August 02, 2012, 03:35:40 am
My Server Crashed when i change the "Faction.dbc"
i have no idea why :(
Title: Re: [TUTORIAL] Add a new race
Post by: ProfVice on December 23, 2012, 11:14:02 pm
found this tutorial years ago in a french forum, thanks for this english version.
Title: Re: [TUTORIAL] Add a new race
Post by: mferrill on February 12, 2013, 08:39:25 pm
[attachment=0:2smgsnjz]NewRace.PNG[/attachment:2smgsnjz]Thank you for the tutorial.

I'm using wow 3.3.5a and trinitycore.  Trying to make the new races as shown in this Tut.

I've ran into a small problem.  I see in the thread this exact problem a few times, but no answers.

Screen Shot Attached....

Anyone know how to fix this??
Title: Re: [TUTORIAL] Add a new race
Post by: Gnollpaw on March 03, 2013, 03:47:36 pm
I saw this a while ago on Ownedcore. Are you the same author or somebody else?
Title: Re: [TUTORIAL] Add a new race
Post by: Systemfre on March 04, 2013, 02:24:21 pm
Hey I'm new to modding and I ran into a little problem.

When I open the DBC files in Notepad++ all I get is NUL values, why is this?

EDIT:

I would post a pic but it seems I am unable to because of my low postcount
Title: Re: [TUTORIAL] Add a new race
Post by: schlumpf on March 04, 2013, 02:43:38 pm
Quote from: "Systemfre"
When I open the DBC files in Notepad++ all I get is NUL values, why is this?
DBCs are binary files. Opening them in a text editor will only result in breaking them.
Title: Re: [TUTORIAL] Add a new race
Post by: Systemfre on March 04, 2013, 03:34:20 pm
Oh right.

well I looked around and found some DBC editing files.

But when I get to opening the CharBaseInfo.dbc it crashes and says invalid fieldsize 1.

what does that mean?
Title: Re: [TUTORIAL] Add a new race
Post by: Moridhin on March 04, 2013, 03:41:44 pm
you should try dbcutil to convert it into .csv file.
Title: Re: [TUTORIAL] Add a new race
Post by: Systemfre on March 04, 2013, 04:07:25 pm
Thanks Moridhin
That works :D

EDIT:

New problem!

How do I do the next part so I can find the GlueXML cause the tutorial linked is broken.
Title: Re: [TUTORIAL] Add a new race
Post by: Systemfre on March 04, 2013, 05:23:35 pm
New question.

How do I turn off the Read-Only thingy in my MPQ editor so I can change the GlueStrings.lua?
cause atm I can't add or take from the MPQ
Title: Re: [TUTORIAL] Add a new race
Post by: osler on March 04, 2013, 05:31:14 pm
Secondary button->Properties->security->Edit
And give all the permissions for yout user group.
But it´s not recomended to edit blizz MPQs, you should make one new.
Title: Re: [TUTORIAL] Add a new race
Post by: Systemfre on March 04, 2013, 06:11:03 pm
Well I made a new one as you suggested and all that blah blah blah.

so I saved and opened WoW and uh... well...

The orc selection moved to the alliance side o.O

what'd I do wrong?

EDIT: Character creation wont even open now
Title: Re: [TUTORIAL] Add a new race
Post by: osler on March 04, 2013, 06:23:36 pm
Could be lots of errors. Paste your modified files in pastebien or wherever
Title: Re: [TUTORIAL] Add a new race
Post by: dane2009 on April 13, 2013, 06:08:11 am
would be nice if somebody could update this or share how they got it to work
Title: Re: [TUTORIAL] Add a new race
Post by: mathex on April 23, 2013, 10:08:08 pm
I've now tried to accomplish adding the goblin and fel orc race to my custom patch but every time I get to this point:

(http://i.imgur.com/dbZbCAx.png)

And I can't seem to figure what I did wrong, I double checked I did everything the guide said and still there's a mistake somewhere... If someone could help me it'd be very good, thank you :-)

Pastebins for my files:
CharacterCreate.lua = http://pastebin.com/xtf4RGjj (http://pastebin.com/xtf4RGjj" onclick="window.open(this.href);return false;)
CharacterCreate.xml = http://pastebin.com/TTUtPQRW (http://pastebin.com/TTUtPQRW" onclick="window.open(this.href);return false;)
GlueStrings.lua = http://pastebin.com/8pWSNCDR (http://pastebin.com/8pWSNCDR" onclick="window.open(this.href);return false;)
Title: Re: [TUTORIAL] Add a new race
Post by: heimday on May 04, 2013, 09:05:01 pm
Hello (first sorry my english).

I have a question.

I am making a patch for wow 3.3.5a. In this patch, I want to add new races (worgen, goblin from cata, high elves, etc...). is correct this:

{
    RACE_HUMAN          = 1,
    RACE_ORC            = 2,
    RACE_DWARF          = 3,
    RACE_NIGHTELF       = 4,
    RACE_UNDEAD_PLAYER  = 5,
    RACE_TAUREN         = 6,
    RACE_GNOME          = 7,
    RACE_TROLL          = 8,
    //RACE_GOBLIN         = 9,
    RACE_BLOODELF       = 10,
    RACE_DRAENEI        = 11,
    //RACE_FEL_ORC        = 12,
    //RACE_NAGA           = 13,
    RACE_BROKEN         = 14,
    //RACE_SKELETON       = 15,
    //RACE_VRYKUL         = 16,
    //RACE_TUSKARR        = 17,
    RACE_FOREST_TROLL   = 18,
    //RACE_TAUNKA         = 19,
    //RACE_NORTHREND_SKELETON = 20,
    //RACE_ICE_TROLL      = 21
    RACE_GOBLINCATA     = 22,
    RACE_WORGEN           = 23,
    RACE_HIGHELF      = 24,
    RACE_DEATHELF     = 25
};

// max+1 for player race
#define MAX_RACES         26


______________

I heard that max_races is 21, Can i select 26? o could be a problem.

Thanks and sorry for my english.
Title: Re: [TUTORIAL] Add a new race
Post by: Gabonza on June 02, 2013, 03:36:15 pm
Nice tutorial :) thnx
Title: Re: [TUTORIAL] Add a new race
Post by: drake135 on June 08, 2013, 08:52:48 am
every time i try to open CharBaseInfo it keeps giving Invalid fieldsize: 1. i have tryed other Dbc editors but nothings working.
Title: Re: [TUTORIAL] Add a new race
Post by: noc on June 08, 2013, 01:18:36 pm
You must use DBCUtil.exe (http://code.google.com/p/cntc2/downloads/detail?name=DBCUtil.rar&can=2&q=) to work with non-standard files.
Title: Re: [TUTORIAL] Add a new race
Post by: drake135 on June 09, 2013, 08:29:20 am
ok. i have 2 more problems now. first when it said i should have the 2 races added when i went into the game nothing change. i added the files to the server. i am using trinity for my server not mangos. tried running mangos but i couldnt connect to the mysql. which brings me to my second problem, i tried to go on and solve the first problem later but i dont know how to with trinity. should i just try to get mangos working and forget trinity or does it make a difference. thanks for everything.
Title: Re: [TUTORIAL] Add a new race
Post by: HellHoundFTW on October 13, 2013, 05:40:47 am
What DBC editor are you guys using? im using Taliis, but it seems i cant add a new row with it, HALP!
Title: Re: [TUTORIAL] Add a new race
Post by: kojak488 on October 13, 2013, 10:05:17 pm
MyDbcEditor
Title: Re: [TUTORIAL] Add a new race
Post by: Rent on November 06, 2013, 09:13:20 pm
Quote from: "kojak488"
MyDbcEditor

You need to train someone.
Title: Re: [TUTORIAL] Add a new race
Post by: jcarter on November 18, 2013, 11:24:22 pm
Quote from: "HellHoundFTW"
What DBC editor are you guys using? im using Taliis, but it seems i cant add a new row with it, HALP!

Taliis works fine.  Just select the row, right click, and hit clone selected row.
Title: Re: [TUTORIAL] Add a new race
Post by: Mr. DK on November 19, 2013, 01:23:20 am
NEVER EVER EVER EVER use Taliis.

Use Mydbc editor!

TAliis is outdated as hell and kills nearly 60% of all your data on editing them!
Title: Re: [TUTORIAL] Add a new race
Post by: Gurluas on May 25, 2014, 08:08:35 am
Anyone got a fix for the black login screen yet?
Everything seems to check out. I don't know what's causing this.

Why is there no documentation whatsoever on this shit?!
Title: Re: [TUTORIAL] Add a new race
Post by: Simping on May 25, 2014, 12:17:47 pm
I had been struggling with that problem as well, but then I came across this guide on EmuDevs: emudevs(dot)com/showthread(dot)php/121-How-to-Custom-Races
It seems like the site is down at the moment, so I can explain what to do here.


Open up GlueParent.lua and search for:
Code: [Select]
GlueAmbienceTracks["DEATHKNIGHT"] = "GlueScreenIntro";Then under that you want to add this line if you added the Goblin race. Do the same thing for all the other races that you added.
Code: [Select]
GlueAmbienceTracks["GOBLIN"] = "GlueScreenIntro";

Then search for:
Code: [Select]
   DEATHKNIGHT = {
        {1,     0,  0.00000,        0.00000,        -1.00000,   1.0,    0.38824,    0.66353,    0.76941,    1.0,    0.00000,    0.00000,    0.00000},
    },
and add this below:
Code: [Select]
GOBLIN = {        
        {1,     0,  0.00000,        0.00000,        -1.00000,   1.0,    0.15000,    0.15000,    0.15000,    1.0,    0.00000,    0.00000,    0.00000},
        {1,     0,  -0.74919,       0.35208,        -0.56103,   1.0,    0.00000,    0.00000,    0.00000,    1.0,    0.44706,    0.54510,    0.73725},
        {1,     0,  0.53162,        -0.84340,       0.07780,    1.0,    0.00000,    0.00000,    0.00000,    2.0,    0.55,       0.338625,   0.148825},
    },
Do the same thing for any other races you added.


Then search for:
Code: [Select]
function SetBackgroundModel(model, name)This is where you set the backgrounds. Replace the whole function with this:
Code: [Select]
function SetBackgroundModel(model, name)
    local nameupper = strupper(name);

if (name == "Goblin" or name == "GOBLIN") then
name = "Orc";
end

    local path = "Interface\Glues\Models\UI_"..name.."\UI_"..name..".m2";
if ( model == CharacterCreate ) then
SetCharCustomizeBackground(path);
else
SetCharSelectBackground(path);
end
PlayGlueAmbience(GlueAmbienceTracks[nameupper], 4.0);
SetLighting(model, nameupper)
end
That will set the Goblin's background to the Orc one.
And like I said previously, do the same thing for any other races that you added. ;)
After that your races should have a working background!

The credit goes to Mathex on EmuDevs!
Title: Re: [TUTORIAL] Add a new race
Post by: Gurluas on May 25, 2014, 12:27:16 pm
I already did that, it's still black.
And for all races.
Title: Re: [TUTORIAL] Add a new race
Post by: Nacho on November 16, 2014, 03:53:03 am
I have a question about this guide: if not mistaken, considering what I read, this guide is to create and keep in the database a new race.
But I wonder how would succeed to the new playable race is really in the game? you make it through an aura? or adding to the character creation screen? And if one of these two options were correct, how you would?
Thanks for your time guys.
Title: Re: [TUTORIAL] Add a new race
Post by: phantomx on November 16, 2014, 11:05:41 am
Quote from: "Nacho"
I have a question about this guide: if not mistaken, considering what I read, this guide is to create and keep in the database a new race.
But I wonder how would succeed to the new playable race is really in the game? you make it through an aura? or adding to the character creation screen? And if one of these two options were correct, how you would?
Thanks for your time guys.

You're either lying about reading the guide or didn't read everything.

This is a guide on how to active inactive races within the game.

These races must be defined for them to be activated.

This guide shows you how to activate the Goblin and Fel Orc races and make them playable and attach them to a faction and enable classes on them.

With that you should be able to use your head and activate the rest of the races and add factions and classes to them.
Title: Re: [TUTORIAL] Add a new race
Post by: Nacho on November 16, 2014, 12:03:51 pm
Quote from: "phantomx"
Quote from: "Nacho"
I have a question about this guide: if not mistaken, considering what I read, this guide is to create and keep in the database a new race.
But I wonder how would succeed to the new playable race is really in the game? you make it through an aura? or adding to the character creation screen? And if one of these two options were correct, how you would?
Thanks for your time guys.

You're either lying about reading the guide or didn't read everything.

This is a guide on how to active inactive races within the game.

These races must be defined for them to be activated.

This guide shows you how to activate the Goblin and Fel Orc races and make them playable and attach them to a faction and enable classes on them.

With that you should be able to use your head and activate the rest of the races and add factions and classes to them.

Tell me why you take this so serious? Why you get rude and angry so easily?
I'm going to be clear: i'm a noob on this things, i came here to learn something about it.
Don't be rude with me by an internet forum, is not only discourteous, is coward also because you don't say those things personally.

Going back to the topic, i ask how models become playable in-game. How they appear? Need create an aura? need create an empty space for that in the character creation screen?
That's all. Cya.
Title: Re: [TUTORIAL] Add a new race
Post by: phantomx on November 16, 2014, 07:19:28 pm
Quote from: "Nacho"
Tell me why you take this so serious? Why you get rude and angry so easily?
I'm going to be clear: i'm a noob on this things, i came here to learn something about it.
Don't be rude with me by an internet forum, is not only discourteous, is coward also because you don't say those things personally.

Going back to the topic, i ask how models become playable in-game. How they appear? Need create an aura? need create an empty space for that in the character creation screen?
That's all. Cya.

You're to arrogant to notice that I did tell you the answer you were looking for and some how I came off as serious and angry?

I assure I'm not angry or serious, this is a hobby not a job and I come here to help people and if for some reason that came off to you as serious or angry then that's on you.

If you actually took the time to read the entire guide you would see that he explains how the races become playable... None of this "Need create an aura" crap.... Just read the guide everything you need to know is covered....

Also just in case that you are this isn't for a repack user, you have to compile the server yourself to be able to to do this.

So again l say read/follow the guide and you will be able to activate all the playable races and well play them...
Title: Re: [TUTORIAL] Add a new race
Post by: Nacho on November 16, 2014, 08:14:46 pm
Quote from: "phantomx"
Quote from: "Nacho"
Tell me why you take this so serious? Why you get rude and angry so easily?
I'm going to be clear: i'm a noob on this things, i came here to learn something about it.
Don't be rude with me by an internet forum, is not only discourteous, is coward also because you don't say those things personally.

Going back to the topic, i ask how models become playable in-game. How they appear? Need create an aura? need create an empty space for that in the character creation screen?
That's all. Cya.

You're to arrogant to notice that I did tell you the answer you were looking for and some how I came off as serious and angry?

I assure I'm not angry or serious, this is a hobby not a job and I come here to help people and if for some reason that came off to you as serious or angry then that's on you.

If you actually took the time to read the entire guide you would see that he explains how the races become playable... None of this "Need create an aura" crap.... Just read the guide everything you need to know is covered....

Also just in case that you are this isn't for a repack user, you have to compile the server yourself to be able to to do this.

So again l say read/follow the guide and you will be able to activate all the playable races and well play them...
and yet, do not answer if you need to add the race in the character creation screen, which is one of my main questions and a point that the guide does not mention.
You were rude from the start for no reason, creating your own prejudiced assumptions. I am someone with a simple question, and you acted almost as if I had insulted your mom.
Seriously dude, take it more calmly, you're not seeing the whole picture.

And if you still want to continue arguing with me, do it for PM. This forum is not for this sort of thing. I just looking for a simple answer to a technical question.
Title: Re: [TUTORIAL] Add a new race
Post by: phantomx on November 16, 2014, 10:48:37 pm
I'm not arguing with you... the guide tells you how to add them in the character creation screen if you read it...

You edit the LUA, XML and dbc files for it to show on the creation screen which the guide does cover...
Title: Re: [TUTORIAL] Add a new race
Post by: Nacho on November 16, 2014, 11:47:50 pm
Quote from: "phantomx"
I'm not arguing with you... the guide tells you how to add them in the character creation screen if you read it...

You edit the LUA, XML and dbc files for it to show on the creation screen which the guide does cover...

Thank you, that's was all i need to know. Sorry if i didn't see before.
Title: Re: [TUTORIAL] Add a new race
Post by: blizzblack on July 26, 2015, 12:34:03 pm
Good I have a question I want to add worgen and goblin cataclysm. Now I have the models in a custom patch for 3.3.5, and placed correctly in the DBC. Where not understand is GluXML editing?
For breeds that are already as fel orc, naga etc .. I have no problem but for the two new races as I do for identifying the models in the GlueXML. We should add any additional line when a new eye new breed not already default to wow 3.3.5

I tried the same as in the tutorial but I get a GlueDialog.lua error. If I remove the patch GlueStrings.lua not I get the error.

Here I leave my files Lua yxml edited .

I hope you can help me thank you very much in advance.
Title: Re: [TUTORIAL] Add a new race
Post by: soliant on November 27, 2016, 01:08:01 pm
Hello,

I create 2 new races (Naga and Forest troll) with this tutorial.

Problem when I launch my "mangos.exe" (WotLK 3.3.5a ver.12340), It say "wrong race XX in xxxxxxtable".

No crash and client launch every races except these I add just "races not available"

Someone can help me ? [sorry bad english I'm french].
Title: Re: [TUTORIAL] Add a new race
Post by: MaxtorTheBadCoder on September 19, 2017, 11:34:55 am
Sorry? but I have an error/
Too many races! Update MAX_RACES
But I have Max_races 12

You have to change it to Max_races 13 to work  ;) ;)