Search In
• More options...
Find results that contain...
Find results in...

# Paths Documentation for SA, VC and GTA3

## Recommended Posts

Good work guys, it looks like the mysteries of ped-paths are being slowly revealed.

I don't think I'll be meddling with them until someone makes a nice proggy that takes coords and gives you a nice ped-path though.

##### Share on other sites

Now that I've figured out the easiest way to join them up I'm doing the paths for the Community Map. I've already done the ped paths for a fair distance around the freeway, no car paths yet, though.

First Path Release for Community Map

The easiest format I reckon doing paths in is to start one end of the path at a junction and then run as many batches of nodes as it takes to get to the next junction. Then, you start the next batch of nodes starting at where the last batch ended and run that until either:

You get back to where you started, thus have a cyclic path.

You reach a dead end, at which point you terminate the path.

So far I'm not quite sure whether the cyclic path will work if I just terminate it at the start point for the first route, we'll see.

Here's the plan I'm using to work out which paths need to lead where:

200%

Here's a commented example:

`# INITIATE Peds, Freeway, Outer.# Peds, Freeway, Junction A.0, -11,  1, 0,  2810.500, -13932.835, 231.160, 1, 1, 1, 1, 0, 12,  2, 0,  2807.250, -13937.699, 231.114, 1, 1, 1, 1, 0, 12,  3, 0,  2097.750, -13925.524, 228.479, 1, 1, 1, 1, 0, 12,  4, 0,  1751.250, -13903.858, 227.234, 1, 1, 1, 1, 0, 12,  5, 0,  1418.500, -13855.446, 227.037, 1, 1, 1, 1, 0, 12,  6, 0,  1264.250, -13814.877, 226.829, 1, 1, 1, 1, 0, 12,  7, 0,  1110.500, -13758.313, 226.908, 1, 1, 1, 1, 0, 12,  8, 0,   973.250, -13690.653, 226.588, 1, 1, 1, 1, 0, 12,  9, 0,   842.750, -13599.193, 226.329, 1, 1, 1, 1, 0, 12, 10, 0,   726.750, -13486.732, 226.284, 1, 1, 1, 1, 0, 12, 11, 0,   639.000, -13373.731, 226.417, 1, 1, 1, 1, 0, 12, -1, 0,   567.500, -13246.000, 226.810, 1, 1, 1, 1, 0, 10, -12,  1, 0,   567.500, -13246.000, 226.810, 1, 1, 1, 1, 0, 12,  2, 0,   501.189, -13110.772, 226.600, 1, 1, 1, 1, 0, 12,  3, 0,   444.469, -12967.031, 226.942, 1, 1, 1, 1, 0, 12,  4, 0,   361.092, -12659.432, 228.934, 1, 1, 1, 1, 0, 12,  5, 0,   296.578, -12309.422, 231.045, 1, 1, 1, 1, 0, 12,  6, 0,   255.534, -11951.036, 234.138, 1, 1, 1, 1, 0, 12,  7, 0,   235.526, -11593.324, 236.649, 1, 1, 1, 1, 0, 12, -1, 0,   229.241, -11063.556, 239.640, 1, 1, 1, 1, 0, 10, -1, 0,     0,          0,       0,     0, 0, 0, 0, 0, 10, -1, 0,     0,          0,       0,     0, 0, 0, 0, 0, 10, -1, 0,     0,          0,       0,     0, 0, 0, 0, 0, 10, -1, 0,     0,          0,       0,     0, 0, 0, 0, 0, 1# Ends Junction B.# Peds, Freeway, Junction B.0, -12,  1, 0,   229.241, -11063.556, 239.640, 1, 1, 1, 1, 0, 12,  2, 0,   236.868, -10892.206, 239.851, 1, 1, 1, 1, 0, 12,  3, 0,   268.628, -10463.411, 241.314, 1, 1, 1, 1, 0, 12,  4, 0,   327.987,  -9988.621, 241.949, 1, 1, 1, 1, 0, 12,  5, 0,   405.360,  -9546.828, 241.070, 1, 1, 1, 1, 0, 12,  6, 0,   467.881,  -9317.708, 240.456, 1, 1, 1, 1, 0, 12,  7, 0,   539.828,  -9126.188, 240.034, 1, 1, 1, 1, 0, 12,  8, 0,   628.073,  -8956.264, 238.910, 1, 1, 1, 1, 0, 12,  9, 0,   736.841,  -8814.173, 238.856, 1, 1, 1, 1, 0, 12, 10, 0,   859.100,  -8695.775, 239.477, 1, 1, 1, 1, 0, 12, 11, 0,   997.941,  -8600.737, 240.496, 1, 1, 1, 1, 0, 12, -1, 0,  1141.237,  -8528.362, 241.423, 1, 1, 1, 1, 0, 10, -12,  1, 0,  1141.237,  -8528.362, 241.423, 1, 1, 1, 1, 0, 12,  2, 0,  1291.200,  -8472.991, 243.270, 1, 1, 1, 1, 0, 12,  3, 0,  1291.200,  -8472.991, 243.270, 1, 1, 1, 1, 0, 12,  4, 0,  1600.062,  -8397.164, 245.861, 1, 1, 1, 1, 0, 12,  5, 0,  2099.486,  -8319.171, 247.024, 1, 1, 1, 1, 0, 12,  6, 0,  2415.119,  -8257.533, 245.980, 1, 1, 1, 1, 0, 11, -1, 0,  2807.483,  -8208.654, 244.433, 1, 1, 1, 1, 0, 10, -1, 0,     0,          0,       0,     0, 0, 0, 0, 0, 10, -1, 0,     0,          0,       0,     0, 0, 0, 0, 0, 10, -1, 0,     0,          0,       0,     0, 0, 0, 0, 0, 10, -1, 0,     0,          0,       0,     0, 0, 0, 0, 0, 10, -1, 0,     0,          0,       0,     0, 0, 0, 0, 0, 1# Ends Junction C.# TERMINATE, Peds, Freeway, Outer`

