Skip to content

bs_zombies

server-synced walkers: one list, one health pool, hosted AI, individual-zombie simulation.

Generated from the Lua sources in resources/[beyond]/bs_zombies/. 145 entries. The description column is the comment above the line in the code, so if it’s empty nobody wrote one yet.

Call with exports.bs_zombies:Name(...) from the same side.

NameSideWhereDescription
AppearanceLedgerclientclient/cl_sync.lua:3150And the same table, for anything that wants to read it (bs_admin’s debug panel, a future overlay).
Corpsesclientclient/cl_combat.lua:655
Countclientclient/cl_sync.lua:2827
Failuresclientclient/cl_sync.lua:2825
FeedingConfigclientclient/cl_ai.lua:2210The feeding tuning, for bs_admin’s debug button.
GetFxOptionsclientclient/cl_options.lua:90
HasWalkerclientclient/cl_sync.lua:2782Did THIS walker get a ped on this client?
HealthBarsVisibleclientclient/cl_healthbar.lua:124
HordeActiveclientclient/cl_horde.lua:74
HostedCountclientclient/cl_sync.lua:2829
IsBeingAttackedclientclient/cl_attack.lua:653
IsCrawlerPedclientclient/cl_crawl.lua:1172
IsGrabbedclientclient/cl_attack.lua:652Nothing holds the player any more, so nothing is ever “grabbed”.
IsWalkerPedclientclient/cl_sync.lua:2684“IS THIS PED ONE OF OURS?” - ASKED BY ANYTHING THAT DELETES PEDS.
Liveclientclient/cl_sync.lua:2828
PlayerProtectedInVehicleclientclient/cl_vehicle.lua:49
SetFxOptionclientclient/cl_options.lua:91
SetHealthBarsVisibleclientclient/cl_healthbar.lua:123
Typesclientclient/cl_sync.lua:2807THE LIST OF ARCHETYPES, FOR ANYTHING THAT NEEDS TO OFFER A CHOICE.
WalkerIdOfclientclient/cl_sync.lua:3387Walker id for a ped we can see, or nil (bs_gadgets turret).
AnyNearserverserver/sv_registry.lua:2756Is any server-tracked walker within radius of (x, y, z)?
AtlasCallserverserver/sv_sim_atlas.lua:780DOOR 2: exports.bs_zombies:AtlasCall(op, args, via) FOR THE nodes WEB PANEL (nodes/server/sv_http.lua), which has no player and therefore cannot use door 1.
EventClearserverserver/sv_registry.lua:3277keep = true: untag only, so the walkers stay and fall back to normal culling.
EventCountserverserver/sv_registry.lua:3275
EventDriveserverserver/sv_registry.lua:3274
EventNoiseserverserver/sv_registry.lua:3278
EventSpawnserverserver/sv_registry.lua:3273
GadgetHitserverserver/sv_registry.lua:3289Gadget damage (bs_gadgets turret).
Heatserverserver/sv_director.lua:1019
NodeAtlasserverserver/sv_nodes.lua:1762 (not in fxmanifest)The graph itself, so the panel can draw the roads herds walk along.
NodeListserverserver/sv_nodes.lua:1723 (not in fxmanifest)Every herd, flattened for drawing.
NodeMemoryserverserver/sv_nodes.lua:1788 (not in fxmanifest)The spatial memory, as cells worth colouring: where players have been and where they have been killing.
NodeSnapshotserverserver/sv_nodes.lua:1714 (not in fxmanifest)
SafeZonesserverserver/sv_registry.lua:2692Safe zones as plain numbers.
SafeZonesPaddedserverserver/sv_registry.lua:2708The same list plus the PADDED radius, for the Node Atlas panel.
SectorClearDebtserverserver/sv_sectors.lua:632
SectorGridserverserver/sv_sectors.lua:609
SectorSetserverserver/sv_sectors.lua:626
SectorSnapshotserverserver/sv_sectors.lua:607
SetSpawnModeserverserver/sv_spawnsrc.lua:242
Snapshotserverserver/sv_registry.lua:2741
SpawnModeserverserver/sv_spawnsrc.lua:241
StreamSnapshotserverserver/sv_streaming.lua:1005
Totalserverserver/sv_registry.lua:2721
WorldSeedserverserver/sv_registry.lua:2739

Server callbacks are called from a client with BSB.Await(name, timeoutMs, ...). Client callbacks are called from the server with BSB.AwaitClient(src, name, timeoutMs, ...).

