BROUILLON
Comment rajouter un emote en jeu.
Cet article concerne les détails techniques et sont propres à la base Nel et le client Ryzom associé. Voir aussi l'article de gamedesign sur les emotes et celui sur leur gameplay pour l'implémentation en jeu.
2 fichiers dans les data du server :leveldesign/game_element/emotes/
list.emot :
C'est la liste brute des emotes
<ATOM Value="drunk"/>
list.text_emotes
C'est le detail des emotes pour la difference entre ciblé personne , une creature ou soi meme
<STRUCT> <ATOM Name="Phrase With Target To The Crowd" Value="EMOTE_DRUNK_TARGET"/> <ATOM Name="Phrase With Target To The Actor" Value="EMOTE_DRUNK_TARGET"/> <ATOM Name="Phrase With Target To The Target" Value="EMOTE_DRUNK_TARGET"/> <ATOM Name="Phrase Without Target To The Crowd" Value="EMOTE_DRUNK_NOBODY"/> <ATOM Name="Phrase Without Target To The Actor" Value="EMOTE_DRUNK_NOBODY"/> <ATOM Name="Phrase Self Target To The Actor" Value="EMOTE_DRUNK_SELF"/> <ATOM Name="Phrase Self Target To The Crowd" Value="EMOTE_DRUNK_SELF"/> <ATOM Name="Access Path" Value="uiEM_Emotes|uiEM_NeuGes|uiEM_Drunk"/> <ATOM Name="EmoteId" Value="Drunk"/> <ATOM Name="Animation" Value="drunk"/> </STRUCT>
- code\ryzom\server\data_shard\language\phrase_en.txt
- code\ryzom\common\data_leveldesign\leveldesign\game_element\anim\anim_set\homin
leveldesign/DFN/game_elem/_anim/animation_set.dfn
leveldesign/DFN/game_elem/_anim/animation_state.dfn
leveldesign/game_element/anim/anim_set/homin/fy_hof/fy_hof_default.animation_set
leveldesign/game_element/anim/anim_set/homin/fy_hom/fy_hom_default.animation_set
<STRUCT Name="drunk"> <ARRAY Name="animations"> <STRUCT> <ATOM Name="filename" Value="fy_hof_emote_drunk.anim"/> <ATOM Name="head controlable" Value="false"/> </STRUCT> </ARRAY> </STRUCT>
Une liste d'émotes avec correspondance est établie dans la partie Common :
code/ryzom/common/src/game_share/scenario.cpp
void CEmoteBehavior::load() const { _EmotesMap["Absentminded"] = "afk" ; _EmotesMap["Adventurous"] = "impatient" ; _EmotesMap["Aggressive"] = "roar" ; _EmotesMap["Agree"] = "agree" ; _EmotesMap["Alert"] = "alert" ; ...
Cela semble être redondant avec leslistes établies dans la datasheet list.text_emotes
... <ATOM Name="EmoteId" Value="Adventurous"/> <ATOM Name="Animation" Value="impatient"/> ...
Il faudrait voir si on ne peut pas construire ce dictionnaire dynamiquement par cette fonction. Pour éviter que les émotes puissent être accessibles directement à tous, celles qui sont réservées à des usages précis (objets consommables par exemple), on peut les exclure aisément car il existe dans list.text_emotes
un champ de discrimination :
<ATOM Name="Usable From Client UI" Value="false"/>
À l'étude
- code\ryzom\common\src\game_share\emote_list_parser.cpp
- en.uxt in the client, data/gamedev.bnp
Pour les emotes “basiques”, la nomenclature actuelle se base sur le modèle fyros (fy_
), soit femelle (hof_
) soit mâle (hom_
), puis la précision d'un objet tenu en main ou nom (_a_
ou rien) et enfin le nom de l'animation.
La liste ci-dessus liste les emotes courants, déjà disponibles dans ryzom. Il y a d'autres animations disponibles qui pourraient être transformé en emote mais ça demandera peut-être un peu plus de boulot ?
Liste en cours, ne mettez pas ça tel quel en jeu.
Ce qu'il y a à voir :
Animations ayant une version “avec objet tenu en main droite” et une version “sans objet tenu” ; pour les quelques unes où il manque “sans objet tenu”, le fait d'avoir un poing serré ne gêne pas.
Raccourcis à adapter.
.anim pour femme avec objet tenu | .anim pour femme sans objet | Raccourci anglais | Raccourci français |
---|---|---|---|
fy_hof_emot_a_afk_loop.anim | fy_hof_emot_afk_loop.anim | afk | afk |
fy_hof_emot_a_afk.anim | fy_hof_emot_afk.anim | sleep | somnole |
fy_hof_emot_a_angry.anim | fy_hof_emot_angry.anim | angry | colere |
fy_hof_emot_a_appeler.anim | fy_hof_emot_appeler.anim | come | viens |
fy_hof_emot_a_blush.anim | fy_hof_emot_blush.anim | blush | timide |
fy_hof_emot_a_bow.anim | fy_hof_emot_bow.anim | bow | incline |
fy_hof_emot_a_bye.anim | fy_hof_emot_bye.anim | bye | salut |
fy_hof_emot_a_calme.anim | fy_hof_emot_calme.anim | calm | calme |
fy_hof_emot_a_cheer.anim | fy_hof_emot_cheer.anim | cheer | acclame |
fy_hof_emot_a_chut.anim | fy_hof_emot_chut.anim | shh | chut |
fy_hof_emot_a_cry.anim | fy_hof_emot_cry.anim | cry | pleure |
fy_hof_emot_a_dance.anim | fy_hof_emot_dance.anim | dance | danse |
fy_hof_emot_a_folow.anim | fy_hof_emot_folow.anim | folow | suivez |
fy_hof_emot_a_gesture.anim | fy_hof_emot_gesture.anim | threaten | menace |
fy_hof_emot_a_giggle.anim | fy_hof_emot_giggle.anim | giggle | moquer |
fy_hof_emot_a_impatient.anim | fy_hof_emot_impatient.anim | impatient | impatient |
fy_hof_emot_a_kiss.anim | fy_hof_emot_kiss.anim | kiss | bisou |
fy_hof_emot_a_kneel.anim | fy_hof_emot_kneel.anim | kneel | genou |
fy_hof_emot_a_laisse_moi.anim | fy_hof_emot_laisse_moi.anim | shoo | ouste |
fy_hof_emot_a_non.anim | no | non | |
fy_hof_emot_a_oui.anim | yes | oui | |
fy_hof_emot_a_pointer.anim | fy_hof_emot_pointer.anim | point | pointer |
fy_hof_emot_a_roar.anim | fy_hof_emot_roar.anim | roar | rugit |
fy_hof_emot_a_rofl.anim | fy_hof_emot_rofl.anim | laugh | rire |
fy_hof_emot_a_shootpoussiere.anim | shoot | coupdepied | |
fy_hof_emot_a_smile.anim | fy_hof_emot_smile.anim | proud | fier |
fy_hof_emot_a_sorry.anim | fy_hof_emote_sorry.anim | sorry | excuse |
fy_hof_emot_a_veto.anim | fy_hof_emote_veto.anim | veto | refus |
fy_hof_emot_a_victory.anim | fy_hof_emote_victory.anim | victory | victoire |
fy_hof_emot_a_yea.anim | fy_hof_emot_yea.anim | cool | cool |
.anim pour femme sans objet | Raccourci anglais | Raccourci français |
---|---|---|
fy_hof_emote_alert.anim | ||
fy_hof_emote_ashemed.anim | ||
fy_hof_emote_beta_testeur.anim | ||
fy_hof_emote_burp.anim | ||
fy_hof_emote_cold.anim | ||
fy_hof_emote_danse_russe.anim | ||
fy_hof_emote_danse_yeye.anim | ||
fy_hof_emote_discreet.anim | ||
fy_hof_emote_doubtful.anim | ||
fy_hof_emote_dramatic.anim | ||
fy_hof_emote_drunk.anim | ||
fy_hof_emote_exercise.anim | ||
fy_hof_emote_fearful.anim | ||
fy_hof_emote_firm.anim | ||
fy_hof_emote_guilty.anim | ||
fy_hof_emote_heroic.anim | ||
fy_hof_emote_hungry.anim | ||
fy_hof_emote_indifferent.anim | ||
fy_hof_emote_interested.anim | ||
fy_hof_emote_over.anim | ||
fy_hof_emote_petulant.anim | ||
fy_hof_emote_playfull.anim | ||
fy_hof_emote_pointback.anim | ||
fy_hof_emote_pointleft.anim | ||
fy_hof_emote_pointright.anim | ||
fy_hof_emote_pompous.anim | ||
fy_hof_emote_praying.anim | ||
fy_hof_emote_puzzled.anim | ||
fy_hof_emote_relaxed.anim | ||
fy_hof_emote_relieved.anim | ||
fy_hof_emote_revengeful.anim | ||
fy_hof_emote_rice.anim | ||
fy_hof_emote_righteous.anim | ||
fy_hof_emote_serious.anim | ||
fy_hof_emote_shifty.anim | ||
fy_hof_emote_shocked.anim | ||
fy_hof_emote_silly.anim | ||
fy_hof_emote_sincerely.anim | ||
fy_hof_emote_sleepy.anim | ||
fy_hof_emote_smack.anim | ||
fy_hof_emote_squeamish.anim | ||
fy_hof_emote_surprised.anim | ||
fy_hof_emote_suspicious.anim | ||
fy_hof_emote_thirsty.anim | ||
fy_hof_emote_unwilling.anim | ||
fy_hof_emote_victory02.anim | ||
fy_hof_emote_welcome.anim | ||
fy_hof_emote_wicked.anim | ||
fy_hof_emote_youandme.anim |
.anim pour femme | Raccourci anglais | Raccourci français |
---|---|---|
fy_hom_emo_angry.anim | ||
fy_hom_emo_kiss.anim | ||
fy_hom_emo_sad.anim | ||
fy_hom_emo_smile.anim | ||
fy_hom_emo_surprised.anim | ||
fy_hom_emo_unhappy.anim | ||
fy_hom_emo_wink.anim |
.anim pour homme avec objet tenu | .anim pour homme sans objet | Raccourci anglais | Raccourci français |
---|---|---|---|
fy_hom_emot_a_afk_loop.anim | fy_hom_emot_afk_loop.anim | afk | afk |
fy_hom_emot_a_afk.anim | fy_hom_emot_afk.anim | sleep | somnole |
fy_hom_emot_a_angry.anim | fy_hom_emot_angry.anim | angry | colere |
fy_hom_emot_a_appeler.anim | fy_hom_emot_appeler.anim | come | viens |
fy_hom_emot_a_blush.anim | fy_hom_emot_blush.anim | blush | timide |
fy_hom_emot_a_bow.anim | fy_hom_emot_bow.anim | bow | incline |
fy_hom_emot_a_bye.anim | fy_hom_emot_bye.anim | bye | salut |
fy_hom_emot_a_calme.anim | fy_hom_emot_calme.anim | cheer | acclame |
fy_hom_emot_a_cheer.anim | fy_hom_emot_cheer.anim | shh | chut |
fy_hom_emot_a_chut.anim | fy_hom_emot_chut.anim | cry | pleure |
fy_hom_emot_a_cry.anim | fy_hom_emot_cry.anim | dance | danse |
fy_hom_emot_a_dance.anim | fy_hom_emot_dance.anim | folow | suivez |
fy_hom_emot_a_follow.anim | fy_hom_emot_follow.anim | threaten | menace |
fy_hom_emot_a_gesture.anim | fy_hom_emot_gesture.anim | giggle | moquer |
fy_hom_emot_a_gigle.anim | fy_hom_emot_giggle.anim | impatient | impatient |
fy_hom_emot_a_impatient.anim | fy_hom_emot_impatient.anim | kiss | bisou |
fy_hom_emot_a_kiss.anim | fy_hom_emot_kiss.anim | kneel | genou |
fy_hom_emot_a_kneel.anim | fy_hom_emot_kneel.anim | shoo | ouste |
fy_hom_emot_a_laisse_moi.anim | fy_hom_emot_laisse_moi.anim | no | non |
fy_hom_emot_a_non.anim | yes | oui | |
fy_hom_emot_a_oui.anim | point | pointer | |
fy_hom_emot_a_pointer.anim | fy_hom_emot_pointer.anim | roar | rugit |
fy_hom_emot_a_roar.anim | fy_hom_emot_roar.anim | laugh | rire |
fy_hom_emot_a_rofl.anim | fy_hom_emot_rofl.anim | shoot | coupdepied |
fy_hom_emot_a_shootpoussiere.anim | proud | fier | |
fy_hom_emot_a_smile.anim | fy_hom_emot_smile.anim | sorry | excuse |
fy_hom_emot_a_sorry.anim | fy_hom_emot_sorry.anim | veto | refus |
fy_hom_emot_a_veto.anim | fy_hom_emot_veto.anim | victory | victoire |
fy_hom_emot_a_victory.anim | fy_hom_emot_victory.anim | cool | cool |
fy_hom_emot_a_yeah.anim | fy_hom_emot_yeah1.anim |
.anim pour homme sans objet | Raccourci anglais | Raccourci français |
---|---|---|
fy_hom_emote_alert.anim | ||
fy_hom_emote_ashemed.anim | ||
fy_hom_emote_beta_testeur.anim | ||
fy_hom_emote_burp.anim | ||
fy_hom_emote_cold.anim | ||
fy_hom_emote_danse_russe.anim | ||
fy_hom_emote_danse_yeye.anim | ||
fy_hom_emote_discreet.anim | ||
fy_hom_emote_doubtful.anim | ||
fy_hom_emote_dramatic.anim | ||
fy_hom_emote_drunk.anim | ||
fy_hom_emote_exercise.anim | ||
fy_hom_emote_fearful.anim | ||
fy_hom_emote_firm.anim | ||
fy_hom_emote_guilty.anim | ||
fy_hom_emote_heroic.anim | ||
fy_hom_emote_hungry.anim | ||
fy_hom_emote_indifferent.anim | ||
fy_hom_emote_interested.anim | ||
fy_hom_emote_over.anim | ||
fy_hom_emote_petulant.anim | ||
fy_hom_emote_playfull.anim | ||
fy_hom_emote_pointback.anim | ||
fy_hom_emote_pointleft.anim | ||
fy_hom_emote_pointright.anim | ||
fy_hom_emote_pompous.anim | ||
fy_hom_emote_praying.anim | ||
fy_hom_emote_puzzled.anim | ||
fy_hom_emote_relaxed.anim | ||
fy_hom_emote_relieved.anim | ||
fy_hom_emote_revengeful.anim | ||
fy_hom_emote_rice.anim | ||
fy_hom_emote_righteous.anim | ||
fy_hom_emote_serious.anim | ||
fy_hom_emote_shifty.anim | ||
fy_hom_emote_shocked.anim | ||
fy_hom_emote_silly.anim | ||
fy_hom_emote_sincerely.anim | ||
fy_hom_emote_sleepy.anim | ||
fy_hom_emote_smack.anim | ||
fy_hom_emote_sorry.anim | ||
fy_hom_emote_squeamish.anim | ||
fy_hom_emote_surprised.anim | ||
fy_hom_emote_suspicious.anim | ||
fy_hom_emote_thirsty.anim | ||
fy_hom_emote_unwilling.anim | ||
fy_hom_emote_victory.anim | ||
fy_hom_emote_victory02.anim | ||
fy_hom_emote_welcome.anim | ||
fy_hom_emote_wicked.anim | ||
fy_hom_emote_youandme.anim | ||
fy_hof_emote_unwilling.anim | ||
fy_hof_emote_victory02.anim | ||
fy_hof_emote_welcome.anim | ||
fy_hof_emote_wicked.anim | ||
fy_hof_emote_youandme.anim |
.anim pour homme | Raccourci anglais | Raccourci français |
---|---|---|
fy_hom_emo_angry.anim | ||
fy_hom_emo_kiss.anim | ||
fy_hom_emo_sad.anim | ||
fy_hom_emo_smile.anim | ||
fy_hom_emo_surprised.anim | ||
fy_hom_emo_unhappy.anim | ||
fy_hom_emo_wink.anim |
La hiérarchie suivante, proposée pour le client, demande à être affinée, et il faudra trouver les bons noms pour chaque section. Les noms sont ceux des .anim sans les mentions de race, genre, etc.