[Plugin] Streamer Plugin
#41

Quote:
Originally Posted by Incognito
Update: I finished writing the streaming code and all of the new natives for the additional items yesterday. I am currently testing what I can and fixing any bugs I can see before I release the next version (there are about 60 natives now, so I probably will not catch everything!).

Also, for some reason, my post on the previous page is not appearing, so here it is in case anyone missed it:

Quote:
Originally Posted by Incognito
$ЂЯĢ: Yes, I have decided that I will stream race checkpoints and 3D text labels as well.

cyber_punk/Kyosaur!!: I just tested with 1,000,000 (one million) objects in my local server, and they all streamed perfectly with fine with two players connected. Memory usage was around 100MB, and when a player moved, CPU usage jumped to about 5% using the default tickrate (obviously, if you have that many objects created, you will need to raise the tickrate—unlikely, though, because it took me several hours to create them all in my script!). These numbers can be a little misleading, though. The best thing to do is to simply try it out on your server and see how it fares. At some point in the future, I will create a zoning system so that there will be less objects to iterate through on each update. By the way, there is no limit to the number of objects that can be created (well, technically, there IS, but you will probably run out of memory before reaching it).

[SU]BP13: The tickrate varies. For me, a tickrate of 100 was about 200-300ms, but for slower processors, it will probably need to be lowered to stream objects effectively. Try a few different values to see what works best for you.

Shady91: The Linux version has a bug that will be fixed in the next update.
sweet can't wait for the update
Reply
#42

Quote:
Originally Posted by Gappy
Quote:
Originally Posted by [SU
BP13 ]
hmm this loads slower than xStreamer for me.
If you do Streamer_SetTicks(30); on OnGameModeInit the objects load almost instantly.
is Streamer_SetTicks(30); mean 300ms? cause this would be good if it updated objects every 350ms. whats the tick rate for 350ms?
Reply
#43

Quote:
Originally Posted by [SU
BP13 ]
Quote:
Originally Posted by Gappy
Quote:
Originally Posted by [SU
BP13 ]
hmm this loads slower than xStreamer for me.
If you do Streamer_SetTicks(30); on OnGameModeInit the objects load almost instantly.
is Streamer_SetTicks(30); mean 300ms? cause this would be good if it updated objects every 350ms. whats the tick rate for 350ms?
Ticks depend on CPU's speed.
Reply
#44

Here it is:

Quote:

v2.0:
- Numerous bug fixes and optimizations
- Added support for pickups, checkpoints, race checkpoints, map icons, and 3D text labels
- Added optional parameters for specifying virtual worlds, interiors, and/or players
- Added more natives and callbacks for the new items
- Renamed and reorganized several natives

I have not had the opportunity to test everything, so if you see a bug, please report it here!
Reply
#45

Awesome! Going to test it right now.
Reply
#46

Anyone got a mirror for the older version? I'm just after object streaming.
Reply
#47

Quote:
Originally Posted by Jay_
Anyone got a mirror for the older version? I'm just after object streaming.
You can just stream objects with this version too (believe me, you don't want the older version—it had a lot of bugs).
Reply
#48

the pickups are not working with teh normal CreatePickup. The pickup shows but it does not do anything when you enter it. With CreateDynamicPickup same thing is happening. Maybe because there is no OnPlayerEnterDynamicPickup?
Reply
#49

You have proper callback for pickups:
Code:
OnPlayerPickupDynamicPickup(playerid, pickupid);
Reply
#50

yea ok I got the pickups working.


So when your join my server there's objects in the ocean where your player stands. With this streamer you see no objects and the player is just floating. But after you spawn and teleport there there is objects there. Then I do forceplayerforclassselection then there's no objects viable there again.
Reply
#51

Quote:
Originally Posted by Wazza!
For those who want to convert .map in to this, use delux's converter and set it to ******'s streamer, same syntax.
http://convertffs.com -> better suggest this one since it's frequently updated and also delux is basically blocked from SA:MP.
Reply
#52

Quote:
Originally Posted by $ЂЯĢ
Quote:
Originally Posted by Wazza!
For those who want to convert .map in to this, use delux's converter and set it to ******'s streamer, same syntax.
http://convertffs.com -> better suggest this one since it's frequently updated and also delux is basically blocked from SA:MP.
Nice one, thanks.
Reply
#53

Bug Report.

When including this into your game mode you are basically forced to steam your pickups or they will not work. I am way under the limit and have no need to stream pickups but I have to in order for them to work.


Duplicate Strings on player pickup.
pawn Код:
if (pickupid == pwnt)
    {
        new string [128];
        new pName[MAX_PLAYER_NAME];
        GetPlayerName(playerid, pName, sizeof(pName));
        format(string, sizeof(string), "%s has been eaten by the box!", pName);
        SendClientMessageToAll(COLOR_GREY, string);
        PlayerPlaySound(playerid, 1139, 0.0, 0.0, 0.0);
        GameTextForPlayer(playerid,"~g~Info:~n~~w~Complete the challenge to earn cash.~w~!",5000,3);
        SetPlayerPos(playerid,1101.1772,-1998.4150,262.9312);
        BOX[playerid] = true;
        return 1;
    }
With using the pickup streamer it shows up as

Код:
[SU]BP13 has been eaten by the box!
[SU]BP13 has been eaten by the box!
and without the streamer it only shows once.
Reply
#54

It seems that I was calling OnPlayerPickupPickup rather than OnPlayerPickUpPickup. My custom pickup callback has also been renamed to reflect these changes. Thanks for the report.

I have released v2.1:

Quote:

v2.1:
- Made all streaming distances customizable via an extra optional parameter
- Removed global distance natives and slightly renamed a few other natives related to the settings to make them a bit less confusing
- Fixed a small issue with pickups that involved a typo in the include file
- Renamed the custom pickup callback to OnPlayerPickUpDynamicPickup (note the capitalization)

You can now specify custom streaming distances like this:

pawn Код:
CreateDynamicObject(2585, 10.0, 10.0, 10.0, 0.0, 0.0, 0.0, -1, -1, -1, 100.0); // All virtual worlds, interiors, players, and a distance of 100.0
By default, all items have a streaming distance of 200.0.
Reply
#55

That's a good one.
Reply
#56

Pretty good script but i got some objects when people connect they should stand on them but it doesn't show them, spawning and teleporting there shows it perfectly.

I got a drift map too but its about 400~500 objects in area and some of them are missing i think because of 254 visible items(objects) could you make it bigger somehow and explain how could i fix the first problem?
Reply
#57

Quote:
Originally Posted by 0ne
Pretty good script but i got some objects when people connect they should stand on them but it doesn't show them, spawning and teleporting there shows it perfectly.

I got a drift map too but its about 400~500 objects in area and some of them are missing i think because of 254 visible items(objects) could you make it bigger somehow and explain how could i fix the first problem?
1. Until player is spawned its coordinates are 0,0,0 so streamer doesn't streams objects because you are too far away from their position. Make static player objects for class selection (or whatever you have) and delete them after player is spawned.

2. SA:MP limit is 254 objects displayed per time and you can't do anything about that.
Reply
#58

Good job, but I use Windows (Service Pack 3), and the plugin load fail.
I'dont test on my linux server, but on windows test server not functional:

[21:11:02]
[21:11:02] Server Plugins
[21:11:02] --------------
[21:11:02] Loading plugin: streamer
[21:11:02] Failed.
[21:11:02] Loaded 0 plugins.
Reply
#59

Well, because you need install net Framework 3.5 ...

You find it on the main post:

Quote:

If you are running Windows, you must install the Microsoft .NET Framework 3.5 SP1 or higher.

Reply
#60

Quote:
Originally Posted by [HuN
Gamestar ]
Good job, but I use Windows (Service Pack 3), and the plugin load fail.
I'dont test on my linux server, but on windows test server not functional:

[21:11:02]
[21:11:02] Server Plugins
[21:11:02] --------------
[21:11:02] Loading plugin: streamer ((Forgot to put .dll or .so))
[21:11:02] Failed.
[21:11:02] Loaded 0 plugins.
its because you need a .dll or .so at the end.


For:

Windows: streamer.dll

Linux: streamer.so
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)