2017-11-06 14:57:59 +01:00
|
|
|
Actions and Tasks
|
|
|
|
Advanced_NPC Alpha-2 (DEV)
|
|
|
|
==========================
|
|
|
|
|
|
|
|
IMPORTANT: In this documentation is only the explanation of the particular operation of each predefined
|
|
|
|
action and task. Read reference documentation for details about API operation at [api.md](api.md).
|
|
|
|
|
|
|
|
Action (`add_action`)
|
|
|
|
---------------------
|
|
|
|
|
|
|
|
#### `SET_INTERVAL`
|
|
|
|
Set the interval at which the `action` are executed.
|
|
|
|
|
|
|
|
{
|
|
|
|
interval = 1, -- A decimal number, in seconds (default is 1 second)
|
|
|
|
freeze = false, -- if true, mobs_redo API will not execute until interval is set
|
|
|
|
}
|
|
|
|
|
|
|
|
#### `FREEZE`
|
|
|
|
This action allows to stop/execute mobs_redo API.
|
|
|
|
This is good for stopping the NPC from fighting, wandering, etc.
|
|
|
|
|
|
|
|
{
|
|
|
|
freeze = false, -- Boolean, if true, mobs_redo API will not execute.
|
|
|
|
}
|
|
|
|
|
|
|
|
Tasks (`add_task`)
|
|
|
|
------------------
|
|
|
|
|
|
|
|
#### `USE_BED`
|
|
|
|
Sequence of actions that allows the NPC to use a bed.
|
|
|
|
|
|
|
|
{
|
2017-12-20 20:40:36 +01:00
|
|
|
pos = {x=0,y=0,z=0}, --[[
|
|
|
|
^ Position of bed to be used.
|
|
|
|
^ Can be a coordinate x,y,z.
|
|
|
|
^ Can be a place name of the NPC place map.
|
|
|
|
Example: "bed_primary" ]]
|
|
|
|
|
2017-11-06 14:57:59 +01:00
|
|
|
action = action, --[[
|
|
|
|
^ Whether to get up or lay on bed
|
|
|
|
^ Defined in npc.actions.const.beds.action
|
2017-12-20 20:40:36 +01:00
|
|
|
^ Available options:
|
|
|
|
* npc.actions.const.beds.LAY : lay
|
|
|
|
* npc.actions.const.beds.GET_UP : get up
|
|
|
|
}
|
|
|
|
|
|
|
|
#### `WALK_TO_POS`
|
|
|
|
NPC will walk to the given position. This task uses the pathfinder to calculate the nodes
|
|
|
|
in the path that the NPC will walk through, then enqueues walk_step actions, combined with
|
|
|
|
correct directional rotations and opening/closing of doors on the path.
|
|
|
|
|
|
|
|
{
|
|
|
|
end_pos = {x=0,y=0,z=0}, --[[
|
|
|
|
^ Destination position to reach.
|
|
|
|
^ Can be a coordinate x,y,z.
|
|
|
|
^ Can be a place name of the NPC place map.
|
|
|
|
The position must be walkable for the npc to stop in,
|
|
|
|
or in the access position of the place.
|
|
|
|
Example: "home_inside" ]]
|
|
|
|
|
|
|
|
walkable = {}, --[[
|
|
|
|
^ An array of node names to consider as walkable nodes
|
|
|
|
for finding the path to the destination. ]]
|
|
|
|
|
|
|
|
use_access_node = true, --[[
|
|
|
|
^ Boolean, if true, when using places, it will find path
|
|
|
|
to the "accessible" node (empty or walkable node around
|
|
|
|
the target node) instead of to the target node.
|
|
|
|
^ Default is true. ]]
|
|
|
|
|
|
|
|
enforce_move = true, --[[
|
|
|
|
^ Boolean, if true and no path is found from the NPC's
|
|
|
|
position to the end_pos, the NPC will be teleported
|
|
|
|
to the destination (or, if use_access_node == true it will
|
|
|
|
teleport to the access position)
|
|
|
|
^ Default is true. ]]
|
2017-11-06 14:57:59 +01:00
|
|
|
}
|