====== Missions ====== Use the [[world_editor:|world_editor]] software to create missions. Optional: Click on "Project", then "Add Landscape", then choose "newbieland.land" from your "resources/continents/newbieland/" folder. Click on "Project", then "Add Primitive" and select all the primitives of your resource/primitives/newbieland/folder. See also [[en:world_editor:example_comment_mission|Commented example of a mission creation]]. If there is no "mission" primitive, click on "Project", then "New Primitive", then choose Missions_editor, and then [[en:primitive mission:primitivemissiondocmission_tree|Mission_tree]]. Otherwise, unfold the mission primitive with a left click(for example ''missions_newbieland.primitives'') right click on the first mission tree: ''missions_newbieland'' and select ''Add mission_tree''. {{:fr:world_editor:we_mission1.jpg|Selecting Add_mission_tree}} The "mission tree" window will open in both cases. To have sureness of compiling the mission(witch is the last part of the creation), it's better to start by creating a new primitive just for the particular mission, and then test it. Once it's validated, it can be cut/pasted(ctrl-x, ctrl-v) in the primitive "mission primitive". Thus the missions are grouped together.. or if the map is large and rich, a set of missions. As an example, all missions of the type "Winning pennies". Otherwise, there is an risk of "getting lost" with a huge bunch of primitives for one area!! The Mission property window opens. {{:fr:world_editor:we_mission2.jpg|Property of the mission.}} The more this property window is filled, the more easier it gets :-) To edit: * **name**: give the name identifying the mission. For example qabb20160603b * **audience**: "solo" means that a single player can take it and validate it. "Group" concerns group quests(to be tested?), "Guild" the quests that will be validated at the level of the guild(also to be tested) . * **auto_remove_from_journal**: once validated, remove itself from the log? * **automatic**: ??? Leave by default as it is waiting to know the details * **fail_if_inventory_is_full**: fails automatically if the inventory is full? * **giver_primitive**: the .primitive where the NPC is located. An NPC already compiled with its missions can be found in ''urban _ *. Primitive'', for example ''urban_newbieland.primitive'' * **global replay_timer**: the time before the quest can be resumed after its failure or success, for everyone? Visibly in [[en:ds:sitem:rcticks|ticks]]. * **mission_category**: mission category on Ryzom, it was fighting, crafting, drilling. Where is this defined? What are the options? * **mission_descriptio** n: put the ui to translate from the description of the mission, for example ui_nom_mission_DESC * **mission_giver**: put the identifier of the character giving the quest: ''$ givervar @ fullname $'' * **mission_icon**: name of the icon in the ds? * **mission_titl** e: put the ui to translate the title of the mission, for example ''ui_nom_mission_TITLE'' * **mono_instance** : ??? * **need_validation**: ??? Checked by default * **abandoned**: must relate to "invisible" quests that do not appear in the log * **not_in_journal**: The missions that do not appear in the newspaper can make it possible to make certain events; These are not classic missions, the player did something that triggered the start of the quest but he does not know. * **not_propose **: probably also for the invisible quests: the pnj launches the quest, but nothing indicates it? * **parent_missions**: specify the missions on which the current mission depends? You must have validated them to have access to this one? * **sentence_auto_menu**: ??? * **player_replay_timer**: The time before the player can resume the quest. Visibly in [[en:ds:sitem:rcticks|ticks]]. * **replayable**: "replayable", check if it can be done several times. * **run_only_once**: can only be done once. In //variables//, add [[primitive:mission:primitivemissiondocvar_npc|Var_npc]] and fill it. exemple: name : givevar = name_NPC (title_NPC) npc_function : title_NPC npc_name : name_NPC var_name : givevar ===== Creating a mission, first step ===== As a beginning, we start simple. \\ Choose a //Step//, then what kind of "//objectives//": *[[fr:primitive:mission:primitivemissiondocstep|Step]], Done in order to validate the quest. *[[fr:primitive:mission:primitivemissiondocstep_ooo|Step_ooo]], Done in disorder to validate the quest. *[[fr:primitive:mission:primitivemissiondocstep_if|Step_if]], Several paths needed to validate the quest. *[[fr:primitive:mission:primitivemissiondocstep_any|Step_any]], Only one of the objectives required. * ==== Objectives first ==== ===add_talk_to=== The PC must go to an NPC(in need of talking) to validate the target! \\ [[primitive:mission:primitivemissiondoctalk_to|add_talk_to]] === add_kill === The PC must go to kill a NPC/mob to validate the target! \\ [[primitive:mission:primitivemissiondockill|add_kill]] === add_cast === The PC must use a specific spell to validate the objective! \\ [[en:primitive:mission:primitivemissiondoccast|add_cast]] === add_forage === The PJ must go to harvest mps to validate the quest! \\ [[en:primitive:mission:primitivemissiondocforage|add_forage]] === add_loot === The PC must go to loop mps on a NPC/mob to validate the objective! \\ [[primitive:mission:primitivemissiondocloot|add_loot]] === add_craft === The PJ must go to make an object to validate the objective! \\ [[en:primitive:mission:primitivemissiondoccraft|add_craft]] === add_target === The PC must target a NPC/mob to validate the target! \\ [[primitive:mission:primitivemissiondoctarget|add_target]] ===add_sell=== The PC must go to sell a mps to validate the objective! \\ [[primitive:mission:primitivemissiondocsell|add_sell]] === add_buy === The PC must go buy a mps/item to validate the quest! \\ [[primitive:mission:primitivemissiondocbuy|add_buy]] === add_give_item === The PJ must give an mps/object to an NPC to validate the objective! \\ [[primitive:mission:primitivemissiondocgive_item|add_give_item]] === add_give_money === The PC must give money to an NPC to validate the objective! \\ [[primitive:mission:primitivemissiondocgive_money|add_give_money]] === add_escort === The PC must go to escort a NPC/mob to validate the target! \\ [[en:primitive:mission:primitivemissiondocescort|add_escort]] === add_visit === The PC must visit a place to validate the objective! \\ [[primitive:mission:primitivemissiondocvisit|add_visit]] === add_skill === The PC must have a minimum skill level to validate the objective! \\ [[primitive:mission:primitivemissiondocskill|add_skill]] ===add_do_mission=== The PC must go to another mission to validate the objective! (to test)\\ [[primitive:mission:primitivemissiondocdo_mission|add_do_mission]] === add_wait_ai_msg === The PC must wait for a message to validate the objective! (to test)\\ [[primitive:primitivemissiondocwait_ai_msg|add_wait_ai_msg]] === add_queue_start === The PC must wait for a populated scenario to validate the goal! (to test)\\ [[primitive:primitivemissiondocqueue_start|add_queue_start]] ==== secondary objectives ==== It is possible to put secondary objectives in: *pre_actions *objectives *post_actions ===Add_recv_money=== The PC receives money. \\ [[primitive:mission:primitivemissiondocrecv_money|add_recv_money]] ===== Creating a mission with dialogues ===== Now we add the dialogs. \\ OBS: It is absolutely necessary to place the __PC before the NPC before starting a dialogue__!! Choose a //dynamic chat//: *[[en:primitive:mission:primitivemissiondocstep_dyn_chat|Step_dyn_chat]], several choices available. *[[en:primitive:mission:primitivemissiondoclinear_dyn_chat_fail|Linear_dyn_chat_fail]], (not known at this point). *[[en:primitive:mission:primitivemissiondoclinear_dyn_chat_retry|Linear_dyn_chat_retry]], (not known at this point). *[[en:primitive:mission:primitivemissiondoclinear_dyn_chat_continue|Linear_dyn_chat_continue]], one choice available. To finish ===== Special Condition ===== Special cases: \\ To avoid having missions that crash!!!!! *[[en:primitive:mission:primitivemissiondocstep_failure|Step_failure]], (not known at this point). *[[en:primitive:primitivemissiondocstep_crash|Step_crash]], (not known at this point). *[[en:primitive:primitivemissiondocstep_player_reconnect|Step_player_reconnect]], (not known at this point). *[[en:primitive:mission:primitivemissiondocjump_to|Jump_to]], Jump on another part of mission. {{tag>world_editor mission primitives utilities tools}}