Missions
Use the 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 Commented example of a mission creation.
If there is no “mission” primitive, click on “Project”, then “New Primitive”, then choose Missions_editor, and then 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
.
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.
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 exampleurban_newbieland.primitive
- global replay_timer: the time before the quest can be resumed after its failure or success, for everyone? Visibly in 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 ticks.
- replayable: “replayable”, check if it can be done several times.
- run_only_once: can only be done once.
In variables, add 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”:
Objectives first
add_talk_to
The PC must go to an NPC(in need of talking) to validate the target!
add_talk_to
add_kill
The PC must go to kill a NPC/mob to validate the target!
add_kill
add_cast
The PC must use a specific spell to validate the objective!
add_cast
add_forage
The PJ must go to harvest mps to validate the quest!
add_forage
add_loot
The PC must go to loop mps on a NPC/mob to validate the objective!
add_loot
add_craft
The PJ must go to make an object to validate the objective!
add_craft
add_target
The PC must target a NPC/mob to validate the target!
add_target
add_sell
The PC must go to sell a mps to validate the objective!
add_sell
add_buy
The PC must go buy a mps/item to validate the quest!
add_buy
add_give_item
The PJ must give an mps/object to an NPC to validate the objective!
add_give_item
add_give_money
The PC must give money to an NPC to validate the objective!
add_give_money
add_escort
The PC must go to escort a NPC/mob to validate the target!
add_escort
add_visit
The PC must visit a place to validate the objective!
add_visit
add_skill
The PC must have a minimum skill level to validate the objective!
add_skill
add_do_mission
The PC must go to another mission to validate the objective!
(to test)
add_do_mission
add_wait_ai_msg
The PC must wait for a message to validate the objective!
(to test)
add_wait_ai_msg
add_queue_start
The PC must wait for a populated scenario to validate the goal!
(to test)
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.
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:
- Step_dyn_chat, several choices available.
- Linear_dyn_chat_fail, (not known at this point).
- Linear_dyn_chat_retry, (not known at this point).
- Linear_dyn_chat_continue, one choice available.
To finish
Special Condition
Special cases:
To avoid having missions that crash!!!!!
- Step_failure, (not known at this point).
- Step_crash, (not known at this point).
- Step_player_reconnect, (not known at this point).
- Jump_to, Jump on another part of mission.