Ped Relationship Editor
Decide how every group of peds in the game feels about every other one. The matrix starts from the game's own relationships.dat, so you can see who already hates the player before you change anything, filter down to the groups you care about and click your way to a new set. Add your own gangs, put the player ped in a group, and download a resource that publishes the set from the server and applies it on every client, including players who join later.
This tool is down for maintenance
We switched it off for a moment. Everything else on the site keeps working, and the tool comes back on its own.
How to use it
- The matrix starts as the game ships. A row is one group, a column is another, and the cell says how therow feels about the column. None is drawn as nothing, so what you can see is exactly who feels something about whom.
- Pick a value under "Click a cell to set", then click cells. Right click a cell to put the game's value back.
- Click a group name to focus it. The panel on the right shows what it feels, what feels about it, and lets you set a whole row or a whole column at once.
- Add your own groups in "Your own groups". A name is hashed the same way the game hashes its own.
- Open Resource at the bottom and download
fivemad_relationships.
Ctrl + Z undoes, Ctrl + Shift + Z redoes. Share copies a link that carries the whole set.
A relationship only goes one way
SET_RELATIONSHIP_BETWEEN_GROUPS sets how the first group feels about the second and says nothing about the other way round. The native reference spells this out: "This should be called twice (once for each group)." The game's own file works the same way, which is why it states both halves separately when it wants both, and why a hen dislikes the player but the player does not dislike hens. "Set both directions at once" in the side panel is a convenience for editing, not something the game does for you.
The acquaintance values
These are Rockstar's own RELATIONSHIP_TYPE, whose header says it "must match the eAcquaintanceType enumerated type in PedType.h in the games Peds directory". The value list on docs.fivem.net is wrong.It is a community comment (0 Companion, 1 Respect, 2 Like, 3 Neutral, 4 Dislike, 5 Hate, 255 Pedestrians) and it is shifted by one place, so a tool built on it sets Ignore where you asked for Like. Only Hate = 5 agrees with the engine.
| Value | Name | In the game file |
|---|---|---|
| 0 | Respect | Respect |
| 1 | Like | Like |
| 2 | Ignore | No keyword. Runtime only. |
| 3 | Dislike | Dislike |
| 4 | Wanted | No keyword. Not in the picker. |
| 5 | Hate | Hate |
| 6 | Dead | No keyword. Not in the picker. |
| 255 | None | The default. Written by leaving the line out. |
The picker leaves Wanted (4) and Dead (6) out. They exist, they just are not something to hand a server owner: across 4,141 relationship calls in the game's own scripts, 4 is set only four times and 6 is never set at all. The plain English line in each tooltip is our own reading of what a value does in game, not a sourced fact: nobody can start GTA V in a browser to check it.
The outputs
| Output | What you get |
|---|---|
| Resource | fivemad_relationships: a shared config, a server script that publishes the set to global state and a client script that applies it, re-applies it when it changes and puts the game's own values back when the resource stops. |
| Runtime code | The natives on their own, in Lua, JavaScript, TypeScript and C#, plus the code that undoes them. |
| relationships.dat | The game file, in the format the game ships. FiveM has no data_file type that loads one, so this is for a single player install only. The tab says so too. |
What it will not do
- It will not pretend a streamed
relationships.datworks on a FiveM server. It does not: there is no data file type for it, and astream/folder takes streamed game assets, not a loose .dat. - It will not set relationships from the server. The relationship matrix is client side game state and the game never networks it, so the set is published from the server and applied by each client. Which group a ped is in is a separate thing and that one is networked, so it only has to be set once.
- It will not list groups that only exist because a mission script made one. Those names are compiled to hashes in the game's scripts and are not recoverable as text. Add the name yourself and it will hash the same way.
Privacy
Everything runs in your browser. The matrix, the resource and the file are all built on your own machine, nothing is uploaded, and the only thing the page fetches is the list of the game's own groups.
More config & code tools
Clothing Designer
Open a clothing .ydd or .ydr with its .ytd files, paint in 3D or on the UV layout with layers, text and images, then export new .ytd textures.
YMAP Builder
Place props by coordinates and get a valid .ymap XML with correct rotations, extents and LOD distances.
Zone Creator
Draw a zone on the real GTA V map in 2D or 3D and copy it as ox_lib, PolyZone, ox_target or qb-target code.
