Here's a primitive demo of what I mean. You can save this in Notepad as an ASL file and open it in QDK:
define game <>
asl-version <350>
gametype singleplayer
start <start>
game info <Created with QDK Pro 3.52>
end define
define synonyms
end define
define room <start>
south <other>
define object <flashlight>
take {
give <flashlight>
if ( #quest.currentroom# = dark ) then goto <#oldroom#>
}
drop {
msg <You drop the torch.>
set string <oldroom; #quest.currentroom#>
goto <dark>
lose <flashlight>
}
end define
end define
define room <dark>
end define
define room <other>
north <start>
end define