Tutoriel en cours de création
Nous ne traitons ici que l'aspect Datasheet. La création graphique et l'implémentation dans un fichier de Primitives pour l'instanciation dans le monde seront traités à part.
Nous allons cette fois partir du principe que nous développons une faune complète, et allons donc envisager notre système de datasheet de façon à avoir des héritages qui soient pratiques.
Le but est de créer un type de petits crabes inoffensifs (ou presque), les tupa. Nous allons créer un modèle adulte, simple, que l'on croisera dans le Delta.
Nous allons déjà étudier comment cela se combine pour l'exemple fourni par Ryzom Core et son Yubo, avec le fichier chdfa1.creature.
On trouve le fichier dans /leveldesign/game_elem/creature/fauna/bestiary/forest
1) et il contient comme héritages imbriqués:
Nous voyons tout de suite que les fichiers _formuli.creature et _ai_herbivore_craintif.creature peuvent nous être utiles. Nous verrons par la suite si nous voulons créer un fichier spécial d'IA pour nos tupas, auquel cas nous générerons un fichier distinct que nous appellerons en remplacement de celuic-i.
Nous ne prévoyons pas de niveaux très variés, mais envisageons tout de même plusieurs types de tupa à l'avenir, selon leur âge, par exemple, ou peut-être de subtiles variations de variété. On peut donc définir pour l'instant que nous créerons donc les fichiers suivants :
Nous allons créer nos fichiers dans l'ordre de descente des héritages, en partant du plus élevé dans la hiérarchie. Nous procéderons donc comme suit, si l'on indique où chacun des fichiers ira, afin de pouvoir le réutiliser pour d'autres créatures, le but de l'héritage étant la mutualisation pour économiser le système.
Nous allons prendre les datasheets du pendo comme base de travail pour faire un poper un autre herbivore : arma
Dans les data-serveurs :
$leveldesign$/Game_elem/Creature/fauna/bestiary/forest/chdfa1.creature
Changer en arma01.creature
Ouvrir le fichier : arma01.creature
remplace <PARENT Filename="_dag_for.creature"/> avec <PARENT Filename="_arma_for.creature"/>
$leveldesign$/Game_elem/Creature/fauna/Ecosystem/forest/_dag_for.creature
Changer en _arma_for.creature
Ouvrir le fichier : _arma_for.creature
Remplace <PARENT Filename="_dag.creature"/> Avec <PARENT Filename="_arma.creature"/>
$leveldesign$/Game_elem/Creature/fauna/Parent_creature_prototype/_dag.creature
Changer en _arma.creature
Ouvrir le fichier : _arma.creature
remplacer dans la struture Basics <ATOM Name="Race" Value="dag"/> avec <ATOM Name="Race" Value="arma"/>
Et remplace la structure de l'équipement avec :
<STRUCT Name="Equipment"> <STRUCT Name="Body"> <ATOM Name="Item" Value="arma_chest.item"/> </STRUCT> <STRUCT Name="Legs"> <ATOM Name="Item" Value="medium_slashing_legs.item"/> </STRUCT> <STRUCT Name="Arms"> <ATOM Name="Item" Value="medium_slashing_arms.item"/> </STRUCT> <STRUCT Name="Hands"> <ATOM Name="Item" Value="medium_slashing_hands.item"/> </STRUCT> <STRUCT Name="Feet"> <ATOM Name="Item" Value="medium_slashing_feet.item"/> </STRUCT> <STRUCT Name="Head"> <ATOM Name="Item" Value="medium_slashing_head.item"/> </STRUCT> </STRUCT>
Remplace le Skel, AnimSetBaseName et LodCharacterName dans 3d data :
<ATOM Name="Skel" Value="TR_MO_Arma.skel"/> <ATOM Name="AnimSetBaseName" Value="arma"/> <ATOM Name="LodCharacterName" Value="TR_MO_arma_LOD"/>
$leveldesign$/Game_elem/items/armor/creature_armor/medium_slashing_chest.item
Changer le fichier : arma_chest.item
Ouvrir le fichier : arma_chest.item
Remplace dans : 3d
<STRUCT Name="3d"> <ATOM Name="shape" Value="TR_MO_Arma.shape"/> <ATOM Name="shape_female" Value="TR_MO_Arma.shape"/> </STRUCT>
Copier le dossier :
$leveldesign/game_element/anim/anim_set/pet/dag
Dans
$leveldesign/game_element/anim/anim_set/pet/arma
Changer ces fichiers : le dag en arma
dag.animset_mode dag_alert__.animation_set dag_combat__.animation_set dag_death__.animation_set dag_default__.animation_set dag_eat__.animation_set dag_hungry__.animation_set dag_rest__.animation_set
$leveldesign/game_element/anim/anim_set/pet/arma/arma_alert__.animation_set
$leveldesign/game_element/anim/anim_set/pet/arma/arma_combat__.animation_set
$leveldesign/game_element/anim/anim_set/pet/arma/arma_eat__.animation_set
$leveldesign/game_element/anim/anim_set/pet/arma/arma_hungry__.animation_set
Ouvrez le fichier :
$leveldesign/game_element/anim/anim_set/entities.animset_list
Rajouter la ligne : <code> <ATOM Name=“arma” Value=“arma.animset_mode”/> <code>