(Posting it strips the indentation, whether you use tabs or spaces. )

The syntax is exactly how Delfi posted it, although it took a bit of experimentation to work out quite how the syntax manifests itself in-game. In my comment system, you have an "INITIATE" comment which says which juntion you are starting at, which side of the road you are on and which direction you plotted in. This is so you can just use "Find" to locate the paths which relate to certain junctions later on.

` 1,  1, 0,  2810.500, -13932.835, 231.160, 1, 1, 1, 1, 0, 1`

The "1" at the start indicates this is the start of a route, as Delfi suggested. The "2" of all the other nodes means that they will accept connections from other nodes in that batch of 12.

Now, as we are limited to 12 nodes per batch, at the end of each batch you need an "open" node which has the "-1" in the second position. Then, at the start of the next batch, you have a normal node but which is at the precise same co-ords as the "open" node at the end of the previous batch.

I assume this is so you don't end up with two nodes in the same place which are trying to each create peds around themselves. Or something like that...anyway, it probably means that I'll have to change that initial "1" to a "-1" to make it an "open" node to accept the connection from the very last node running from junction "J" to "A" to get a proper circular route.

All the widths of my paths are set at "1" because the footpaths are pretty narrow in ill's community map - Delfi got that parameter correct as well.

Once you reach the next junction, I stick a comment saying that this sub-route dealio has finished and say where it finished at. This is because I finish each mini-route so that the open node is at the first place where peds will cross the street. I will start the ped path for the minor road which joins the freeway at this "open" location and run it down that side of the minor road until the next junction.

I can forsee the junctions being a bit tricky but if I maintain a clockwise convention for the peds to get around them, it should all work.

Edited by Cerbera

Good show, DM!

##### Share on other sites

Good show, DM!

Why thank you, Penfold.

I'll tomorrow I shall mainly be tinkering with car paths. What I'll do first is change all these ped paths to car paths and see if that works...at all.

(EDIT) Oh, erm, it has actually sort of worked:

1024 x 768 version

My path blatently isn't properly circular as they are turning around at the start point here. Whizzing around the route in the Hunter I didn't see any cars at all, so I'll have to continue my research tomorrow. I think I'll have to prod the hotring car paths.

