If this is an event as a part of an entity, then it's crashing because I think level_loads aren't supposed to be called by an entity (because the entities get wasted and die, or something).
I don't know if my way is anywhere near the best way, but it works ^^
var change_level_now = 0;
string new_level_str;
function handle_level_change()
{
while(1)
{
if(change_level_now == 1)
{
// Plus you can add cool transitions and stuff here with freeze mode and such ^^
change_level_now = 0;
level_load(new_level_str);
}
wait(1);
}
}
function change_the_level(newlevel)
{
// Can be safely called in entities events and stuff
new_level_str = newlevel;
change_level_now = 1;
}
function main()
{
... stuff
handle_level_change(); // Get it goin'
... stuff
}
Once the handler has been called once in main ya can just use change_the_level("level.wmb"); to do it within the event and eventually and hopefully, safety, it will change the level.
That's back when I didn't use C++ to write Acknex games.