Missions
Utiliser le logiciel world_editor pour créer des missions.
On peut créer des Rites et Tâches d'Encyclopédie avec des missions, pour créer des ensembles cohérents de missions et donner au final une brique en récompense quand toutes ces missions ont été effectuées : Encyclopédie
Cliquer sur “Project” puis “Add Landscape” puis choisir newbieland.land
de votre dossier de ressources/continents/newbieland/newbieland.land
Cliquer sur “Project” puis “New Primitive” puis enregistrer 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” :
Objectives première
add_talk_to
Le PJ doit aller voir un PNJ pour que le PNJ lui parle pour valider l'objectif !
add_talk_to
add_kill
Le PJ doit aller tuer un PNJ/mob pour valider l'objectif !
add_kill
add_cast
Le PJ doit utilisé un sort précis pour valider l'objectif !
add_cast
add_forage
Le PJ doit aller forer des mps pour valider l'objectif !
add_forage
add_loot
Le PJ doit aller looter des mps sur un PNJ/mob pour valider l'objectif !
add_loot
add_craft
Le PJ doit aller fabriquer un objet pour valider l'objectif !
add_craft
add_target
Le PJ doit aller cibler un PNJ/mob pour valider l'objectif !
add_target
add_sell
Le PJ doit aller vendre un mps pour valider l'objectif !
add_sell
add_buy
Le PJ doit aller acheter un mps/item pour valider l'objectif !
add_buy
add_give_item
Le PJ doit aller donner un mps/objet à un PNJ pour valider l'objectif !
add_give_item
add_give_money
Le PJ doit aller donner de l'argent à un PNJ pour valider l'objectif !
add_give_money
add_escort
Le PJ doit aller escorter un PNJ/mob pour valider l'objectif !
add_escort
add_visit
Le PJ doit aller visiter une place pour valider l'objectif !
add_visit
add_skill
Le PJ doit avoir une stanza(skill) et un niveau minimum pour valider l'objectif !
add_skill
add_do_mission
Le PJ doit aller faire une autre mission pour valider l'objectif !
(à tester)
add_do_mission
add_wait_ai_msg
Le PJ doit attendre un message pour valider l'objectif !
(à tester)
add_wait_ai_msg
add_queue_start
Le PJ doit aller attendre qu'un scénario pop pour valider l'objectif !
(à tester)
add_queue_start
objectives secondaire
Il est possible de mettre des objectives secondaire dans :
- pre_actions
- objectives
- post_actions
Add_recv_money
Le PJ reçoit de l'argent.
add_recv_money
Création de mission avec dialogues
Maintenant on rajoute les dialogues .
Il faut absolument placer le PJ devant le PNJ avant de commencer un dialogue !!!!!!!!
Choisir un chat dynamique :
- Step_dyn_chat, plusieurs choix disponible
- Linear_dyn_chat_fail, (je ne sais pas)
- Linear_dyn_chat_retry, (je ne sais pas)
- Linear_dyn_chat_continue, un seul choix disponible
A finir
Condition particuliere
Les cas particuliers :
Pour éviter d'avoir des missions qui plantent !!!!!
- Step_failure, (je ne sais pas)
- Step_crash, (je ne sais pas)
- Step_player_reconnect, (je ne sais pas)
- Jump_to, sauter sur une autre partie de mission