Перейти к содержимому

bs_zombies

ходячие, синхронизируемые сервером: один список, один пул здоровья, размещённый ИИ, симуляция отдельных зомби.

Сгенерировано из Lua-исходников в resources/[beyond]/bs_zombies/. Записей: 163. Столбец описания - это комментарий над строкой в коде, поэтому если он пуст, значит, его ещё никто не написал.

Вызывайте через exports.bs_zombies:Name(...) с той же стороны.

ИмяСторонаГдеОписание
AppearanceLedgerclientclient/cl_sync.lua:1655И та же таблица, для всего, что хочет её читать (отладочная панель bs_admin, будущий оверлей).
Corpsesclientclient/cl_combat.lua:434
Countclientclient/cl_sync.lua:1442
Failuresclientclient/cl_sync.lua:1440
FeedingConfigclientclient/cl_ai.lua:1291Параметры питания, для отладочной кнопки bs_admin.
GetFxOptionsclientclient/cl_options.lua:81
HasWalkerclientclient/cl_sync.lua:1419Получил ли ЭТОТ ходячий пед на этом клиенте?
HealthBarsVisibleclientclient/cl_healthbar.lua:74
HordeActiveclientclient/cl_horde.lua:63
HostedCountclientclient/cl_sync.lua:1444
IsBeingAttackedclientclient/cl_attack.lua:435
IsCrawlerPedclientclient/cl_crawl.lua:685
IsGrabbedclientclient/cl_attack.lua:434Ничто больше не держит игрока, поэтому его никогда не «схватывают».
IsWalkerPedclientclient/cl_sync.lua:1380«ЭТО НАШ ПЕД?» - СПРАШИВАЕТ ВСЁ, ЧТО УДАЛЯЕТ ПЕДОВ.
Liveclientclient/cl_sync.lua:1443
PlayerProtectedInVehicleclientclient/cl_vehicle.lua:45
SafeZoneMarkersShownclientclient/cl_safezones.lua:118Используется вкладкой Settings в bs_inventory.
SetFxOptionclientclient/cl_options.lua:82
SetHealthBarsVisibleclientclient/cl_healthbar.lua:73
SetSafeZoneMarkersShownclientclient/cl_safezones.lua:119
Typesclientclient/cl_sync.lua:1425СПИСОК АРХЕТИПОВ, для всего, что должно предлагать выбор.
WalkerIdOfclientclient/cl_sync.lua:1832Id ходячего для педа, которого мы видим, или nil (турель bs_gadgets).
AnyNearserverserver/sv_registry.lua:1731Есть ли отслеживаемый сервером ходячий в пределах radius от (x, y, z)?
AtlasCallserverserver/sv_sim_atlas.lua:648ДВЕРЬ 2: exports.bs_zombies:AtlasCall(op, args, via) ДЛЯ ВЕБ-ПАНЕЛИ nodes (nodes/server/sv_http.lua), у которой нет игрока, и поэтому она не может использовать дверь 1.
ClearRadiusserverserver/sv_director.lua:673/dz персонала: удаляет каждого walker в пределах radius от x, y обычным путём удаления (бюджеты, списки хостов и трупы остаются согласованными).
DirectorStateserverserver/sv_director.lua:712
EventClearserverserver/sv_registry.lua:2081keep = true: только снять метку, ходячие остаются и возвращаются к обычному отсечению.
EventCountserverserver/sv_registry.lua:2079
EventDriveserverserver/sv_registry.lua:2078
EventNoiseserverserver/sv_registry.lua:2082
EventSpawnserverserver/sv_registry.lua:2077
GadgetHitserverserver/sv_registry.lua:2092Урон от гаджета (турель bs_gadgets).
Heatserverserver/sv_director.lua:685
InSafeZoneserverserver/sv_registry.lua:1692Тот же список плюс radius с запасом, для панели Node Atlas.
NodeAtlasserverserver/sv_nodes.lua:1110 (not in fxmanifest)Сам граф, чтобы панель могла рисовать дороги, по которым идут стада.
NodeListserverserver/sv_nodes.lua:1079 (not in fxmanifest)Все стада в плоском виде для отрисовки.
NodeMemoryserverserver/sv_nodes.lua:1134 (not in fxmanifest)Пространственная память в виде ячеек для раскраски: где были игроки и где они убивали.
NodeSnapshotserverserver/sv_nodes.lua:1076 (not in fxmanifest)
SafeZonesserverserver/sv_registry.lua:1680Безопасные зоны в виде простых чисел.
SafeZonesPaddedserverserver/sv_registry.lua:1701
SectorClearDebtserverserver/sv_sectors.lua:481
SectorGridserverserver/sv_sectors.lua:459
SectorSetserverserver/sv_sectors.lua:475
SectorSnapshotserverserver/sv_sectors.lua:457
SetSpawnModeserverserver/sv_spawnsrc.lua:208
Snapshotserverserver/sv_registry.lua:1721
SpawnModeserverserver/sv_spawnsrc.lua:207
StreamSnapshotserverserver/sv_streaming.lua:669
Totalserverserver/sv_registry.lua:1714
WorldSeedserverserver/sv_registry.lua:1719

