Es ist viel einfacher, wie meistens wenn man nen problem hat was man absolut nich lösen kann

Ok hier die Erklärung:
Du rufst die function "load_level" (würde ich übrigens umbennen) von einer entity auf.
Generell ist es so das entitys die functions aufrufen, dieser einen my pointer verpassen die auf sie selbst zeigt.
Somit ist es z.b. möglich functions zu schreiben die mit my. arbeiten und z.b. in einer while schleife von einer entity aufgerufen werden.
Soweit so gut.
Nun ist es allerdings so, dass das "kommando" load_level alle functions und actions, deren my pointer UNGLEICH null sind, beendet.
Somit wird auch deine function beendet und der loading screen nicht mehr auf "invisible" gesetzt.
Langer rede kurzer sinn:
So sollte es funktionieren
Code:

bmap loading_lv = <load.bmp>;

string nextlvl_str = <lotd.wmb>;

panel loadingscreen {
bmap = loading_lv;
flags = refresh,d3d;
}

function next_level()
{
my = null;

loadingscreen.pos_x = (screen_size.x - bmap_width(loading_lv))/2;
loadingscreen.pos_y = (screen_size.y - bmap_height(loading_lv))/2;

loadingscreen.visible = on;
//sleep(2); //Alter syntax, ersetzt durch:
wait(-2);

load_level(nextlvl_str);
wait(3);

loadingscreen.visible = off;
bmap_purge(loading_lv);
}


ACTION levelchange
{
MY.ENABLE_IMPACT = ON;
MY.EVENT = next_level;
}



EDIT:
Zum screenshot:
Sieht stark nach dem Nirwana aus.

Last edited by Thunder; 06/25/06 07:07.