Sorted the destorying doors problem, they needed an ondestroy script too.
test.obj
test.obj
total objects = 37 image = 0 trigger = onover() description = Ammo addammo(50)|remove(me) image = 1 trigger = onover() description = Health addhealth(10)|playsoundonce(health_pickup)|remove(me) image = 2 trigger = onover() description = Key (yellow) addkey(1)|playsoundonce(key_pickup)|remove(me) image = 3 trigger = onover() description = Key (red) addkey(2)|playsoundonce(key_pickup)|remove(me) image = 4 trigger = onover() description = Key (green) addkey(3)|playsoundonce(key_pickup)|remove(me) image = 5 trigger = onover() description = Key (blue) addkey(4)|playsoundonce(key_pickup)|remove(me) image = 6 trigger = ontouch()|ondestroy() description = Door (yellow) checkkey(1)|opendoor()|remove(nearby) opendoor()|remove(nearby) image = 7 trigger = ontouch()|ondestroy() description = Door (yellow) checkkey(1)|opendoor()|remove(nearby) opendoor()|remove(nearby) image = 8 trigger = onover() description = 100 Credit addcredit(100)|remove(me) image = 9 trigger = onover() description = 50 Credit addcredit(50)|remove(me) image = 10 trigger = onover() description = 10 Credit addcredit(10)|remove(me) image = 11 trigger = ontouch()|ondestroy() description = Door (red) checkkey(2)|opendoor()|remove(nearby) opendoor()|remove(nearby) image = 12 trigger = ontouch()|ondestroy() description = Door (red) checkkey(2)|opendoor()|remove(nearby) opendoor()|remove(nearby) image = 13 trigger = ontouch()|ondestroy() description = Door (blue) checkkey(4)|opendoor()|remove(nearby) opendoor()|remove(nearby) image = 14 trigger = ontouch()|ondestroy() description = Door (blue) checkkey(4)|opendoor()|remove(nearby) opendoor()|remove(nearby) image = 15 trigger = ontouch()|ondestroy() description = Door (green) checkkey(3)|opendoor()|remove(nearby) opendoor()|remove(nearby) image = 16 trigger = ontouch()|ondestroy() description = Door (green) checkkey(3)|opendoor()|remove(nearby) opendoor()|remove(nearby) image = 17 trigger = onaction() description = Intex System intex() image = 18 trigger = onaction() description = Intex System intex() image = 19 trigger = onaction() description = Intex System intex() image = 20 trigger = onaction() description = Intex System intex() image = 21 trigger = onover() description = weapon (Broadhurst DJ Twinfire 3LG) pickupweapon(1)|remove(me) image = 22 trigger = onover() description = weapon (Dalton Arc Flame) pickupweapon(2)|remove(me) image = 23 trigger = onover() description = weapon (Robinson Plasma Gun) pickupweapon(3)|remove(me) image = 24 trigger = onover() description = weapon (Ryxx Firebolt MK22) pickupweapon(4)|remove(me) image = 25 trigger = onover() description = weapon (Styrling Multimatic) pickupweapon(5)|remove(me) image = 26 trigger = onover() description = weapon (High Impact Astro Laser) pickupweapon(6)|remove(me) image = 27 trigger = onload() description = alien spawn point (normal alien) [normal?] createalien(alien)|remove(me) image = 28 trigger = onload() description = alien spawn point (hugger) createalien(hugger)|remove(me) image = 29 trigger = onevery(10) description = every 10 seconds create an alien createalien(alien) image = 30 trigger = onevery(30) description = every 30 seconds create an alien createalien(alien) image = 31 trigger = onevery(10) description = every 10 seconds create a hugger createalien(hugger) image = 32 trigger = onevery(30) description = every 30 seconds create a hugger createalien(hugger) image = 33 trigger = onload() description = player one start position positionplayer(1)|remove(me) image = 34 trigger = onload() description = player two start position positionplayer(2)|remove(me) image = 35 trigger = ontouch()|ondestroy() description = no key door (horizontal) opendoor()|remove(nearby) opendoor()|remove(nearby) image = 36 trigger = ontouch()|ondestroy() description = no key door (vertical) opendoor()|remove(nearby) opendoor()|remove(nearby)