func := [OpenBankFast(Bank), OpenBankGlass(Bank, False, False), OpenBank, OpenBankNPC, OpenBankQuiet];
I think this kind of syntax can be a bit unclear sometimes, but if you think what it's all about then probably you'll get it:
func[0] := OpenBankFast(Bank); //this means executing OpenBankFast and then setting func[0] to whatever OpenBankFast results
func[1] := OpenBankGlass(Bank, False, False);//this means executing OpenBankGlass and then setting func[1] to whatever OpenBankFast results
func[2] := OpenBank; //etc
func[3] := OpenBankNPC; //etc
func[4] := OpenBankQuiet; //etc
EDIT:
Ok…How about this to make your initial code nicer?
Result := True;
if not (OpenBankFast(Bank)) then
if not (OpenBankGlass(Bank, False, False)) then
if not (OpenBank) then
if not (OpenBankNPC) then
if not (OpenBankQuiet) then Result := False;