Forum profesionist despre scenariu de amanet

Lucrul cu Streamer (valori de setare)

E vorba de fluxul de la Incognito.

Și așa, deoarece nu toată lumea folosește Streamer_Set. sau Streamer_Get. în cea mai mare parte pentru că nu știu despre asta sau pentru că nu știu ce face și cum să o facă.







De fapt, nu este nimic complicat. Functia va stabili datele la obiectul specificat, pickup, punctul de control, o pictogramă pe hartă, textul 3D sau zona.

#define STREAMER_TYPE_OBJECT (0)
#define STREAMER_TYPE_PICKUP (1)
#define STREAMER_TYPE_CP (2)
#define STREAMER_TYPE_RACE_CP (3)
#define STREAMER_TYPE_MAP_ICON (4)
#define STREAMER_TYPE_3D_TEXT_LABEL (5)
#define STREAMER_TYPE_AREA (6)


// Tipuri de zone dinamice

#define STREAMER_AREA_TYPE_CIRCLE (0)
#define STREAMER_AREA_TYPE_CYLINDER (1)
#define STREAMER_AREA_TYPE_SPHERE (2)
#define STREAMER_AREA_TYPE_RECTANGLE (3)
#define STREAMER_AREA_TYPE_CUBOID (4)
#define STREAMER_AREA_TYPE_POLYGON (5)

#define STREAMER_OBJECT_TYPE_GLOBAL (0)
#define STREAMER_OBJECT_TYPE_PLAYER (1)
#define STREAMER_OBJECT_TYPE_DYNAMIC (2)

enum
E_STREAMER_ATTACHED_OBJECT,
E_STREAMER_ATTACHED_PLAYER,
E_STREAMER_ATTACHED_VEHICLE,
E_STREAMER_ATTACH_OFFSET_X,
E_STREAMER_ATTACH_OFFSET_Y,
E_STREAMER_ATTACH_OFFSET_Z,
E_STREAMER_ATTACH_R_X,
E_STREAMER_ATTACH_R_Y,
E_STREAMER_ATTACH_R_Z,
E_STREAMER_ATTACH_X,
E_STREAMER_ATTACH_Y,
E_STREAMER_ATTACH_Z,
E_STREAMER_COLOR,
E_STREAMER_DRAW_DISTANCE,
E_STREAMER_EXTRA_ID,
E_STREAMER_INTERIOR_ID,
E_STREAMER_MAX_X,
E_STREAMER_MAX_Y,
E_STREAMER_MAX_Z,
E_STREAMER_MIN_X,
E_STREAMER_MIN_Y,
E_STREAMER_MIN_Z,
E_STREAMER_MODEL_ID,
E_STREAMER_MOVE_R_X,
E_STREAMER_MOVE_R_Y,
E_STREAMER_MOVE_R_Z,
E_STREAMER_MOVE_SPEED,
E_STREAMER_MOVE_X,
E_STREAMER_MOVE_Y,
E_STREAMER_MOVE_Z,
E_STREAMER_NEXT_X,
E_STREAMER_NEXT_Y,
E_STREAMER_NEXT_Z,
E_STREAMER_PLAYER_ID,
E_STREAMER_R_X,
E_STREAMER_R_Y,
E_STREAMER_R_Z,
E_STREAMER_SIZE,
E_STREAMER_STREAM_DISTANCE,
E_STREAMER_STYLE,
E_STREAMER_TEST_LOS,
E_STREAMER_TYPE,
E_STREAMER_WORLD_ID,
E_STREAMER_X,
E_STREAMER_Y,
E_STREAMER_Z
>

Funcții de manipulare a datelor






manipularea datelor manipulării datelor

nativ Streamer_GetFloatData (tip. : id. date. Float. rezultat); // Obțineți valoarea Float
nativ Streamer_SetFloatData (tip. : id. date. Float. valoare); // Setați valoarea Float
nativ Streamer_GetIntData (tip. : id. date); // afla valoarea int
nativ Streamer_SetIntData (tip. : id. date. valoare); // Setați valoarea Int
nativ Streamer_GetArrayData (tip. : id. date. dest # 91; # 93; maxdest = sizeof dest); // Găsiți matricea
nativ Streamer_SetArrayData (tip. : id. date. const src # 91; # 93; maxsrc = sizeof src); // Setați matricea
nativ Streamer_IsInArrayData (tip. : id. date. valoare); // Aflați dacă există ceva în matricea de date
nativ Streamer_AppendArrayData (tip. : id. date. valoare); // Adăugați la matrice
nativ Streamer_RemoveArrayData (tip. : id. date. valoare); // Șterge din matrice
nativ Streamer_GetUpperBound (tip); // Recunoașteți numărul de "obiecte" de tip instalat

Să ne imaginăm că vrem să instalăm text 3D pe mașină, cum o vom face?
Desigur, mai întâi creați textul în sine.

Test_Text = CreateDynamic3DTextLabel (.. "Text" 0xFFFFFFFF x y z 20,0 INVALID_PLAYER_ID vehicleid .....);

Ei bine, textul este creat și atașat la mașină, dar, de exemplu, vrem să ridicăm textul mai sus, ce vom face?
Să specificăm mai mult coordonatele Z în crearea textului? Nu, nu este.
Pentru aceasta avem nevoie de o funcție
Streamer_SetFloatData. deoarece valoarea Z este Float.
Și așa, acțiunile noastre:

Streamer_SetFloatData (5. Test_Text E_STREAMER_ATTACH_OFFSET_Z 2.0 ..);

Ce am făcut acum?
Tocmai am ridicat coordonata Z a textului la 2.0.


Care este 5 și de unde am obținut acest număr?
Acesta este tipul de "obiect" cu care trebuie să lucrăm, în acest caz 3D, și de aceea va fi:

Următorul este Test_Text. Cred că deja ați înțeles că aceasta este variabila în sine.

În continuare este tipul de manipulare în sine, în acest caz dorim să schimbăm coordonatele Z în textul 3D atașat.
Deci avem nevoie

Și, bineînțeles, valoarea pe care o vom stabili, în acest exemplu este 2.0

Streamer_SetIntData funcționează pe același principiu.

obiect = CreateDynamicObject (7777. 1234.0-1,234.0 12,0 0,0 0,0 0,0 .....);

De exemplu, trebuie să plasăm un obiect în lumea virtuală, dar nu imediat.
Acțiunile noastre:

Streamer_SetIntData (0. obiect E_STREAMER_WORLD_ID. 1);

Am pus obiectul "obiect" în lumea virtuală 1.

Streamer_SetArrayData
De exemplu, este necesar ca textul 3D să fie văzut doar de anumite persoane.
Acțiunile noastre:

noi jucători # 91; 3 # 93; = <15. 2. 71>;
Streamer_SetArrayData (5. text E_STREAMER_PLAYER_ID. Jucători);

Acum, textul va fi văzut numai de jucători sub idol 15,2,71.


Și cum să cunoști valorile?

// Pentru Float avem nevoie de o variabilă
nou Float. test;
Streamer_GetFloatData (0. Obiect E_STREAMER_X.Test);
// Nu este nevoie de nimic pentru int
Streamer_GetIntData (0. obiect E_STREAMER_MODEL_ID);
// Pentru șir, avem de asemenea nevoie de o matrice în care să se facă înregistrarea
matrice nouă # 91; 3 # 93 ;;
Streamer_GetArrayData (5. text E_STREAMER_PLAYER_ID Array);
// Acum valorile sunt scrise în matricea matrice

Poate că totul este pentru moment, tema va fi completată.







Articole similare

Trimiteți-le prietenilor: