API des zombies
bs_zombies est gros, mais ce dont les autres ressources ont besoin tient en une courte liste. Tout est sur la page API de bs_zombies avec fichier et ligne.
Ce ped est-il un zombie ?
Section intitulée « Ce ped est-il un zombie ? »Client :
if exports.bs_zombies:IsWalkerPed(ped) then local id = exports.bs_zombies:WalkerIdOf(ped) -- registry id, nil if not a walkerendlocal crawler = exports.bs_zombies:IsCrawlerPed(ped)IsWalkerPed/WalkerIdOf répondent aussi à partir du statebag bsZombie pour un ped en réseau que ce client n’a pas encore adopté. Utilisez-les, ne vérifiez pas les modèles, le modèle peut être celui de vanilla.
Autres helpers client : Live() (table des walkers adoptés), Count(), HostedCount(), HasWalker(id), IsBeingAttacked(), HordeActive(), PlayerProtectedInVehicle().
Blesser des zombies depuis votre code
Section intitulée « Blesser des zombies depuis votre code »Le registre serveur possède la santé. Les dégâts client sont signalés par le tireur, mais pour quelque chose que vous possédez côté serveur (une tourelle, un piège), passez par :
-- serverexports.bs_zombies:GadgetHit(src, walkerId, damage, x, y, range, weapon)Il vérifie que le walker est à moins de range de x, y. La tourelle de bs_gadgets l’utilise ; voyez bs_gadgets/server pour le déroulé (le client trouve la cible, le serveur vérifie cadence et munitions, puis GadgetHit).
Attirer des walkers vers un point :
-- serverexports.bs_zombies:EventNoise(x, y, z, loud)Le gadget leurre l’appelle à chaque impulsion.
Spawns d’événements
Section intitulée « Spawns d’événements »Pour les choses scénarisées (les vagues de horde de bs_events les utilisent) :
-- serverexports.bs_zombies:EventSpawn(x, y, 'walker', { tag = 'myres:wave1', hpScale = 1.0 })exports.bs_zombies:EventDrive('myres:wave1', x, y, z, seconds) -- push tagged walkers towards a pointlocal n = exports.bs_zombies:EventCount('myres:wave1')exports.bs_zombies:EventClear('myres:wave1', keepAsNormal)Les walkers taggés échappent au far-cull tant qu’ils sont taggés. Ils comptent toujours dans les plafonds du pool, vous ne pouvez pas spawner au-delà de Streaming.PoolGuard.maxNetworked. Et le plancher de spawn (100 m de chaque joueur) s’applique toujours.
Infos du monde
Section intitulée « Infos du monde »-- serverexports.bs_zombies:SafeZones() -- zone listexports.bs_zombies:SafeZonesPadded()exports.bs_zombies:Total() -- registry countexports.bs_zombies:Heat(zoneId)exports.bs_zombies:Snapshot()Statebags
Section intitulée « Statebags »| Bag | Sur | |
|---|---|---|
bsZombie | ped | id du registre. S’il est là, c’est le nôtre |
zType, zGait, zCrawl, zFeed, zReach, zState, zMhp, zGround, zApp | ped | état du mode en réseau |
bsZombieDead | ped | cadavre en réseau |
Ne supprimez jamais vous-même un walker en réseau. Le serveur suit les suppressions inattendues, recrée le walker si un joueur est proche et signale le propriétaire dans bs_guard (zombie_entity_deleted). Si vous devez les faire disparaître, utilisez le tag d’événement + EventClear, ou demandez au registre.
Le balayage de population de bs_world ignore déjà tout ce qui porte bsZombie. Si votre ressource nettoie aussi des peds, vérifiez d’abord IsWalkerPed.
GlobalState.bsZombieMode vaut 'networked' ou 'legacy'. La plupart des exports fonctionnent pareil dans les deux.
bs19.org · Privacy · Terms · Cookie settings
Cookies and outside content
The site only needs two essential cookies to keep you logged in and protect forms. Videos and streams from YouTube and Twitch load from their servers, which can set their own cookies, so they stay off until you say yes. Nothing is pre-ticked and you can change your mind any time with "Cookie settings" at the bottom of every page. Details.
Questions about the server, the framework or the site? A real person reads this, usually within a day.