Lifecycle
- The planner groups nearby players and decides which characters should have a body around each group, and where.
- The resource spawns the pedestrian at a safe, out-of-view spot and binds it.
- HumaLike tracks the character while that ped exists and drops the binding when the game removes it (a vanished body is released, never a stale lease).
- Once no player has been near the body for the despawn time, it is removed; the character gets a new body the next time players are around.
Configure ambient population
Open a server in the dashboard and use its Ambient NPCs settings to enable the system and tune the limits. Dashboard policy is authoritative for the number of active ambient characters and bodies.Models
A character’s ped model is the body it is spawned in, and the character decides it. Every GTA ped model is available — the 500-odd ambient, service, gang and unique pedestrians, not only the ones the game streets on its own. Every member of a world carries one to three look tags that say how they dress —wealthy, office,
street, beach, homeless, a worker: tag for a uniform (worker:pilot,
worker:mechanic) or a gang: tag for a street gang’s colours
(gang:ballas, gang:lost_mc). The proposal picks them from the role; you
can change them on the proposal before generation, and afterwards through an
edit request (“put Officer Diaz in an LSPD uniform”), which re-picks the
body. A uniform or gang tag stands alone, and many uniforms exist for one
sex only in GTA — the pick list says which (worker:paramedic is men only,
worker:nurse women only); a tag the member’s sex cannot wear is refused on
the proposal and dropped by the generator. The body is drawn uniformly among
the catalogue models of the member’s sex that carry one of their tags
(nearest age band first), so a pilot wears the pilot uniform and a Ballas
member the purple — nothing is off-limits, and a member whose tags match no
body gets an ordinary civilian one. Members of one group get distinct bodies
while the catalogue has them; the outfit follows the same tags on the models
photographed so far, and the game’s own outfit roll dresses the rest. The
group’s home zone decides where a character prefers to appear, not what it
looks like. For a hand-made ambient character, give it any model the server
has.
How it works
There is nothing to choose. While Ambient NPCs are enabled, HumaLike owns the street: it spawns bodies for your dynamic characters near groups of players (a pedestrian of the character’s model, within the spawn radius, out of sight, preferring the character’s own home zone) and fills the rest of the street with extras — persona-less pedestrians drawn from every ordinary civilian model in the catalogue, whatever the zone, up to Extras per cluster around each group and Extras limit server-wide. Clients switch GTA’s own on-foot population off meanwhile (vehicles, traffic and parked cars are untouched; random police stay on when thehumalike_population_cops convar is true — see
Configuration). Everything that applies to
an ambient character — outfit, labels, voice, actions, injuries — applies to
its body. Extras never speak or bind; set extras per cluster to 0 to run
with characters only. Disabled means no dynamic characters and GTA’s
crowd as it always was.
A body is released once no player in its routing bucket has been within the
body despawn distance for the body despawn time (the despawn distance must be
at least the spawn distance, or bodies would be released as they land); the
resource then removes it. Wounded or held bodies are kept until they are free
again. Character bodies count against the map limit and the per-cell limit;
extras count only against their own limit. Per cell does two things with
one number: it caps the bodies HumaLike holds in any one grid cell (of Cell
metres a side), and, scaled by the zone’s foot traffic, it is how many
characters a group of players meets at once around them.
The budget is shared so nobody gets a crowd while someone else gets an empty
street. Characters are placed first. The extras limit is then split across
groups of players by head count — players standing together share one
allowance, and a bigger group gets a bigger share — and every group is capped
by Bodies per player scope, the most HumaLike bodies allowed around any one
player. New bodies arrive at Spawns per tick per group, spread around the
group rather than in one spot, so a crowd trickles in rather than lands.
Where the group stands matters as much as the dials. Every zone carries a
foot-traffic density from 0 to 1 by its reviewed character, and the per-group
ceilings scale by it: a downtown pavement, a beachfront or a civic square gets
the full per-cell limit and extras per cluster; a small town half of that; a
desert road or an industrial yard a rare walker; a mountain range, a forest or
the open sea nobody at all. Any zone with foot traffic keeps room for one
character, so a persona homed in Paleto Bay can still be met there.
Characters generated from a world carry their
group’s home zone, so they appear where they live — a preferred
neighbourhood, not a pin: a character is planned in its home zone first, and
elsewhere when players are not there. A hand-made character has no home
zone and can be spawned anywhere; the API’s create_npc / update_npc
accept a home_zone (a GTA zone code such as DAVIS) to give it one — the
dashboard sets it only through a world’s groups.
Performance tuning
Do not raise the spawn rate or the per-scope ceiling only to make a street fill a fraction of a second sooner. More bodies mean more networked entities for every client in range. If you have measured a problem, the relevant advanced settings are documented under Configuration. Change one value at a time and comparehumalike_status and server performance before and after.
Common behavior
- An ambient NPC disappearing once players leave is expected.
- Its next body may have a different network id.
- Different clients still observe the same networked entity while it exists.
- With Ambient NPCs disabled HumaLike does not touch GTA’s own population.

