YND Trafik Yolu Editörü
Trafik path node ağının üstünde gidiyor ve oyun bunu .ynd dosyalarında tutuyor, haritanın her 512 metrelik karesi için bir dosya. Bu sayfa o dosyaları gerçek Los Santos haritasının üstünde açar ve ağın tamamını çizer: her düğüm, her bağlantı, şerit sayıları ve kavşaklar. Düğüm taşı, yeni düğüm koy, iki düğümü birleştir, bir yolun kaç şeritli olduğunu değiştir, hızı, yoğunluğu ve düğüm tipini ayarla. Gerçek binary .ynd dosyasını geri yazar, yani indirdiğin şey doğrudan stream klasörüne girer ve dönüştürülecek bir şey yoktur. Bir düğümü kare sınırının ötesine taşımak onun başka bir dosyaya ait olduğu anlamına gelir ve sayfa bunu söyleyip düzeltir, oyunun takip edemeyeceği bir ağ yazmaz.
Bu araç ve notları şimdilik İngilizce.
Bu araç bakım nedeniyle kapalı
Kısa bir süreliğine kapattık. Sitenin geri kalanı çalışmaya devam ediyor ve araç kendiliğinden geri gelecek.
What a .ynd actually is
Every car you see driving itself is following a graph. The graph is in .ynd files, one per512 metre square of the map, and the file name is the square: nodes<N>.ynd covers the cell at column N % 32, row N / 32, counted from the corner at -8192, -8192. There are 32 by 32 of those cells, and this build of the game ships 274 of them.
A node is 40 bytes and holds:
- its area id and its node id, which together are how every link in the game names it;
- its position, as three signed 16 bit numbers: X and Y times 4, Z times 32, so the grid it can sit on is 25 cm across and about 3 cm high;
- a street name, stored as a joaat hash only, which is why a name the game does not know comes back as
hash_XXXXXXXX; - five flag bytes carrying the node type, the speed, the density, off road, highway, tunnel, no GPS and a heuristic value;
- the index of its first link and how many it has.
A link is 8 bytes: the area id and node id it points at, three flag bytes and a length. The lane counts are in the third of those, three bits each way, so 0 to 7 lanes forward and 0 to 7 back.
The area rule, which is the whole point
A node's position decides which file it belongs in. The game looks a node up by its area, so a node sitting in the wrong file is a node it never finds. That is not a theory: across all 274 stock files, all 79,788 nodes,not one carries an area id different from its file's, and not one sits outside the square its file covers. Forty nine of them sit exactly on an upper edge, which is the only slack there is.
So dragging a node a few metres north can mean it now belongs in a different file. This page draws the square grid on the map, marks a node that has drifted out in red with a line to where it belongs, refuses to build until you deal with it, and has a button that moves it into the right file and repoints every link that named it. A tool that quietly ignores this writes a broken network.
Links are stated from both ends
A link is one way in the file: node A says "there is a road to B". Whether there is a road back is whatever B's own link list says. In the base game, all 166,544 links have a matching link back. Not one is one way.
That makes a link with no partner the single most useful thing to see, so this page draws it in amber with an arrow showing which way it is stated, calls it an error, and has a Repair button that adds the missing half with the lane counts mirrored (forward one way is backward the other).
2.4% of the game's links point into another square. That is normal. What matters is that the file next door holds the other half, so if you change a node that a neighbouring file links to, open that file too and ship both.
Cayo Perico is a second set
Fifteen files in this build are numbered above 1023, which cannot be a cell in a 32 by 32 grid. They are thesecond path node set: nodes<1024 + area>.ynd, covering the same squares as areas 153 to 250, switched on at runtime by _SET_AI_GLOBAL_PATH_NODES_TYPE(1). Their nodes carry the plain area id, not the file number, which is how this was worked out rather than guessed. CodeWalker parses the whole number and divides it by 32, which puts those files in rows 36 to 39 of a 32 row grid; this page uses the node's own area instead.
You get a real .ynd, not an XML
This is where this page differs from the YMAP Builder and theLOD Light Editor, which both hand you CodeWalker XML and a conversion step. A.ymap is a RAGE meta container and a browser cannot write one. A .ynd is not. It is a plain resource holding five arrays of fixed size structs and a header of pointers and counts, which is something this page writes directly. The download's stream/ folder is full and there is nothing to convert.
That claim is checked rather than asserted. All 274 stock files were read with this page's own code, written back out with it, and loaded again by CodeWalker's own reader: 274 of 274 came back with every node, link, junction, flag byte, street hash and heightmap byte identical to the original. The CodeWalker XML is shipped alongside in an_xml/ folder anyway, in case you want to diff it or carry on in CodeWalker.
A streamed .ynd replaces, it does not merge
Put a .ynd in stream/ and the FiveM client registers it against the streaming module for that extension and swaps the handle of the slot with the same name. So a file called nodes400.yndreplaces the game's nodes400.ynd outright. Everything the stock file held for that square is gone and only what is in yours is left, which is why this page always writes the whole square rather than a patch.
There is no data_file line, no files entry and no script. Streamed assets are read once when the server starts, so add the resource with ensure and restart the whole server; restarting just the resource will not reload the network for anyone already connected.
Before you edit a file, check you need to
There is a whole tab on this page for this, because it is the cheaper answer more often than people expect. The game's PATHFIND natives, all 59 of them, cannot move a node, add or delete one, change a link or set a lane count. But they can switch every node in a box off and on (SET_ROADS_IN_AREA), do the same for ped paths (SET_PED_PATHS_IN_AREA), stop GPS routing through an area, and read back the density, the flags and the lane counts of whatever is there (GET_CLOSEST_ROAD, GET_VEHICLE_NODE_PROPERTIES).
If all you wanted was for traffic to stop spawning on your new street, that is a few lines of Lua and no file at all. The tab gives you those lines, with the box already filled in from the files you have open.
What this page will not do
- It does not author junction heightmaps. A junction carries a small height grid the game uses for vehicles crossing it. An imported file keeps its own, unchanged, and a new file has none. Move a junction node and its heightmap stays where it was, which the page tells you when you open the file.
- It does not rewrite the heuristic value. CodeWalker describes Flags3 bits 1 to 7 as roughly the summed distance back along the path, and no rule anyone has reproduces Rockstar's numbers, so it is carried through rather than recomputed.
- It does not recompute every LinkLength. CodeWalker's rule is the straight line distance truncated to a byte, and that reproduces Rockstar's own value on 75.35% of the 162,560 stock links and misses the rest by up to 27 m in both directions. Doing the arithmetic in float32, which is what the game's own vector is, changes nothing. So what the byte really is stays unestablished, a link keeps the one it came with, and only a link you create or whose ends you move gets a new one.
- It does not invent a new file name. A
.yndhas to be one of the 1,024 area names (or its Cayo twin) because the game asks for node files by area, not by name. A file called anything else would be registered and never requested. - It cannot promise the result in game. Nobody can start GTA V in a browser. What is checked is that the bytes are right, against the game's own files and its reference reader.
Credits
The format comes from CodeWalker by dexyfex (GameFiles/Resources/Node.cs and GameFiles/FileTypes/YndFile.cs), which is also what every number on this page was checked against. The flag names are CodeWalker's; where it marks one as a guess, so does this page.
Diğer config ve kod araçları
Kıyafet Tasarımcısı
Bir kıyafet .ydd ya da .ydr dosyasını .ytd'leriyle aç, 3D'de ya da UV düzeni üzerinde katmanlar, yazı ve resimlerle boya, sonra yeni .ytd texture'ları dışa aktar.
YMAP Oluşturucu
Prop'ları koordinatla yerleştir, doğru rotasyon, extent ve LOD mesafeleriyle geçerli bir .ymap XML al.
Bölge Oluşturucu
GTA V'in gerçek haritası üzerinde 2D veya 3D bölge çiz, ox_lib, PolyZone, ox_target veya qb-target kodu olarak kopyala.
