tem dois jeitos... o primeiro é fazendo na action da porta uma verificação de criatura (é mais dificil mas acho que é o melhor esquema) Tem algumas funções que podem ajudar (isInRange) ou usando um for + getThingFromPos. A outra forma é mais propícia a bugs... você teria que fazer um creaturescripts onKill que te dá um storage e quando o player descesse aquelas escadas ali ele teria o storage setado pra 0 (movements). Daí ele teria que matar todos os monstros (se for 21 monstros vc colocar uma checagem que se o storage for menor que 20 ele não pode passar)