« Previous - Version 2/7 (diff) - Next » - Current version
aquiles, 06/14/2010 10:19 pm


Adding Creatures

Description

So what we're going to do is to create another creature and put it (with help by the world editor) onto newbyland.

Note 1: For the sake of simplicity in this guide i oriented myself at the existing dag creature or "yubo" as called ingame. Of Course, the goal of Ryzom Core is not to rebuild the original Ryzom. But in my opinion it will take some time till we have e.g. some truly new creatures as this also relies heavily on source code additions. Until then it should be ok if we create some more samples to get to known with the whole process.

Note 2: Personally i think the current georges editor has much potential, but most times im kind of overwhelmed by the masses of editable informations.
So i switched to just open the actual xml files and edit them. I decided to do it for this guide as well which also saves me from making a lot of screenshots :) But of course you are welcome to do it all in the offical Nel tool!

Prerequisites

Look into the "Adding Game Entities" tutorial for most of the prerequisites.
Follow the "Using World Editor" tutorial to get your world editor ready.

Building sheets

Relevant yubo creature files existent in the ryzom core leveldata:

  • $leveldesign$/Game_elem/Creature/fauna/bestiary/forest/chdfa1.creature (XML)
  • $leveldesign$/Game_elem/Creature/fauna/Parent_creature_prototype/_dag.creature (XML)
  • $leveldesign$/Game_elem/Creature/fauna/Ecosystem/forest/_dag_for.creature (XML)
  • $leveldesign$/Game_elem/items/armor/creature_armor/medium_slashing_chest.item (XML)
Make a copy of each one in the respective folder and rename them to something new e.g. your desired creature name. In this tutorial ill create a "arma" creature so my renamed files are:
  • arma.creature
  • _arma.creature
  • _arma_for.creature
  • arma_chest.item

Note1: The files with the underscore ("_") in front are just parent files which are simplifying creation of more than one arma like creature by defining some general "arma" values.

Note2: For the correct file names unpack the fauna_shapes.bnp and fauna_skeletons.bnp (see "Adding Game Entities" if you dont know how to do this). There you should find a lot of creatures to start with.

Open the arma.creature file
  • replace
    1<PARENT Filename="_dag_for.creature"/>
    
    with
    1<PARENT Filename="_arma_for.creature"/>
    
  • change any stat value you want like "life"
Open the _arma_for.creature file
  • replace
    1<PARENT Filename="_dag.creature"/>
    
    with
    1<PARENT Filename="_arma.creature"/>
    
Open the _arma.creature file
  • replace in Basics struct
    1<ATOM Name="Race" Value="dag"/>
    
    with
    1<ATOM Name="Race" Value="arma"/>
    
  • replace the Equipment struct with the following
     1<STRUCT Name="Equipment">
     2  <STRUCT Name="Body">
     3    <ATOM Name="Item" Value="arma_chest.item"/>
     4  </STRUCT>
     5  <STRUCT Name="Legs">
     6    <ATOM Name="Item" Value="medium_slashing_legs.item"/>
     7  </STRUCT>
     8  <STRUCT Name="Arms">
     9    <ATOM Name="Item" Value="medium_slashing_arms.item"/>
    10  </STRUCT>
    11  <STRUCT Name="Hands">
    12    <ATOM Name="Item" Value="medium_slashing_hands.item"/>
    13  </STRUCT>
    14  <STRUCT Name="Feet">
    15    <ATOM Name="Item" Value="medium_slashing_feet.item"/>
    16  </STRUCT>
    17  <STRUCT Name="Head">
    18    <ATOM Name="Item" Value="medium_slashing_head.item"/>
    19  </STRUCT>
    20</STRUCT>
    
  • replace the Skel, AnimSetBaseName and LodCharacterName atoms in the 3d data struct with the following
    1<ATOM Name="Skel" Value="TR_MO_Arma.skel"/>
    2<ATOM Name="AnimSetBaseName" Value="arma"/>
    3<ATOM Name="LodCharacterName" Value="TR_MO_arma_LOD"/>
    
Open arma_chest.item
  • replace 3d struct with the following
    1<STRUCT Name="3d">
    2  <ATOM Name="shape" Value="TR_MO_Arma.shape"/>
    3  <ATOM Name="shape_female" Value="TR_MO_Arma.shape"/>
    4</STRUCT>
    
So far so good, now lets recreate the .packed_sheets
  • Build the sheets_id.bin with the make_sheet_id tool and copy it to the user dir in your game client dir
  • Build the .packed_sheets with the sheets_packer and copy it to the same location
  • Delete all .packed_sheets from the server/data_shard dir if existing
  • Make sure the four files we created are existing in the correct dir in your leveldesign dir and that they contain the content i explained before
  • Finally we need to add a name for our new arma
    • Edit creature_en.txt in your $server_dir$/data_shard/language folder
    • Edit creature_en.txt in your $client_dir$/user
    • Add this line at the bottom in both files (be carefull with the tabs)
_A07A5C396E75AF9C    arma    My Arma    a    the    Armas        the

Edit Newbyland

TODO

Result

  • Start your server
  • start your client, let him connect to your server and login
  • congratz! :D

Me and my arma :)

arma.png - Me and my arma :) (383.6 kB) aquiles, 06/14/2010 10:17 pm

faunaprimitive.png (11.3 kB) aquiles, 06/15/2010 11:09 pm