(EDIT) Ill went over the routes I did using the correct start and end syntax, I think the way I was doing it was working more through it essentially making a single list of a hundred nodes, rather than than distinct sections of nodes.

Edited by Cerbera

##### Share on other sites

Did you delete any paths from the game when you added those paths? Or you didn't even touch them?

##### Share on other sites
Did you delete any paths from the game when you added those paths? Or you didn't even touch them?

I deleted ALL of the original car paths and started from scratch. As I can't use my proper PC (I'm at the library right now) I can't upload the progress I'd made with the car paths. I'd gotten the full loop around the freeway done and had the route for the south-west island done, was just working out how to do the junctions. But I can't do that now.

##### Share on other sites

Can someone explain to me what the one in bold mean?

2, 1, 0, 1141.237, -8528.362, 241.423, 1, 1, 1, 1, 0, 1

How do you set it 2 ways, 1 way, 2 lanes, 1 lane, roadblocks, etc?

##### Share on other sites
Can someone explain to me what the one in bold mean?

2, 1, 0, 1141.237, -8528.362, 241.423, 1, 1, 1, 1, 0, 1

How do you set it 2 ways, 1 way, 2 lanes, 1 lane, roadblocks, etc?

no idea, here is what i know about them, includes

some gta-vc path sections that use different numbers for those params:

`one thing is certain: the last number is alaways onecan't say same for others..number 1 can be 0, 1, 2, 5number 2 can be 1, 2number 3 can be 1, 2number 4 can be 0, 1number 5 can be 0, 22048.678, -10978, 308.344,     0, 1, 1, 0, 2, 1443.999, -11932.8, 285.513,    0, 1, 1, 0, 2, 12039.317, -10877.149, 308.344, 0, 1, 1, 0, 2, 1420.748, -11084.3, 304.631,    0, 2, 2, 0, 0, 1431.064, -10857.4, 305.208,    0, 2, 2, 0, 0, 11223.36, -8698.241, 304.108,   0, 2, 2, 0, 0, 1675.714, -13038.7, 288.522,    0, 2, 2, 0, 0, 12993.6, -8385.63, 308.812,     0, 2, 2, 0, 0, 111898.4, -14388.2, 284.48,     0, 2, 2, 0, 2, 113403.4, -15681.6, 226.355,    0, 2, 2, 0, 2, 111270.8, -22939.1, 285.818,    0, 2, 2, 0, 2, 19280.29, -8799.57, 228.908,    5, 1, 1, 0, 0, 19280.29, -9124.61, 247.692,    5, 1, 1, 0, 0, 19280.29, -8892.29, 234.09,     5, 1, 1, 0, 0, 19280.29, -9008.469, 242.981,   5, 1, 1, 0, 0, 19280.29, -8801.13, 228.908,    5, 1, 1, 0, 0, 12514.049, -13935.319, 279.114, 1, 1, 1, 0, 0, 12097.75, -13925.525, 276.479,  1, 1, 1, 0, 0, 11751.25, -13903.858, 275.234,  1, 1, 1, 0, 0, 11418.5, -13855.45, 275.037,    1, 1, 1, 0, 0, 11264.25, -13814.876, 274.829,  1, 1, 1, 0, 0, 1501.189, -13110.772, 274.6,    1, 1, 1, 1, 0, 1444.469, -12967.031, 274.942,  1, 1, 1, 1, 0, 1296.578, -12309.422, 279.045,  1, 1, 1, 1, 0, 1255.533, -11951.036, 282.138,  1, 1, 1, 1, 0, 1235.526, -11593.324, 284.649,  1, 1, 1, 1, 0, 1836.343, -10879.001, 306.391,  2, 1, 1, 1, 0, 11047.538, -10879.001, 306.391, 2, 1, 1, 1, 0, 11296.278, -10879.001, 306.391, 2, 1, 1, 1, 0, 11563.79, -10879.001, 308.48,   2, 1, 1, 1, 0, 11784.37, -10879.001, 308.344,  2, 1, 1, 1, 0, 17560.353, -16233.736, 281.225, 2, 1, 1, 1, 0, 12811.73, -10875.019, 316.8,    2, 1, 1, 0, 0, 12715.04, -13447.84, 304,       2, 1, 1, 0, 0, 12731.189, -13308.269, 304,     2, 1, 1, 0, 0, 13065.957, -13249.076, 304,     2, 1, 1, 0, 0, 13179.05, -13577.806, 304,      2, 1, 1, 0, 0, 18536.015, -10690.611, 286.195, 1, 1, 1, 1, 0, 18430.009, -10633.254, 289.284, 1, 1, 1, 1, 0, 18248.87, -10572.592, 285.165,  1, 1, 1, 1, 0, 18261.997, -10636.952, 285.829, 1, 1, 1, 1, 0, 18466.829, -10694.638, 288.387, 1, 1, 1, 1, 0, 1`

