Reply to iY47zxtb7gLgKGdMIY7K


> Аааа. Прошу прощеня, забыл очевидную вещь)))) если убрать 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
====

Надеюсь, помог.






Help

Code blocks

====
for i=1,10 do
    print "hello world"
end
====

Quotes

> Lorem ipsum dolor sit amet, consectetur adipiscing elit,
> sed do eiusmod tempor incididunt ut labore et dolore magna

Spoilers

Open text...
%%spoiler%%
Top secret! Till end of message...

Headers and splitters

== Chapter 1
A long time ago in a galaxy far, far away....
----
That's all!