Серверные колбэки вызываются с клиента через BSB.Await(name, timeoutMs, ...). Клиентские колбэки вызываются с сервера через BSB.AwaitClient(src, name, timeoutMs, ...).

ИмяНаправлениеГдеОписание
zombies:atlas:client -> serverserver/sv_sim_atlas.lua:638
zombies:debug:nearbyclient -> serverserver/sv_sim_atlas.lua:125У оверлея Alt в мире более узкая цель, чем у Atlas: опознать настоящего локального ходячего (A) рядом с его нематериализованными соседями по симуляции (D).
zombies:forceclient -> serverserver/sv_registry.lua:1753
zombies:lootclient -> serverserver/sv_director.lua:502
zombies:lootCheckclient -> serverserver/sv_director.lua:482
zombies:nearestclient -> serverserver/sv_registry.lua:1957
zombies:sectors:cleardebtclient -> serverserver/sv_sectors.lua:428
zombies:sectors:listclient -> serverserver/sv_sectors.lua:396
zombies:sectors:setclient -> serverserver/sv_sectors.lua:416

«net» значит, что обработчик зарегистрирован через RegisterNetEvent, и другая сторона может его вызвать. «local» - только AddEventHandler (та же сторона или игровые события).

ИмяСторонаТипГдеОписание
bs_config:changed:clientlocalclient/cl_safezones.lua:133Перерисовать, когда зоны правятся в F1.
bs_config:changed:sharedlocalconfig/config_zones.lua:101
bs:combatfx:optionsclientlocalclient/cl_healthbar.lua:27
bs:crafting:skinZombieclientlocalclient/cl_combat.lua:219Свежеванием занимается bs_crafting, но тело наше: держим его здесь и на сервере, чтобы его не удалили и оно не истекло, пока игрок стоит над ним на коленях.
bs:factionBases:changedserverlocalserver/sv_flagzones.lua:8bs_faction_bases вызывает это при каждом изменении флага.
bs:factionBases:syncclientnetclient/cl_safezones.lua:138Флаги фракций игроков приходят из bs_faction_bases.
bs:hook:player:loadedclientlocalclient/cl_options.lua:92
bs:hook:player:spawnedclientlocalclient/cl_safezones.lua:122Перерисовывается при респавне: маркер переживает смерть, но не перезапуск ресурса между ними, а проверка ничего не стоит.
bs:hook:player:unloadedclientlocalclient/cl_attack.lua:414
bs:sim:stanceservernetserver/sv_sim_senses.lua:144ОТЧЁТ О СТОЙКЕ. cl_sim_stance.lua отправляет это; в этом файле описано, откуда берётся каждый флаг и какие нативы были отвергнуты.
bs:ui:soundEndedclientlocalclient/cl_ai.lua:218Страница закончила клип.
bs:vip:changedclientlocalclient/cl_options.lua:91Изменение статуса VIP определяет, применяются ли свои цвета.
bs:weapons:shotclientlocalclient/cl_damage.lua:298
bs:world:noiseclientlocalclient/cl_ai.lua:1217
bs:world:noiseservernetserver/sv_director.lua:196radius ТЕРЯЛСЯ.
bs:z:addclientnetclient/cl_net.lua:422
bs:z:animreportservernetserver/sv_registry.lua:1837Клиентская часть /zanim, чтобы картинка набора анимаций попадала в файл.
bs:z:badnativeservernetserver/sv_registry.lua:1831
bs:z:correctHostclientnetclient/cl_sync.lua:1173
bs:z:crippledclientnetclient/cl_damage.lua:195
bs:z:deadclientnetclient/cl_combat.lua:396
bs:z:dmgservernetserver/sv_registry.lua:1401
bs:z:drawclientnetclient/cl_horde.lua:45Сервер говорит хосту притянуть одного из своих ходячих к чему-то.
bs:z:drunktest9clientnetclient/cl_ai.lua:2011
bs:z:drunktest9servernetserver/sv_net.lua:624/zdrunktest9 (см. cl_ai.lua): пед, сделанный так же, как настоящие walker.
bs:z:enginedeathservernetserver/sv_registry.lua:1816A CLIENT COULD NOT KEEP A WALKER STANDING.
bs:z:envdeathservernetserver/sv_registry.lua:1567
bs:z:gatedservernetserver/sv_registry.lua:1175Устарело: клиентам нельзя телепортировать общую запись, потому что их вид не мог её материализовать.
bs:z:grabservernetserver/sv_registry.lua:1581Захват - общий момент: все рядом видят одного и того же ходячего, держащего одного и того же игрока, потому что состояние хранится в записи, как и всё остальное.
bs:z:grabbedclientnetclient/cl_attack.lua:365Кого-то атакуют: проигрываем тот же замах на нашей копии ходячего, чтобы вся улица видела выпад, а не стояла без дела.
bs:z:hitservernetserver/sv_registry.lua:1308
bs:z:hordeclientnetclient/cl_horde.lua:5
bs:z:hordeOverclientnetclient/cl_horde.lua:39
bs:z:hostclientnetclient/cl_sync.lua:1144О ком этот клиент отвечает.
bs:z:hurtclientnetclient/cl_ai.lua:1269Попадание где угодно притягивает тех, кем управляет этот клиент, кто бы ни стрелял.
bs:z:materialisedservernetserver/sv_registry.lua:1177
bs:z:net:appservernetserver/sv_net.lua:568Владелец один раз применил внешность из seed; следующие владельцы не должны повторять.
bs:z:net:fpsservernetserver/sv_net.lua:545
bs:z:net:groundedservernetserver/sv_net.lua:558Владелец поставил на землю пед, созданный без известного z.
bs:z:netkillclientnetclient/cl_net.lua:429Труп, которого никто не убивал: сервер просит владельца убить его.
bs:z:nolosservernetserver/sv_net_target.lua:35Владелец попытался, но на пути была стена.
bs:z:orphanservernetserver/sv_registry.lua:1803
bs:z:pedlostservernetserver/sv_registry.lua:1810
bs:z:reportservernetserver/sv_registry.lua:979
bs:z:rmclientnetclient/cl_net.lua:409Сервер удалил/убил его: никогда не принимать этот id снова, пока он не будет объявлен заново.
bs:z:syncaservernetserver/sv_registry.lua:2125
bs:z:syncqclientnetclient/cl_sync.lua:1887/zsync: сервер спрашивает, мы отвечаем тем, что реально существует локально.
bs:z:updclientnetclient/cl_sync.lua:1053«ОНИ ПОЯВЛЯЮТСЯ ВДАЛИ И ИСЧЕЗАЮТ, КОГДА Я ПОДХОЖУ». Вот куда они девались: сквозь пол.
bs:z:vehhitservernetserver/sv_registry.lua:1514
bs:z:verifyservernetserver/sv_registry.lua:1139
bs:zombies:bittenservernetserver/sv_director.lua:587
bs:zombies:dot:lootclientlocalclient/cl_combat.lua:168
bs:zombies:holdCorpseservernetserver/sv_director.lua:492
bs:zs:diagclientnetclient/cl_spawner.lua:431КЛИЕНТСКАЯ ПОЛОВИНА /zdiag.
bs:zs:diagreplyservernetserver/sv_streaming.lua:929Ответ клиента, выводится в тот же отчёт.
bs:zs:planclientnetclient/cl_spawner.lua:319
bs:zs:reportservernetserver/sv_streaming.lua:295ОТЧЁТ СУХОГО ПРОГОНА, И ЭТО ПРИЁМОЧНЫЙ ТЕСТ ЭТАПА 4.
bs:zs:spawnservernetserver/sv_streaming.lua:457
bs:zs:teleservernetserver/sv_streaming.lua:276
entityRemovedserverlocalserver/sv_net.lua:489
onResourceStopclientlocalclient/cl_ai.lua:723При остановке они уходят вместе со всем остальным - оставшаяся еда всё ещё пед, который держит этот ресурс, а F-02 как раз про такие вещи, переживающие перезапуск.
onResourceStopserverlocalserver/sv_net.lua:535BEST-EFFORT SAVE ON SHUTDOWN.
playerDroppedserverlocalserver/sv_director.lua:500Запись шума отключившегося игрока не стоит хранить.
txAdmin:events:serverShuttingDownserverlocalserver/sv_nodes.lua:914 (not in fxmanifest)
КомандаСторонаГдеОписание
/bs_zombiehpclientclient/cl_healthbar.lua:66Любой VIP или сотрудник может переключить это для себя из чата - никому не нужно строить им меню ради такого маленького переключателя.
/hitmarkertestclientclient/cl_hitmarker.lua:125/hitmarkertest - проверяет, что три звука есть и слышны, не требуя, чтобы заработали зомби, оружие или VIP.
/poolsclientclient/cl_pools.lua:131
/safezonesclientclient/cl_safezones.lua:104/safezones - переключатель. Без проверки ace: рисуются два круга из конфига, который уже есть на клиенте каждого игрока, и здесь нет ничего, чего игрок не смог бы прочитать из…
/sectorserverserver/sv_sectors.lua:437/sector - в каком я квадрате и что он делает?
/zanimclientclient/cl_sync.lua:1543/zanim - WHAT THE CLIPSETS ARE ACTUALLY DOING.
/zclearserverserver/sv_director.lua:660
/zcrawlclientclient/cl_crawl.lua:695Та же форма, что у /zanims в cl_sync.lua, и по той же причине: когда ползун выглядит неправильно, первые вопросы всегда «есть ли вообще анимация» и «есть ли…
/zdebugclientclient/cl_sync.lua:1461
/zdiagserverserver/sv_streaming.lua:914
/zdrunkclearclientclient/cl_ai.lua:1876
/zdrunktestclientclient/cl_ai.lua:1646
/zdrunktest2clientclient/cl_ai.lua:1658
/zdrunktest3clientclient/cl_ai.lua:1694
/zdrunktest4clientclient/cl_ai.lua:1737
/zdrunktest5clientclient/cl_ai.lua:1801/zdrunktest5 <mask>: /zdrunktest4 10 плюс дополнения, которые получают ТОЛЬКО настоящие ходячие при спавне (cl_sync.lua spawn/applyGait).
/zdrunktest6clientclient/cl_ai.lua:1846/zdrunktest6 [model]: пед /zdrunktest, но движется через TaskGoStraightToCoord (скорость 1.0, таймаут -1, направление 0.0, скольжение 0.5) к игроку, повторно каждые 2.5 с точно так же, как…
/zdrunktest7clientclient/cl_ai.lua:1886/zdrunktest7 [mask] [model]: /zdrunktest6 плюс группы настройки из configureOwned() в cl_net.lua, переключаются по биту.
/zdrunktest8clientclient/cl_ai.lua:1930/zdrunktest8 [model]: как /zdrunktest6, но с сетевым педом (isNetwork = true), чтобы проверить, не убирает ли сеть шатание.
/zdrunktest9clientclient/cl_ai.lua:2049
/zgaitclientclient/cl_ai.lua:1469/zgait: одна строка на каждого ходячего рядом.
/zgaitprobeclientclient/cl_ai.lua:1964
/zhordeserverserver/sv_director.lua:612
/zmodeserverserver/sv_spawnsrc.lua:174
/zmodelinfoclientclient/cl_sync.lua:1668
/znetserverserver/sv_net.lua:611
/znetcclientclient/cl_net.lua:465
/znodesserverserver/sv_nodes.lua:952 (not in fxmanifest)
/znodesaveserverserver/sv_nodes.lua:1028 (not in fxmanifest)/znodesave - принудительное сохранение с точным описанием, что сделано.
/zpoiserverserver/sv_poi.lua:338
/zsimserverserver/sv_sim_atlas.lua:668
/zstanceclientclient/cl_sim_stance.lua:75/zstance - что этот клиент сообщает серверу о вас?
/zstatusserverserver/sv_director.lua:625
/zstreamserverserver/sv_streaming.lua:614
/zsyncserverserver/sv_registry.lua:2108
/ztestdamageclientclient/cl_damage.lua:375
/ztestsensesclientclient/cl_ai.lua:1298
/ztestspawnclientclient/cl_sync.lua:1789
/zvanillaclientclient/cl_sync.lua:1531/zvanilla - одной командой убрать пакет модифицированных педов.
/zwhyclientclient/cl_sync.lua:1605ДЕФЕКТ, КОТОРЫЙ ЭТО ЗАКРЫВАЕТ, - ДЕФЕКТ ОТЧЁТНОСТИ, И ОН СТОИЛ ТРЁХ ПРОХОДОВ.

Эти Lua-файлы лежат на диске, но ни один шаблон в fxmanifest.lua их не загружает (или их подключает другой ресурс через @bs_core/...). Всё, что перечислено выше из них, в этом ресурсе не работает.

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