Ceci est une ancienne révision du document !
Missions
Utiliser le logiciel world_editor pour créer des missions.
Optionnel : Cliquer sur “Project” puis “Add Landscape” puis choisir newbieland.land
de votre dossier de ressources/continents/newbieland/
Cliquer sur “Project” puis “Add Primitive” puis choisir toutes les primitives de votre dossier de ressources/primitives/newbieland/
.
Voir aussi Exemple commenté d'une création de mission.
S'il n'y a pas encore de primitive de “missions”, cliquer sur “Project” puis “New Primitive”, puis choisir Missions_editor puis Mission_tree.
Sinon, dépliez la primitive de mission avec un clic gauche (par exemple missions_newbieland.primitives
) faites un clic droit sur le premier arbre de missions (ici, missions_newbieland
et sélectionnez Add mission_tree
.
La même fenêtre d'arbre de mission va s'ouvrir dans les deux cas.
Pour être sûr de bien compiler la mission (dernière partie de la création), il vaut mieux commencer par créer une nouvelle primitive juste pour la mission, puis la tester. Une fois qu'elle est validée, on peut la couper/coller (ctrl-x, ctrl-v) dans la primitive mission_*.primitive. Ainsi on rassemble ensemble les missions ou, si la carte est grande et riche, un ensemble de mission. Par exemple, toutes les missions du type “Gagner des sous”.
Sinon, il finira par y avoir énormément de primitives pour une zone, avec le risque de s'y perdre un peu.
La fenêtre de propriété de la mission s'ouvre.
Plus cette fenêtre de propriété est bien remplie, plus la suite est facile
Pour remplir :
- name : donnez le nom identifiant la mission. Par exemple qabb20160603b
- audience : “solo”, cela veut dire qu'un joueur seul peut la prendre et la valider. “Group” concerne les quêtes de groupes (à tester ?), “guild” les quêtes qui seront validé au niveau de la guilde (à tester aussi).
- auto_remove_from_journal : une fois validée, s'enlève seule du journal ?
- automatic : ??? laisser par défaut comme c'est en attendant de savoir les détails
- fail_if_inventory_is_full : échoue automatiquement si l'inventaire est plein?
- giver_primitive : la .primitive où se trouve le NPC. Un PNJ déjà compilé avec ses missions se trouvent dans
urban_*.primitive
, par exempleurban_newbieland.primitive
- global replay_timer : le temps avant que la quête puisse être reprise après son échec ou sa réussite, pour tout le monde ? Visiblement en ticks.
- mission_category : catégorie de mission sur Ryzom, c'était combat, artisanat, forage. Où cela est-il défini ? quels sont les options ?
- mission_description : mettre l'ui à traduire de la description de la mission, par exemple ui_nom_mission_DESC
- mission_giver : mettre l'identifiant du personnage donnant la quête :
$givervar@fullname$
- mission_icon : nom de l'icone dans les ds ?
- mission_title : mettre l'ui à traduire du titre de la mission, par exemple
ui_nom_mission_TITLE
- mono_instance : ???
- need_validation : ??? coché par défaut
- non_abandonnable : doit concerner les quêtes “invisibles” qui n'apparaissent pas dans le journal
- not_in_journal : Les missions qui n'apparaissent pas dans le journal peuvent permettre de réaliser certains events ; ce ne sont pas des missions classiques, le joueur a fait quelque chose qui a déclenché le début de la quête mais il n'en sait rien.
- not_proposed : sans doute aussi pour les quêtes invisibles : le pnj lance la quête, mais rien ne l'indique ?
- parent_missions : indiquez les missions dont dépend la mission actuelle ? Il faut les avoir validé pour avoir accès à celle-ci ?
- phrase_auto_menu : ???
- player_replay_timer : Le temps avant que le joueur puisse reprendre la quête. Visiblement en ticks.
- replayable : “rejouable”, à cocher si elle peut être faite plusieurs fois.
- run_only_once : ne peut être fait qu'une fois.
Dans variables, ajouter Var_npc et le remplir.
exemple: name : givevar = nom_NPC (titre_NPC) npc_function : titre_NPC npc_name : nom_NPC var_name : givevar
Création de mission avec step
Pour le début, on va faire au plus simple.
Choisir un Step puis une sorte “d'objectives” :
add_talk_to
Le PJ doit aller voir un PNJ pour que le PNJ lui parle pour valider l'objectif !
add_kill
Le PJ doit aller tuer un PNJ/mob pour valider l'objectif !
add_cast
Le PJ doit utilisé un sort précis pour valider l'objectif !
add_forage
Le PJ doit aller forer des mps pour valider l'objectif !
add_loot
Le PJ doit aller looter des mps sur un PNJ/mob pour valider l'objectif !
add_craft
Le PJ doit aller fabriquer un objet pour valider l'objectif !
add_target
Le PJ doit aller cibler un PNJ/mob pour valider l'objectif !
add_sell
Le PJ doit aller vendre un mps pour valider l'objectif !
add_buy
Le PJ doit aller acheter un mps pour valider l'objectif !
add_give_item
Le PJ doit aller donner un mps/objet à un PNJ pour valider l'objectif !
add_give_money
Le PJ doit aller donner de l'argent à un PNJ pour valider l'objectif !
add_escort
Le PJ doit aller escorter un PNJ/mob pour valider l'objectif !
add_visit
Le PJ doit aller visiter une place pour valider l'objectif !
add_skill
Le PJ doit avoir une stanza(skill) et un niveau minimum pour valider l'objectif !
add_do_mission
Le PJ doit aller faire une autre mission pour valider l'objectif ! (à tester)
add_wait_ai_msg
Le PJ doit attendre un message pour valider l'objectif ! (à tester)
add_queue_start
Le PJ doit aller attendre qu'un scénario pop pour valider l'objectif ! (à tester)
Création de mission avec dialogues
Il y a plusieurs formes de dialogues :