03.06.2013, 10:02
So I have a bunch of iterators @ top of my script:
Under OnFilterScriptInit:
None of these are working when I try to add an element with Iter_Add. Whenever a new round starts I try to add element to the Spawn iterator but it just doesn't work. For example:
Will print out:
However, if I make an iterator VERY HUGE, everything suddenly seems to work fine. This would work:
Am I doing something wrong here?
pawn Код:
static Iterator:Spawns<MAX_MAP_SPAWNS>; // <300>
static Iterator:FreeSpawns<MAX_MAP_SPAWNS>; // <300>
static Iterator:CheckedItems<MAX_CHECKED_ITEMS>; // around <300>
static Iterator:RecentPickups[MAX_PLAYERS]<MAX_CONSECUTIVE_PICKUPS>; // <10>
static Iterator:SkippedPickups[MAX_PLAYERS]<MAX_CONSECUTIVE_PICKUPS>; // <10>
pawn Код:
Iter_Init(RecentPickups);
Iter_Init(SkippedPickups);
pawn Код:
forward LoadMapItems_Fetched(mapid);
public LoadMapItems_Fetched(mapid) {
new rows, fields;
cache_get_data(rows, fields);
if(rows) {
// Clear other data from the iterators
Iter_Clear(CheckedItems);
Iter_Clear(Spawns);
Iter_Clear(FreeSpawns);
for(new i=0; i<rows; i++) {
// ...
Iter_Add(Spawns, someData);
printf("Adding spawn %d", someData);
}
printf("Spawns added = %d", Iter_Count(Spawns));
}
// ...
return 1;
}
Код:
[12:02:07] Adding spawn 3520 [12:02:07] Adding spawn 3521 [12:02:07] Adding spawn 3522 [12:02:07] Adding spawn 3523 [12:02:07] Adding spawn 3524 [12:02:07] Adding spawn 3525 [12:02:07] Adding spawn 3526 [12:02:07] Adding spawn 3527 [12:02:07] Adding spawn 3528 [12:02:07] Adding spawn 3529 [12:02:07] Adding spawn 3530 [12:02:07] Adding spawn 3531 [12:02:07] Adding spawn 3532 [12:02:07] Adding spawn 3533 [12:02:07] Adding spawn 3534 [12:02:07] Adding spawn 3535 [12:02:07] Adding spawn 3536 [12:02:07] Adding spawn 3537 [12:02:07] Adding spawn 3538 [12:02:07] Adding spawn 3539 [12:02:07] Adding spawn 3540 [12:02:07] Adding spawn 3541 [12:02:07] Adding spawn 3542 [12:02:07] Adding spawn 3543 [12:02:07] Adding spawn 3544 [12:02:07] Adding spawn 3545 [12:02:07] Adding spawn 3546 [12:02:07] Adding spawn 3547 [12:02:07] Adding spawn 3548 [12:02:07] Adding spawn 3549 [12:02:07] Adding spawn 3550 [12:02:07] Adding spawn 3551 [12:02:07] Spawns added = 0
pawn Код:
static Iterator:Spawns<10000>;
static Iterator:FreeSpawns<10000>;
static Iterator:CheckedItems<10000>;
static Iterator:RecentPickups[MAX_PLAYERS]<10000>;
static Iterator:SkippedPickups[MAX_PLAYERS]<10000>;