Streamer Plugin v2.3.7Ez egy részletes streamer samp 0.3-hoz. Lehet vele végtelen objectokat, pickupokat, checkpointokat, verseny checkpointokat, map iconokat és 3D texteket lerakni. Ezenkívül kezel még Arénákat is. C++ al van írva, teház plugin. Használata nagyon egyszeru és a PAWNO is gyorsan kezeli. Crashelni nem fog, ettol nem kell félni Készíto: Incognito(Én fordítottam, vannak biztos benne fordítási hibák. Szval nem kell lecseszni ezér, thx : D)FüggvényekÁllításra szolgáló fuggvények:native Streamer_TickRate(rate);native Streamer_MaxItems(type, items);native Streamer_VisibleItems(type, items);Felújítások:native Streamer_Update(playerid);native Streamer_UpdateEx(playerid, Float:x, Float:y, Float:z);Adat manipulációk:native Streamer_GetFloatData(type, {Text3D,_}:id, data, &Float:result);native Streamer_GetIntData(type, {Text3D,_}:id, data);native Streamer_SetFloatData(type, {Text3D,_}:id, data, Float:value);native Streamer_SetIntData(type, {Text3D,_}:id, data, value);Objects:native CreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:distance = 200.0);native CreateDynamicObjectEX(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz); // ez csak a kiegészítovel megy, jobb töltést biztosít mert minden objectnak más a draw distance janative DestroyDynamicObject(objectid);native IsValidDynamicObject(objectid);native SetDynamicObjectPos(objectid, Float:x, Float:y, Float:z);native GetDynamicObjectPos(objectid, &Float:x, &Float:y, &Float:z);native SetDynamicObjectRot(objectid, Float:rx, Float:ry, Float:rz);native GetDynamicObjectRot(objectid, &Float:rx, &Float:ry, &Float:rz);native MoveDynamicObject(objectid, Float:x, Float:y, Float:z, Float:speed);native StopDynamicObject(objectid);native DestroyAllDynamicObjects();native CountDynamicObjects();Pickups:native CreateDynamicPickup(modelid, type, Float:x, Float:y, Float:z, worldid = -1, interiorid = -1, playerid = -1, Float:distance = 100.0);native DestroyDynamicPickup(pickupid);native IsValidDynamicPickup(pickupid);native DestroyAllDynamicPickups();native CountDynamicPickups();Checkpoints:native CreateDynamicCP(Float:x, Float:y, Float:z, Float:size, worldid = -1, interiorid = -1, playerid = -1, Float:distance = 100.0);native DestroyDynamicCP(checkpointid);native IsValidDynamicCP(checkpointid);native TogglePlayerDynamicCP(playerid, checkpointid, toggle);native TogglePlayerAllDynamicCPs(playerid, toggle);native IsPlayerInDynamicCP(playerid, checkpointid);native DestroyAllDynamicCPs();native CountDynamicCPs();Race Checkpoints:native CreateDynamicRaceCP(type, Float:x, Float:y, Float:z, Float:nextx, Float:nexty, Float:nextz, Float:size, worldid = -1, interiorid = -1, playerid = -1, Float:distance = 100.0);native DestroyDynamicRaceCP(checkpointid);native IsValidDynamicRaceCP(checkpointid);native TogglePlayerDynamicRaceCP(playerid, checkpointid, toggle);native TogglePlayerAllDynamicRaceCPs(playerid, toggle);native IsPlayerInDynamicRaceCP(playerid, checkpointid);native DestroyAllDynamicRaceCPs();native CountDynamicRaceCPs();Map Icons:native CreateDynamicMapIcon(Float:x, Float:y, Float:z, markertype, color, worldid = -1, interiorid = -1, playerid = -1, Float:distance = 100.0);native DestroyDynamicMapIcon(iconid);native IsValidDynamicMapIcon(iconid);native DestroyAllDynamicMapIcons();native CountDynamicMapIcons();3D Text Labels:native Text3D:CreateDynamic3DTextLabel(text[], color, Float:x, Float:y, Float:z, Float:drawdistance, attachedplayer = INVALID_PLAYER_ID, attachedvehicle = INVALID_VEHICLE_ID, testlos = 0, worldid = -1, interiorid = -1, playerid = -1, Float:distance = 100.0);native DestroyDynamic3DTextLabel(Text3D:id);native IsValidDynamic3DTextLabel(Text3D:id);native UpdateDynamic3DTextLabelText(Text3D:id, color, text[]);native DestroyAllDynamic3DTextLabels();native CountDynamic3DTextLabels();Areas:native CreateDynamicCircle(Float:x, Float:y, Float:size, worldid = -1, interiorid = -1, playerid = -1);native CreateDynamicRectangle(Float:minx, Float:miny, Float:maxx, Float:maxy, worldid = -1, interiorid = -1, playerid = -1);native CreateDynamicSphere(Float:x, Float:y, Float:z, Float:size, worldid = -1, interiorid = -1, playerid = -1);native CreateDynamicCube(Float:minx, Float:miny, Float:minz, Float:maxx, Float:maxy, Float:maxz, worldid = -1, interiorid = -1, playerid = -1);native DestroyDynamicArea(areaid);native IsValidDynamicArea(areaid);native TogglePlayerDynamicArea(playerid, areaid, toggle);native TogglePlayerAllDynamicAreas(playerid, toggle);native IsPlayerInDynamicArea(playerid, areaid);native DestroyAllDynamicAreas();native CountDynamicAreas();Callbacksforward OnDynamicObjectMoved(objectid); forward OnPlayerPickUpDynamicPickup(playerid, pickupid);forward OnPlayerEnterDynamicCP(playerid, checkpointid);forward OnPlayerLeaveDynamicCP(playerid, checkpointid);forward OnPlayerEnterDynamicRaceCP(playerid, checkpointid);forward OnPlayerLeaveDynamicRaceCP(playerid, checkpointid);forward OnPlayerEnterDynamicArea(playerid, areaid);forward OnPlayerLeaveDynamicArea(playerid, areaid);Defincíciók #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) Enumerátorok enum{E_STREAMER_ATTACHED_PLAYER,E_STREAMER_ATTACHED_VEHICLE,E_STREAMER_COLOR,E_STREAMER_DISTANCE,E_STREAMER_DRAW_DISTANCE,E_STREAMER_EXTRA_ID,E_STREAMER_INTERIOR_ID,E_STREAMER_MARKER_TYPE,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_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_SPEED,E_STREAMER_TEST_LOS,E_STREAMER_TYPE,E_STREAMER_WORLD_ID,E_STREAMER_X,E_STREAMER_Y,E_STREAMER_Z} EgyszerusítésHa szeretnéd az alap SA-MP függvényeket használni, akkor nyisd meg a streamer.inc-t és rakd be ezeket a legaljára:Ez annyit csinál, hogy a dolognak ugyanaz lesz az értéke az egyikfelén is mint a másikon. Pl: CreateObject = CreateDynamicObject , ezt ha beleírod akkor ugyanazt fogja jelenteni mind a ketto. // Objects#define CreateObject CreateDynamicObject#define DestroyObject DestroyDynamicObject#define MoveObject MoveDynamicObject#define StopObject StopDynamicObject#define SetObjectPos SetDynamicObjectPos#define GetObjectPos GetDynamicObjectPos#define SetObjectRot SetDynamicObjectRot#define GetObjectRot GetDynamicObjectRot#define IsValidObject IsValidDynamicObject#define DestroyAllObjects DestroyAllDynamicObjects#define CountObjects CountDynamicObjects// Pickups#define CreatePickup CreateDynamicPickup#define DestroyPickup DestroyDynamicPickup#define IsValidPickup IsValidDynamicPickup Gyors használatElso, hozz létre a szerver mappádban egy plugins nevu mappát húzd bele a streamer.dll et és a streamer.so -t.Ezután írd bele a server.cfg be az Operációs Rendszernek megfeleloen.Windows: plugins streamer Linux: plugins streamer.so Tovább, szúrd be az #include <a_samp> alá ezt : #include <streamer> Ezután a funkciókat át kell alakítani azokarta amik fent le vannak ívaMegyjegyzés- Alap tickrate: 100- Alapból maximum dolgok: nincs (végtelen)- Egyszerre betöltheto tárgyak: 254 (object); 2048 (pickup); 1024 (3D text)- A -1 az alap paraméter itt: (worldid, interiorid, és playerid), ha ezt írod akkor minden játékosnak és minden interiorban/wirtual world be meg fog jelenni.- Nem kell minden dolgot streamelve használni (pickupok, 3D textek, stb). De ha nem streamelve használod akkor ne használd a fügvényeket.- Vigyázz, hogy a streamelt dolgokat ne keverd a nem streamelt dolgokkal, mert akkor nem fog jól menni.- Használd a Streamer_UpdateEx az OnPlayerRequestClass alatt, hogy újratöltsd a játékos dolgait.- Teleportoknál használd a Streamer_UpdateEx függvényt, hogy felújítsa a körülötted lévo dolgokat!- Itt vannak a funkciók:- Az objectokat konvertáld y_object formátumba ( a konvertálóba válazd a YSI-t ), konvertáló: Advanced Converter Streamer_SetIntData(STREAMER_TYPE_OBJECT, gObject, E_STREAMER_MODEL_ID, 1225); Letöltés:Server Plugin (Windows és Linux) (Mirror)Forráskód (Cross-Compatible) (Mirror)Alapból az objectokat nem valami hudejól kezeli, van hozzá egy kiegészíto. Letoltés: Streamer AddonHa windows on futtatod akkor szükésged van a .Net Keretrendszer 3.5 re. Letöltés Microsoft .NET Framework 3.5 SP1 vagy újabbra.
#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)
enum{E_STREAMER_ATTACHED_PLAYER,E_STREAMER_ATTACHED_VEHICLE,E_STREAMER_COLOR,E_STREAMER_DISTANCE,E_STREAMER_DRAW_DISTANCE,E_STREAMER_EXTRA_ID,E_STREAMER_INTERIOR_ID,E_STREAMER_MARKER_TYPE,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_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_SPEED,E_STREAMER_TEST_LOS,E_STREAMER_TYPE,E_STREAMER_WORLD_ID,E_STREAMER_X,E_STREAMER_Y,E_STREAMER_Z}
// Objects#define CreateObject CreateDynamicObject#define DestroyObject DestroyDynamicObject#define MoveObject MoveDynamicObject#define StopObject StopDynamicObject#define SetObjectPos SetDynamicObjectPos#define GetObjectPos GetDynamicObjectPos#define SetObjectRot SetDynamicObjectRot#define GetObjectRot GetDynamicObjectRot#define IsValidObject IsValidDynamicObject#define DestroyAllObjects DestroyAllDynamicObjects#define CountObjects CountDynamicObjects// Pickups#define CreatePickup CreateDynamicPickup#define DestroyPickup DestroyDynamicPickup#define IsValidPickup IsValidDynamicPickup
plugins streamer
plugins streamer.so
#include <streamer>
Streamer_SetIntData(STREAMER_TYPE_OBJECT, gObject, E_STREAMER_MODEL_ID, 1225);