Unlimit actors
#1

I made a bizz system with actors inside to rob...
But my server have 5000 bizz's and actor limit is 1000

So i tried to made new interiors like, a new 24/7 and when player enter on bizz, change only INT rather than VW, because actors are in all interiors...

My bad, samp have a limit for 250 interios...
Now every bizz 250+ was tottaly bugged on my server...

So i tried to use this streammer to actores to add my 5000 actors:
https://github.com/ziggi/actor-streamer

But i got this errors that i don't know how to fix, please anybody experient help me and every others guys who need more then 1000 actors...

On include:
Код:
/lib/include/ActorStreamer.inc(136) : error 017: undefined symbol "i"
/lib/include/ActorStreamer.inc(187) : warning 213: tag mismatch
/lib/include/ActorStreamer.inc(195) : warning 213: tag mismatch
/lib/include/ActorStreamer.inc(207) : warning 213: tag mismatch
/lib/include/ActorStreamer.inc(211) : warning 213: tag mismatch
/lib/include/ActorStreamer.inc(213) : warning 213: tag mismatch
Reply
#2

I presume MAX_DYNAMIC_ACTORS is defined else where, likely in the include file for the plugin. Maybe modify it there rather than redefining something that already exists.
Reply
#3

Quote:
Originally Posted by vital2k
Посмотреть сообщение
I presume MAX_DYNAMIC_ACTORS is defined else where, likely in the include file for the plugin. Maybe modify it there rather than redefining something that already exists.
Oh, god, that should not be on this topic, sorry
Thanks to repply this topic +rep...

My problems are on include:
Код:
/lib/include/ActorStreamer.inc(136) : error 017: undefined symbol "i"
/lib/include/ActorStreamer.inc(187) : warning 213: tag mismatch
/lib/include/ActorStreamer.inc(195) : warning 213: tag mismatch
/lib/include/ActorStreamer.inc(207) : warning 213: tag mismatch
/lib/include/ActorStreamer.inc(211) : warning 213: tag mismatch
/lib/include/ActorStreamer.inc(213) : warning 213: tag mismatch
code: ActorStreamer.inc
https://github.com/ziggi/actor-strea...orStreamer.inc

From:
https://github.com/ziggi/actor-streamer
Reply
#4

I had the same problem then you...
I want to use more then 1000 actors and on #include <stream> there is nothing about actors...
Pls anybody pro could help to fix it?
Reply
#5

Line 136
What should be here?
Rather than: i
Код:
s_DynamicActors[slot][e_iActorTimer] = SetTimerEx("UpdateActorStream", ACTOR_STREAM_TICK_RATE, true, "i", i);
And why all others errors are on return's on this function:
Line 187, Line 195, Line 207, Line 211, Line 213
Код:
stock bool:IsDynamicActorInStreamRange(actorid, forplayerid)
{
	if (!IsValidDynamicActor(actorid)) {
		return 0; // Line 187
	}

	// Checks if the player is in range of the actor's position.
	if (!IsPlayerInRangeOfPoint(forplayerid, MAX_ACTOR_STREAM_DISTANCE,
			s_DynamicActors[actorid][e_fActorX],
			s_DynamicActors[actorid][e_fActorY],
			s_DynamicActors[actorid][e_fActorZ])) {
		return 0; // Line 195
	}

	// An additional check for interiors and virtual worlds.
	new
		interior,
		world;

	interior = s_DynamicActors[actorid][e_iActorInterior];
	world = s_DynamicActors[actorid][e_iActorWorld];

	if (interior != -1 && GetPlayerInterior(forplayerid) != interior) {
		return 0; // Line 207
	}

	if (world != -1 && GetPlayerVirtualWorld(forplayerid) != world) {
		return 0; // Line 211
	}
	return 1; // Line 213
}
Reply
#6

I'm not sure if I understood that part of the code as I haven't went through all of it, but I'm giving it a guess:

PHP код:
s_DynamicActors[slot][e_iActorTimer] = SetTimerEx("UpdateActorStream"ACTOR_STREAM_TICK_RATEtrue"i"i); 
.. must be replaced with:
PHP код:
s_DynamicActors[slot][e_iActorTimer] = SetTimerEx("UpdateActorStream"ACTOR_STREAM_TICK_RATEtrue"i"slot); 
I will soon give you a reply with a possible fix for the tag mismatch error.

EDIT: As it is a boolean, you cannot return an integer as value. Code must be replaced with;

PHP код:
stock bool:IsDynamicActorInStreamRange(actoridforplayerid)
{
    if (!
IsValidDynamicActor(actorid)) {
        return 
false;
    }
    
// Checks if the player is in range of the actor's position.
    
if (!IsPlayerInRangeOfPoint(forplayeridMAX_ACTOR_STREAM_DISTANCE,
            
s_DynamicActors[actorid][e_fActorX],
            
s_DynamicActors[actorid][e_fActorY],
            
s_DynamicActors[actorid][e_fActorZ])) {
        return 
false;
    }
    
// An additional check for interiors and virtual worlds.
    
new
        
interior,
        
world;
    
interior s_DynamicActors[actorid][e_iActorInterior];
    
world s_DynamicActors[actorid][e_iActorWorld];
    if (
interior != -&& GetPlayerInterior(forplayerid) != interior) {
        return 
false;
    }
    if (
world != -&& GetPlayerVirtualWorld(forplayerid) != world) {
        return 
false;
    }
    return 
true;

Reply
#7

it should be:
Код:
s_DynamicActors[slot][e_iActorTimer] = SetTimerEx("UpdateActorStream", ACTOR_STREAM_TICK_RATE, true, "i", slot);
or
Код:
s_DynamicActors[slot][e_iActorTimer] = SetTimerEx("UpdateActorStream", ACTOR_STREAM_TICK_RATE, true, "i", modelid);
Reply
#8

Did you even try the code as I gave it to you and it did not work or what?

Edit: modelid is the actors skin, so it does not have any technical usage there.
Reply
#9

Quote:
Originally Posted by Private200
Посмотреть сообщение
Did you even try the code as I gave it to you and it did not work or what?

Edit: modelid is the actors skin, so it does not have any technical usage there.
I'm sorry, i just asked because your repairs not work here...
I didn't used actors because there was not stream for this, now this guy show me...
But not work.. So sad

Look what happen...
Apparently it was work:









There is more then one actor on same position, but in differences virtual worlds (store system)...
Reply
#10

Quote:
Originally Posted by pedrotvr
Посмотреть сообщение
I'm sorry, i just asked because your repairs not work here...
I didn't used actors because there was not stream for this, now this guy show me...
But not work.. So sad

Look what happen...
Apparently it was work:









There is more then one actor on same position, but in differences virtual worlds (store system)...
I had this same problem
And after in game i cant even create a simple actor in game using this command
Код:
CMD:actor(playerid, params[]) {
	new skin;
    if(sscanf(params, "i", skin)) return SendClientMessage(playerid, -1, "Usage: /actor <skin>");
    new Float:pos[4];
    GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
    GetPlayerFacingAngle(playerid, pos[3]);
    CreateDynamicActor(skin, pos[0] + 1, pos[1], pos[2], pos[3], GetPlayerVirtualWorld(playerid), GetPlayerInterior(playerid), false, 100);
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)