The only other thing that comes to my mind is that del_items becomes somehow 1 and

if(del_item==1){ptr_remove(me);return;}

is executed then. Are the explosions created all at once, when one while loop is breaked?


Always learn from history, to be sure you make the same mistakes again...