> Аааа. Прошу прощеня, забыл очевидную вещь)))) если убрать return, но отобразятся сразу оба состояния. А return вернет нас просто в room, где об'ект фигурирует.
Дело в том, что есть такое понятие как метод,
Вот dsc - это метод. Когда движку нужно описание, он вызывает метод dsc у всех объектов комнаты. return тут это не возврат в комнату, а выход из функции. Например (это не инстед, просто lua):
function test()
return 10
end
print(test()) -- выведет 10
function test2()
return
end
print() -- выведет пустоту
А в инстеде p -- это просто накопление текста, например:
p "hello"
это то же самое, что return "hello"
Или так:
p "hello"
p "world"
то же самое, что и return "hello world"
Теперь про пример:
if s.burned then
p "сгорел"
end
p "не сгорел"
будет "сгорел не сгорел"
а так:
if s.burned then
p "сгорел"
return -- мы вышли из функции
end
p "не сгорел"
только одно состояние
Еще вариант:
if s.burned then
p "сгорел"
else
p "не сгорел"
end
Надеюсь, помог.