they must be used for traffic lights, lane-type, maybe direction, whatever, experiment with them and you will see the effect.

##### Share on other sites

IIRC, the fields after the coord's in car paths are like so:

width of median, number of right lanes, number of left lanes, unknown/usually 0, special, unkwown/always 1

Median width can be pretty much anything, and doubles as the actual path width when used for peds. 0, 1, and 2 are all I've tried for lane numbers, but I imagine it might work at 3. The next one is usually 0 for car paths, no clue what it does. Something for ped paths maybe? Only values I know of for the special field are 0 and 2. 0 is a normal node, 2 makes roadblocks spawn there. No clue about the 1 at the end. Perhaps an on/off flag?

##### Share on other sites

Here they are, the official and complete statistics of the original VC paths.ipl!

I've called the 7th parameter "width", since that's for sure. Width and Param12 are floating point values, the others are integers.

Statistics grouped by path type (ped/car/boat), values sorted in ascending order.

1957 paths, 14732 path nodes

Peds:

Width: 0-200; Param8: 0/1; Param9: 0/1; Param10: 0/1; Param11: 0/1/4; Param12: 0.2-1

Parameter Value (Occurences)
Width: 0 (588); 0.3 (2); 0.5 (39); 0.7 (28); 0.8 (3); 0.9 (4); 1 (402); 1.1 (3); 1.2 (4); 1.3 (6); 1.4 (9); 1.5 (54); 1.6 (2); 1.7 (1); 1.8 (1); 1.9 (5); 2 (3944); 2.1 (5); 2.2 (4); 2.3 (4); 2.4 (20); 2.5 (69); 2.6 (14); 2.65 (11); 2.7 (27); 2.75 (3); 2.8 (14); 2.9 (29); 3 (1136); 3.1 (17); 3.2 (16); 3.3 (18); 3.4 (22); 3.5 (320); 3.6 (25); 3.7 (34); 3.8 (11); 3.9 (17); 4 (1295); 4.01 (3); 4.1 (25); 4.2 (19); 4.3 (9); 4.4 (1); 4.5 (21); 4.6 (2); 4.7 (14); 4.8 (23); 4.9 (5); 5 (97); 5.1 (7); 5.2 (12); 5.3 (13); 5.4 (4); 5.5 (8); 5.6 (5); 5.7 (8); 5.8 (9); 5.9 (5); 6 (57); 6.1 (3); 6.2 (12); 6.3 (3); 6.4 (3); 6.5 (21); 6.6 (5); 6.7 (6); 6.8 (7); 6.9 (16); 7 (11); 7.1 (1); 7.2 (8); 7.3 (7); 7.4 (2); 7.5 (2); 7.7 (7); 7.9 (1); 8 (53); 8.1 (5); 8.2 (1); 8.3 (16); 8.4 (4); 8.5 (5); 8.6 (2); 8.7 (4); 8.8 (4); 8.9 (4); 9 (11); 9.1 (8); 9.2 (8); 9.3 (5); 9.4 (1); 9.5 (3); 9.6 (6); 9.8 (3); 9.9 (1); 10 (92); 10.1 (2); 10.2 (1); 10.4 (5); 10.5 (1); 10.8 (1); 10.9 (1); 11 (5); 11.1 (1); 11.2 (3); 11.3 (2); 11.4 (2); 11.5 (1); 11.6 (2); 11.8 (6); 11.9 (4); 12 (17); 12.1 (3); 12.2 (2); 12.3 (1); 12.4 (1); 12.5 (1); 12.7 (2); 12.8 (1); 12.9 (2); 13 (3); 13.1 (2); 13.2 (1); 13.3 (5); 13.4 (5); 13.6 (1); 13.7 (1); 13.8 (1); 14.1 (1); 14.3 (1); 14.4 (1); 14.5 (1); 14.6 (1); 14.7 (2); 14.9 (2); 15 (22); 15.1 (1); 15.2 (1); 15.4 (2); 15.5 (1); 15.7 (2); 15.8 (1); 15.9 (1); 16.1 (1); 16.2 (1); 16.5 (1); 16.8 (1); 17 (15); 17.1 (4); 17.2 (2); 17.5 (1); 17.6 (1); 17.7 (1); 18 (1); 18.2 (1); 18.3 (1); 18.4 (1); 18.6 (2); 20 (175); 20.3 (1); 20.7 (1); 20.9 (1); 21.4 (1); 22.3 (1); 22.4 (1); 22.5 (1); 24 (1); 24.2 (2); 24.3 (2); 24.4 (1); 24.9 (1); 25 (1); 26 (1); 26.2 (1); 26.4 (2); 29.1 (1); 29.6 (2); 30 (28); 30.9 (1); 40 (6); 50 (205); 60 (1); 70 (1); 80 (2); 100 (6); 150 (1); 200 (2)
Param8: 0 (1); 1 (9513)
Param9: 0 (1); 1 (9513)
Param10: 0 (74); 1 (9440)
Param11: 0 (9110); 1 (403); 4 (1)
Param12: 0.2 (1); 0.4 (7); 0.5 (260); 1 (9246)

