Die Feuer und Checkpoints müssen außerhalb der Schleife erstellt werden.
public FeuerRandom()
{
new slot = GetFlameSlot();
if(slot == -1)
{
return slot;
}
new string[145];
format(string,sizeof(string),"HQ: An alle Einheiten ein Feuer ist ausgebrochen!...");
SendFamilyMessage(13,COLOR_RED,string);
new rand = random(sizeof(FeuerPos));
Flame[slot][Flame_pos][0] = FeuerPos[rand][0];
Flame[slot][Flame_pos][1] = FeuerPos[rand][1];
Flame[slot][Flame_pos][2] = FeuerPos[rand][2] - Z_DIFFERENCE;
Flame[slot][Flame_CP] = CreateDynamicCP(FeuerPos[rand][0],FeuerPos[rand][1],FeuerPos[rand][2],15.0,0,0,-1,1400.0);
CreateFire(FeuerPos[rand][0],FeuerPos[rand][1],FeuerPos[rand][2]);
for(new i=0;i<MAX_PLAYERS;i++)
{
if(Spieler[i][Team] == 13)
{
TogglePlayerDynamicCP(i,Flame[slot][Flame_CP],1);
}
}
return 1;
}
Beim OnPlayerEnterDynamicCP dann mit einer Schleife durch die slots:
for(new i=0; i<sizeof(Flame); i++)
{
if(Flame[i][Flame_CP] == checkpointid) //...
}
Zum enum dann noch "Flame_CP" hinzufügen.