/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
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.
|
/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
s_DynamicActors[slot][e_iActorTimer] = SetTimerEx("UpdateActorStream", ACTOR_STREAM_TICK_RATE, true, "i", i);
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 }
s_DynamicActors[slot][e_iActorTimer] = SetTimerEx("UpdateActorStream", ACTOR_STREAM_TICK_RATE, true, "i", i);
s_DynamicActors[slot][e_iActorTimer] = SetTimerEx("UpdateActorStream", ACTOR_STREAM_TICK_RATE, true, "i", slot);
stock bool:IsDynamicActorInStreamRange(actorid, forplayerid)
{
if (!IsValidDynamicActor(actorid)) {
return false;
}
// 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 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 != -1 && GetPlayerInterior(forplayerid) != interior) {
return false;
}
if (world != -1 && GetPlayerVirtualWorld(forplayerid) != world) {
return false;
}
return true;
}
s_DynamicActors[slot][e_iActorTimer] = SetTimerEx("UpdateActorStream", ACTOR_STREAM_TICK_RATE, true, "i", slot);
s_DynamicActors[slot][e_iActorTimer] = SetTimerEx("UpdateActorStream", ACTOR_STREAM_TICK_RATE, true, "i", modelid);
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)... |
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; }