Прекондишион (`precondition`) должен быть помещен между фразами диалога, а не стоять отдельно. Его можно интерпретировать как 'не показывай этот диалог до тех пор, пока этот скрипт не сработает'. Пример правильного расположения: <dialog id="plateau_debil_autobus_end"><precondition>plateau_quest_autobus.has_item_task</precondition><dont_has_info>plateau_quest_autobus_end</dont_has_info><phrase_list><!-- квест на автобус конец --><phrase id="0"><text>Насчет водки...</text><next>1</next></phrase><phrase id="1"><text>Чё там?</text><next>2</next><next>4</next></phrase><phrase id="2"><text>Вот он.</text><next>3</next></phrase><phrase id="3"><give_info>plateau_quest_autobus_end</give_info><text>Хорошо. Вот, держи за работу.</text><action>plateau_quest_autobus.quest_reward</action></phrase><phrase id="4"><text>Ещё занимаюсь этим делом...</text></phrase></phrase_list></dialog>