This is a read only copy without any forum functionality of the old Modcraft forum.
If there is anything that you would like to have removed, message me on Discord via Kaev#5208.
Big thanks to Alastor for making this copy!

Menu

Author Topic: [TUTORIAL] Add a new race  (Read 70201 times)

Khira

  • Registred Member
  • GM Isle Explorer
  • *****
  • Posts: 18
    • View Profile
[TUTORIAL] Add a new race
« 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.



  • Warning
      I'm using version 3.3.2a of World of Warcraft and a core MaNGOS 3.3.2a for my changes. Perhaps, you will need to adapte modifications.
    [/li]
    [li]Reminder
      When you edit a DBC file, you will also copy/paste the file in your server dbc folder.


    [/li]
    [li]Information
      When you edit a file, always take the most recent, ie one who is in the patch
    [official] with the highest number.[/list]

    [/li]
    [li]Information
      The interface files and DBCs are in /Data/frFR/. The models, textures, maps, ... are in /Data/
    [/li][/list]



    Summary
    • Server Side Changes
      • [MaNGOS] Core changes*
      • [MaNGOS] DB changes*

    • Client Side Changes
      • Changing the screen character creation*
      • Equipment character creation
      • Display helmets
      • Activating languages and skills
      • Activating reputations

    [/size]
    * Parts to do first.




    Files to edit

    • DataBase Files Client
      • ChrRaces.dbc
      • CharBaseInfo.dbc
      • CharStartOutfit.dbc
      • SkillLineAbility.dbc
      • SkillRaceClassInfo.dbc
      • Faction.dbc

    • Interface Files
      • GlueStrings.lua
      • CharacterCreate.lua
      • CharacterCreate.xml

    • Server Files
      • [MaNGOS] SharedDefines.h

    [/size]
    « Last Edit: January 01, 1970, 01:00:00 am by Admin »

    Khira

    • Registred Member
    • GM Isle Explorer
    • *****
    • Posts: 18
      • View Profile
    Re: Add a new race
    « Reply #1 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.


    « Last Edit: January 01, 1970, 01:00:00 am by Admin »

    Khira

    • Registred Member
    • GM Isle Explorer
    • *****
    • Posts: 18
      • View Profile
    Re: Add a new race
    « Reply #2 on: July 29, 2010, 05:33:45 pm »
    [MaNGOS] Core changes

    • Reminder
        I use a core MaNGOS 3.3.2a, you'll need to adjust this step with your version of MaNGOS or if you use another emulator.
      [/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)) )
      « Last Edit: January 01, 1970, 01:00:00 am by Admin »

      Khira

      • Registred Member
      • GM Isle Explorer
      • *****
      • Posts: 18
        • View Profile
      Re: Add a new race
      « Reply #3 on: July 29, 2010, 05:34:58 pm »
      [MaNGOS] DB changes



      • Reminder
          I use a DB for MaNGOS core 3.3.2a, you'll need to adjust with your version of your DB or your emulator.
        [/li][/list]


        • Information
            At the end of this part, and if you made the two previous parts, you should be able to create the character and enter IG
          [/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.


          « Last Edit: January 01, 1970, 01:00:00 am by Admin »

          Khira

          • Registred Member
          • GM Isle Explorer
          • *****
          • Posts: 18
            • View Profile
          Re: Add a new race
          « Reply #4 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
          « Last Edit: January 01, 1970, 01:00:00 am by Admin »

          Khira

          • Registred Member
          • GM Isle Explorer
          • *****
          • Posts: 18
            • View Profile
          Re: Add a new race
          « Reply #5 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.

          « Last Edit: January 01, 1970, 01:00:00 am by Admin »

          Khira

          • Registred Member
          • GM Isle Explorer
          • *****
          • Posts: 18
            • View Profile
          Re: Add a new race
          « Reply #6 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) 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,,,


          • Hey! And if my ID is 14 to the race? How can I do?

              Well it is the same way, by adding 0:
            Code: [Select]
            IDRace : 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1
                      1    0    0    1    0   0   0   1   0   0   1   1   0   1

          [/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.


          • Reminder
              You must do this for all Skills that you want to allow.
            [/li][/list]


            • Information
                This technique can be used on your existing races, particularly for languages.
              [/li][/list]

              More informations here : SkillLineAbility.dbc and SkillRaceClassInfo.dbc


              « Last Edit: January 01, 1970, 01:00:00 am by Admin »

              Khira

              • Registred Member
              • GM Isle Explorer
              • *****
              • Posts: 18
                • View Profile
              Re: Add a new race
              « Reply #7 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.


              • Important : With this, you will not have a complete race, you need to edit more and more files to have a "Blizzlike race".
                If you find any improvements or bugs, thank you for the report.
              « Last Edit: January 01, 1970, 01:00:00 am by Admin »

              Diemen

              • Registred Member
              • Race Changer
              • *****
              • Posts: 37
                • View Profile
              Re: [TUTORIAL] Add a new race
              « Reply #8 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 :)
              « Last Edit: January 01, 1970, 01:00:00 am by Admin »

              Eluo

              • Moderators
              • Creator of Worlds
              • *****
              • Posts: 509
                • View Profile
              Re: [TUTORIAL] Add a new race
              « Reply #9 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!
              « Last Edit: January 01, 1970, 01:00:00 am by Admin »
              One is a genius, the other\'s insane!

              Shruik

              • Contributors
              • Wiki Incarnate
              • *****
              • Posts: 121
                • View Profile
              Re: [TUTORIAL] Add a new race
              « Reply #10 on: August 27, 2010, 06:09:00 pm »
              Hope you asked the author didn´t u?
              « Last Edit: January 01, 1970, 01:00:00 am by Admin »
              "If you don´t like modelchanging, you don´t know the fascination of it"

              Supora

              • Registred Member
              • Wiki Incarnate
              • *****
              • Posts: 143
                • View Profile
              Re: [TUTORIAL] Add a new race
              « Reply #11 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
              « Last Edit: January 01, 1970, 01:00:00 am by Admin »

              anaksagor

              • Registred Member
              • MWCS Enthusiast
              • *****
              • Posts: 1
                • View Profile
              Re: [TUTORIAL] Add a new race
              « Reply #12 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
              « Last Edit: January 01, 1970, 01:00:00 am by Admin »

              MeL182

              • Registred Member
              • MS Paint Freak
              • *****
              • Posts: 3
                • View Profile
              Re: [TUTORIAL] Add a new race
              « Reply #13 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][/spoiler:17f9bkwp]
              « Last Edit: January 01, 1970, 01:00:00 am by Admin »

              Tigurius

              • Registred Member
              • Wiki Incarnate
              • *****
              • Posts: 126
                • View Profile
              Re: [TUTORIAL] Add a new race
              « Reply #14 on: March 31, 2011, 02:24:51 pm »
              wrong path to background
              « Last Edit: January 01, 1970, 01:00:00 am by Admin »