[FilterScript] RyDeR`s Object Streamer [v0.1b]
#1

Foreword

Yes, yet another PAWN based streamer!
I've written a streamer before which was actually a big fail. It was based on the basic streaming algorithm and also had a lot of bugs. This one is completely different (see all features below).

Features
  • Completely reworked the streamer.
  • Changed streaming algorithm: look for objects in environment of player, get all possible closest objects (using QuickSort (-> very fast)), and only create and delete if need.
  • Supports virtuals worlds.
  • Supports interior ID's.
  • Supports streaming objects for one specific player.
  • Supports draw distance.
  • Very realistic object moving syncronisation and position updating.
  • Never objects missing problem.
  • Fast and flexible streaming (no delay).
  • .amx is more little compared to (some) other streamers (almost %50 reduced).
  • And lots of more...
Streamer Settings

You should customize these before using the streamer:
pawn Код:
#if defined MAX_PLAYERS
    #undef MAX_PLAYERS
   
    #if !defined MAX_PLAYERS
        #define MAX_PLAYERS \
            (200)
    #endif
#endif

#if defined MAX_OBJECTS
    #undef MAX_OBJECTS
   
    #if !defined MAX_OBJECTS
        #define MAX_OBJECTS \
            (400)
    #endif
#endif

#if !defined MAX_STREAMED_OBJECTS
    #define MAX_STREAMED_OBJECTS \
        (2000)
#endif

#if !defined MAX_STREAM_RADIUS
    #define MAX_STREAM_RADIUS \
        (300.0)
#endif

#if !defined STREAMER_UPDATE_INTERVAL
    #define STREAMER_UPDATE_INTERVAL \
        (800)
#endif
Streamer Settings

We have one callback which gets called when an object is done moving:
pawn Код:
forward OnStreamedObjectMoved(objectid);
Streamer Functions

pawn Код:
IsValidStreamedObject(objectid);
CreateStreamedObject(modelid, Float: x, Float: y, Float: z, Float: rx, Float: ry, Float: rz, virtualworld = -1, interior = -1, playerid = -1, Float: drawdistance = 0.0);
DestroyStreamedObject(objectid);
MoveStreamedObject(objectid, Float: x, Float: y, Float: z, Float: speed);
StopStreamedObject(objectid);
SetStreamedObjectPos(objectid, Float: x, Float: y, Float: z);
GetStreamedObjectPos(objectid, &Float: x, &Float: y, &Float: z);
SetStreamedObjectRot(objectid, Float: rx, Float: ry, Float: rz);
GetStreamedObjectRot(objectid, &Float: rx, &Float: ry, &Float: rz);
Notes
  • Parameters assigned -1 means for all. Example, for all virtual worlds. If you change that for example to 0, it will only show in virtual world 0.
  • If you have still an old version of my streamer, delete it and use this one.
  • Please report bugs in the comment section below.
Installation
  1. Download, extract and put them in the correct folder.
  2. Open rObjectStreamer.pwn, change the settings at the top and compile it.
  3. Open the scripts where you want to use this streamer in and include this at the top of your script using #include <rObjectStreamer>
  4. Write rObjectStreamer in server.cfg (Put this in the beginning of your filterscripts, otherwise it won't work like any other streamer)
Download

Mirror - Solidfiles (Last Update - 20/03/2011)

Changelog
  • Saturday 19 March 2011 (19/03/2011)
    • First public release.
  • Sunday 20 March 2011 (20/03/2011)
    • Fixed an exceeding array problem.
    • Everything recontrolled for bugs, and no found.
    • New setting added. (MAX_OBJECTS, now you can set amount of max objects appearable (NOTE: maximum is 400))
Reply


Messages In This Thread
RyDeR`s Object Streamer [v0.1b] - by RyDeR` - 19.03.2011, 12:14
Re: RyDeR`s Object Streamer [v0.1b] - by Zh3r0 - 19.03.2011, 12:18
Re: RyDeR`s Object Streamer [v0.1b] - by coconyr - 19.03.2011, 12:19
Re: RyDeR`s Object Streamer [v0.1b] - by Kyosaur - 19.03.2011, 12:20
Re: RyDeR`s Object Streamer [v0.1b] - by serman - 19.03.2011, 12:29
Re: RyDeR`s Object Streamer [v0.1b] - by TheArcher - 19.03.2011, 12:43
Re: RyDeR`s Object Streamer [v0.1b] - by RyDeR` - 19.03.2011, 13:30
Re: RyDeR`s Object Streamer [v0.1b] - by Hal - 19.03.2011, 16:16
Re: RyDeR`s Object Streamer [v0.1b] - by Kyosaur - 19.03.2011, 20:14
Re: RyDeR`s Object Streamer [v0.1b] - by Gforcez1337 - 19.03.2011, 20:14
Re: RyDeR`s Object Streamer [v0.1b] - by Calgon - 19.03.2011, 20:17
Re: RyDeR`s Object Streamer [v0.1b] - by RyDeR` - 20.03.2011, 00:06
Re: RyDeR`s Object Streamer [v0.1b] - by Calgon - 20.03.2011, 00:13
Re: RyDeR`s Object Streamer [v0.1b] - by Ironboy - 20.03.2011, 04:45
Re: RyDeR`s Object Streamer [v0.1b] - by Hal - 21.03.2011, 23:56
Re: RyDeR`s Object Streamer [v0.1b] - by TomTroX - 06.04.2011, 17:49
Re: RyDeR`s Object Streamer [v0.1b] - by Das11 - 07.04.2011, 16:23
Re: RyDeR`s Object Streamer [v0.1b] - by RyDeR` - 07.04.2011, 16:40
Re: RyDeR`s Object Streamer [v0.1b] - by Jeffry - 07.04.2011, 16:59
Re: RyDeR`s Object Streamer [v0.1b] - by [S]trong - 07.04.2011, 17:03
Re: RyDeR`s Object Streamer [v0.1b] - by RyDeR` - 07.04.2011, 18:04
Re: RyDeR`s Object Streamer [v0.1b] - by Jeffry - 07.04.2011, 18:12
Re: RyDeR`s Object Streamer [v0.1b] - by hamim - 10.07.2012, 01:32
Re: RyDeR`s Object Streamer [v0.1b] - by DwayneVanKom - 06.10.2012, 03:15
Re: RyDeR`s Object Streamer [v0.1b] - by [HK]Ryder[AN] - 06.10.2012, 04:03
Re: RyDeR`s Object Streamer [v0.1b] - by Emily_Miku - 18.02.2013, 08:05
Re: RyDeR`s Object Streamer [v0.1b] - by Perfectionisme - 20.02.2013, 07:10
Re: RyDeR`s Object Streamer [v0.1b] - by Yves - 20.02.2013, 10:55
Re: RyDeR`s Object Streamer [v0.1b] - by Eloctro - 20.02.2013, 11:00
Re: RyDeR`s Object Streamer [v0.1b] - by IstuntmanI - 20.02.2013, 11:01
Re: RyDeR`s Object Streamer [v0.1b] - by The.Game - 20.02.2013, 13:26
Re: RyDeR`s Object Streamer [v0.1b] - by Johny32 - 20.02.2013, 13:27
Re: RyDeR`s Object Streamer [v0.1b] - by hustrine - 20.02.2013, 13:44

Forum Jump:


Users browsing this thread: 3 Guest(s)