Szerző Téma: Object hiba  (Megtekintve 675 alkalommal)

Object hiba
« Dátum: 2010. április 24. - 01:58:22 »
0 Show voters
Üdv.
Ismét egy kis segítséget szeretnék, mert akadt egy kis problémám.
Nekem a szerveren minden körbe van kerítve kerítésel (object) rendörség, mento, tuzoltó....stb
Ma csináltam egy autókereskedést objectekkel, és nem rakja be csak a felét. Eltünteti a már meglévo kerítéseket is (nem mindet!!), mi lehet a gond? Én ara tippelek, hogy van egy korlát, pl 200 objectnél többet nem lehet lerakni. De ha a szerveren beírom /serverinfo akkor ott kiírja hogy Objects: 254 nem tudom miért nem engedi berakni. Próbáltam scriptbe is akkor sem engedi meg. Ha megengedi az autószalont, akkor valamit eltüntet helyette... MTA val csinálom, de ilyen problémám még nem volt. Minden benne van szabályosan a modba, még hibát sem ír ki. Ladmin 4 et használok.
Üdv Dávid

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
Object hiba
« Válasz #1 Dátum: 2010. április 24. - 09:50:26 »
0 Show voters
Idézetet írta: kurta999 date=1270921724\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"1479\" 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.
 

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal