Difference between revisions of "PATH"

From GTAMods Wiki
Jump to navigation Jump to search
m
(added images)
 
(34 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Paths in Vice City are grouped into nodes, each with at most 12 sub-nodes. The Group nodes define the type of vehicle going to be used by the sub nodes. Sub nodes contain path coordinates which are linked to each other both internally(Inside the group) and externally(Outside the group with other group nodes).
+
{{IplSection
 +
| game        = {{Icon|VC}}
 +
| description = Used to define paths for traffic
 +
}}
 +
'''PATH''' is a section in the [[item placement]] file in [[Vice City]]. It is used to define paths for traffic. Paths are grouped into nodes, each with at most 12 sub-nodes. The group nodes define the type of vehicle going to be used by the sub nodes. Sub nodes contain path coordinates which are linked to each other. There are two kinds of links:
 +
* internal links – connecting nodes within the same group.
 +
* external links – connecting nodes over two different groups.
  
== How Vice City Stores a Line (Linear path) ==
+
== Format ==
First of all, consider a small segment of the line in a group node. The group node has to be defined and then there are the 12 sub-nodes inside it. The number of coordinates vary from 2 to 12. If the number of coordinates does not reach 12, then they are filled with null nodes which does not do anything just to make the group node hold always 12 nodes. The internal and external sub nodes are defined each with a special attribute in it. The internal sub nodes are the middle parts of a segment of the line, while the external sub nodes are the end points of the segment of the line. They are used to connect to other external sub-node or end point of another segment(Another group) of the line. To connect the external sub-nodes or end points, they must and always must have the same coordinates. All the other group nodes link up together using this concept, thus you get a path which a vehicle or a ped follows from the beginning and to the end of the line.
+
{{Pre|
Spawns are made in the external nodes (Always remember that fact) and then they follow the route of the line.
+
path
 +
GroupType, -1
 +
NodeType, NextNode, IsCrossRoad, X, Y, Z, Median, LeftLanes, RightLanes, SpeedLimit, Flags, SpawnRate
 +
NodeType, NextNode, IsCrossRoad, X, Y, Z, Median, LeftLanes, RightLanes, SpeedLimit, Flags, SpawnRate
 +
NodeType, NextNode, IsCrossRoad, X, Y, Z, Median, LeftLanes, RightLanes, SpeedLimit, Flags, SpawnRate
 +
NodeType, NextNode, IsCrossRoad, X, Y, Z, Median, LeftLanes, RightLanes, SpeedLimit, Flags, SpawnRate
 +
NodeType, NextNode, IsCrossRoad, X, Y, Z, Median, LeftLanes, RightLanes, SpeedLimit, Flags, SpawnRate
 +
NodeType, NextNode, IsCrossRoad, X, Y, Z, Median, LeftLanes, RightLanes, SpeedLimit, Flags, SpawnRate
 +
NodeType, NextNode, IsCrossRoad, X, Y, Z, Median, LeftLanes, RightLanes, SpeedLimit, Flags, SpawnRate
 +
NodeType, NextNode, IsCrossRoad, X, Y, Z, Median, LeftLanes, RightLanes, SpeedLimit, Flags, SpawnRate
 +
NodeType, NextNode, IsCrossRoad, X, Y, Z, Median, LeftLanes, RightLanes, SpeedLimit, Flags, SpawnRate
 +
NodeType, NextNode, IsCrossRoad, X, Y, Z, Median, LeftLanes, RightLanes, SpeedLimit, Flags, SpawnRate
 +
NodeType, NextNode, IsCrossRoad, X, Y, Z, Median, LeftLanes, RightLanes, SpeedLimit, Flags, SpawnRate
 +
NodeType, NextNode, IsCrossRoad, X, Y, Z, Median, LeftLanes, RightLanes, SpeedLimit, Flags, SpawnRate
 +
end
 +
}}
  
One can add a maximum of 24 group nodes in Vice City though this limit can be increased by Maxorator's Path hacks.
+
{|class="wikitable center-col-1 center-col-2" style="width: 100%;"
 
+
! style="width: 3em;"| {{Icon|VC}}
== Flags ==
+
! style="width: 12em;"| Identifier
The last three numbers at the end of a paths line are the Flags, each ones can define a special function.
+
! style="width: 6em;" | Type
 
+
! Description
'''Flag 1, Node Speed Limit'''
+
|-
 
+
! colspan="4" | Group
Flag 1 has been identified as a Speed function, that is it specifies the speed vehicles will travel along that Path/Node.
+
|-
{| {{Prettytable}}
+
| A || GroupType || integer ||
|0 || Slow Vehicle Speed
+
* ''0'' = Pedestrian traffic
 +
* ''1'' = Road traffic
 +
* ''2'' = Water traffic
 +
|-
 +
| B || -1 || integer || always ''-1'', used as a delimiter
 
|-
 
|-
|1 || Average Vehicle Speed
+
! colspan="4" | Node
 
|-
 
|-
|2 || Fast Vehicle Speed
+
| A || NodeType || integer ||
|}
+
* ''0'' = Null
 
+
* ''1'' = External
'''Flag 2, Vehicle Travel/Roadblock'''
+
* ''2'' = Internal
 
 
Flag 2 has been identified as a controller for where some vehicle can travel and where Police Roadblock will spawn.
 
 
 
Note, Police Roadblock will only work if it is a Vehicle node with that Flag.
 
 
 
Note, Specified Vehicles Only, means that only Vehicles with a Specified flag will use the Paths.
 
{| {{Prettytable}}
 
|0 || Flag Ignored
 
 
|-
 
|-
|1 || Vehicles Wont Use/Spawn
+
| B || NextNode || integer ||
 +
* ''-1'' = Do not link to any other node in this group
 +
* ''0'' to ''11'' = Link to this node number in this group
 
|-
 
|-
|2 || Police Roadblock Spawns
+
| C || IsCrossRoad || integer || Boolean determining if there is a cross road in the imaginary line joined by two nodes
 
|-
 
|-
|4 || Specified Vehicles Only
+
| D,E,F || X, Y, Z || float[3] || X, Y, Z coordinates of the node * 16
 
|-
 
|-
|8 || (Unknown Purpose)
+
| G || Median || float ||
|}
+
* Pedestrian traffic: width of walkway
 
+
* Road traffic: width of divider between left and right lanes.
'''Flag 3, Spawn Rate'''
 
 
 
Flag 3 is supposably used to control the Spawn rate of Vehicles on that path but people have not noticed a difference.
 
The table below may be incorrect but it cannot be fully tested as there is no way to measure the spawn rate.
 
 
 
{| {{Prettytable}}
 
|0 || No Spawns
 
 
|-
 
|-
|0.2 || (Unknown)
+
| H || LeftLanes || integer || Number of lanes left of the node. This is ignored for internal nodes
 
|-
 
|-
|0.3 || (Unknown)
+
| I || RightLanes || integer || Number of lanes right of the node. This is ignored for internal nodes
 
|-
 
|-
|0.4 || (Unknown)
+
| J || SpeedLimit || integer || Sets the speed of vehicles traveling through the path
 +
* ''0'' = Slow
 +
* ''1'' = Medium
 +
* ''2'' = Fast
 
|-
 
|-
|0.5 || (Unknown)
+
| K || Flags || integer || General node behavior
 +
* ''0'' = No flags
 +
* ''1'' = Ignored by traffic
 +
* ''2'' = Police roadblock (only for road traffic node)
 +
* ''4'' = Restricted node
 +
* ''8'' = No effect, may be used by water traffic to increase maneuverability
 
|-
 
|-
|1 || Spawns
+
| L || SpawnRate || float || Spawn rate frequency ranging from ''0.0'' to ''1.0''
 
|}
 
|}
  
 +
== Description ==
 +
[[File:Vc car paths.png|thumb|200px|Car Paths Visualization]]
 +
[[File:Vc ped paths.png|thumb|200px|Ped Paths Visualization]]
 +
Consider a small segment of the line in vehicle paths node. The group has to be defined and then there must be 12 nodes inside it. If the total number of internal and external nodes in a group is not 12, then the remaining should be filled with null nodes.
 +
 +
The internal nodes define the connections inside the group whereas the external nodes define the connections to other group. External nodes in a group are connected to other external nodes in different group external sub-nodes by having the same coordinates.
  
Setup of a VC Paths Line
+
Spawns are always made in internal nodes, and external nodes only act as a link. For vehicles, lane information and the median width inside internal nodes are ignored, those information are only retrieved from external nodes. And also for vehicles, junctions are always kept in a separate group and external nodes of the group must always point to beginning of a connected line segment, whereas pedestrian nodes can mix the two.
{| {{Prettytable}}
+
 
|Path Type, Joins to Node _, 0, X, Y, Z, Median, Left, Right, Flag1, Flag2, Flag3
+
One can add a maximum of 4 paths group in Vice City though this limit can be increased by Maxorator's Path hacks. {{ref|1}}
|}
+
 
 +
== Tools and scripts ==
 +
* {{GTAF|490426|In-Game Paths Maker}} – by {{U|Swoorup}}
 +
* {{note|1}} [http://almost610.dmon.com/load/other/vc_paths_multiplier/2-1-0-16 Maxorator's Path Limit Hack] – by {{GTAF|profile|146289|Maxorator}}
  
 
== External links ==
 
== External links ==
[http://almost610.dmon.com/load/other/vc_paths_multiplier/2-1-0-16 Maxorator's Path Limit Hack] by [http://www.gtaforums.com/index.php?showuser=146289 Maxorator]
+
* [http://projectcerbera.com/gta/vc/tutorials/paths Description of the Vice City paths format] – by {{U|Cerbera}}
 
+
* {{GTAF|490426|In-Game Paths Maker for VC}} – by {{U|Swoorup}}
 +
* {{GTAF|post|93990|4027008|Flags description}} – by {{U|AK-73}}
 +
* {{GTAF|post|93990|1856773|Statistics for paths.ipl}} – by {{U|Steve-m}}
 
{{N|VC}}
 
{{N|VC}}

Latest revision as of 18:50, 22 May 2019

PATH (IPL section)
Short description:Used to define paths for traffic
Supported games:Vice City
IPL Sections:
2DFX AUZO BLOK CARS CULL ENEX GRGE
INST JUMP LINK LODM MLO+ MULT OCCL
PATH PICK RTFX SLOW TCYC VNOD ZONE

PATH is a section in the item placement file in Vice City. It is used to define paths for traffic. Paths are grouped into nodes, each with at most 12 sub-nodes. The group nodes define the type of vehicle going to be used by the sub nodes. Sub nodes contain path coordinates which are linked to each other. There are two kinds of links:

  • internal links – connecting nodes within the same group.
  • external links – connecting nodes over two different groups.

Format

path
GroupType, -1
	NodeType, NextNode, IsCrossRoad, X, Y, Z, Median, LeftLanes, RightLanes, SpeedLimit, Flags, SpawnRate
	NodeType, NextNode, IsCrossRoad, X, Y, Z, Median, LeftLanes, RightLanes, SpeedLimit, Flags, SpawnRate
	NodeType, NextNode, IsCrossRoad, X, Y, Z, Median, LeftLanes, RightLanes, SpeedLimit, Flags, SpawnRate
	NodeType, NextNode, IsCrossRoad, X, Y, Z, Median, LeftLanes, RightLanes, SpeedLimit, Flags, SpawnRate
	NodeType, NextNode, IsCrossRoad, X, Y, Z, Median, LeftLanes, RightLanes, SpeedLimit, Flags, SpawnRate
	NodeType, NextNode, IsCrossRoad, X, Y, Z, Median, LeftLanes, RightLanes, SpeedLimit, Flags, SpawnRate
	NodeType, NextNode, IsCrossRoad, X, Y, Z, Median, LeftLanes, RightLanes, SpeedLimit, Flags, SpawnRate
	NodeType, NextNode, IsCrossRoad, X, Y, Z, Median, LeftLanes, RightLanes, SpeedLimit, Flags, SpawnRate
	NodeType, NextNode, IsCrossRoad, X, Y, Z, Median, LeftLanes, RightLanes, SpeedLimit, Flags, SpawnRate
	NodeType, NextNode, IsCrossRoad, X, Y, Z, Median, LeftLanes, RightLanes, SpeedLimit, Flags, SpawnRate
	NodeType, NextNode, IsCrossRoad, X, Y, Z, Median, LeftLanes, RightLanes, SpeedLimit, Flags, SpawnRate
	NodeType, NextNode, IsCrossRoad, X, Y, Z, Median, LeftLanes, RightLanes, SpeedLimit, Flags, SpawnRate
end
Vice City Identifier Type Description
Group
A GroupType integer
  • 0 = Pedestrian traffic
  • 1 = Road traffic
  • 2 = Water traffic
B -1 integer always -1, used as a delimiter
Node
A NodeType integer
  • 0 = Null
  • 1 = External
  • 2 = Internal
B NextNode integer
  • -1 = Do not link to any other node in this group
  • 0 to 11 = Link to this node number in this group
C IsCrossRoad integer Boolean determining if there is a cross road in the imaginary line joined by two nodes
D,E,F X, Y, Z float[3] X, Y, Z coordinates of the node * 16
G Median float
  • Pedestrian traffic: width of walkway
  • Road traffic: width of divider between left and right lanes.
H LeftLanes integer Number of lanes left of the node. This is ignored for internal nodes
I RightLanes integer Number of lanes right of the node. This is ignored for internal nodes
J SpeedLimit integer Sets the speed of vehicles traveling through the path
  • 0 = Slow
  • 1 = Medium
  • 2 = Fast
K Flags integer General node behavior
  • 0 = No flags
  • 1 = Ignored by traffic
  • 2 = Police roadblock (only for road traffic node)
  • 4 = Restricted node
  • 8 = No effect, may be used by water traffic to increase maneuverability
L SpawnRate float Spawn rate frequency ranging from 0.0 to 1.0

Description

Car Paths Visualization
Ped Paths Visualization

Consider a small segment of the line in vehicle paths node. The group has to be defined and then there must be 12 nodes inside it. If the total number of internal and external nodes in a group is not 12, then the remaining should be filled with null nodes.

The internal nodes define the connections inside the group whereas the external nodes define the connections to other group. External nodes in a group are connected to other external nodes in different group external sub-nodes by having the same coordinates.

Spawns are always made in internal nodes, and external nodes only act as a link. For vehicles, lane information and the median width inside internal nodes are ignored, those information are only retrieved from external nodes. And also for vehicles, junctions are always kept in a separate group and external nodes of the group must always point to beginning of a connected line segment, whereas pedestrian nodes can mix the two.

One can add a maximum of 4 paths group in Vice City though this limit can be increased by Maxorator's Path hacks. [1]

Tools and scripts

External links