Die funktion im FLAM objekt, welches fuer den Ölbradn verwendet wird sieht so aus:protected func BurnProcess()
{
if (!OnFire()) return(RemoveObject());
var i;
for (var i = -5; i <= 10; ++i) if (FlameConsumeMaterial (0, i)) break;
// Damit die Flamme nicht unten festhängt
if (i == -5)
{
SetPosition (GetX(), GetY() - 1);
}
// Kein Öl mehr
if (i > 10)
{
SetPosition (GetX(), GetY() - 1);
return (DoCon (-5));
}
FlameConsumeMaterial (0,8);
// zu viele FLAMs
if (FindObject (FLAM, 0, -5))
{
SetPosition (GetX(), GetY() - 1);
return (DoCon (-5));
}
// Noch mehr FLAMs erzeugen
if (!FindObject (FLAM, -4, -9, 8, 18))
{
i = CreateObject(FLAM, Random(7)-3, 8 * GetCon () / 100, -1);
SetYDir (GetYDir (0, 1000), i, 1000);
}
DoCon (5);
SetXDir(Random(31)-15);
return(1);
}
Wie koennte man am besten nun dafuer sorgen, dass weniger Flammen beim Ölbrand kommen?
Sinn dahinter ist in erster Linie, dass es ziemlich laggt, wenn eine große Ölquelle in Brand gerät, weil soviele Flammenobjekte entstehen.
Habe schon den "Noch mehr FLAMs erzeugen" Teil auskommentiert, aber das ändert kaum was am laggen =/
Edit:
Oder noch besser bzw zusätzlich wäre es noch gut, wenn Öl sich automatisch nach einer bestimmten Zeit wieder löscht
Hast du mal versucht, die Flammen deutlich schneller schrumpfen zu lassen? Also die DoCon
-Werte verkleinern.
mit docon(-30) ists aufjedenfall schon besser und das Öl verbrennt dadurch auch nicht mehr vollständig, danke