Код:
'U':	begin { вызвать джинна }
		if (not VAR46) <> false then begin
			WRITE('Что, влип? ладно, попробую тебя  перенести отсюда. только дороговато это встанет... Ты готов? ');
			READCHAR(VAR53);
			if VAR53 <> 'N' then begin
				for VAR16:=1 to 5 do begin
					IND[VAR16]:=IND[VAR16]-RANDOM(0,15);
				end;
				for VAR16:=1 to 6 do begin {L34504}
					RUKSAK[VAR16]:='.';
				end;
				VAR12:=RANDOM(2,15);
				VAR14:=RANDOM(2,31);
VAR22 - типа новый этаж
Код:
				VAR22:=RANDOM(0,8);
Но указатели ставим по старому (VAR4) этажу
Код:
				V11070:=@F[VAR4,VAR12,VAR14];
				V33074:=@F2[VAR4,VAR12,VAR14];
И только сейчас начинаем разбираться с новым?? Если что, то L03362 выставляет указатели только при перемещении между этажами
И кстати, наверное можно было сделать и так - VAR22:=RANDOM(0,VAR4);
Код:
				if VAR22 > VAR4 then
					VAR22:=VAR4;
				VAR4:=VAR22;
				L03362('J'); { Обновить экран }
			end;
		end else
			WRITELN('Джинн в отгуле');
	end;