Szerző Téma: Dinamikus object  (Megtekintve 910 alkalommal)

Szeby1995

  • Vendég
Dinamikus object
« Dátum: 2010. április 20. - 13:11:31 »
0 Show voters
Hi all
Hogy lehet használni dinamikus objecteket 0.2x ben?
Ha lehet 1 modeba belerakhatok 150 nél többet?

Dinamikus object
« Válasz #1 Dátum: 2010. április 20. - 14:38:43 »
0 Show voters
dinamikus.. hmm.. magyarul y_objects.
lehet
de akor már inkább xStreamer :D

GroX

  • Vendég
Dinamikus object
« Válasz #2 Dátum: 2010. április 20. - 14:46:25 »
0 Show voters
xStreamer az nagy sz*r és még be is van tiltva.
 
Idézetet írta: kurta999 date=1270921724\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"1447\" data-ipsquote-contentclass=\"forums_Topic
Streamer Plugin v2.3.7
Ez 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 ja
native 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();
Callbacks
forward 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és
Ha 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álat
Elso, 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 íva
Megyjegyzé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 Addon
Ha 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.
 

Dinamikus object
« Válasz #3 Dátum: 2010. április 20. - 15:31:31 »
0 Show voters
0.2X-re??
az xStreamer a legjobb oda.. elhiheted..

Szeby1995

  • Vendég
Dinamikus object
« Válasz #4 Dátum: 2010. április 20. - 16:02:13 »
0 Show voters
Azt hittem 0.3 ra való.
Én amugy igy probáltam:
Ez csak egy példa !
 
#include <Y_Objects>
public OnFilterScriptInit()
{
Object_Object();
CreateDynamicObject(18450, 344.920105, 2502.345215, 22.052567, 0.0000, 12.8916, 0.0000);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
Object_OnPlayerDisconnect(playerid, reason);
return 1;
}
« Utoljára szerkesztve: 2010. április 20. - 16:03:56 írta Szeby1995 »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal