OpenNeL /Ryzom Core
Le moteur de jeu utilisé pour créer le MMORPG de Khanat. Il s'agit d'un moteur libre avec systèmes serveur et client de jeu en 3D, dont le rendu graphique est assuré par le moteur NeL. Nous avons abandonné l’usage du client pour en développer un avec le Godot Engine. Nous conservons néanmoins toute la partie serveur.
Présentation générale du système OpenNeL / Ryzom Core
OpenNeL / Ryzom Core se base sur une architecture de serveur et de clients. Les clients sont installés par les joueurs sur leur ordinateur, et le serveur désignant l’ensemble des services qui permettent de mettre tous ces clients en relation.
Lisez aussi cette présentation synthétique de l'organisation technique de OpenNeL / Ryzom Core.
Le client (abandonné par Khaganat)
Il est composé de plusieurs éléments :
- les fichiers exécutables (les programmes en eux-même) ;
- les fichiers de configuration ;
- les fichiers de données.
Les fichiers exécutables peuvent être de deux types : il existe un client standard (qui permet l’accès au jeu) et un client debug qui comporte des outils supplémentaires pour le déploiement du jeu (utilisé donc plutôt par les développeurs).
Les fichiers de configuration sont des petits fichiers (de type texte/xml) qui contiennent les paramètres d’affichage, d’accès etc. On peut les éditer depuis le client de jeu ou manuellement, avec un éditeur de texte. C’est là qu’on indique par exemple les adresses du serveur principal.
Il y a ensuite les données du jeu, à savoir les données graphiques, sonores, de localisation (traductions) et de gameplay. Elles sont en général compilées dans des fichiers .bnp qui ne sont rien d’autre que des archives un peu spéciales (une sorte de .tar). On les trouve habituellement dans le sous-répertoire /data, mais le client va les chercher dans plusieurs répertoires, dans un certain ordre (selon les indications précisées lors de la compilation du client). Le client écrase les fichiers avec des noms identiques par la dernière version lue. Par défaut, il lit en dernier le répertoire /user. On peut donc y mettre des fichiers de test pour voir les changements que cela occasionne. On n’est d’ailleurs pas obligé d’archiver les données dans un .bnp, les fichiers en l’état fonctionnement très bien, dès l’instant où ils respectent les formats standards acceptés par le jeu.
Parmi les données graphiques, on trouve surtout des .shape, des .ig et des .dds. Les deux premiers sont des fichiers 3D utilisés par le moteur de rendu du jeu (NeL), et le troisième est un format optimisé pour le rendu des jeux en 3D (on peut également utiliser du .png - ou du targa).
Il y a ensuite tout un tas de fichiers de gameplay, ce sont les Data Sheets (“DS”, qui sont sous forme binarisée pour éviter les exploits faciles) et les Primitives. Ces derniers sont les éléments de base qui permettent de construire le monde, on y définit tout. Il y a un script qui fait une sorte de compilation des Data Sheets. Ceux-ci sont des fichiers xml très hiérarchisés et standardisés qui permettent de créer les données pour gérer tous les aspects du monde par le serveur et/ou le client. On y trouve toutes les créatures décrites, toutes les compétences, tous les objets etc. Rien que dans les fichiers de définition, il y en a plusieurs centaines. Un jeu comme Ryzom peut représenter des milliers de Data Sheets au final. Il est nécessaire de générer une DS pour chaque type de matière première, de chaque qualité, de chaque pays (par exemple). Ça constitue comme une vaste encyclopédie de ce qui est possible. Les Primitives constitueraient plutôt l’atlas de ce qui existe. Elles se basent bien sûr sur les DS mais elles décrivent exactement quoi est où et comment il doit réagir/interagir. C’est là qu’on code les missions, les PNJs, les groupes de mob, les dépôts de matières premières, les conditions d’exploitation etc.
Le serveur
Ce terme désigne en fait un très grand nombre de services qui font vivre le monde. On parle habituellement d’un “shard”, qui désigne une instance du monde, comme les serveurs anglophones/germanophones/francophones d’avant fusion. Il n’y a désormais plus qu’un shard chez Winch Gate (en plus de Yubo pour les tests). La liste des services distribués est disponible.
On trouve par exemple un service qui gère les Intelligences Artificielles par continent. Le système peut déporter plein de services sur des machines annexes, il a été conçu voilà 15 ans, à un moment où les ordinateurs étaient bien moins puissants. Cela permet aussi une meilleure montée en charge. Par ailleurs, le système a été conçu pour minimiser les échanges de données. On peut jouer sans souci avec une clé 3G. C’est cette légèreté qui permet ce que même des très gros jeux ne gèrent pas toujours bien : des événements à plus de 200 joueurs en contact visuel.
Le serveur se base sur les Primitives et les Data Sheets pour gérer les interactions avec joueurs, mais lui a les données non binarisées, et il en a plus, beaucoup plus. Alors que le client n'a que les infos “statiques” (l'emplacement des bâtiments par exemple), le serveur a aussi les données de ce qui va changer (l'endroit où apparaissent les créatures par exemple). Il intègre aussi des fichiers de traduction dédiés, qui lui permettent de construire des phrases de façon dynamique, maîtrisant très bien la localisation.
Il existe un certain nombre de commandes qu’on peut rentrer sur le terminal de gestion du shard mais aussi des commandes qu’on peut rentrer dans son chat en jeu, comme la commande “/emote”. Si on a les privilèges suffisant, ça permet de faire des opérations de MJ/DEV : se téléporter, faire apparaître des créatures, des objets etc. Ce sont ces commandes qu’utilisent les CSR et Anim et que Winch Gate remplace peu à peu par des scripts Arkitect. Cela permet de gérer un peu le gameplay en direct pour des choses pas trop complexes. Pour les choses qui doivent durer ou être bien gérées, il faut créer une Primitive.
Les outils OpenNeL / Ryzom Core
Historiquement il existait 3 outils : Object Viewer pour tout ce qui avait trait aux graphismes (création et gestion des systèmes de particules, de la microvégétation etc.), Georges Editor pour les Datasheets et World Editor pour les Primitives. Plus un plugin dédié à 3DSMax pour créer les objets 3D (.ig et shape) mais aussi et surtout créer les paysages (.zone) que ce soient des éléments de briques LIGO (donc pouvant ensuite être assemblés dynamiquement comme des LEGOs justement) ou utilisés tels quels (comme Pyr sur le monde d’Atys par exemple).
Les gens de Ryzom Core ont fini par créer un super outil (basé sur une version QT de Object Viewer au départ), qui s’appelle désormais Ryzom Core Studio. Il est conçu comme un cœur avec des plugins. Il y a donc un plugin Object Viewer, un autre World Editor, un autre Georges mais pas seulement. Ils ont ajouté un éditeur d’interface, un gestionnaire de paquets .bnp, un gestionnaire de traduction…
Les sources
On compile tous ces éléments à partir des sources : client, serveur, outils. Tout est dans un gros paquet de sources dans lesquelles on lance la compilation, qui y range les exécutables créés dans différents répertoires.
Les sources sont de trois types :
- données graphiques ;
- données de jeu ;
- code source pour les exécutables.
Les données graphiques sont essentiellement des fichiers .max, lisibles uniquement par 3DSMax, pour être édités par lui pour ensuite, via le plugin créer les données pour le jeu en lui-même. On y trouve aussi les textures (sous forme .png en général) et les systèmes de particules, modifiables avec Object Viewer. Quand on lance le pipeline, il s’occupe de transformer toutes ces données pour en faire des fichiers aux bons formats pour le jeu.
On a ensuite les données de jeu : data sheets et primitives. Si les data sheets sont modifiées on doit les recompiler pour le client et les replacer dans le serveur puis le relancer (et le fournir aux clients bien sûr). Donc chaque fois qu’on veut créer un nouvel objet, une nouvelle compétence…, il faut les recompiler rapidement et tout relancer, puis patcher les clients. Le système de patchlet de Ryzom est quasiment opérationnel (il n’est pas encore intégralement déployé en raison de soucis de compatibilité de la dernière version LUA avec Windows, quand ce sera bon, elle sera implémentée). Les primitives sont plus souples, il semble qu’on puisse plus facilement les recharger sans devoir relancer tout le shard.
Enfin, les sources pour les exécutables sont très volumineuses. On y trouve aussi bien les sources (codé en c++) du client, du serveur que du moteur de jeu 3D, créé spécifiquement, appelé NeL que les sources pour les outils (Ryzom Core Studio mais aussi un certain nombre d’utilitaires en ligne de commande), et même pour le plugin 3DSMax. Tout y est. Quand on fait une compilation, ça dépose les résultats dans divers répertoires, de façon intriquée selon les options indiquées par le compilateur.
Nous mettons à disposition toutes les données de Khanat via un service GitLab.
Nous avons réalisé une présentation avec des informations sur la façon dont nous organisons nos dépôts et contributions.
Les data sheets
Les données de jeu se basent sur des datasheets, qui permettent de créer les caractéristiques des éléments de base (objets, créatures etc.).
Les primitives
Les primitives sont les fichiers qui construisent le monde en créant des instances d'objets tels que définis par les data sheets.
Liste des articles
Le serveur de jeu
Le client OpenNeL / Ryzom Core ’abandonné par Khaganat)
Outils OpenNeL / Ryzom Core / Divers
Tous les articles OpenNeL / Ryzom Core
Ceci est une liste automatique de tous les articles portants le tag Ryzom Core.
Translate the game [Pixabay - CC0] It's only the procedures description, if you want to discover the complete système, go on The System localization/translati… | |
Datasheets for Sound Management Sound definition datasheets are not stored like the others in khanat-ressources/leveldesign but in khanat-resources/sound. T… | |
Mercurial The Ryzom Core Game Server data is hosted on Bitbucket, which uses the Mercurial repository. We currently use the git system via a local Gitlab insta… | |
Locations used by the deployment pipeline Current page The installation of all the data must correspond to a certain organization for the various deployment s… | |
add_compass Function used in mission creation. Action used to display a dot on the player’s compass. Either one NPC or one place can be added alternatively. … | |
ai_compass Function used in mission creation. Action used to trigger an AI event linked with the AIS. Usually used to synchronize script and state machines. … | |
bot_chat Function used in mission creation. Action used to make a specific NPC do a non-interactive talk. Properties name: Action name, only used by the mis… | |
buy Function used in mission creation. Objective. The player has to buy specific items. It’s possible to force the player to buy from a given NPC by entering … | |
cast Function used in mission creation. Objective. The player has to cast given spells to complete the objective. Properties name: Action name, only used by… | |
craft Function used in mission creation. Objective. The player has to craft items in specified quantities and qualities. Properties name: Action name, only … | |
custom_loot_set Function used in mission creation. Properties General rule : This system allows you to define loot tables for a npc without creating a new lo… | |
custom_loot_table Function used in mission creation. Properties General rule : This system allows you to define loot tables for a npc without creating a new … | |
depositzone Rules and information used in mission creation. Constraints The “ecotypezone” primitives set where ar located the terrains corresponding to the e… | |
destroy_item Function used in mission creation. Action which destroys the items that match the given filters: * The item sheet must match. * The quality … | |
do_mission Function used in mission creation. Objective: The player has to complete the mission list. Properties name: Objective name, only used by the miss… | |
dyn_answer Function used in mission creation. Answer that is proposed to the player during a dyn_chat step. Opens a new script branch. Properties name : Nam… | |
escort Function used in mission creation. Objective: The player has to escort a single NPC or a group along a path. This path can be set by a spline, or the e… | |
fail Function used in mission creation. Action used to induce mission failure. The active step_failure will be executed and a default failure message will be … | |
forage Function used in mission creation. Objective: The player has to forage MPs in specified quantities and qualities. Properties name: Objective name, on… | |
give_item Function used in mission creation. Objective: The player has to give specific items to a given NPC. Properties name: Objective name, only used by … | |
give_money Function used in mission creation. Objective: The player has to give a specific amount of money to a given NPC. Properties name: Objective name, … | |
group_fauna Function used in mission creation. Properties name : the symbolic name for the fauna group. Used only for level designer readability. autoSpawn … | |
Complex item declaration Rules and information used in mission creation. Item declaration in a string format Some parameters require a complex declaration wi… | |
jump_to Function used in mission creation. Action that modify script unfolding by jumping to a specified step. Properties name : Name of the action, only us… | |
keywords Function used in mission creation. Keywords is generaly used to ‘filter’ event for certain group or state. Keywords can also be used to flag bots wi… | |
kill Function used in mission creation. Objective: The player has to kill specific creatures, faction members, NPCs, group members … Specify only one type for… | |
learn_action Function used in mission creation. Action used to give action bricks to players. Properties name: Action name, only used by the mission designe… | |
linear_dyn_chat_continue Function used in mission creation. Specific type of step_dyn_chat that allows only one “I agree” answer to the player. If the linear_… | |
linear_dyn_chat_fail Function used in mission creation. Specific type of step_dyn_chat that allows only one “I agree” answer to the player. If the linear_dyn_… | |
linear_dyn_chat_retry Function used in mission creation. Specific type of step_dyn_chat that allows only one “I agree” answer to the player. If the linear_dyn… | |
loot Function used in mission creation. Objective: The player has to loot items on corpses in specified quantities and qualities. Properties name : Objectiv… | |
mission_tree Function used in mission creation. Mission framework containing a variable folder and the mission step arborescence. Generic mission parameters … | |
no_answer Function used in mission creation. Dyn_chat branch used after it timed out either because of a too long wait, or due to the player moving away. Can … | |
npc_bot Function used in mission creation. Properties chat_parameters: Describe the reference chat for the bot. Chat is specified with a series of keywords f… | |
npc_event_handler_action Function used in mission creation. Properties name : name of the action, by default the same name as the action name is used. actio… | |
npc_group Function used in mission creation. Properties General rule : All property beginning with ‘bot_’ are field that are default value for all the bots i… | |
npc_group_parameters Function used in mission creation. Properties grp_parameters : This is a set of parameters for the group. This is a list of « keywords :… | |
people Function used in mission creation. Properties name : ? count : number of people in the group. creature_code : sheet of the creatures in the group p… | |
population Function used in mission creation. Properties name : ? spawn_type : allowed spawn period (always/day/never/night). weight : ? primitives ryzom_… | |
popup_msg Function used in mission creation. Action used to display a message in a popup window on the client. Properties name: Action name, only used by th… | |
pre_requisite Function used in mission creation. This item holder allows to set special conditions that will allow the player to select the mission. If he doe… | |
recv_faction_point Function used in mission creation. Allow the mission to give or remove faction points to the mission’s owner. Properties name: Action nam… | |
recv_fame Function used in mission creation. Properties name: Action name, only used by the mission designer. faction: Faction towards whom the fame is modi… | |
recv_item Function used in mission creation. Properties name: Action name, only used by the mission designer. npc_name (Optional): Giver NPC tag name. grou… | |
recv_money Function used in mission creation. Properties name: Action name, only used by the mission designer. amount: Amount of money to add to the player’… | |
recv_xp Function used in mission creation. Properties name: Action name, only used by the mission designer. skill: The skill branch where XP is to be receiv… | |
Nomenclature guidelines reference document Rules and information used in mission creation. The goals of this nomenclature are: * Keep the tags short to lim… | |
Script organization reference document Rules and information used in mission creation. Mission script elements The mission script is based on a linear execut… | |
sell Function used in mission creation. Objective: The player has to sell specific items. It’s possible to force the player to sell to a given NPC by entering… | |
set_constrains Function used in mission creation. Action used to set or modify constrains on objectives. All value that will be set again will take the new in… | |
skill Function used in mission creation. Objective: The player has to train a specified skill to a given level. Properties name: Objective name, only used b… | |
spawn_mission Function used in mission creation. Properties name: Action name, only used by the mission designer. giver_name: The NPC that gives the mission… | |
Information regarding missions There is quite a number of documents regarding the parameters to be used for creating missions. They can be found in the Ryzom C… | |
step Function used in mission creation. Basic mission script element. Contains a pre-action and post-action folders to execute scripted actions, organized aro… | |
step_any Function used in mission creation. Advanced step that proposes multiple objectives to the player. The step is completed when any of them is done. Mo… | |
step_dyn_chat Function used in mission creation. Special step that initiates a communication process between the NPC and the player. From this point, the scri… | |
step_failure Function used in mission creation. When a step is failed (due to a timer, or any other condition), the last step_failure that have been reached i… | |
step_if Function used in mission creation. Special step that executes a binary test based on the parameters entered. From this point, the script continues on … | |
step_ooo Function used in mission creation. Advanced step that allows combining multiple objectives that can be completed in any order. More information abou… | |
system_msg Function used in mission creation. Action used to display a message in the system window. Properties name: Action name, only used by the mission … | |
talk_to Function used in mission creation. Objective: The player has to find a NPC and talk to him through the contextual menu, generally used in introduction… | |
target Function used in mission creation. Objective: The player has to target a creature or NPC. You can only specify pawns to target of one category for a gi… | |
teleport Function used in mission creation. Action used to activate a teleport option on a NPC that will be accessible via the contextual menu. It will be del… | |
teleport_destination Function used in mission creation. Represents a teleport destination, accessed to teleport triggers For room instanciation problems, he… | |
teleport_spawn_zone Function used in mission creation. Represents a disc in wich entities can be teleported. Entities are teleported on a random point within… | |
teleport_trigger Function used in mission creation. Represents a teleport trigger ( aka lift ) * If the trigger is a child of a continent, it can be access… | |
Text guidelines reference document Rules and information used in mission creation. See nomenclature guidelines reference document for help on creating tags fo… | |
user_model Rules and information used in mission creation. Properties General rule : This system allows you to create a customized npc without creating a new… | |
var_creature Function used in mission creation. Properties name : Variable name only used by the mission designer. creature_sheet : Sheet code of the creatu… | |
var_faction Function used in mission creation. Properties name : Variable name only used by the mission designer. faction_name : Actual name tag of the fact… | |
var_group Function used in mission creation. Properties name : Variable name only used by the mission designer. group_name : Actual group name to use as var… | |
var_item Function used in mission creation. Properties name : Variable name only used by the mission designer. item_sheet : Sheet code of the item referred … | |
var_npc Function used in mission creation. Properties name : Variable name only used by the mission designer. npc_function : (optional) Actual function (if … | |
var_place Function used in mission creation. Properties name : Variable name only used by the mission designer. place_name : Actual place name to use as var… | |
var_quality Function used in mission creation. Properties name : Variable name only used by the mission designer. quality : Quality numeric value needed. v… | |
var_quantity Function used in mission creation. Properties name : Variable name only used by the mission designer. quantity : Quantity needed. var_name : V… | |
var_text Function used in mission creation. Properties name : Variable name only used by the mission designer. text : Actual text to use as variable value. … | |
visit Function used in mission creation. Objective: The player has to visit a specified place by entering the place object. Properties name: Objective name,… | |
Deposits and technical collaboration on Khaganat WIP : For each repository, there is an description(on a dedicated page) and technical information on how it sh… | |
The System localization/translation of the Ryzom Core General Information There are basically “two” distinct parts for localization in Ryzom. The first part… | |
Mission documentation There are a number of documents about parameters to be used when creating missions, which can be found in the Ryzom Core code: “khanat-co… | |
Ryzomcore Studio Introduction and tutorial at the beginning of design Summary * Client Usage * Installation du client Studio * Changing the client … | |
Datasheet The management and manipulation of datasheets is an Ryzom format that allows almost everything(ingame) to be created. The information on the differe… | |
Ajout de l'Emote Drink Ce tutoriel explique comment ajouter une nouvelle emote et la déclencher avec l'action “consommer”. 1. Ajouter l'emote “drink” dans le… | |
Client.cfg et client_default.cfg Les fichiers client.cfg et client_default.cfg situés dans la racine du dossier client contiennent un certain nombre d'informat… | |
Collaborer sur le dépôt bpyNel workbench - OpenNeL legacy Cette page n’est conservée que pour des raisons historiques. Il n’y a plus lieu de collaborer à ce dé… | |
Collaborer sur le dépôt OpenNeL Khanat Code Ce dépôt est celui qui contient tout le code nécessaire à la compilation du serveur, ainsi que des outils du syst… | |
Collaborer sur Khanat assets - OpenNeL legacy Cette page n’est conservée que pour des raisons historiques. Il n’y a plus lieu de collaborer à ce dépôt. Ce d… | |
Collaborer sur khanat-assets-sources - OpenNeL legacy Cette page n’est conservée que pour des raisons historiques. Il n’y a plus lieu de collaborer à ce dépôt.… | |
Collaborer sur le dépôt khanat-ressources Ce dépôt contient toutes les données, généralement sous forme de données xml, des datasheets ou des primitives le p… | |
Collaborer sur khanat-sound-source Ce dépôt concerne la création des éléments sonores qui serviront en jeu. Nous y concevons donc tous les fichiers qui seron… | |
Collaborer sur le dépôt pyNeL Ce module permet de lire et écrire avec des modules Python 3 les différents fichiers aux formats spécifiques de la library NeL … | |
Collaborer sur le dépôt OpenNeL pyManager Ce dépôt est celui qui contient tout les librairies et utilitaires python mis en place pour gérer tous les objets d… | |
Décrypter le fichier ryzom patch Nous allons expliquer comment décrypter le fichier “ryzom_xxx.idx”. Ce fichier est le premier fichier télécharger par le clien… | |
Datasheets de gestion du son Les datasheets de définition des sons ne sont pas stockés comme les autres dans khanat-ressources/leveldesignmais dans khanat-re… | |
Interface Cette page vise à centraliser toutes les informations concernant la création des interfaces de jeu. Les indications pour créer les fichiers xml d'… | |
Mercurial Les données du serveur de jeu Ryzom Core sont hébergées sur Bitbucket, qui utilise le système de gestion des dépôts Mercurial. Nous utilisons actuell… | |
Les bases de donnée du serveur de jeu Lors de l'installation d'un serveur Ryzom Core, MySQL est remplie de divers bases de données, qu'il faut ensuite compléte… | |
Emplacements utilisés par le pipeline de déploiement Page en cours L'installation de toutes les données doit correspondre à une certaine organisation pour que… | |
add_compass Fonction utilisée pour la création de missions. Action utilisée pour afficher un point sur le compas du joueur. Il peut s'agir soit d'un PNJ, soit… | |
ai_compass Fonction utilisée pour la création de missions. Action utilisée pour déclencher un évènement IA lié à l'AIS. Habituellement utilisé pour synchronis… | |
bot_chat Fonction utilisée pour la création de missions. Action utilisée pour faire dire un texte non-interactif à un PNJ donné. Propriétés name: Nom de l'a… | |
buy Fonction utilisée pour la création de missions. Objectif: Lej oueur doit acheter des objets spécifiques. Il est possible d'imposer au joueur d'acheter aup… | |
cast Fonction utilisée pour la création de missions. Objectif : Le joueur doit lancer les sorts donnés pour atteindre l'objectif. Propriétés name: Nom de l'… | |
craft Fonction utilisée pour la création de missions. Objectif : Le joueur doit créer des objets avec des quantités et des qualités données. Propriétés name… | |
custom_loot_set Fonction utilisée pour la création de missions. Propriétés Règle générale : Le système vous permet de définir les tables de butin (loot) pour… | |
custom_loot_table Fonction utilisée pour la création de missions. Propriétés Règle générale : Le système vous permet de définir les tables de butin (loot) po… | |
depositzone Règles et informations utiles pour la création de missions. Contraintes Les primitives “ecotypezone” déterminent où se trouvent les terrains corr… | |
destroy_item Fonction utilisée pour la création de missions. Action qui détruit l'objet qui correspond aux filtres donnés : * La fiche de l'objet doit corr… | |
do_mission Fonction utilisée pour la création de missions. Objectif : Le joueur doit compléter la liste de missions. Propriétés name: Nom de l'action, utili… | |
dyn_answer Fonction utilisée pour la création de missions. Réponse proposée au joueur pendant une étape dyn_chat. Ouvre une nouvelle branche de script. Propr… | |
escort Fonction utilisée pour la création de missions. Objectif : Le joueur doit escorter un seul PNJ ou un groupe sur un trajet. Ce trajet peut être défini s… | |
fail Fonction utilisée pour la création de missions. Action utilisée pour déclencher l'échec de la mission. Le step_failure actif sera exécuté et un message d… | |
forage Fonction utilisée pour la création de missions. Objectif : Le joueur doit forer des MPs dans les quantités et qualités spécifiées. Propriétés name: N… | |
give_item Fonction utilisée pour la création de missions. Objectif : Le joueur doit donner un objet spécifique à un certain PNJ. Propriétés name: Nom de l'a… | |
give_money Fonction utilisée pour la création de missions. Objectif : Le joueur doit donner une quantité d'argent à un PNJ précis. Propriétés name: Nom de l… | |
group_fauna Fonction utilisée pour la création de missions. Propriétés name : le nom symbolique du groupe d'animaux. Utilisé uniquement pour la lisibilité du… | |
Déclaration complexe d'objets Règles et informations utiles pour la création de missions. Déclaration d'objet en format de chaîne Certains paramètres nécessi… | |
jump_to Fonction utilisée pour la création de missions. Action qui modifie le déroulement du script en sautant à l'étape précisée. Propriétés name: Nom de l… | |
keywords (mots-clefs) Fonction utilisée pour la création de missions. Keywords n'est généralement utilisée que pour 'filtrer' les évènements pour un groupe ou… | |
kill Fonction utilisée pour la création de missions. Objectif : Le joueur doit tuer des créatures précises, des membres d'une faction, des PNJs, des membres d… | |
learn_action Fonction utilisée pour la création de missions. Action utilisée pour donner des briques d'actions au joueur. Propriétés name: Nom de l'action, … | |
linear_dyn_chat_continue Fonction utilisée pour la création de missions. Type particulier de step_dyn_chat qui n'autorise qu'une seule réponse “J'accepte” au … | |
linear_dyn_chat_fail Fonction utilisée pour la création de missions. Type particulier de step_dyn_chat qui n'autorise qu'une seule réponse “J'accepte” au joue… | |
linear_dyn_chat_retry Fonction utilisée pour la création de missions. Type particulier de step_dyn_chat qui n'autorise qu'une seule réponse “J'accepte” au jou… | |
loot Fonction utilisée pour la création de missions. Objectif : Le joueur doit récupérer des objets sur les cadavres dans les qualités et quantités spécifiées… | |
mission_tree Fonction utilisée pour la création de missions. Trame de mission contenant un répertoire de variable et l'arborescence des étapes de la mission. … | |
no_answer Fonction utilisée pour la création de missions. Branche de Dyn_chat branch utilisée après que le temps imparti a été dépassé soit en raison d'une at… | |
npc_bot Fonction utilisée pour la création de missions. Propriétés chat_parameters : Décrit le texte de référence pour le bot. Le texte est spécifié par une … | |
npc_event_handler_action Fonction utilisée pour la création de missions. Propriétés name: Nom de l'action, par défaut c'est le même nom que celui de l'action… | |
npc_group Fonction utilisée pour la création de missions. Propriétés Règle générale : Toutes les propriétés commençant par 'bot_' sont des champs qui sont la… | |
npc_group_parameters Fonction utilisée pour la création de missions. Propriétés grp_parameters : C'est un ensemble de paramètres pour le groupe. C'est une li… | |
people Fonction utilisée pour la création de missions. Propriétés name : ? count : nombre de personnes dans le groupe. creature_code : fiche des créatures … | |
population Fonction utilisée pour la création de missions. Propriétés name : ? spawn_type : période d'apparition autorisée (toujours/jour/jamais/nuit). wei… | |
popup_msg Fonction utilisée pour la création de missions. Action utilisée pour montrer un message dans une fenêtre popup sur le client. Propriétés name: Nom… | |
pre_requisite Fonction utilisée pour la création de missions. Ce support d'objet permet de fixer des conditions spéciales qui autoriseront le joueur à choisir… | |
recv_faction_point Fonction utilisée pour la création de missions. Autorise la mission à donner ou retirer des points de faction à celui qui fait la mission. … | |
recv_fame Fonction utilisée pour la création de missions. Propriétés name: Nom de l'action, utilisé uniquement par le créateur de mission. faction: Faction … | |
recv_item Fonction utilisée pour la création de missions. Propriétés name: Nom de l'action, utilisé uniquement par le créateur de mission. npc_name (Optionn… | |
recv_money Fonction utilisée pour la création de missions. Propriétés name: Nom de l'action, utilisé uniquement par le créateur de mission. amount: Montant … | |
recv_xp Fonction utilisée pour la création de missions. Propriétés name: Nom de l'action, utilisé uniquement par le créateur de mission. skill: La branche d… | |
Nomenclature des Rites et Tâches d'Encyclopédie Règles et informations utiles pour la création de missions. Le but de cette nomenclature est de : * Garder … | |
Document de référence pour l'organisation de scripts Règles et informations utiles pour la création de missions. Éléments de scripts pour les missions Le scr… | |
sell Fonction utilisée pour la création de missions. Objectif : Le joueur doit vendre des objets spécifiques. Il est possible de forcer le joueur à vendre à u… | |
set_constrains Fonction utilisée pour la création de missions. Acution utilisée pour donner ou modifier les contraintes dans les objectifs. Toutes les valeurs… | |
skill Fonction utilisée pour la création de missions. Objectif : Le joueur doit s'entraîner dans une compétence précise jusqu'à un niveau donné. Propriétés … | |
spawn_mission Fonction utilisée pour la création de missions. Propriétés name: Nom de l'action, utilisé uniquement par le créateur de mission. giver_name: L… | |
Documentation sur les missions Il existe un certain nombre de documents sur les paramètres à utiliser lors de la création des missions, qui se trouvent dans le… | |
step Fonction utilisée pour la création de missions. Élément basique de script de mission. Contient des dossiers pré-action (avant) et post-action (après) pou… | |
step_any Fonction utilisée pour la création de missions. Étape avancée proposant plusieurs objectif au joueur. L'étape est complétée dès lors que l'un des obj… | |
step_dyn_chat Fonction utilisée pour la création de missions. Étape spéciale qui enclenche le processus de communication entre le PNJ et le joueur. A partir d… | |
step_failure Fonction utilisée pour la création de missions. Quand une étape échoue (à cause du temps, ou de n'importe quelle autre condition), le dernier ste… | |
step_if Fonction utilisée pour la création de missions. Étape spéciale qui exécute un test binaire basé sur les paramètres entrés. A partir de ce point, le sc… | |
step_ooo Fonction utilisée pour la création de missions. Étape avancée qui permet de combiner plusieurs objectifs qui peuvent être complétés dans n'importe qu… | |
system_msg Fonction utilisée pour la création de missions. Action utilisée pour afficher un message dans la fenêtre système. Propriétés name: Nom de l'actio… | |
talk_to Fonction utilisée pour la création de missions. Objectif : Le joueur doit trouver un PNJ et lui parler par l'intermédiaire du menu contextuel, sert gé… | |
target Fonction utilisée pour la création de missions. Objectif : Le joueur doit cibler une créature ou un PNJ. Vous ne pouvez donner de cibles que d'une seul… | |
teleport Fonction utilisée pour la création de missions. Action utilisée pour activer une option de téléportation sur un PNJ, qui sera accessible via le menu … | |
teleport_destination Fonction utilisée pour la création de missions. Représente une destination de téléportation, accédée à partir d'un déclencheur de télépor… | |
teleport_spawn_zone Fonction utilisée pour la création de missions. Représente un cercle à l'intérieur duquel les entités peuvent être téléportées. Les entit… | |
teleport_trigger Fonction utilisée pour la création de missions. Représente un déclencheur de téléportation esents a teleport trigger (autrement dit un ascens… | |
Document de référence pour les textes Règles et informations utiles pour la création de missions. Se référer au document de référence sur la nomenclature pour… | |
user_model Règles et informations utiles pour la création de missions. Propriétés Règle générale : Le système vous permet de créer un PNJ personnalisé sans c… | |
var_creature Fonction utilisée pour la création de missions. Propriétés name : Nom de la variable, utilisé uniquement par le créateur de mission. creature_s… | |
var_faction Fonction utilisée pour la création de missions. Propriétés name : Nom de la variable, utilisé uniquement par le créateur de mission. faction_nam… | |
var_group Fonction utilisée pour la création de missions. Properties name : Nom de la variable, utilisé uniquement par le créateur de mission. group_name : … | |
var_item Fonction utilisée pour la création de missions. Propriétés name : Nom de la variable, utilisé uniquement par le créateur de mission. item_sheet : C… | |
var_npc Fonction utilisée pour la création de missions. Propriétés name : Nom de la variable, utilisé uniquement par le créateur de mission. npc_function : … | |
var_place Fonction utilisée pour la création de missions. Propriétés name: Nom de la variable, utilisé uniquement par le créateur de mission. place_name : N… | |
var_quality Fonction utilisée pour la création de missions. Propriétés name: Nom de la variable, utilisé uniquement par le créateur de mission. quality: Val… | |
var_quantity Fonction utilisée pour la création de missions. Propriétés name: Nom de la variable, utilisé uniquement par le créateur de mission. quantity: Q… | |
var_text Fonction utilisée pour la création de missions. Propriétés name: Nom de la variable, utilisé uniquement par le créateur de mission. text : Texte ré… | |
visit Fonction utilisée pour la création de missions. Objectif : Le joueur dois visité un emplacement précis en entrant dans l'objet d'emplacement. Propriété… | |
Contribuer : les dépôts du projet Khaganat [ Coffre fort, domaine public - https://pixabay.com/fr/coffre-fort-vo%C3%BBte-porte-en-acier-913452/ ] Les dépôts d… | |
Système de localisation/traduction sur Ryzom Core Généralités Il y a, en gros, deux parties distinctes pour la localisation dans Ryzom. La première partie (… | |
Traduire le jeu [Pixabay - CC0] Il s'agit uniquement de la description des procédures, si vous voulez découvrir le système complet, allez voir Système de loca… | |
Récupérer les données : Mercurial, Git Pour partager les modifications de code et de graphismes, nous utilisons un système de gestion des dépôts. Les données … | |
Refactoring du code Nel Pour toute personne plongeant dans le code du MMORPG, une évidence s'impose rapidement : il faut réécrire certaines choses. Codeuses,… | |
Datasheet La gestion et la manipulation des datasheets, ce format de Ryzom qui permet de presque tout créer en jeu. Les informations sur les différents types … | |
Tout commence par le réseau Introduction Je vais vous parler de la partie communication entre le serveur et le client. Il s'agit d'une analyse de l'existant,… | |
Installation et configuration d'un serveur RC sur une VM Work in progress / Page en construction Je créer cette page pour servir de tuto sur l'installation de… |
Sous-catégories
Ceci est une liste automatique des tags associés à Ryzom Core.
- Datasheet
- clothes
- creature
- item_sap_recharge
- calcul
- typ
- mission_item
- service
- harvest
- anim
- shield
- fx
- skill
- role
- bag
- skelet
- mp
- range_weapon
- ecosystem
- raw_material
- food
- craft
- melee_weapon
- ammo
- champ
- brick
- pet
- armor
- pnj
- crystallized_spell
- sitem
- jewelry
- crafting_tool
- valeur
- xp_catalyser
- family
- cosmetic
- world_editor
- teleport
- bone
- dfn
- handled_item
- tool
- inventory
- item
- Les Primitives
- race
- scroll
- consumable
- taming_tool
- clothes