Rope textures

pressurewashermodels streams a file called rope.ytd. It holds the pw_hose / pw_hose_n textures the pressure hose draws with.

GTA only ever loads one rope.ytd. If another resource on your server already streams one, the two collide — whichever loads last wins, and the loser's ropes render with the wrong texture or none at all.

This is almost guaranteed to bite you if you also run our Fire Hose, which ships its own rope.ytd.

If you do NOT already stream a rope.ytd

Nothing to do.

If you DO already stream a rope.ytd

Merge ours into yours rather than shipping both:

  1. Open your existing rope.ytd in OpenIV or CodeWalker.
  2. Open the ropetextures folder included with the resource — it holds the source artwork.
  3. Import our textures into your rope.ytd, keeping your own in place. Keep the texture names exactly as they are — the config refers to them by name, not by file.
  4. Delete stream/rope.ytd from pressurewashermodels. Leaving it there means it keeps fighting with yours.
  5. Restart the server.

Running the Fire Hose too

Both packages ship a rope.ytd. Pick one to keep — either one — merge the other's textures into it, and delete the spare from the other resource's stream folder.

If you leave both in place, one of the two hoses will always draw with the wrong texture.

Which textures

HoseInfo.CustomRope.DiffuseTexture and NormalMap are texture names inside the dictionary, not file paths. As long as the names survive the import, the hose finds them.

Recolouring the hose

The hose is tinted entirely by its texture — the colour argument of RegisterRopeData is inert, so there is nothing to change in code. Edit the artwork in ropetextures, re-import, and the hose changes colour.

If the hose draws untextured

The rope textures are streamed in at resource start, long before the first hose exists, because a rope created in the same breath as its first texture load renders invisible. If another rope resource loaded the texture set before ours registered, the set is rebuilt once so it includes ours.

If it is still untextured, you have the collision above — merge and delete the spare.

Can't find what you need? Ask on Discord — response in under 5 hours.