API zombie
bs_zombies è grande, ma ciò che serve alle altre risorse è un elenco breve. Tutto è nella pagina API di bs_zombies con file e riga.
Questo ped è uno zombie?
Sezione intitolata “Questo ped è uno 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 rispondono anche dallo statebag bsZombie per un ped in rete che questo client non ha ancora adottato. Usali, non controllare i modelli, il modello può essere quello vanilla.
Altri helper del client: Live() (tabella dei camminatori adottati), Count(), HostedCount(), HasWalker(id), IsBeingAttacked(), HordeActive(), PlayerProtectedInVehicle().
Far male agli zombie dal tuo codice
Sezione intitolata “Far male agli zombie dal tuo codice”Il registro del server possiede la salute. Il danno del client è segnalato da chi spara, ma per qualcosa che tu possiedi sul server (una torretta, una trappola) passa da:
-- serverexports.bs_zombies:GadgetHit(src, walkerId, damage, x, y, range, weapon)Controlla che il camminatore sia entro range da x, y. La torretta di bs_gadgets lo usa, guarda bs_gadgets/server per il flusso (il client trova il bersaglio, il server controlla cadenza e munizioni, poi GadgetHit).
Attira i camminatori verso un punto:
-- serverexports.bs_zombies:EventNoise(x, y, z, loud)Il gadget esca lo chiama a ogni impulso.
Comparse da eventi
Sezione intitolata “Comparse da eventi”Per cose scriptate (le ondate di orde di bs_events le usano):
-- 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)I camminatori taggati saltano la rimozione a distanza finché sono taggati. Contano comunque nei limiti del pool, non puoi superare Streaming.PoolGuard.maxNetworked. E il minimo di comparsa (100 m da ogni giocatore) vale ancora.
Info sul mondo
Sezione intitolata “Info sul mondo”-- serverexports.bs_zombies:SafeZones() -- zone listexports.bs_zombies:SafeZonesPadded()exports.bs_zombies:Total() -- registry countexports.bs_zombies:Heat(zoneId)exports.bs_zombies:Snapshot()Statebag
Sezione intitolata “Statebag”| Bag | Su | |
|---|---|---|
bsZombie | ped | id del registro. Se c’è, è nostro |
zType, zGait, zCrawl, zFeed, zReach, zState, zMhp, zGround, zApp | ped | stato della modalità di rete |
bsZombieDead | ped | cadavere in rete |
Non eliminare mai da solo un camminatore in rete. Il server tiene traccia delle eliminazioni inattese, ricrea il camminatore se un giocatore è vicino e segnala il proprietario in bs_guard (zombie_entity_deleted). Se devono sparire, usa il tag dell’evento e EventClear, oppure chiedi al registro.
La pulizia della popolazione di bs_world salta già tutto ciò che ha bsZombie. Se anche la tua risorsa ripulisce i ped, controlla prima IsWalkerPed.
Modalità
Sezione intitolata “Modalità”GlobalState.bsZombieMode è 'networked' o 'legacy'. La maggior parte degli export funziona allo stesso modo in entrambe.
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.