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.
Exports
Section titled “Exports”Call with exports.bs_zombies:Name(...) from the same side.
| Name | Side | Where | Description |
|---|---|---|---|
AppearanceLedger | client | client/cl_sync.lua:3150 | And the same table, for anything that wants to read it (bs_admin’s debug panel, a future overlay). |
Corpses | client | client/cl_combat.lua:655 | |
Count | client | client/cl_sync.lua:2827 | |
Failures | client | client/cl_sync.lua:2825 | |
FeedingConfig | client | client/cl_ai.lua:2210 | The feeding tuning, for bs_admin’s debug button. |
GetFxOptions | client | client/cl_options.lua:90 | |
HasWalker | client | client/cl_sync.lua:2782 | Did THIS walker get a ped on this client? |
HealthBarsVisible | client | client/cl_healthbar.lua:124 | |
HordeActive | client | client/cl_horde.lua:74 | |
HostedCount | client | client/cl_sync.lua:2829 | |
IsBeingAttacked | client | client/cl_attack.lua:653 | |
IsCrawlerPed | client | client/cl_crawl.lua:1172 | |
IsGrabbed | client | client/cl_attack.lua:652 | Nothing holds the player any more, so nothing is ever “grabbed”. |
IsWalkerPed | client | client/cl_sync.lua:2684 | “IS THIS PED ONE OF OURS?” - ASKED BY ANYTHING THAT DELETES PEDS. |
Live | client | client/cl_sync.lua:2828 | |
PlayerProtectedInVehicle | client | client/cl_vehicle.lua:49 | |
SetFxOption | client | client/cl_options.lua:91 | |
SetHealthBarsVisible | client | client/cl_healthbar.lua:123 | |
Types | client | client/cl_sync.lua:2807 | THE LIST OF ARCHETYPES, FOR ANYTHING THAT NEEDS TO OFFER A CHOICE. |
WalkerIdOf | client | client/cl_sync.lua:3387 | Walker id for a ped we can see, or nil (bs_gadgets turret). |
AnyNear | server | server/sv_registry.lua:2756 | Is any server-tracked walker within radius of (x, y, z)? |
AtlasCall | server | server/sv_sim_atlas.lua:780 | DOOR 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. |
EventClear | server | server/sv_registry.lua:3277 | keep = true: untag only, so the walkers stay and fall back to normal culling. |
EventCount | server | server/sv_registry.lua:3275 | |
EventDrive | server | server/sv_registry.lua:3274 | |
EventNoise | server | server/sv_registry.lua:3278 | |
EventSpawn | server | server/sv_registry.lua:3273 | |
GadgetHit | server | server/sv_registry.lua:3289 | Gadget damage (bs_gadgets turret). |
Heat | server | server/sv_director.lua:1019 | |
NodeAtlas | server | server/sv_nodes.lua:1762 (not in fxmanifest) | The graph itself, so the panel can draw the roads herds walk along. |
NodeList | server | server/sv_nodes.lua:1723 (not in fxmanifest) | Every herd, flattened for drawing. |
NodeMemory | server | server/sv_nodes.lua:1788 (not in fxmanifest) | The spatial memory, as cells worth colouring: where players have been and where they have been killing. |
NodeSnapshot | server | server/sv_nodes.lua:1714 (not in fxmanifest) | |
SafeZones | server | server/sv_registry.lua:2692 | Safe zones as plain numbers. |
SafeZonesPadded | server | server/sv_registry.lua:2708 | The same list plus the PADDED radius, for the Node Atlas panel. |
SectorClearDebt | server | server/sv_sectors.lua:632 | |
SectorGrid | server | server/sv_sectors.lua:609 | |
SectorSet | server | server/sv_sectors.lua:626 | |
SectorSnapshot | server | server/sv_sectors.lua:607 | |
SetSpawnMode | server | server/sv_spawnsrc.lua:242 | |
Snapshot | server | server/sv_registry.lua:2741 | |
SpawnMode | server | server/sv_spawnsrc.lua:241 | |
StreamSnapshot | server | server/sv_streaming.lua:1005 | |
Total | server | server/sv_registry.lua:2721 | |
WorldSeed | server | server/sv_registry.lua:2739 |
Callbacks
Section titled “Callbacks”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, ...).
| Name | Direction | Where | Description |
|---|---|---|---|
zombies:atlas: | client -> server | server/sv_sim_atlas.lua:744 | |
zombies:debug:nearby | client -> server | server/sv_sim_atlas.lua:238 | The in-world Alt overlay has a narrower purpose than the Atlas: identify a real local walker (A) beside its unmaterialised simulation neighbours (D). |
zombies:force | client -> server | server/sv_registry.lua:2811 | |
zombies:loot | client -> server | server/sv_director.lua:826 | |
zombies:lootCheck | client -> server | server/sv_director.lua:820 | |
zombies:nearest | client -> server | server/sv_registry.lua:3142 | |
zombies:sectors:cleardebt | client -> server | server/sv_sectors.lua:571 | |
zombies:sectors:list | client -> server | server/sv_sectors.lua:537 | |
zombies:sectors:set | client -> server | server/sv_sectors.lua:559 |
Events
Section titled “Events”“net” means the handler is registered with RegisterNetEvent, so the other side can trigger it. “local” is AddEventHandler only (same side, or game events).
| Name | Side | Type | Where | Description |
|---|---|---|---|---|
bs:combatfx:options | client | local | client/cl_healthbar.lua:74 | |
bs:hook:player:loaded | client | local | client/cl_options.lua:101 | |
bs:hook:player:spawned | client | local | client/cl_safezones.lua:160 | Re-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:unloaded | client | local | client/cl_attack.lua:600 | |
bs:sim:stance | server | net | server/sv_sim_senses.lua:270 | THE 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:soundEnded | client | local | client/cl_ai.lua:427 | The page finished a clip. |
bs:vip:changed | client | local | client/cl_options.lua:100 | VIP status changes decide whether custom colours apply. |
bs:weapons:shot | client | local | client/cl_damage.lua:412 | |
bs:world:noise | client | local | client/cl_ai.lua:2111 | |
bs:world:noise | server | net | server/sv_director.lua:344 | radius was being DROPPED. |
bs:z:add | client | net | client/cl_net.lua:389 | |
bs:z:animreport | server | net | server/sv_registry.lua:2945 | The client side of /zanim, so the clipset picture lands in a file. |
bs:z:badnative | server | net | server/sv_registry.lua:2939 | |
bs:z:correctHost | client | net | client/cl_sync.lua:2337 | |
bs:z:crippled | client | net | client/cl_damage.lua:297 | |
bs:z:dead | client | net | client/cl_combat.lua:597 | |
bs:z:dmg | server | net | server/sv_registry.lua:2417 | |
bs:z:draw | client | net | client/cl_horde.lua:56 | The server tells a host to pull one of its walkers toward something. |
bs:z:enginedeath | server | net | server/sv_registry.lua:2920 | A CLIENT COULD NOT KEEP A WALKER STANDING. |
bs:z:envdeath | server | net | server/sv_registry.lua:2616 | |
bs:z:gated | server | net | server/sv_registry.lua:2016 | Deprecated: clients may not teleport a shared record because their view could not materialise it. |
bs:z:grab | server | net | server/sv_registry.lua:2631 | Being 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:grabbed | client | net | client/cl_attack.lua:537 | Somebody 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:hit | server | net | server/sv_registry.lua:2249 | |
bs:z:horde | client | net | client/cl_horde.lua:15 | |
bs:z:hordeOver | client | net | client/cl_horde.lua:50 | |
bs:z:host | client | net | client/cl_sync.lua:2307 | Who this client is responsible for thinking about. |
bs:z:hurt | client | net | client/cl_ai.lua:2191 | A hit anywhere pulls the ones this client steers, whoever fired the shot. |
bs:z:materialised | server | net | server/sv_registry.lua:2018 | |
bs:z:net:app | server | net | server/sv_net.lua:548 | The owner applied the seeded appearance once; later owners must not redo it. |
bs:z:net:fps | server | net | server/sv_net.lua:525 | |
bs:z:net:grounded | server | net | server/sv_net.lua:538 | The owner grounded a ped that was created without a known z. |
bs:z:netkill | client | net | client/cl_net.lua:396 | A corpse that nobody killed: the server asks its owner to. |
bs:z:orphan | server | net | server/sv_registry.lua:2882 | |
bs:z:pedlost | server | net | server/sv_registry.lua:2889 | |
bs:z:report | server | net | server/sv_registry.lua:1619 | |
bs:z:rm | client | net | client/cl_net.lua:378 | The server removed / killed it: never re-adopt that id until it is announced again. |
bs:z:synca | server | net | server/sv_registry.lua:3322 | |
bs:z:syncq | client | net | client/cl_sync.lua:3447 | /zsync: server asks, we answer with what actually exists locally. |
bs:z:upd | client | net | client/cl_sync.lua:2170 | “THEY APPEAR FAR AWAY AND VANISH WHEN I GET CLOSE.” Here is where they went: through the floor. |
bs:z:vehhit | server | net | server/sv_registry.lua:2563 | |
bs:z:verify | server | net | server/sv_registry.lua:1933 | |
bs:zombies:bitten | server | net | server/sv_director.lua:930 | |
bs:zombies:dot:loot | client | local | client/cl_combat.lua:214 | |
bs:zs:diag | client | net | client/cl_spawner.lua:786 | THE CLIENT’S HALF OF /zdiag. |
bs:zs:diagreply | server | net | server/sv_streaming.lua:1316 | The client’s answer, printed into the same readout. |
bs:zs:plan | client | net | client/cl_spawner.lua:620 | |
bs:zs:report | server | net | server/sv_streaming.lua:447 | THE DRY-RUN REPORT, AND IT IS THE ACCEPTANCE TEST FOR STAGE 4. |
bs:zs:spawn | server | net | server/sv_streaming.lua:690 | |
bs:zs:tele | server | net | server/sv_streaming.lua:418 | |
entityRemoved | server | local | server/sv_net.lua:463 | |
onResourceStop | client | local | client/cl_ai.lua:1340 | On 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. |
onResourceStop | server | local | server/sv_net.lua:515 | BEST-EFFORT SAVE ON SHUTDOWN. |
playerDropped | server | local | server/sv_director.lua:946 | A disconnecting player’s noise record is not worth keeping. |
txAdmin:events:serverShuttingDown | server | local | server/sv_nodes.lua:1470 (not in fxmanifest) |
Commands
Section titled “Commands”| Command | Side | Where | Description |
|---|---|---|---|
/bs_zombiehp | client | client/cl_healthbar.lua:114 | Any VIP or staff member can flip this for themselves from chat - nobody else has to build them a menu for a toggle this small. |
/hitmarkertest | client | client/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. |
/pools | client | client/cl_pools.lua:179 | |
/safezones | client | client/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… |
/sector | server | server/sv_sectors.lua:580 | /sector - what square am I in, and what is it doing? |
/zanim | client | client/cl_sync.lua:2969 | /zanim - WHAT THE CLIPSETS ARE ACTUALLY DOING. |
/zclear | server | server/sv_director.lua:1008 | |
/zcrawl | client | client/cl_crawl.lua:1185 | The 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… |
/zdebug | client | client/cl_sync.lua:2859 | |
/zdiag | server | server/sv_streaming.lua:1298 | |
/zdrunkclear | client | client/cl_ai.lua:2839 | |
/zdrunktest | client | client/cl_ai.lua:2593 | |
/zdrunktest2 | client | client/cl_ai.lua:2605 | |
/zdrunktest3 | client | client/cl_ai.lua:2641 | |
/zdrunktest4 | client | client/cl_ai.lua:2694 | |
/zdrunktest5 | client | client/cl_ai.lua:2762 | /zdrunktest5 <mask>: /zdrunktest4 10 plus the extras ONLY real walkers get at spawn (cl_sync.lua spawn/applyGait). |
/zdrunktest6 | client | client/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… |
/zgait | client | client/cl_ai.lua:2416 | /zgait: one line per nearby walker. |
/zhorde | server | server/sv_director.lua:955 | |
/zmode | server | server/sv_spawnsrc.lua:208 | |
/zmodelinfo | client | client/cl_sync.lua:3178 | |
/znet | server | server/sv_net.lua:591 | |
/znetc | client | client/cl_net.lua:432 | |
/znodes | server | server/sv_nodes.lua:1534 (not in fxmanifest) | |
/znodesave | server | server/sv_nodes.lua:1653 (not in fxmanifest) | /znodesave - force a save and say exactly what it did. |
/zpoi | server | server/sv_poi.lua:536 | |
/zsim | server | server/sv_sim_atlas.lua:803 | |
/zstance | client | client/cl_sim_stance.lua:139 | /zstance - what is this client telling the server about you? |
/zstatus | server | server/sv_director.lua:968 | |
/zstream | server | server/sv_streaming.lua:935 | |
/zsync | server | server/sv_registry.lua:3305 | |
/ztestdamage | client | client/cl_damage.lua:507 | |
/ztestsenses | client | client/cl_ai.lua:2225 | |
/ztestspawn | client | client/cl_sync.lua:3344 | |
/zvanilla | client | client/cl_sync.lua:2947 | /zvanilla - take the modded ped pack out of the picture in one command. |
/zwhy | client | client/cl_sync.lua:3098 | THE DEFECT THIS CLOSES IS A REPORTING DEFECT, AND IT HAS COST THREE PASSES. |
Files not loaded
Section titled “Files not loaded”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.luaserver/sv_nodes_db.lua
bs19.org · Privacy · Terms · Cookie settings