NameDirectionWhereDescription
zombies:atlas:client -> serverserver/sv_sim_atlas.lua:744
zombies:debug:nearbyclient -> serverserver/sv_sim_atlas.lua:238The in-world Alt overlay has a narrower purpose than the Atlas: identify a real local walker (A) beside its unmaterialised simulation neighbours (D).
zombies:forceclient -> serverserver/sv_registry.lua:2811
zombies:lootclient -> serverserver/sv_director.lua:826
zombies:lootCheckclient -> serverserver/sv_director.lua:820
zombies:nearestclient -> serverserver/sv_registry.lua:3142
zombies:sectors:cleardebtclient -> serverserver/sv_sectors.lua:571
zombies:sectors:listclient -> serverserver/sv_sectors.lua:537
zombies:sectors:setclient -> serverserver/sv_sectors.lua:559

“net” means the handler is registered with RegisterNetEvent, so the other side can trigger it. “local” is AddEventHandler only (same side, or game events).

NameSideTypeWhereDescription
bs:combatfx:optionsclientlocalclient/cl_healthbar.lua:74
bs:hook:player:loadedclientlocalclient/cl_options.lua:101
bs:hook:player:spawnedclientlocalclient/cl_safezones.lua:160Re-drawn on respawn: a blip survives death, but a resource restart between the two does not, and this costs nothing to be sure of.
bs:hook:player:unloadedclientlocalclient/cl_attack.lua:600
bs:sim:stanceservernetserver/sv_sim_senses.lua:270THE STANCE REPORT. cl_sim_stance.lua sends this; see that file for what each flag is probed from and which natives were rejected.
bs:ui:soundEndedclientlocalclient/cl_ai.lua:427The page finished a clip.
bs:vip:changedclientlocalclient/cl_options.lua:100VIP status changes decide whether custom colours apply.
bs:weapons:shotclientlocalclient/cl_damage.lua:412
bs:world:noiseclientlocalclient/cl_ai.lua:2111
bs:world:noiseservernetserver/sv_director.lua:344radius was being DROPPED.
bs:z:addclientnetclient/cl_net.lua:389
bs:z:animreportservernetserver/sv_registry.lua:2945The client side of /zanim, so the clipset picture lands in a file.
bs:z:badnativeservernetserver/sv_registry.lua:2939
bs:z:correctHostclientnetclient/cl_sync.lua:2337
bs:z:crippledclientnetclient/cl_damage.lua:297
bs:z:deadclientnetclient/cl_combat.lua:597
bs:z:dmgservernetserver/sv_registry.lua:2417
bs:z:drawclientnetclient/cl_horde.lua:56The server tells a host to pull one of its walkers toward something.
bs:z:enginedeathservernetserver/sv_registry.lua:2920A CLIENT COULD NOT KEEP A WALKER STANDING.
bs:z:envdeathservernetserver/sv_registry.lua:2616
bs:z:gatedservernetserver/sv_registry.lua:2016Deprecated: clients may not teleport a shared record because their view could not materialise it.
bs:z:grabservernetserver/sv_registry.lua:2631Being grabbed is a shared moment: everyone near sees the same walker holding the same player, because the state rides on the record like anything else.
bs:z:grabbedclientnetclient/cl_attack.lua:537Somebody else being attacked: play the same swing on our copy of the walker, so the whole street sees it lunge rather than stand there idle.
bs:z:hitservernetserver/sv_registry.lua:2249
bs:z:hordeclientnetclient/cl_horde.lua:15
bs:z:hordeOverclientnetclient/cl_horde.lua:50
bs:z:hostclientnetclient/cl_sync.lua:2307Who this client is responsible for thinking about.
bs:z:hurtclientnetclient/cl_ai.lua:2191A hit anywhere pulls the ones this client steers, whoever fired the shot.
bs:z:materialisedservernetserver/sv_registry.lua:2018
bs:z:net:appservernetserver/sv_net.lua:548The owner applied the seeded appearance once; later owners must not redo it.
bs:z:net:fpsservernetserver/sv_net.lua:525
bs:z:net:groundedservernetserver/sv_net.lua:538The owner grounded a ped that was created without a known z.
bs:z:netkillclientnetclient/cl_net.lua:396A corpse that nobody killed: the server asks its owner to.
bs:z:orphanservernetserver/sv_registry.lua:2882
bs:z:pedlostservernetserver/sv_registry.lua:2889
bs:z:reportservernetserver/sv_registry.lua:1619
bs:z:rmclientnetclient/cl_net.lua:378The server removed / killed it: never re-adopt that id until it is announced again.
bs:z:syncaservernetserver/sv_registry.lua:3322
bs:z:syncqclientnetclient/cl_sync.lua:3447/zsync: server asks, we answer with what actually exists locally.
bs:z:updclientnetclient/cl_sync.lua:2170“THEY APPEAR FAR AWAY AND VANISH WHEN I GET CLOSE.” Here is where they went: through the floor.
bs:z:vehhitservernetserver/sv_registry.lua:2563
bs:z:verifyservernetserver/sv_registry.lua:1933
bs:zombies:bittenservernetserver/sv_director.lua:930
bs:zombies:dot:lootclientlocalclient/cl_combat.lua:214
bs:zs:diagclientnetclient/cl_spawner.lua:786THE CLIENT’S HALF OF /zdiag.
bs:zs:diagreplyservernetserver/sv_streaming.lua:1316The client’s answer, printed into the same readout.
bs:zs:planclientnetclient/cl_spawner.lua:620
bs:zs:reportservernetserver/sv_streaming.lua:447THE DRY-RUN REPORT, AND IT IS THE ACCEPTANCE TEST FOR STAGE 4.
bs:zs:spawnservernetserver/sv_streaming.lua:690
bs:zs:teleservernetserver/sv_streaming.lua:418
entityRemovedserverlocalserver/sv_net.lua:463
onResourceStopclientlocalclient/cl_ai.lua:1340On shutdown they go with everything else - a lingering meal is still a ped this resource is holding, and F-02 is about exactly this class of thing surviving a restart.
onResourceStopserverlocalserver/sv_net.lua:515BEST-EFFORT SAVE ON SHUTDOWN.
playerDroppedserverlocalserver/sv_director.lua:946A disconnecting player’s noise record is not worth keeping.
txAdmin:events:serverShuttingDownserverlocalserver/sv_nodes.lua:1470 (not in fxmanifest)
CommandSideWhereDescription
/bs_zombiehpclientclient/cl_healthbar.lua:114Any VIP or staff member can flip this for themselves from chat - nobody else has to build them a menu for a toggle this small.
/hitmarkertestclientclient/cl_hitmarker.lua:174/hitmarkertest - proves the three sounds are present and audible without needing a zombie, a weapon or VIP to be working first.
/poolsclientclient/cl_pools.lua:179
/safezonesclientclient/cl_safezones.lua:144/safezones - toggle. No ace check: this draws two circles from a config file every player’s client already has, and there is nothing here a player could not read out of the…
/sectorserverserver/sv_sectors.lua:580/sector - what square am I in, and what is it doing?
/zanimclientclient/cl_sync.lua:2969/zanim - WHAT THE CLIPSETS ARE ACTUALLY DOING.
/zclearserverserver/sv_director.lua:1008
/zcrawlclientclient/cl_crawl.lua:1185The same shape as /zanims in cl_sync.lua, and for the same reason: when a crawler looks wrong, the first questions are always “is the animation actually there” and “is anything…
/zdebugclientclient/cl_sync.lua:2859
/zdiagserverserver/sv_streaming.lua:1298
/zdrunkclearclientclient/cl_ai.lua:2839
/zdrunktestclientclient/cl_ai.lua:2593
/zdrunktest2clientclient/cl_ai.lua:2605
/zdrunktest3clientclient/cl_ai.lua:2641
/zdrunktest4clientclient/cl_ai.lua:2694
/zdrunktest5clientclient/cl_ai.lua:2762/zdrunktest5 <mask>: /zdrunktest4 10 plus the extras ONLY real walkers get at spawn (cl_sync.lua spawn/applyGait).
/zdrunktest6clientclient/cl_ai.lua:2809/zdrunktest6 [model]: the /zdrunktest ped, but moved by TaskGoStraightToCoord (speed 1.0, timeout -1, heading 0.0, slide 0.5) at the player, re-issued every 2.5 s exactly like…
/zgaitclientclient/cl_ai.lua:2416/zgait: one line per nearby walker.
/zhordeserverserver/sv_director.lua:955
/zmodeserverserver/sv_spawnsrc.lua:208
/zmodelinfoclientclient/cl_sync.lua:3178
/znetserverserver/sv_net.lua:591
/znetcclientclient/cl_net.lua:432
/znodesserverserver/sv_nodes.lua:1534 (not in fxmanifest)
/znodesaveserverserver/sv_nodes.lua:1653 (not in fxmanifest)/znodesave - force a save and say exactly what it did.
/zpoiserverserver/sv_poi.lua:536
/zsimserverserver/sv_sim_atlas.lua:803
/zstanceclientclient/cl_sim_stance.lua:139/zstance - what is this client telling the server about you?
/zstatusserverserver/sv_director.lua:968
/zstreamserverserver/sv_streaming.lua:935
/zsyncserverserver/sv_registry.lua:3305
/ztestdamageclientclient/cl_damage.lua:507
/ztestsensesclientclient/cl_ai.lua:2225
/ztestspawnclientclient/cl_sync.lua:3344
/zvanillaclientclient/cl_sync.lua:2947/zvanilla - take the modded ped pack out of the picture in one command.
/zwhyclientclient/cl_sync.lua:3098THE DEFECT THIS CLOSES IS A REPORTING DEFECT, AND IT HAS COST THREE PASSES.

These Lua files are on disk but no pattern in fxmanifest.lua loads them (or they are only pulled in with @bs_zombies/... by another resource). Anything listed from them above is not live in this resource.

  • server/sv_nodes.lua
  • server/sv_nodes_db.lua