Outils du site

fr:nom_des_bots

Nom des bots

Pour que les Bots placés à l'aide du World Editor aient un nom correct qui s'affiche au-dessus de leur tête, en blanc, plutôt que leur nom de code indiqué dans la Primitive employée dans l'éditeur, voilà comment procéder.

Première étape : repérer le nom donné au bot

Pour cela, je me rends dans le World Editor. J'ouvre le fichier “newbieland.worldedit” qui contient les Bots dont je veux changer le nom.
Ensuite je charge la Primitive qui les contient : Project > Add Primitive et je choisis “urban_newbieland.primitive”. Dans mon exemple, il s'agit de “bland_marchand_rm” et “nbland_marchandlarmor”, les parties entre $ à la suite indiquent leurs fonction, les titres qui s'indiquent sous leur nom. Pour l'heure je ne m'en préoccupe pas.
Je peux désormais fermer World Editor.

Remarque : Pour ceux qui préfèrent travailler les fichiers xml à la main, il est aussi possible de chercher les noms des Bots dans le fichier correspondant avec un éditeur de texte, dans mon exemple, il se trouve dans :
code/ryzom/common/data_leveldesign/primitives/

Seconde étape : donner un nom de référence au bot côté serveur

Le serveur stocke les noms des Bots dans un fichier appelé “bot_name.txt”, situé dans code/ryzom/server/data_shard/language.
On peut l'ouvrir avec un éditeur de texte simple, en faisant attention à son format, qui recourt aux tabulations.
Pour l'heure, il est quasi-vide, seul Chiang a l'honneur d'avoir un nom dans le fichier fourni avec les sources officielles de Ryzom Core :

*HASH_VALUE	bot name	translated name	sheet_name	
 
_819E5006E9093123	chiang_the_strong	$gn_chiang_the_strong$	

Il y a une tabulation entre chaque champ, y compris avant le dernier, même s'il est vide, bien penser à l'inclure quand vous ajouterez des entrées.

Le code HASH du premier champs permet de garantir la différence entre deux entrées. Il suffit de le déterminer soi-même.

J'ai pris le parti de construire les noms sur le même modèle que l'exemple fourni, en ajoutant gn_ devant l'appelation retenue dans la fiche “urban_newbieland.primitive” et en les encadrant avec $
On obtient donc :

*HASH_VALUE	bot name	translated name	sheet_name	

_819E5006E9093123	chiang_the_strong	$gn_chiang_the_strong$	
_752H6DZ7CG70OSA2	bland_marchand_rm	$gn_bland_marchand_rm$	
_987HXH876RXTDV95	nbland_marchand_larmor	$gn_nbland_marchand_larmor$	

Il faut ensuite indiquer pour chaque fichier de langue la version dans la langue correspondante. Dans notre cas, nous allons nous occuper de title_words_fr.txt. On l'ouvre également avec un éditeur de texte. Il est organisé de la même façon et on va le modifier de façon similaire, mais cette fois en indiquant la valeur “translated name” qu'on a définie plus haut, sans les $. Là encore, on crée un HASH au début pour rendre la ligne unique, et on n'oublie pas les tabulations de fin de ligne.
On ajoute donc à la fin du fichier les lignes suivantes :

_87X98YD8DHZ8HYH7	gn_bland_marchand_rm	Automate générateur	
_N4I7YXC827T7H68C	gn_nbland_marchand_larmor	Automate fabriquant	

Remarque : Il est bien sûr possible (et même conseillé) d'ajouter les traductions dans tous les fichiers langues du serveur.

Ensuite, pour que le serveur recalcule les packed_sheet, on va les effacer et on le redémarre :

$ shard stop
$ cd /home/khanat/ryzomcore/code/ryzom/server/data_shard
$ rm *.packed_sheets
$ shard start

Puis on fait <Ctrl+A>,<d> pour quitter Screen et retrouver son terminal.

Troisième étape : mettre à jour son client

Pour l'heure, votre client n'est pas informé de ce patch, il faut donc lui fournir les nouveaux fichiers de langue qui ont été mis à jour sur le serveur.
Le plus simple est de transférer une copie de ces fichiers dans le sous-répertoire “user” de votre client de jeu, son contenu prenant systématiquement la préséance sur ce qui est fourni par défaut par le client.
Dans notre cas, nous n'avons qu'à copier le fichier “title_words_fr.txt”. À la prochaine connexion, nos bots auront de jolis noms au-dessus de leur tête.

fr/nom_des_bots.txt · Dernière modification: 2016/09/14 07:03 (modification externe)