Quantcast

Jump to content

» «
Photo

Paths Documentation for SA, VC and GTA3

68 replies to this topic
Pagnell
  • Pagnell

    a.k.a. petebog

  • Members
  • Joined: 22 May 2002

#31

Posted 25 October 2003 - 07:22 PM

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

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. wink.gif

BenMillard
  • BenMillard

    aka Cerbera

  • Members
  • Joined: 22 Jun 2002
  • None

#32

Posted 28 October 2003 - 11:15 AM Edited by Cerbera, 28 October 2003 - 02:03 PM.

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:
    user posted image
    200%

    Here's a commented example:
    CODE
    # INITIATE Peds, Freeway, Outer.

    # Peds, Freeway, Junction A.
    0, -1
    1,  1, 0,  2810.500, -13932.835, 231.160, 1, 1, 1, 1, 0, 1
    2,  2, 0,  2807.250, -13937.699, 231.114, 1, 1, 1, 1, 0, 1
    2,  3, 0,  2097.750, -13925.524, 228.479, 1, 1, 1, 1, 0, 1
    2,  4, 0,  1751.250, -13903.858, 227.234, 1, 1, 1, 1, 0, 1
    2,  5, 0,  1418.500, -13855.446, 227.037, 1, 1, 1, 1, 0, 1
    2,  6, 0,  1264.250, -13814.877, 226.829, 1, 1, 1, 1, 0, 1
    2,  7, 0,  1110.500, -13758.313, 226.908, 1, 1, 1, 1, 0, 1
    2,  8, 0,   973.250, -13690.653, 226.588, 1, 1, 1, 1, 0, 1
    2,  9, 0,   842.750, -13599.193, 226.329, 1, 1, 1, 1, 0, 1
    2, 10, 0,   726.750, -13486.732, 226.284, 1, 1, 1, 1, 0, 1
    2, 11, 0,   639.000, -13373.731, 226.417, 1, 1, 1, 1, 0, 1
    2, -1, 0,   567.500, -13246.000, 226.810, 1, 1, 1, 1, 0, 1
    0, -1
    2,  1, 0,   567.500, -13246.000, 226.810, 1, 1, 1, 1, 0, 1
    2,  2, 0,   501.189, -13110.772, 226.600, 1, 1, 1, 1, 0, 1
    2,  3, 0,   444.469, -12967.031, 226.942, 1, 1, 1, 1, 0, 1
    2,  4, 0,   361.092, -12659.432, 228.934, 1, 1, 1, 1, 0, 1
    2,  5, 0,   296.578, -12309.422, 231.045, 1, 1, 1, 1, 0, 1
    2,  6, 0,   255.534, -11951.036, 234.138, 1, 1, 1, 1, 0, 1
    2,  7, 0,   235.526, -11593.324, 236.649, 1, 1, 1, 1, 0, 1
    2, -1, 0,   229.241, -11063.556, 239.640, 1, 1, 1, 1, 0, 1
    0, -1, 0,     0,          0,       0,     0, 0, 0, 0, 0, 1
    0, -1, 0,     0,          0,       0,     0, 0, 0, 0, 0, 1
    0, -1, 0,     0,          0,       0,     0, 0, 0, 0, 0, 1
    0, -1, 0,     0,          0,       0,     0, 0, 0, 0, 0, 1
    # Ends Junction B.

    # Peds, Freeway, Junction B.
    0, -1
    2,  1, 0,   229.241, -11063.556, 239.640, 1, 1, 1, 1, 0, 1
    2,  2, 0,   236.868, -10892.206, 239.851, 1, 1, 1, 1, 0, 1
    2,  3, 0,   268.628, -10463.411, 241.314, 1, 1, 1, 1, 0, 1
    2,  4, 0,   327.987,  -9988.621, 241.949, 1, 1, 1, 1, 0, 1
    2,  5, 0,   405.360,  -9546.828, 241.070, 1, 1, 1, 1, 0, 1
    2,  6, 0,   467.881,  -9317.708, 240.456, 1, 1, 1, 1, 0, 1
    2,  7, 0,   539.828,  -9126.188, 240.034, 1, 1, 1, 1, 0, 1
    2,  8, 0,   628.073,  -8956.264, 238.910, 1, 1, 1, 1, 0, 1
    2,  9, 0,   736.841,  -8814.173, 238.856, 1, 1, 1, 1, 0, 1
    2, 10, 0,   859.100,  -8695.775, 239.477, 1, 1, 1, 1, 0, 1
    2, 11, 0,   997.941,  -8600.737, 240.496, 1, 1, 1, 1, 0, 1
    2, -1, 0,  1141.237,  -8528.362, 241.423, 1, 1, 1, 1, 0, 1
    0, -1
    2,  1, 0,  1141.237,  -8528.362, 241.423, 1, 1, 1, 1, 0, 1
    2,  2, 0,  1291.200,  -8472.991, 243.270, 1, 1, 1, 1, 0, 1
    2,  3, 0,  1291.200,  -8472.991, 243.270, 1, 1, 1, 1, 0, 1
    2,  4, 0,  1600.062,  -8397.164, 245.861, 1, 1, 1, 1, 0, 1
    2,  5, 0,  2099.486,  -8319.171, 247.024, 1, 1, 1, 1, 0, 1
    2,  6, 0,  2415.119,  -8257.533, 245.980, 1, 1, 1, 1, 0, 1
    1, -1, 0,  2807.483,  -8208.654, 244.433, 1, 1, 1, 1, 0, 1
    0, -1, 0,     0,          0,       0,     0, 0, 0, 0, 0, 1
    0, -1, 0,     0,          0,       0,     0, 0, 0, 0, 0, 1
    0, -1, 0,     0,          0,       0,     0, 0, 0, 0, 0, 1
    0, -1, 0,     0,          0,       0,     0, 0, 0, 0, 0, 1
    0, -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. sad.gif )

    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.
    CODE
    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. smile.gif

    Demarest
    • Demarest

      what could be

    • BUSTED!
    • Joined: 12 Jul 2003

    #33

    Posted 28 October 2003 - 02:11 PM

    Good show, DM!

    BenMillard
    • BenMillard

      aka Cerbera

    • Members
    • Joined: 22 Jun 2002
    • None

    #34

    Posted 28 October 2003 - 09:34 PM Edited by Cerbera, 30 October 2003 - 08:57 PM.

    QUOTE (Demarest @ Oct 28 2003, 15:11)
    Good show, DM!

    Why thank you, Penfold. wink.gif

    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:
    user posted image
    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. smile.gif


    (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.

    kman2003ko
    • kman2003ko

      A learning decoder and a programmer

    • Members
    • Joined: 18 Oct 2002

    #35

    Posted 01 November 2003 - 01:55 PM

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

    BenMillard
    • BenMillard

      aka Cerbera

    • Members
    • Joined: 22 Jun 2002
    • None

    #36

    Posted 17 November 2003 - 10:37 AM

    QUOTE (kman2003ko @ Nov 1 2003, 14:55)
    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. dontgetit.gif

    spaceeinstein
    • spaceeinstein

      巧克力

    • Members
    • Joined: 17 Jul 2003
    • None

    #37

    Posted 01 August 2004 - 03:07 PM

    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?

    JernejL
    • JernejL

      Big Homie

    • Feroci Racing
    • Joined: 11 Mar 2002

    #38

    Posted 02 August 2004 - 11:49 AM

    QUOTE (spaceeinstein @ Aug 1 2004, 16:07)
    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:

    CODE
    one thing is certain: the last number is alaways one
    can't say same for others..

    number 1 can be 0, 1, 2, 5
    number 2 can be 1, 2
    number 3 can be 1, 2
    number 4 can be 0, 1
    number 5 can be 0, 2

    2048.678, -10978, 308.344,     0, 1, 1, 0, 2, 1
    443.999, -11932.8, 285.513,    0, 1, 1, 0, 2, 1
    2039.317, -10877.149, 308.344, 0, 1, 1, 0, 2, 1

    420.748, -11084.3, 304.631,    0, 2, 2, 0, 0, 1
    431.064, -10857.4, 305.208,    0, 2, 2, 0, 0, 1
    1223.36, -8698.241, 304.108,   0, 2, 2, 0, 0, 1
    675.714, -13038.7, 288.522,    0, 2, 2, 0, 0, 1
    2993.6, -8385.63, 308.812,     0, 2, 2, 0, 0, 1

    11898.4, -14388.2, 284.48,     0, 2, 2, 0, 2, 1
    13403.4, -15681.6, 226.355,    0, 2, 2, 0, 2, 1
    11270.8, -22939.1, 285.818,    0, 2, 2, 0, 2, 1

    9280.29, -8799.57, 228.908,    5, 1, 1, 0, 0, 1
    9280.29, -9124.61, 247.692,    5, 1, 1, 0, 0, 1
    9280.29, -8892.29, 234.09,     5, 1, 1, 0, 0, 1
    9280.29, -9008.469, 242.981,   5, 1, 1, 0, 0, 1
    9280.29, -8801.13, 228.908,    5, 1, 1, 0, 0, 1

    2514.049, -13935.319, 279.114, 1, 1, 1, 0, 0, 1
    2097.75, -13925.525, 276.479,  1, 1, 1, 0, 0, 1
    1751.25, -13903.858, 275.234,  1, 1, 1, 0, 0, 1
    1418.5, -13855.45, 275.037,    1, 1, 1, 0, 0, 1
    1264.25, -13814.876, 274.829,  1, 1, 1, 0, 0, 1

    501.189, -13110.772, 274.6,    1, 1, 1, 1, 0, 1
    444.469, -12967.031, 274.942,  1, 1, 1, 1, 0, 1
    296.578, -12309.422, 279.045,  1, 1, 1, 1, 0, 1
    255.533, -11951.036, 282.138,  1, 1, 1, 1, 0, 1
    235.526, -11593.324, 284.649,  1, 1, 1, 1, 0, 1

    836.343, -10879.001, 306.391,  2, 1, 1, 1, 0, 1
    1047.538, -10879.001, 306.391, 2, 1, 1, 1, 0, 1
    1296.278, -10879.001, 306.391, 2, 1, 1, 1, 0, 1
    1563.79, -10879.001, 308.48,   2, 1, 1, 1, 0, 1
    1784.37, -10879.001, 308.344,  2, 1, 1, 1, 0, 1
    7560.353, -16233.736, 281.225, 2, 1, 1, 1, 0, 1

    2811.73, -10875.019, 316.8,    2, 1, 1, 0, 0, 1
    2715.04, -13447.84, 304,       2, 1, 1, 0, 0, 1
    2731.189, -13308.269, 304,     2, 1, 1, 0, 0, 1
    3065.957, -13249.076, 304,     2, 1, 1, 0, 0, 1
    3179.05, -13577.806, 304,      2, 1, 1, 0, 0, 1

    8536.015, -10690.611, 286.195, 1, 1, 1, 1, 0, 1
    8430.009, -10633.254, 289.284, 1, 1, 1, 1, 0, 1
    8248.87, -10572.592, 285.165,  1, 1, 1, 1, 0, 1
    8261.997, -10636.952, 285.829, 1, 1, 1, 1, 0, 1
    8466.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.

    illspirit
    • illspirit

      lycanthroplasty

    • Moderator
    • Joined: 01 May 1976
    • None

    #39

    Posted 03 August 2004 - 08:14 AM

    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?

    steve-m
    • steve-m

    • Members
    • Joined: 26 Jul 2002

    #40

    Posted 04 August 2004 - 01:26 PM

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

    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

    ParameterValue (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

    ParameterValue (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

    ParameterValue (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)

    JernejL
    • JernejL

      Big Homie

    • Feroci Racing
    • Joined: 11 Mar 2002

    #41

    Posted 04 August 2004 - 08:32 PM

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

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

    steve-m
    • steve-m

    • Members
    • Joined: 26 Jul 2002

    #42

    Posted 05 August 2004 - 11:34 AM

    QUOTE (Delfi @ Aug 4 2004, 22:32)
    are the nodes only USED nodes or all including unused ones?

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

    QUOTE (Delfi @ Aug 4 2004, 22:32)
    btw, i hope you didn't do it by-hand wink.gif

    Nah, I'm not that insane... blink.gif

    spaceeinstein
    • spaceeinstein

      巧克力

    • Members
    • Joined: 17 Jul 2003
    • None

    #43

    Posted 10 August 2004 - 12:51 AM

    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?

    illspirit
    • illspirit

      lycanthroplasty

    • Moderator
    • Joined: 01 May 1976
    • None

    #44

    Posted 10 August 2004 - 01:39 AM

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

    BenMillard
    • BenMillard

      aka Cerbera

    • Members
    • Joined: 22 Jun 2002
    • None

    #45

    Posted 15 September 2004 - 03:27 PM

    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! biggrin.gif

    BenMillard
    • BenMillard

      aka Cerbera

    • Members
    • Joined: 22 Jun 2002
    • None

    #46

    Posted 14 October 2004 - 02:10 PM

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

    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. smile.gif

    spaceeinstein
    • spaceeinstein

      巧克力

    • Members
    • Joined: 17 Jul 2003
    • None

    #47

    Posted 10 January 2005 - 08:59 PM Edited by spaceeinstein, 10 January 2005 - 09:02 PM.

    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.

    steve-m
    • steve-m

    • Members
    • Joined: 26 Jul 2002

    #48

    Posted 02 April 2005 - 01:33 AM Edited by steve-m, 03 April 2005 - 10:26 PM.

    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.

    Download (Max 6!)


    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.

    Download

    REspawn
    • REspawn

      REgent

    • Members
    • Joined: 06 Jul 2002

    #49

    Posted 04 April 2005 - 08:40 AM

    QUOTE (steve-m @ Apr 2 2005, 01:33)
    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.

    Download (Max 6!)


    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.

    Download

    Steve i LOVE you!

    steve-m
    • steve-m

    • Members
    • Joined: 26 Jul 2002

    #50

    Posted 04 April 2005 - 11:37 AM

    I <3 U 2! inlove.gif


    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:

    ParameterValue (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:

    ParameterValue (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:

    ParameterValue (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)

    Hammer83
    • Hammer83

      Hustler

    • Members
    • Joined: 11 Jan 2003

    #51

    Posted 04 April 2005 - 02:28 PM

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

    steve-m
    • steve-m

    • Members
    • Joined: 26 Jul 2002

    #52

    Posted 04 April 2005 - 05:13 PM

    QUOTE (Hammer83 @ Apr 4 2005, 16:28)
    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. confused.gif

    steve-m
    • steve-m

    • Members
    • Joined: 26 Jul 2002

    #53

    Posted 05 April 2005 - 11:15 PM Edited by steve-m, 07 April 2005 - 01:03 AM.

    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
    • check button's tooltips for more information
    Should work with 3DSMax 3 and higher. The next version will hopefully export proper junctions. catspider.gif

    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! smile.gif Release tomorrow, since I still have to test...

    steve-m
    • steve-m

    • Members
    • Joined: 26 Jul 2002

    #54

    Posted 07 April 2005 - 08:50 PM

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


    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:
    user posted image

    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:
    user posted image

    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!)

    DexX
    • DexX

      Black Hat

    • Feroci Racing
    • Joined: 16 May 2002

    #55

    Posted 08 April 2005 - 12:27 AM

    /* 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 wink.gif */

    illspirit
    • illspirit

      lycanthroplasty

    • Moderator
    • Joined: 01 May 1976
    • None

    #56

    Posted 08 April 2005 - 08:42 AM

    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?

    steve-m
    • steve-m

    • Members
    • Joined: 26 Jul 2002

    #57

    Posted 08 April 2005 - 02:36 PM

    QUOTE (ashdexx @ Apr 8 2005, 02:27)
    glad to see me and kam aren't the only ones using Max to its full potential.

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

    QUOTE (illspirit @ Apr 8 2005, 10:42)
    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.

    kman2003ko
    • kman2003ko

      A learning decoder and a programmer

    • Members
    • Joined: 18 Oct 2002

    #58

    Posted 21 May 2005 - 11:30 PM

    QUOTE (steve-m @ Apr 8 2005, 09:36)
    QUOTE (ashdexx @ Apr 8 2005, 02:27)
    glad to see me and kam aren't the only ones using Max to its full potential.

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

    QUOTE (illspirit @ Apr 8 2005, 10:42)
    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!

    colgate.gif

    spaceeinstein
    • spaceeinstein

      巧克力

    • Members
    • Joined: 17 Jul 2003
    • None

    #59

    Posted 21 May 2005 - 11:36 PM

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

    AK-73
    • AK-73

      Hustler

    • Members
    • Joined: 31 Oct 2005

    #60

    Posted 31 July 2006 - 05:53 PM

    QUOTE (steve-m @ Apr 4 2005, 17:13)
    QUOTE (Hammer83 @ Apr 4 2005, 16:28)
    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. confused.gif


    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




    1 user(s) are reading this topic

    0 members, 1 guests, 0 anonymous users