Cars:

Width: 0-29.4; Param8: 0/1/2/3; Param9: 0/1/2/3; Param10: 0/1/2; Param11: 0/1/2; Param12: 1

Parameter Value (Occurences)
Width: 0 (4256); 0.3 (1); 0.5 (2); 1 (2); 1.1 (2); 1.5 (2); 2 (70); 3.2 (49); 5 (1); 6 (1); 6.5 (5); 6.9 (7); 7.1 (3); 7.3 (15); 7.4 (14); 7.6 (1); 8 (39); 8.5 (4); 8.8 (1); 9.4 (28); 9.5 (10); 9.9 (7); 10 (65); 11 (1); 11.8 (1); 29.4 (1)
Param8: 0 (282); 1 (4232); 2 (64); 3 (10)
Param9: 0 (135); 1 (4376); 2 (66); 3 (11)
Param10: 0 (1828); 1 (2670); 2 (90)
Param11: 0 (3420); 1 (878); 2 (290)
Param12: 1 (4588)

Boats:

Width: 0-35; Param8: 0-4; Param9: 0-4; Param10: 0/1/2; Param11: 0/8; Param12: 0.3-1

Parameter Value (Occurences)
Width: 0 (550); 5 (2); 10 (11); 15 (19); 18 (2); 20 (23); 25 (16); 35 (7)
Param8: 0 (39); 1 (540); 2 (33); 3 (12); 4 (6)
Param9: 0 (38); 1 (544); 2 (29); 3 (13); 4 (6)
Param10: 0 (68); 1 (561); 2 (1)
Param11: 0 (516); 8 (114)
Param12: 0.3 (13); 0.5 (573); 1 (44)

##### Share on other sites

are the nodes only USED nodes or all including unused ones?

btw, i hope you didn't do it by-hand

##### Share on other sites

are the nodes only USED nodes or all including unused ones?

Only used nodes, of course. All nodes would be 1957*12=23484.

btw, i hope you didn't do it by-hand

Nah, I'm not that insane...

##### Share on other sites
Wait. So parameter 8 is the amount of lanes going south and parameter 9 is the amount of lanes going north, then what's 10, 11, and 12?

##### Share on other sites

No idea about 10 or 12, but I do know a value of 2 in field 11 for cars makes the node a roadblock.

##### Share on other sites

