Компилятор EMC

Творчество, посвященное Кирандии.

Re: Компилятор EMC

Сообщение Siberian GRemlin » 06 апр 2017, 13:43

Похоже, я нашёл ошибку в mix.emc.

Если попытаться вставить в кристалл круглую склянку с зельем и без, то герой говорит «Hmm. That's no help.», а по идеи должен говорить «It's shape doesn't match the engraving.» если склянка полная и «I don't think an empty vial will work here.»/«I doubt an empty vial will work here.» если она пустая. Но эту фразу («It's shape doesn't match the engraving.») он почему-то говорит когда тыкаешь круглой склянкой пустой или полной по уже вставленной. Вероятно, имеет место быть неправильное построение условий на круглую склянку.
Siberian GRemlin
(1) Пират с острова Котов
 
Сообщения: 60
Зарегистрирован: 12 апр 2009, 10:24
Откуда: г. Красноярск
Любимая часть Кирандии: каждая
Любимые персонажи Кирандии: Зантия и многие другие
Почему Вы любите Легенду о Кирандии?: я не смог устоять перед волшебным миром

Re: Компилятор EMC

Сообщение Siberian GRemlin » 06 апр 2017, 14:07

Немного не так. У круглой склянки всегда на левом кристалле «Hmm. That's no help.», на правом «It's shape doesn't match the engraving.» вне зависимости вставлена ли уже квадратная склянка.
Siberian GRemlin
(1) Пират с острова Котов
 
Сообщения: 60
Зарегистрирован: 12 апр 2009, 10:24
Откуда: г. Красноярск
Любимая часть Кирандии: каждая
Любимые персонажи Кирандии: Зантия и многие другие
Почему Вы любите Легенду о Кирандии?: я не смог устоять перед волшебным миром

Re: Компилятор EMC

Сообщение Reflector » 06 апр 2017, 19:22

Siberian GRemlin писал(а):Можешь пояснить кусок кода в файле foresta.emc первой части? При каких условиях герой говорит фразу?

Компилятор я давал, там есть файл kyra1def.c в котором можно посмотреть имена для Scene. В данном случае получается условие:
Код: Выделить всё
if (gScene == Scene.Fnorth2 || gScene == Scene.Foresta2 || gScene == Scene.Fsouth)

Т.к. скрипт я брал из foresta.emc, то непонятно откуда взялись Fnorth2 и Fsouth, по идее gScene им равна никогда быть не может, остается Foresta2. Двойка в конце означает, что это вторая по счету локация с одним и тем же фоном, таких локаций может быть десяток. Foresta находится правее озера, Foresta2 - ниже колодца. Дальше идет условие с проверкой var2 и QueryGameFlag(191). Т.к. флаг 191 встречается только в этом месте, то наверняка он просто показывает произносилась ли данная фраза ранее, его можно игнорировать. Var2 нужен нулевой, но ему присваивается 1 в трех ветках, две из которых можно отбросить, т.к. они относятся к локациям Foresta и Foresta3. Остается условие с флагами 65 и 69, которые как-то связаны или с излечением дерева, или с погоней за Мирисом... Опять таки это все должно было закончиться еще до починки моста и возможности попасть в локацию Foresta2, возможно и проверку этих флагов можно игнорировать тоже. С флагами так просто не разобраться, нужно по ходу понять значение еще и сопутствующих флагов и лучше это делать с самого начала игры :)

А для склянок может и перепутаны условия, такого там хватает, может просто изначально не сильно продуманы.
Reflector
(2) Житель Милтонии
 
Сообщения: 163
Зарегистрирован: 11 сен 2010, 16:44
Любимая часть Кирандии: 2
Любимые персонажи Кирандии: Занция
Почему Вы любите Легенду о Кирандии?: Ностальгия...

Re: Компилятор EMC

Сообщение Siberian GRemlin » 08 апр 2017, 00:49

Что там за прошедшее время проверяется? Есть мнение, что герой говорит эту фразу, если игрок слишком быстро попал в эту сцену.
Siberian GRemlin
(1) Пират с острова Котов
 
Сообщения: 60
Зарегистрирован: 12 апр 2009, 10:24
Откуда: г. Красноярск
Любимая часть Кирандии: каждая
Любимые персонажи Кирандии: Зантия и многие другие
Почему Вы любите Легенду о Кирандии?: я не смог устоять перед волшебным миром

Re: Компилятор EMC

Сообщение Reflector » 09 апр 2017, 01:42

Siberian GRemlin писал(а):Что там за прошедшее время проверяется? Есть мнение, что герой говорит эту фразу, если игрок слишком быстро попал в эту сцену.

Время когда задается? Скорее всего в начале игры или после загрузки, потому GetElapsedSeconds() может вернуть какое угодно время и когда из секунд получают минуты а затем проверяют 2 младших бита, фактически эмулируется генератор случайных чисел от 0 до 3, т.е. фраза будет произнесена с вероятностью 1/4.
Reflector
(2) Житель Милтонии
 
Сообщения: 163
Зарегистрирован: 11 сен 2010, 16:44
Любимая часть Кирандии: 2
Любимые персонажи Кирандии: Занция
Почему Вы любите Легенду о Кирандии?: Ностальгия...

Пред.

Вернуться в Креатив

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron