Lecția pluginului stream2 v2

Streamer Plugin v2.6.1

Acest-flux fișă facilități, Pickup-uri, puncte de control, puncte de control de curse, carduri de ecusoane și etichete de text 3D în acarienii personalizat pentru servere. Sunt incluse și principalele zone de detectare. Deoarece este scris în întregime în C + +, majoritatea aeriene din pionul pentru a evita. Acest streamer, ca rezultat, este destul de rapid mai rapid decât orice altă implementare disponibilă ca garanție. modificări în v2.6.1:

Adăugat atașCameraToDynamicObject
Adăugat AttachDynamicObjectToVehicle
Adăugat EditDynamicObject
Adăugat OnPlayerEditDynamicObject
Adăugat OnPlayerSelectDynamicObject
Înregistrarea GetDynamicObjectMaterial și SetDynamicObjectMaterial
Au fost adăugate GetDynamicObjectMaterialText și SetDynamicObjectMaterialText
Fixe. IsPlayerInDynamicRaceCP
Eliminați verificările IsPlayerNPC din fișierele incluse
Adăugat Streamer_ToggleItemUpdate

Puteți găsi mesajele de jurnal pentru noi modificări aici. Consultați modificările change.txt din pachetul server pentru modificări complete. defini

Punctele de control ale cursei:

Creați un director numit "pluginuri" în interiorul serverului de directoare, dacă acesta nu există deja. Plasați fișierul plug-in (streamer.dll sau streamer.so) în interiorul acestui director. Adăugați următoarea linie la server.cfg astfel încât pluginul să fie încărcat următoarea pornire a serverului: Windows:
Vindus

În streamer.inc Windows adăugați folderul Pawno # 092; Include. Includeți acest fișier în oricare din script-urile serverului:

Recompilați scripturile cu orice fișiere native și cu fișiere inversate incluse. Porniți serverul. Note generale


Viteză standard de marcare: 50
Elemente maxime prestabilite: nici unul (nelimitat)
În mod prestabilit, elementele vizibile sunt 500 (obiecte); 4096 (pickups), 1024 (etichete text 3D)
Dacă -1 este specificat pentru oricare dintre parametrii suplimentari (worldid, interiorid, iar jucătorul), punctele vor fi difuzate la toate virtuale lumi, interioare, și / sau jucători.
Viteza de marcare nu reprezintă o măsurătoare de timp specifică și variază în funcție de puterea de procesare a serverului. Dacă elementele de curgere sunt prea lent pentru a coborî rafturile, dacă încărcarea CPU-ului devine prea mare, creșteți viteza de tăiere.
Dacă unele elemente nu sunt afișate, este posibil să existe prea multe într-o zonă. Reduceți distanța de streaming, reducând setările "fluxului de difuzare" de la fiecare nativ.
Nu toate tipurile de elemente trebuie să fie un flux. Dacă pluginul este folosit numai pentru fluxurile de obiecte, de exemplu, atunci orice alt nativ poate fi ignorat.
Aveți grijă atunci când utilizați elemente de streaming cu elemente non-streaming. Pot apărea uneori conflicte.
Deoarece nu există pickup-uri pe jucător, un pickup care este difuzat pentru un jucător va fi vizibil și pentru toți ceilalți jucători, cu condiția ca acești jucători să se afle în aceeași lume virtuală.
Un maxim de 500 de jucători ID (0-499) pot fi atribuite fiecărui element.
Numărul maxim de obiecte vizibile poate fi mărit la 999 la SA-MP 0.3d, deși nu este recomandat ca toate aceste obiecte să fie într-o zonă din cauza limitărilor motorului de joc. În mod implicit, numărul obiectelor vizibile este setat la 500 pentru a evita conflictele.
Asigurați-vă că toate scripturile sunt compilate cu cele mai recente fișiere incluse.
Notative native
Utilizați Streamer_UpdateEx pentru a preîncărca articole înainte de a instala poziția playerului sau fluxul de elemente din OnPlayerRequestClass.
Iată un exemplu de utilizare a acestor manipulări de către localnici (a se vedea definiția utilizării și enumerarea de mai sus):

Iată un alt exemplu pentru datele stocate ca arrayuri (lumi virtuale, interioare și jucători):

Pentru a ajusta distanța de tragere a obiectului (adăugat la SA-MP 0.3b), utilizați Streamer_SetFloatData cu E_STREAMER_DRAW_DISTANCE. Puteți utiliza, de asemenea, CreateDynamicObjectEx. Distanța maximă de tragere pentru obiectele non-LOD este 300,0, iar în mod implicit, tragerea fiecărui obiect este o distanță de 0,0.
Pentru a schimba stilul hărții pictogramelor (adăugat la SA-MP 0.3c), utilizați Streamer_SetIntData cu E_STREAMER_STYLE. Puteți utiliza, de asemenea, CreateDynamicMapIconEx. Într-adevăr, stilurile variază de la 0 la 3, iar fiecare stil al pictogramei hartă implicită este 0.
Numai cercuri și sfere pot fi folosite cu localnicii pentru a atașa zona.
Pentru CreateDynamicPolygon și CreateDynamicPolygonEx, punctele trebuie definite ca o secvență de perechi ordonate (x 1. y 1. x 2. y 2. x n. Y n). Numărul elementelor din matrice trebuie împărțit cu două din acest motiv. Primul punct trebuie să fie egal cu ultimul punct, formând o buclă închisă.
Numărul configurat în Streamer_CellDistance este folosit pentru a determina dacă elementul trebuie plasat în cameră pentru scopuri de indexare spațială. Valoarea implicită este 600.0. Dacă distanța de streaming a elementului (sau, în cazul regiunilor, dimensiunea elementului) depășește distanța celulei, acesta va fi difuzat de oriunde pe hartă. De exemplu, dacă distanța de streaming a pictogramei hărții este setată la 100,0, va fi vizibilă numai dacă aparatul se află în aceeași cameră ca pictograma hărții sau în celula adiacentă (dacă distanța prestabilită a celulei 600.0 nu a fost modificată). Cu toate acestea, dacă distanța de streaming a pictogramei de hartă este setată la 1000.0, va fi vizibilă indiferent de locul în care se află playerul.
Numărul stabilit în Streamer_CellSize este folosit pentru a determina mărimea fiecărei celule din grilă. Valoarea implicită este 300.0.
Rețineți că Streamer_CellDistance și Streamer_CellSize restaurează grila de fiecare dată când sunt apelate, deci folosiți-le numai când este necesar. Valorile implicite sunt, de asemenea, considerate optime, astfel încât, în majoritatea cazurilor, este recomandat să lăsați pur și simplu pe acești localnici, dacă nu apare o nevoie specială.
Elementele pot fi grupate folosind y_groups (parte din biblioteca YSI).

Note de performanță
Nu se recomandă utilizarea unei distanțe mari de streaming pentru fiecare element. Acest lucru poate afecta semnificativ performanța, deoarece rezultă că mai multe elemente sunt verificate pentru fiecare actualizare. Dacă distanța de streaming a elementului depășește distanța celulară (600.0 în mod implicit), de asemenea nu beneficiază de indexarea spațială, ceea ce poate duce la performanțe mai slabe. Doar setați distanțe mari de streaming pentru elementele care ar trebui să fie vizibile de la distanță (de exemplu, pictograme globale de hartă).
Adăugarea prea multor lumi virtuale și a elementelor interioare poate duce la o utilizare sporită a memoriei și la o eficiență redusă. Nota 1 (toate lumile virtuale și interioare) oferă de fapt, cea mai bună performanță, pentru că elimină necesitatea de a efectua căutarea, dacă elementul este verificat la fiecare actualizare. Rețineți că acest lucru nu se aplică jucătorilor, deoarece poate fi adăugat doar un număr finit.