Ooh, good work Steve. Looks like now I can write a proper paths tutorial for hand-making paths and a better manual for Ehsan's editor. Once we get Curveshire released and well established, I intend to try and create some GTA3 paths. The system is more complicated as it's linked to objects but the nodes themselves are mainly the same as the GTAVC format.

I'm also going to be doing a thorough investigation into ways to remove the Liberty buildings so Curveshire can be a proper city replacement. I expect I'll just spend a week tracing through IDE's and the IMG, deleting one file after another and testing the result.

I'm so happy! Buried in projects again!

##### Share on other sites

I was going to post this yesterday but I was temporarily banned.

I have been working on a complete paths definition which is still in progress. You can find it here - that link won't change even when it is complete. I need to make the extra diagrams and data for the examples, complete the parameter definitions tables and then tidy up the wording.

I am also writing a step-by-step guide on adding a pedestrian path to the El Swanko Casa's driveway. It will also explain linking this new path to the existing ped path which crosses the driveway opening. Manual Editing Draft - this link won't change.

My third guide about paths will demonstrate adding and linking this same El Swanko Casa driveway path but this time using Ehsan's editor. Using Editor Draft - this link won't be changed either.

These guides are all for GTAVC but I will attempt to write a guide for GTA3 paths as well.

I'm working on a big bundle of other guides which can be found in the Texts section of my site. Some of the new ones are already complete but the draft ones are in the WIP section at the bottom of that page.

