NPC Behavior Data Structures: Difference between revisions

From PSwiki
Jump to navigation Jump to search
Magodra (talk | contribs)
Magodra (talk | contribs)
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Where the information is located ==
== Where the information is located ==


===Server files===
===Database===


==== npcbehave.xml ====
====NPCs====


data/npcbehave.xml : contains the behaviour types <npctype>


This file contains:
=====sc_npc_definitions=====
 
* '''NPC Types''' : defines one type of NPC for example "wanderer", it's a collection of behaviors and reactions to events. Read this page for info: [[NPC Types]]
* '''Behavior''' : is a series of operations the NPC will have to perform. Can be a base behaviour like "walk" or a custom one like "thorian_go_to_work". This page [[Behavior_Operations]] lists all operations you can use inside a behaviour.
* '''Reactions''': each NPC can react to an event and trigger a Behaviour. You can read here for more infromation :[[Behaviors_and_Reactions]]
* '''Timings''': we call timings the reactions to time. Like thorian going home at 8 pm.
 
=== Database ===
 
==== sc_npc_definitions ====


This table associates a specific behavior with an NPC, In the npctype column you have the same name you find in the npcbehave.xml
This table associates a specific behavior with an NPC, In the npctype column you have the same name you find in the npcbehave.xml
Line 22: Line 12:
[[Sc_npc_definitionsTable]]
[[Sc_npc_definitionsTable]]


===Points on the map===
====Points on the map====


The world will have a number of '''waypoints''' each of the waypoints will be connected with '''paths'''. The waypoints are used to navigate on a large scale. E.g. when a NPC is going from home to work it will calculate the route of waypoint to travel to do this. It will use local navigation to get to the closes waypoint. Than the npc will travel using the paths connecting the waypoints. Each '''path''' connecting '''waypoints''' consist of a number of predefined points, called '''path points'''.
The world will have a number of '''waypoints''' each of the waypoints will be connected with '''paths'''. The waypoints are used to navigate on a large scale. E.g. when a NPC is going from home to work it will calculate the route of waypoint to travel to do this. It will use local navigation to get to the closes waypoint. Than the npc will travel using the paths connecting the waypoints. Each '''path''' connecting '''waypoints''' consist of a number of predefined points, called '''path points'''.


==== Locations ====
=====Locations=====


* [[Sc_locationsTable]]
* [[Sc_locationsTable]]
* [[Sc_location_typeTable]]
* [[Sc_location_typeTable]]


==== Paths and Points ====
===== waypoints =====
 
<uml>
[[Sc_path_pointsTable]]
Object sc_waypoints {
  int id
  string name
  string wp_group
  x,y,z,loc_sector_id
  float radius
  string flags
}
Object sc_waypoint_links {
  int id
  string name
  type
  int wp1
  int wp2
  string flags
}
Object sc_path_points {
  int id
  int path_id
  int prev_point
  x,y,z,loc_sector_id
}
Object sc_waypoint_alias {
  int id
  int wp_id
  string alias
}
sc_waypoint_links "1..N" --* "1" sc_waypoints : wp1 = id
sc_waypoint_links "1..N" --* "1" sc_waypoints : wp2 = id
sc_path_points "0..N" --* "1" sc_waypoint_links : path_id = id;
sc_waypoint_alias "0..N" --* "1" sc_waypoints : wp_id = id
</uml>


==== waypoints ====


* [[Sc_waypointsTable]]
* [[Sc_waypointsTable]]
* [[Sc_waypoint_linksTable]]
* [[Sc_waypoint_linksTable]]
* [[Sc_path_pointsTable]]


=== tribes ===
==== tribes ====


* [[TribesTable]]
* [[TribesTable]]
Line 53: Line 73:
* sc_tribe_memories
* sc_tribe_memories


=== npcdefs.xml (Deprecated) ===
===Server files (Deprecated)===
 
All information regarding tribes has now been moved into the DB.
 
==== npcbehave.xml ====
 
data/npcbehave.xml : contains the behaviour types <npctype>
 
This file contains:
 
* '''NPC Types''' : defines one type of NPC for example "wanderer", it's a collection of behaviors and reactions to events. Read this page for info: [[NPC Types]]
* '''Behavior''' : is a series of operations the NPC will have to perform. Can be a base behaviour like "walk" or a custom one like "thorian_go_to_work". This page [[Behavior_Operations]] lists all operations you can use inside a behaviour.
* '''Reactions''': each NPC can react to an event and trigger a Behaviour. You can read here for more infromation :[[Behaviors_and_Reactions]]
* '''Timings''': we call timings the reactions to time. Like thorian going home at 8 pm.
 
==== npcdefs.xml ====


data/npcdefs.xml : contains definitions for <locations> , <paths> , <waypoints>
data/npcdefs.xml : contains definitions for <locations> , <paths> , <waypoints>
Line 59: Line 94:
This file is deprecated as definition file. All the data has been moved to the DB.
This file is deprecated as definition file. All the data has been moved to the DB.


[[Category:Engine documents]]
[[Category:Engine documents]] [[Category:NPCClient Design]] [[Category:NPCClient Scripting]]

Latest revision as of 17:54, 9 April 2013

Where the information is located

Database

NPCs

sc_npc_definitions

This table associates a specific behavior with an NPC, In the npctype column you have the same name you find in the npcbehave.xml

Sc_npc_definitionsTable

Points on the map

The world will have a number of waypoints each of the waypoints will be connected with paths. The waypoints are used to navigate on a large scale. E.g. when a NPC is going from home to work it will calculate the route of waypoint to travel to do this. It will use local navigation to get to the closes waypoint. Than the npc will travel using the paths connecting the waypoints. Each path connecting waypoints consist of a number of predefined points, called path points.

Locations
waypoints


tribes

  • tribe_needs
  • tribe_members
  • sc_tribe_resources
  • sc_tribe_memories

Server files (Deprecated)

All information regarding tribes has now been moved into the DB.

npcbehave.xml

data/npcbehave.xml : contains the behaviour types <npctype>

This file contains:

  • NPC Types : defines one type of NPC for example "wanderer", it's a collection of behaviors and reactions to events. Read this page for info: NPC Types
  • Behavior : is a series of operations the NPC will have to perform. Can be a base behaviour like "walk" or a custom one like "thorian_go_to_work". This page Behavior_Operations lists all operations you can use inside a behaviour.
  • Reactions: each NPC can react to an event and trigger a Behaviour. You can read here for more infromation :Behaviors_and_Reactions
  • Timings: we call timings the reactions to time. Like thorian going home at 8 pm.

npcdefs.xml

data/npcdefs.xml : contains definitions for <locations> , <paths> , <waypoints>

This file is deprecated as definition file. All the data has been moved to the DB.