##### Share on other sites
I discovered value 1 in Flag 4 (Flag 2 in Cerbera's site)! The value 1 omits cars moving and spawning in the path. Cop cars can spawn in it if they chase you. Used in the alleyway in Guardian Angels. If this is old, kill me. Edited by spaceeinstein

##### Share on other sites

Just made a small path generator script for Max by request from illy and Odie. It generates linear paths (no intersections!) out of spline shapes. Instructions inside the script.

This is the very first version, not tested yet, so thanks for any input.

Edit: I tested it, works amazingly. This way paths for long streets are created within a few minutes, without much trouble.

Remains the intersection problem. I've tested overlapping end nodes (3 external nodes of 3 path segments with identical coords), but that doesn't seem to work, the cars didn't recognize it as intersection.

Something else I did never test before: I added my test paths simply to a custom ipl, below the object placements, and that works without problems.

Edit 2: Script fixed to work with Max 3 and higher.

Edited by steve-m

##### Share on other sites
Just made a small path generator script for Max by request from illy and Odie. It generates linear paths (no intersections!) out of spline shapes. Instructions inside the script.

This is the very first version, not tested yet, so thanks for any input.

Edit: I tested it, works amazingly. This way paths for long streets are created within a few minutes, without much trouble.

Remains the intersection problem. I've tested overlapping end nodes (3 external nodes of 3 path segments with identical coords), but that doesn't seem to work, the cars didn't recognize it as intersection.

Something else I did never test before: I added my test paths simply to a custom ipl, below the object placements, and that works without problems.

Edit 2: Script fixed to work with Max 3 and higher.

Steve i LOVE you!

##### Share on other sites

I <3 U 2!

Here are the complete statistics for San Andreas' paths*.ipl. The 13th parameter ('Flag 4') is new and only non-zero for car paths, could have to do with highway speeds.

Another thing I noticed is that the 3rd parameter is not always zero, for some nodes it is 1, even in VC!

And what the hell is Flag 3?

12704 paths, 100089 path nodes

Peds:

Parameter Value (Occurences)
Width: 0.1 (1); 0.2 (17); 0.25 (80); 0.265 (10); 0.4 (1); 0.5 (1766); 0.6 (5); 0.75 (53); 0.9 (12); 1 (5301); 1.1 (27); 1.3 (4); 1.5 (377); 1.6 (8); 1.7 (3); 1.75 (10); 1.8 (4); 1.9 (3); 2 (43867); 2.1 (6); 2.2 (2); 2.4 (9); 2.5 (7); 2.6 (2); 2.7 (3); 2.8 (9); 2.9 (35); 3 (232); 3.1 (2); 3.2 (15); 3.3 (18); 3.4 (20); 3.5 (92); 3.6 (19); 3.7 (19); 3.8 (37); 3.9 (39); 4 (298); 4.1 (26); 4.2 (24); 4.3 (58); 4.4 (34); 4.5 (46); 4.6 (20); 4.7 (33); 4.8 (45); 4.9 (21); 5 (386); 5.1 (29); 5.2 (24); 5.3 (24); 5.4 (31); 5.5 (23); 5.6 (39); 5.7 (51); 5.8 (47); 5.9 (37); 6 (346); 6.1 (61); 6.2 (20); 6.3 (18); 6.4 (60); 6.5 (21); 6.6 (22); 6.7 (38); 6.8 (10); 6.9 (3); 7 (196); 7.1 (14); 7.2 (27); 7.3 (26); 7.4 (23); 7.5 (22); 7.6 (12); 7.7 (11); 7.8 (23); 7.9 (21); 8 (86); 8.1 (28); 8.2 (7); 8.3 (13); 8.4 (23); 8.5 (2); 8.6 (3); 8.7 (17); 8.8 (31); 8.9 (15); 9 (3); 9.1 (3); 9.3 (10); 9.4 (8); 9.5 (4); 9.6 (13); 9.8 (2); 9.9 (12); 10 (46); 10.1 (3); 10.2 (1); 10.4 (1); 10.5 (1); 10.6 (1); 10.7 (2); 10.9 (7); 11 (12); 11.1 (9); 11.2 (5); 11.3 (1); 11.4 (1); 11.8 (1); 12.2 (5); 12.5 (1); 13 (14); 13.2 (5); 13.4 (2); 13.7 (1); 13.8 (2); 14 (6); 14.1 (3); 14.5 (4); 15 (6); 16.2 (8); 16.9 (1); 17.6 (4); 20.4 (1); 21.2 (3); 23 (1)
Left: 0 (1); 1 (54822)
Right: 1 (54823)
Flag 1: 1 (54823)
Flag 2: 0 (46094); 1 (8724); 16 (5)
Flag 3: 0 (5); 0.1 (1357); 0.5 (107); 1 (53354)
Flag 4: 0 (54823)

Cars:

Parameter Value (Occurences)
Width: 0 (41830); 0.075 (1); 0.1 (28); 0.2 (1); 0.3 (2); 0.5 (1); 0.75 (3); 0.8 (2); 0.9 (3); 1 (107); 1.5 (137); 1.6 (2); 1.9 (3); 2 (9); 2.1 (1); 2.3 (6); 2.5 (18); 2.6 (1); 2.8 (1); 2.9 (1); 3 (49); 3.1 (7); 3.4 (1); 3.5 (6); 3.7 (1); 3.9 (1); 4 (2); 4.5 (3); 5 (97); 5.1 (10); 5.3 (1); 5.5 (65); 6 (29); 6.5 (13); 6.6 (9); 6.8 (1); 7 (16); 8.2 (2); 9 (8); 10 (83); 11 (89)
Left: 0 (2166); 1 (39140); 2 (1341); 3 (3)
Right: 0 (2171); 1 (39127); 2 (1352)
Flag 1: 0 (243); 1 (38879); 2 (3528)
Flag 2: 0 (32269); 1 (9990); 2 (390); 3 (1)
Flag 3: 0.1 (685); 0.2 (8); 0.5 (156); 1 (41801)
Flag 4: 0 (42412); 1 (1); 2 (216); 8 (14); 9 (7)

Boats:

Parameter Value (Occurences)
Width: 0 (1468); 2 (83); 2.1 (7); 3 (18); 3.1 (8); 4 (10); 5 (912); 5.1 (21); 10 (85); 15 (4)
Left: 0 (235); 1 (2380); 2 (1)
Right: 0 (234); 1 (2382)
Flag 1: 1 (2616)
Flag 2: 0 (2169); 1 (125); 8 (105); 9 (217)
Flag 3: 1 (2616)
Flag 4: 0 (2616)

##### Share on other sites

Flag 3 may be the probability of spawning, but this is just a guess.

##### Share on other sites
Flag 3 may be the probability of spawning, but this is just a guess.

I checked that already, but didn't notice any changes in spawn rate. I even used very high values in order to brake something, but nothing broke.

##### Share on other sites

I'm spamming this topic right to hell.

Script updated. No junction algorithm yet, but the following features are new:

• improved code
• SA compatible (4th flag added, ignored by VC)
• each path type with own color
• settings can be stored in a shape's user properties, so you can export different types of paths at the same time, and save settings with your scene
• ped node variation (a random value between -variation and +variation is added to the X and Y coords of ped path nodes on export, so they aren't straight lines)
• comments can be disabled, since Ehsan's editor doesn't like them
Should work with 3DSMax 3 and higher. The next version will hopefully export proper junctions.

Path Generator 0.2

Please don't download that version! I just noticed I broke it with the last update. Internal nodes get a 1 instead of a 2. However, the order is correct, but you'd have to change it by hand.

I've already finished version 0.3 today, got junction support working! Release tomorrow, since I still have to test...

Edited by steve-m

##### Share on other sites

Yes, I realize I just triple posted. Sue me. Ban me. Feed me to lions. Or even worse, notify the Voice of the People.

New version with junction algo. To create junctions, let the spline knots within ONE shape overlap. Note that not more than 12 nodes can be used per path segment/junction. However, this limit is irrelevant for linear paths, as they will be split up automatically.

Example of a H junction, created in 3DSMax and viewed with Ehsan's editor:

The script employs two different algorithms, one for junctions and one for linear paths. The junction algo is applied first, it creates a list of unique vertices (overlapping verts within the given threshold) and a list of links between them, and analyzes the data. The following special situations may occur:

• If there are no junctions in the shape, the linear path algo will do the work.
• If the shape contains more knots/segments than allowed, you'll get an error message.
• If a circuit is detected, you'll get an error message as well. That's because I thought the game doesn't support circuits, until I discovered lots of them in VC (e.g. ped paths in the Vercetti Mansion). Still need to implement support for them.
• Interruptions in the junction (separate splines) should be detected as well.
Example for an error message:

There might still be ways to trick the error detection, so be careful. If you want to check your exported path data in Ehsan's editor, uncheck the box "Enable Comments", because the editor reads them wrong.

I hope it works, please test and give feedback. For more features see the previous posts.

Path Generator 0.3 (Does not work with Max3 due to use of qsort!)

##### Share on other sites

/* in an effort to prevent you from quadruple posting, i must say; good work! glad to see me and kam aren't the only ones using Max to its full potential. About the script itself, i tested it in max (not ingame yet) and didn't notice any errors so far.

Kepp up the good work */

##### Share on other sites

OMG! Junctions! I am a bit unclear on one part though. Are the junctions are a single spline shape with segments sharing unwelded vertices? Or did I read that wrong?

##### Share on other sites

glad to see me and kam aren't the only ones using Max to its full potential.

Full potential? That will never happen, since I hate MaxScript...

Are the junctions are a single spline shape with segments sharing unwelded vertices?

Exactly. And the maximum distance between two overlapping verts is set with the threshold value.

##### Share on other sites
glad to see me and kam aren't the only ones using Max to its full potential.

Full potential? That will never happen, since I hate MaxScript...

Are the junctions are a single spline shape with segments sharing unwelded vertices?

Exactly. And the maximum distance between two overlapping verts is set with the threshold value.

Wow you guys are still figuring out the paths...

However steve-m is the one that made a tool for 3d max...

Congrats it's been about what 3 years to figure out those darn paths!

##### Share on other sites
I don't understand what you just said. We figured out how to make paths years ago, so what are you talking about?

##### Share on other sites

Flag 3 may be the probability of spawning, but this is just a guess.

I checked that already, but didn't notice any changes in spawn rate. I even used very high values in order to brake something, but nothing broke.

It is the spawn frequency. High values don't help as it will be the same as 1.0f. It's an *optional* float value, ranging effectively from 0.0f (no spawn) to 1.0f (always spawn when requested). Internally the value gets converted to a byte value from 0x00 to 0x0F and a random value of the same range gets created everytime there's supposed to be a spawn on the node. If the random value is greater than the node's spawn frequency, there will be no spawn.

Alex

## Create an account

Register a new account