Разработка квестов

Форум Модификации для игр серии Ex Machina Вопросы по пакету SDK
Сообщений: 37 • Страница 1 из 2 12
Аватара
Тема предназначена для изучения создания квестов.

Кстати! Здесь когда-нибудь могут появиться справочные материалы.
Спойлер
И здесь тоже. :)
Аватара
Ну-с, поскольку желающие предложить свой квест отсутствуют, потому начнём с малого и для начала оживим разбойника Жельванто из Рощи друидов.

Итак, в Хайдауте сидит некий пройдоха и предлагает редким посетителям купить карту местности. Если игрок соглашается купить карту, то после покупки надобно её изучить. Это и будет первым, совсем простым заданием — «Изучить карту».

Для это потребуется:
[list][*]Создание нового квестового предмета и добавление его в общий список таких предметов[/*:m]
[*]Добавление в бар персонажа, посредством которого игрок может получить задание[/*:m]
[*]Добавление реплик для этого персонажа[/*:m]
[*]Получение игроком квестового предмета от него[/*:m]
[*]Создание квеста, как его понимает игра[/*:m]
[*]Описать получение задания игроком, как результата диалога с посетителем бара[/*:m]
[*]Отслеживание выполнения задания с помощью триггера[/*:m]
[*]Описать выполнение задания[/*:m][/list:u]

Первым делом создаём новый квестовый предмет — карту местности:
Спойлер
В data\models\questitems есть фото Йери foto.gam и единственная текстура к нему fot.dds. Оно использовалось в демо версии. Кстати, модель этого же фото используется в Меридиане для пары квестовых книжек, только со своими текстурами. А мы чем хуже? Вот их и берём в качестве основы.

Сначала копируем foto.gam и fot.dds в файлы map.gam и map.dds соответственно. Затем модифицируем map.gam с помощью Far. Открываем его с помощью F3 (просмотр), входим в режим редактирования по F6, ищем по F7 «fot.dds», клавишей Ins включаем режим замены символов и заменяем «fot» на «map», сохраняемся по F2. С map.gam всё.

Осталось только поменять текстуру, чтобы вместо Йери показывалась в том или ином виде карта Рощи друидов. Поработать с текстурой обещался ScorpyX :) .

Итак, считаем, что квестовая карта местности готова. Теперь её надо добавить в общий список квестовых предметов.

Сначала в data\gamedata\gameobjects\questitems.xml внутрь тега <Prototypes /> добавляем новый предмет:
Код: Ctrl+A, Ctrl+C
      <Prototype
Class = "QuestItem"
Name = "quest_map_sacred_grove"
ModelFile = "quest_map"
ResourceType = "QUEST_MAP" />
Здесь:
Class — название класса.
Name — имя квестового предмета. Оно используется для скриптовых манипуляций.
ModelFile — название модели, задаваемое в data\models\animmodels.xml.
ResourceType — тип ресурса, задаваемого в data\gamedata\resourcetypes.xml.
Класс не меняется. Имя, название модели и тип ресурса придумываем сами.

В data\if\diz\model_names.xml внутрь тега <ModelNames /> добавляем название предмета для энциклопедии:
Код: Ctrl+A, Ctrl+C
      <Item
id="quest_map_sacred_grove"
locForm="0"
value="Карта земель друидов" />

В data\if\strings\uidescription.xml внутрь тега <resource /> добавляем описание предмета для энциклопедии:
Код: Ctrl+A, Ctrl+C
      <string
id="quest_map_sacred_grove_diz"
locForm="0"
value="Купленная у одного пройдохи карта земли друидов. Возможно, она поможет мне найти путь к Оракулу." />

Обращаю внимание на необходимую добавку «_diz» к имени карты.

В data\models\animmodels.xml внутрь тега <AnimatedModels /> добавляем модель карты:
Код: Ctrl+A, Ctrl+C
      <model
id="quest_map"
shadow="1"
shadowVolume="0"
windwavy="0"
file="data\models\questitems\map.gam" />

В data\gamedata\resourcetypes.xml внутрь тега <Type Name="QUEST_ITEM" /> добавляем тип ресурса, строку:
Код: Ctrl+A, Ctrl+C
      <Type Name="QUEST_MAP" />

В файл data\models\servers.xml и во все 10 файлов начиная с data\maps\r1m1\servers.xml и по data\maps\r4m2\servers.xml внутрь тега <AnimatedModelsServer /> добавляем строки:
Код: Ctrl+A, Ctrl+C
      <Item
id="quest_map"
file="data\models\AnimModels.xml" />

Всё, теперь получив карту у Жельванто можно посмотреть её в списке специальных (квестовых) предметов.

Теперь надо поместить Жельванто в бар и указать для него хотя бы одну стартовую реплику:
Спойлер
Заготовка для него уже есть. Это в файле data\maps\r3m1\dynamicscene.xml строки:
Код: Ctrl+A, Ctrl+C
      <Object
Name="Razboynic_Bar_Customer1"
Belong="1063"
Prototype="NPC"
ModelName="r1_man"
cfg="54"
SpokenCount="0" />

Но в ней отсутствует строка со стартовыми репликами, потому Жельванто в баре и не показывают.

Чтобы Жельванто появился в баре надо ввести поле helloReplyNames и названия реплик. В нашем случае:
Код: Ctrl+A, Ctrl+C
      <Object
Name="Razboynic_Bar_Customer1"
Belong="1063"
Prototype="NPC"
ModelName="r1_man"
cfg="54"
helloReplyNames="RazVill_Razboynik1_1_N01 RazVill_Razboynik1_2_N01"
SpokenCount="0" />
Здесь:
Name – имя персонажа.
Belong — принадлежность персонажа к группировке, её номер.
Prototype — прототип персонажа, может быть "PLAYER" (игрок) или "NPC" (игровой персонаж).
ModelName — название модели, задаваемое в data\models\animmodels.xml. В данном случае:
Код: Ctrl+A, Ctrl+C
      <model
id="r1_man"
file="data\models\Masks\Region1\man\DwellerMenu.gam"
… />

cfg — номер прикида (вида) персонажа. Он конфигруируется с помощью редактора gsmed (Targem Model Editor). В данном случае для модели DwellerMenu.gam в поле Configuration должно стоять 54. Чтобы поменять вид, нужно с помощью gsmed сконфигурировать желаемый облик персонажа, а потом данные из поля Configuration редактора перенести в поле cfg в dynamicscene.xml.
helloReplyNames — стартовые реплики персонажа из файла data\if\diz\dialogsglobal.xml. Названия реплик идут через пробел. Какие из них выдавать, определяется условиями для каждой реплики в dialogsglobal.xml. В нашем случае определим, что RazVill_Razboynik1_1_N01 — реплика для первой встречи с игроком, а RazVill_Razboynik1_2_N01 — для всех последующих.
SpokenCount — счётчик числа обращений к персонажу. Используется для определения, какую реплику из списка в поле helloReplyNames выдавать при выборе игроком данного персонажа в баре. Меняется только скриптом.

Чтобы добавить ещё кого-нибудь в бар, надо просто скопировать весь <Object />, задать своё имя персонажу (Name), добавить его видимое в баре имя в data\maps\r3m1\object_names.xml и, как минимум, поставить новые реплики. Prototype не меняется, всё остальное — по вкусу.
К примеру, изменения в object_names.xml для нового посетителя бара Razboynic_Bar_Customer2:
Код: Ctrl+A, Ctrl+C
      <Object
Name="Razboynic_Bar_Customer2"
FullName="Серванто" />
В результате, в баре появляется возможный кандидат для беседы Серванто.

Создаём диалог игрока с Жельванто:
Спойлер
Для это используем редактор диалогов и квестов ConversationEditor.exe из пакета SDK.
Запускаем редактор и открываем файл data\if\diz\dialogsglobal.xml. В папке r3m1 диалог с Жельванто называется «У разбойников». Сюда надо добавить вторую стартовую реплику и связать с основным диалогом.

Для каждой реплики в редакторе есть набор полей:
Текст — текст реплики.
Скрипт-условие — логическая операция на языке Lua. Если результат операции true (верно), то эта реплика показывается в окне диалога. Если результат false (ложно), то нет. Если результат для всех реплик false, то персонаж в окне бара вообще не появляется.
Скрипт-результат — набора команд на языке Lua, которые выполняются, когда реплика появляется на экране.

Итак, нажимаем ПКМ (правая кнопка мыши) на папке «У разбойников» и выбираем «Добавить дочернюю реплику NPC».
В поле Текст заместо «...» пишем реплику, с которой Жельванто обращается к игроку при повторном разговоре, если игрок ранее отказался от покупки карты: «Я знал, что ты вернёшься. Без карты тебе на север не проехать. Цена прежняя - 50 монет.»
Чтобы реплика заменила предыдущую, надо просто уйти с этого поля.
Имя реплики в поле Имя формируется автоматически. Поскольку ранее в dynamicscene.xml для Жельванто уже определили название второй реплики, то меняем её на RazVill_Razboynik1_2_N01.

Теперь нужно определить условия при каких выдаётся либо одна, либо другая реплика.

Какие реплики выдавать, а какие нет удобно определять с помощью счётчика числа обращения к персонажу.
Функция GetCurNpc():GetSpokenCount() получает текущее значение счётчика.
Функция GetCurNpc():SetSpokenCount(<число>) меняет значение счётчика.
Начальное значение счётчика можно задать в dynamicscene.xml в поле SpokenCount.
Таким образом можно определять, в какой раз игрок начал диалог с персонажем.

Для реплики "Чужеземец..." в поле Скрипт-условие заносим проверку:
Код: Ctrl+A, Ctrl+C
      GetCurNpc():GetSpokenCount() == 0
Значение "0" первоначально задано в dynamicscene.xml, и если условие выполняется, то значит игрок в первый раз обратился к персонажу, и эта реплика показывается в окне диалога.

Больше нам показывать это реплику "Чужеземец..." не нужно, поэтому в поле Скрипт-результат заносим:
Код: Ctrl+A, Ctrl+C
      GetCurNpc():SetSpokenCount(1)
Таким образом задаём новое значение для счётчика — 1, и при следующем разговоре с персонажем результат логической операции в поле Скрипт-условие будет ложным, и реплика показываться не будет.

Для второй стартовой реплики "Я знал..." в поле Скрипт-условие заносим проверку:
Код: Ctrl+A, Ctrl+C
      GetCurNpc():GetSpokenCount() == 1
Поскольку при первом раговоре в счётчик числа обращений была записана "1", то при втором и последующем разговорах с персонажем будет показываться только эта реплика, пока мы не поменяем значение счётчика.

Теперь для "Я знал..." надо указать ответные реплики игрока. Это те же самые, которыми игрок отвечает на реплику "Всего лишь 50 монет. Торг неуместен." Поэтому их создавать не нужно, а надо просто прописать их как ответные для второй стартовой реплики. С помощью ConversationEditor этого сделать нельзя, поэтому надо напрямую редактировать dialogsglobal.xml.

Сохраняемся. Из ConversationEditor можно не выходить. Открываем dialogsglobal.xml в каком-нибудь подходящем текстовом редакторе. Я пользуюсь SciTE.exe из пакета SDK.

Находим реплику с именем "RazVill_Razboynik1_1_N05" и копируем поле
Код: Ctrl+A, Ctrl+C
      nextReplies="RazVill_Razboynik1_1_N06a RazVill_Razboynik1_1_N06b RazVill_Razboynik1_1_N06c"
в реплику с именем "RazVill_Razboynik1_2_N01".
Копируем без лишних "/>". :)

Сохраняемся. В ConversationEditor нажимаем кнопку «Перечитать», смотрим диалог и видим, что у "Я знал..." появились ответные реплики.

Теперь осталось только купить карту и попрощаться с Жельванто.
За это отвечают две реплики «Карта мне пригодится. По рукам.» и «Уболтал, чёрт говорливый. Вот твои 50 монет.» У обеих поле Скрипт-результат должно быть одинаковым:
Код: Ctrl+A, Ctrl+C
      GetCurNpc():SetSpokenCount(2);
AddQuestItem('quest_map_sacred_grove');
TakeQuest('r3m1_LookAtMap');
EndConversation();
Здесь:
Первая функция записывает в счётчик обращений "2", в результате чего условия показа обеих стартовых реплик становятся ложными, и Жельванто больше в баре не появляется.
Вторая функция добавляет игроку купленную карту в список специальных предметов.
Третья — игрок получает задание «Изучить карту». Именно этой функцией игра и выдаёт игроку квест, а на игровом экране появляется сообщение «Вы получили новое задание».
Последняя — заканчивает диалог.

Теперь создаём сам квест «Изучить карту»:
Спойлер
Создаём его с помощью всё того же ConversationEditor.
Нажимаем закладку «Квесты», затем «Открыть файл». Сначала загружаем файл data\gamedata\quests.xml. После этого программа попросит загрузить опциональную информацию для квестов. Она находится в data\if\diz\questinfoglobal.xml. Идём в папку r3m1. Щёлкаем ПКМ на папке «опциональные» и выбираем «Добавить папку». Вводим имя «Изучить карту».

Щёлкаем ПКМ на папке «Изучить карту» и выбираем «Добавить квест».
Появляется квест с автоматически созданным именем. Меняем его на
Код: Ctrl+A, Ctrl+C
      r3m1_LookAtMap

В поле «OnTake (Если взят)» заносим:
Код: Ctrl+A, Ctrl+C
      TActivate('trLookAtMap');
В этом поле указваются Lua-команды, которые выполняются в случае получения квеста. Таким образом, как только игрок получает квест «Изучить карту», так тут же активируется триггер «trLookAtMap».

Ставим галочку в поле «Опциональные параметры квеста», чтобы они стали доступны.
В поле BriefDiz (Краткое описание) заносим:
Код: Ctrl+A, Ctrl+C
      Изучить карту

В поле FullDiz (Полное описание) заносим:
Код: Ctrl+A, Ctrl+C
      По случаю мне досталась карта земель друидов. Надо внимательно её изучить, может на ней указан путь к Оракулу.

Сохраняемся.

Во время игры, в списке полученных игроком квестов текст из Краткого описания отображается в левой половине окна, а из Полного описания в правом.

Осталось только сделать триггер, который отслеживает выполнение квеста:
Спойлер
В data\maps\r3m1\triggers.xml внутрь тега <triggers /> добавляем триггер:
Код: Ctrl+A, Ctrl+C
      <trigger Name="trLookAtMap" active="0">
<event ObjName="Player1" eventid="GE_TUTORIAL_MAP" />
<script>
CompleteQuestIfTaken( 'r3m1_LookAtMap' )
trigger:Deactivate()
</script>
</trigger>

Этот триггер отслеживает, когда игрок (объект с именем "Player1") выберет вкладку «Карта» и глянет карту местности, то есть ждёт наступление события "GE_TUTORIAL_MAP". Как только игрок откроет карту, так триггер сразу срабатывает и выполняются команды внутри тега <script />.
Команда CompleteQuestIfTaken( 'r3m1_LookAtMap' ) завершает квест «Изучить карту», и игра переводит его в разряд выполненных.
Команда trigger:Deactivate() переводит триггер «trLookAtMap» в неактивное состояние. После этого он перестаёт реагировать на просмотр игроком карты местности.

Чтобы квест правильно заработал, нужно совершить первый набег заезд в Рощу друидов из Либриума или Хеля.
Аватара
Спойлер
так же вместо изменения gam или sam файла можно создать модель с нуля хD


модель фото нужна в формате .gam и с именем map. - все верно?

Цитата:

cfg — номер прикида (вида) персонажа


обана.. - это интересный нюанс - я раньше не думал о нем относительно персонажей

ps. а можно добавить к реплике звук? (озвучку текста голосом)

Аватара
ScorpyX, если б сделал модель карты с нуля, было б хорошо. В принципе, достаточно одной текстуры.

Полей в dialogsglobal.xml для указания, какой звук производить при показе реплики, не встречал.

В принципе, в игре мощная система кинематографии. Сейчас нахожусь в раздумьях, как её приспособить для диалогов, возможно ли. Вот там можно и звук добавлять.
Аватара
.
Надеюсь такая карта (Друидов) пойдет :3


Скачать

Ps. извиняюсь что долго - испытываю сложности с переустановкой фотошопа
Кстати - первым пунктом для квеста через far открывалась модель и редактировался путь до текстуры
Но тоже самое намного проще сделать через gsmed (если он установлен) там достаточно или сменить
или удалить и заново добавить новую текстуру для материала - а затем сохранить модель через меню :]
(таким же образом gsmed позволит сменить материал с шейдером или всякие настройки)

Аватара
Ап. Как насчет добавить чуть вменяемости в ужасающие диалоги в начале игры? Преимущественно, имею в виду встречу с Лисой и дальнейшие метания с ней по Краю при выборе варианта с помощью ей. Есть идея добавить диалог с ней в Южном, если сразу после встречи с ней заехать в город.
Ещё интересует старая идея с всплывающими внизу экрана диалогами без остановки игрового процесса... У кого есть интерес и желание поработать совместно - пишите сюда или, менее предпочтительно, но в случае чего, в скайп или личку.

“Going outside is highly overrated.”
– Ernest Cline, Ready Player One
Аватара
Да, в диалогах порой проглядывает, что называется, "рыба". Как написано в постмортеме к игре: "Хмурый постапокалипсик был сильно сдобрен пасторальным оттенком, диалоги уклонялись в сторону милых шуток, главный герой напоминал жизнерадостного студента. Побороть до конца не удалось." Посмотрел некоторые диалоги в HTA, который вышел на полгода позже, там они более причёсаны, можно их взять за основу.

А диалог с Лисой всего один, при первой встрече. Потом только ролики, где если менять/добавлять текст, то вместе с озвучкой. И о чём с ней в баре говорить, даже если бы и согласилась туда заглянуть в компании с деревенским увальнем? :)
Аватара
"Пасторальный оттенок" - это не проблема, я бы сказал что достоинство, а вот жизнерадостный студент да, полный факап. Кстати пропустил в свое время их указание на то что задумывался "хмурый" постапокалипсис, думалось что они либо пародийно-упрощенный, либо просто рандомно писавшийся без какой либо финальной цели.

"Семимахов" писал(а):

И о чём с ней в баре говорить, даже если бы и согласилась туда заглянуть в компании с деревенским увальнем?

Да она вроде как и сама не ахти какая интеллектуалка, судя по её унылым действиям в игре) А про "о чем говорить" - ну хоть как-то расскрыть персонаж, развести диалог на две ветки, одну в которой удается разболтать и больше узнаешь о её личности, например, уже тут аккуратно намекнуть несостыковками в диалоге, что она о себе что-то скрывает, ну а вторая ветка - не удается уболтать вообще, тогда показывается скверный характер. В любом случае, ни один персонаж в ЕМ не вызывает ну никаких эмоций, а тут можно хоть каких-то красок добавить сюжету.
p.s. О роликах и озвучке - не думаю что мы много потеряли бы, даже если бы решили полностью вырезать куски старой озвучки, она все равно не вызывает ничего кроме зевоты и переодического битья лица фейспалмом.

“Going outside is highly overrated.”
– Ernest Cline, Ready Player One
Аватара
Не могу понять в чем проблема , при выборе реплики с отказом , диалог закрывается , как ему и подобает , но при согласии , разговор продолжается хотя должен был закрыться , диалоговое окно пустое.
Спойлер



Кто ждет тот всегда дождется!
Аватара
Trity, посмотри лог ошибок.
Там будет указание, что сбойнуло.

__________!///_ _____
_________( @@ )_____
_______ooO-(_)-o o____
Пришёл, увидел, забанил. Ещё вопросы?


Если у Вас нет бана - это не Ваша заслуга - это наше упущение.
Уровень профиля от John
Аватара

"kto" писал(а):

Trity, посмотри лог ошибок.
Там будет указание, что сбойнуло.


Вот что-то сказано об этом, но я не могу разобрать что именно
Спойлер
I QuestState.cpp[0881]18/11 19:35:35 Quest 'Buyer_Quest1' is taken
I QuestState.cpp[0956]18/11 19:35:35 Recalc begin...
I QuestState.cpp[1004]18/11 19:35:35 Recalc end...
I FadingMsg.cpp[0199]18/11 19:35:35 Fading message: 'Вы получили новое задание.'
I FadingMsg.cpp[0199]18/11 19:35:35 Fading message: 'Появилась новая история в Журнале.'
I TruxxUiManager.cpp[1422]18/11 19:35:36 Game mode changed. Old mode = 1, new mode = 0
I TruxxUiManager.cpp[1422]18/11 19:35:36 Game mode changed. Old mode = 0, new mode = 0
I blockMusicManager.cpp[0199]18/11 19:35:36 BlockMusicManager: resetting
I blockMusicManager.cpp[0185]18/11 19:35:36 BlockMusicManager: start playing new music: blockNum = 0, musicType = 0, name = 'block0_driving'
I console_string[0234]18/11 19:35:50 ---------------------- CHEAT WAS USED --------- ANTICHEAT -----------------
I FadingMsg.cpp[0199]18/11 19:35:50 Fading message: '@FF22FF22При тестировании игры, @FF2222FFиспользование читов может привести к ошибкам!@FFFFFFFF'
I FadingMsg.cpp[0199]18/11 19:35:50 Fading message: '@FF22FF22При тестировании игры, @FF2222FFиспользование читов может привести к ошибкам!@FFFFFFFF'
I FadingMsg.cpp[0199]18/11 19:35:50 Fading message: 'Нажмите гудок (%1m) для въезда в город'
I TruxxUiManager.cpp[1422]18/11 19:35:53 Game mode changed. Old mode = 0, new mode = 1
I TruxxUiManager.cpp[1422]18/11 19:35:54 Game mode changed. Old mode = 1, new mode = 0
I TruxxUiManager.cpp[1422]18/11 19:35:54 Game mode changed. Old mode = 0, new mode = 0
I townMusicManager.cpp[0096]18/11 19:35:54 TownMusicManager: start playing new music: 'trade_town1'
I Reply.cpp[0479]18/11 19:36:00 RepliesManager: error execute script - (conversationwnd @ 0): run-time script error [string "conversationwnd"]:1: attempt to call global `TakeOuest' (a nil value)
I ConversationWnd.cpp[0389]18/11 19:36:00 Fail to execute result script for player reply Dlg_pl_001292
I ConversationWnd.cpp[0411]18/11 19:36:00 ConversationWnd: warning - abnormal end of conversation after reply Dlg_pl_001292
I m3dapp.cpp[1350]18/11 19:36:02 input: CInput_di8::GetLastKbdEvent() error - cannot translate key wit scan code 183
I m3dapp.cpp[1350]18/11 19:36:02 input: CInput_di8::GetLastKbdEvent() error - cannot translate key wit scan code 183
I m3dapp.cpp[1336]18/11 19:36:15 d3d: Device reset ok
I m3dapp.cpp[1350]18/11 19:36:19 input: CInput_di8::GetLastKbdEvent() error - cannot translate key wit scan code 731
I m3dapp.cpp[1350]18/11 19:36:20 input: CInput_di8::GetLastKbdEvent() error - cannot translate key wit scan code 695
I m3dapp.cpp[1350]18/11 19:36:20 input: CInput_di8::GetLastKbdEvent() error - cannot translate key wit scan code 695
I m3dapp.cpp[1350]18/11 19:36:20 input: CInput_di8::GetLastKbdEvent() error - cannot translate key wit scan code 219
I m3dapp.cpp[1336]18/11 19:36:32 d3d: Device reset ok
I m3dapp.cpp[1336]18/11 19:37:08 d3d: Device reset ok
I m3dapp.cpp[1336]18/11 19:37:27 d3d: Device reset ok
I m3dapp.cpp[1336]18/11 19:46:28 d3d: Device reset ok



Кто ждет тот всегда дождется!
Аватара
Trity, в этом отрезке лога ошибок нет.
Ошибка начинается с буквы E слева в строке.

__________!///_ _____
_________( @@ )_____
_______ooO-(_)-o o____
Пришёл, увидел, забанил. Ещё вопросы?


Если у Вас нет бана - это не Ваша заслуга - это наше упущение.
Уровень профиля от John
Аватара
Из всех ошибок здесь указанных, не вижу ни одной связанной с квестом
Спойлер
---------------------------------------------- Log begins on Tue Nov 18 19:35:10 2014 ----------------------------------------------
I m3dapp.cpp[0088]18/11 19:35:10 Starting up...
I m3dapp.cpp[1645]18/11 19:35:10 ExMachina - release version release build v1.03 (Jan 19 2006 12:32:28)
I Stackwalker.cpp[0608]18/11 19:35:10 Stackwalker: log file name will be 'c:/mop030b/ex machina + меридиан 113 + arcade/ex machina/exceptions/exmachina.exe0000.log'
I Stackwalker.cpp[0609]18/11 19:35:10 Stackwalker: dump file name will be 'c:/mop030b/ex machina + меридиан 113 + arcade/ex machina/exceptions/exmachina.exe0000.dmp'
I Stackwalker.cpp[0610]18/11 19:35:10 Stackwalker: game log file name will be 'c:/mop030b/ex machina + меридиан 113 + arcade/ex machina/exceptions/exmachina.exe0000_game.log'
I m3dapp.cpp[1391]18/11 19:35:10 Path: C:\MOP030B\Ex Machina + Меридиан 113 + Arcade\Ex Machina
I m3dapp.cpp[1392]18/11 19:35:10 Exe: C:\MOP030B\Ex Machina + Меридиан 113 + Arcade\Ex Machina\ExMachina.exe
I m3dapp.cpp[1401]18/11 19:35:10 Windows version: 6.2.9200
I m3dapp.cpp[1416]18/11 19:35:10 Computer name: HOME
I m3dapp.cpp[1443]18/11 19:35:10 Cpu: GenuineIntel
I m3dapp.cpp[1445]18/11 19:35:10 Max CPUID standard function operand: 13
I m3dapp.cpp[1480]18/11 19:35:10 Cpu brand: Intel(R) Core(TM) i5-3350P CPU @ 3.10GHz
I m3dapp.cpp[1485]18/11 19:35:10 Cpu clock: ~3092
I m3dapp.cpp[1555]18/11 19:35:10 Processor supports MMX
I m3dapp.cpp[1565]18/11 19:35:10 Processor supports SSE
I m3dapp.cpp[1570]18/11 19:35:10 Processor supports HyperThreading
I m3dapp.cpp[1575]18/11 19:35:10 Number of logical processors on the die: 16
I m3dapp.cpp[1616]18/11 19:35:10 Physical memory: 4095 MB
I m3dapp.cpp[1617]18/11 19:35:10 Total memory: 4095 MB
I m3dapp.cpp[1618]18/11 19:35:10 Physical memory available: 3569 MB
I m3dapp.cpp[1619]18/11 19:35:10 Total memory available: 1898 MB
I m3dapp.cpp[2992]18/11 19:35:10 SetCodepage -- using codepage 1251 '1251 (ANSI - кириллица)'
I m3dapp.cpp[2300]18/11 19:35:10 NOTE! renderer is bind to dxrender9.dll
I m3dapp.cpp[1336]18/11 19:35:10 d3d: Given device behavior: 80
I m3dapp.cpp[1336]18/11 19:35:10 d3d: Confirmed device behavior: 80
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Description: NVIDIA GeForce GT 640
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Driver: nvd3dum.dll
I m3dapp.cpp[1336]18/11 19:35:11 d3d: VendorId: 0x10de
I m3dapp.cpp[1336]18/11 19:35:11 d3d: DeviceId: 0x124b
I m3dapp.cpp[1336]18/11 19:35:11 d3d: SubSysId: 0x231b1462
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Revision: 161
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Driver version info:
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Product: 9
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Version: 18
I m3dapp.cpp[1336]18/11 19:35:11 d3d: SubVersion: 13
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Build: 2702
I m3dapp.cpp[1336]18/11 19:35:11 d3d: WHQLLevel: 0
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Texture max size: 8192x8192
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Guard band: (-100000000.000,-100000000.000,100000000.000,100000000.000)
I m3dapp.cpp[1336]18/11 19:35:11 d3d: MaxTextureBlendStages: 8
I m3dapp.cpp[1336]18/11 19:35:11 d3d: MaxSimultaneousTextures: 8
I m3dapp.cpp[1336]18/11 19:35:11 d3d: MaxActiveLights: 10
I m3dapp.cpp[1336]18/11 19:35:11 d3d: MaxUserClipPlanes: 8
I m3dapp.cpp[1336]18/11 19:35:11 d3d: VertexShaderVersion: 0xfffe0300
I m3dapp.cpp[1336]18/11 19:35:11 d3d: PixelShaderVersion: 0xffff0300
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Geometry instancing: supported
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Depth bias supported: yes
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Slope-scale based depth bias supported: yes
I m3dapp.cpp[1336]18/11 19:35:11 d3d: HwRasterization: true
I m3dapp.cpp[1336]18/11 19:35:11 d3d: HwTnL: true
I m3dapp.cpp[1336]18/11 19:35:11 d3d: PureDevice: true
I m3dapp.cpp[1336]18/11 19:35:11 d3d: CubeMap: true
I m3dapp.cpp[1336]18/11 19:35:11 d3d: VolumeMap: true
I m3dapp.cpp[1336]18/11 19:35:11 d3d: TextureAddressCaps:
I m3dapp.cpp[1336]18/11 19:35:11 d3d: wrap: true
I m3dapp.cpp[1336]18/11 19:35:11 d3d: clamp: true
I m3dapp.cpp[1336]18/11 19:35:11 d3d: border: true
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Projective textures: true
I m3dapp.cpp[1336]18/11 19:35:11 d3d: MaxPointSize: 8192.000
I m3dapp.cpp[1336]18/11 19:35:11 d3d: MaxPrimitiveCount: 16777215
I m3dapp.cpp[1336]18/11 19:35:11 d3d: MaxVertexIndex: 16777215
I m3dapp.cpp[1336]18/11 19:35:11 d3d: MaxStreams: 16
I m3dapp.cpp[1336]18/11 19:35:11 d3d: MaxStreamsStride: 255
I m3dapp.cpp[1336]18/11 19:35:11 d3d: MaxAnisotropy: 16
I m3dapp.cpp[1336]18/11 19:35:11 d3d: MaxVertexBlendMatrices: 4
I m3dapp.cpp[1336]18/11 19:35:11 d3d: MaxVertexBlendMatrixIndex: 8
I m3dapp.cpp[1336]18/11 19:35:11 d3d: FullScreenGamma: true
I m3dapp.cpp[1336]18/11 19:35:11 d3d: COLORWRITEENABLE: true
I m3dapp.cpp[1336]18/11 19:35:11 d3d: MASKZ: true
I m3dapp.cpp[1336]18/11 19:35:11 d3d: BLENDOP: true
I m3dapp.cpp[1336]18/11 19:35:11 d3d: CLIPPLANESCALEDPOINTS: false
I m3dapp.cpp[1336]18/11 19:35:11 d3d: CLIPTLVERTS: true
I m3dapp.cpp[1336]18/11 19:35:11 d3d: TSSARGTEMP: true
I m3dapp.cpp[1336]18/11 19:35:11 d3d: DIRECTIONALLIGHTS: true
I m3dapp.cpp[1336]18/11 19:35:11 d3d: LOCALVIEWER: true
I m3dapp.cpp[1336]18/11 19:35:11 d3d: POSITIONALLIGHTS: true
I m3dapp.cpp[1336]18/11 19:35:11 d3d: TEXGEN: true
I m3dapp.cpp[1336]18/11 19:35:11 d3d: TWEENING: true
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Dp3: true
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Lerp: true
I m3dapp.cpp[1336]18/11 19:35:11 d3d: MaxNpatchTessellationLevel: 0.000
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Query VCACHE support: true
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Query EVENT support: true
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Query OCCLUSION support: true
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Query TIMESTAMP support: true
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Query TIMESTAMPDISJOINT support: true
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Query TIMESTAMPFREQ support: true
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Query PIPELINETIMINGS support: false
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Query INTERFACETIMINGS support: false
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Query VERTEXTIMINGS support: false
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Query PIXELTIMINGS support: false
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Query BANDWIDTHTIMINGS support: false
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Query CACHEUTILIZATION support: false
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Creating or resetting the device
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Back buffer format: X8R8G8B8
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Depth/stencil buffer format: D24S8
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Stenciling: off
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Rgba textures format: DXT5
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Rgba no c. textures format: A8R8G8B8
I m3dapp.cpp[1336]18/11 19:35:11 d3d: RgbA textures format: DXT5
I m3dapp.cpp[1336]18/11 19:35:11 d3d: RgbA no c. textures format: A4R4G4B4
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Rt textures format: A8R8G8B8
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Shadow textures format: R5G6B5
I m3dapp.cpp[1336]18/11 19:35:11 d3d: Rt depth format: D16
I m3dapp.cpp[2352]18/11 19:35:11 NOTE! input is bind to input_di8.dll
I m3dapp.cpp[2084]18/11 19:35:11 NOTE! sound is bind to sound.dll
I m3dapp.cpp[1350]18/11 19:35:11 input: Joystick not found
I m3dapp.cpp[1343]18/11 19:35:11 snd: Max sound channels available: 128
I m3dapp.cpp[1343]18/11 19:35:11 snd: Sound is inited successfully
I font.cpp[0976]18/11 19:35:11 FontManager: fonts are loaded successfully
I gameimpulse.cpp[0288]18/11 19:35:11 Key bindings: were inited successfully
I view32.cpp[0705]18/11 19:35:11 --- Init Media ---
I GameUiManager.cpp[0303]18/11 19:35:11 Interface: is initializing...
I GameUiManager.cpp[1580]18/11 19:35:11 Interface: clearing resource infos ...
I GameUiManager.cpp[1491]18/11 19:35:11 Interface: loading resource infos ...
I GameUiManager.cpp[1603]18/11 19:35:11 Interface: loading resources ...
I m3dapp.cpp[1343]18/11 19:35:11 snd: Error: Can't Open SoundFile:
I m3dapp.cpp[1343]18/11 19:35:11 snd: Cannot open sound stream from file . Error: File not found, flags: 8272
I GameUiManager.cpp[0395]18/11 19:35:11 Interface: is inited successfully
I LevelInfo.cpp[0806]18/11 19:35:11 Level infos were loaded successfully from file data\if\diz\LevelInfo.xml
I LevelInfo.cpp[0747]18/11 19:35:11 LevelInfoManager was inited successfully
I TruxxUiManager.cpp[0191]18/11 19:35:11 TruxxUiManager: was inited successfully
I gameimpulse.cpp[0618]18/11 19:35:12 Key bindings: unbind all is done
I gameimpulse.cpp[0324]18/11 19:35:12 Key bindings: were loaded successfully from file data\scripts\DefaultKeyBindings.lua
I gameimpulse.cpp[1194]18/11 19:35:12 Key bindings: were bind from defaults
I video.cpp[0704]18/11 19:35:12 Could not load specified video file: data\video\logobuka.wmv (hr = 80070002)
I view32_video.cpp[0061]18/11 19:35:12 Error: couldn't load video 'data\video\logobuka.wmv'
I video.cpp[0704]18/11 19:35:12 Could not load specified video file: data\video\logotargem.wmv (hr = 80070002)
I view32_video.cpp[0061]18/11 19:35:12 Error: couldn't load video 'data\video\logotargem.wmv'
I core.lua[0013]18/11 19:35:12 running core script...
I m3dapp.cpp[1954]18/11 19:35:12 ----------------------- Engine inited in: 0
I Profile.cpp[0602]18/11 19:35:21 Profile "Игрок" set
I TruxxUiManager.cpp[1422]18/11 19:35:21 Game mode changed. Old mode = 3, new mode = 2
I SplashWnd.cpp[0244]18/11 19:35:21 Start splashing 11
I view32.cpp[1048]18/11 19:35:21 -- Loading Level: data\maps\mainmenu.ssl --
I world.cpp[0132]18/11 19:35:21 ----------------------- World Loading
F landscape.cpp[1674]18/11 19:35:21 +- Enter function: Landscape::Load()
I landscape.cpp[1911]18/11 19:35:21 | ----------------------- Normal map loaded in: 1
I landscape.cpp[1920]18/11 19:35:21 | ----------------------- Tiles loaded in: 16
I landscape.cpp[1944]18/11 19:35:22 | ----------------------- ShoreLine loaded in: 0
F landscape.cpp[1944]18/11 19:35:22 +- Exit function: Landscape::Load()
I world.cpp[0169]18/11 19:35:22 ----------------------- Landscape loaded in: 78
I DataServer.cpp[0587]18/11 19:35:22 Loading Servers: data\maps\MainMenu\servers.xml
I serverAnimatedModel.cpp[0630]18/11 19:35:22 ### Total time: 750, GAM time: 297
I DataServer.cpp[0587]18/11 19:35:23 Loading Servers: data\models\commonservers.xml
I world.cpp[0210]18/11 19:35:23 ----------------------- Servers loaded in: 1898
I world.cpp[0338]18/11 19:35:23 LoadWorld begin...
I world.cpp[0350]18/11 19:35:23 %%%% read/parse xml: 9
I world.cpp[0362]18/11 19:35:23 %%%% read from xml: 4
E PlayerPassMap.cpp[0139]18/11 19:35:23 Couldn't load player pass map from file data\maps\MainMenu\player_passmap.xml
I world.cpp[0444]18/11 19:35:23 %%%% link nodes: 16
I world.cpp[0220]18/11 19:35:23 ----------------------- Nodes loaded in: 30
I world.cpp[0228]18/11 19:35:23 ----------------------- Prefabs loaded in: 0
I world.cpp[0247]18/11 19:35:24 ----------------------- World loaded in: 2133
I world.cpp[0278]18/11 19:35:24 ----------------------- Roads loaded in: 118
I view32.cpp[1078]18/11 19:35:24 Load Server begin...
I TruxxUiManager.cpp[0974]18/11 19:35:24 Interface: is loaded successfully
I server.cpp[0789]18/11 19:35:24 AI: Loading Server...
I server.cpp[0796]18/11 19:35:24 AI: Loading Relationship
I Relationship.cpp[0134]18/11 19:35:24 File readed
I server.cpp[0801]18/11 19:35:24 AI: Loading SoilProps
I server.cpp[0804]18/11 19:35:24 AI: Loading ExternalPaths
I server.cpp[0807]18/11 19:35:24 AI: Loading PlayerPassMap
E PlayerPassMap.cpp[0139]18/11 19:35:24 Couldn't load player pass map from file data\maps\MainMenu\player_passmap.xml
I server.cpp[0813]18/11 19:35:24 AI: Loading GameObjects
I server.cpp[0816]18/11 19:35:24 AI: Initializing VehicleGeneratorInfoCache
I server.cpp[0820]18/11 19:35:24 AI: Refreshing GameObjects
I server.cpp[0824]18/11 19:35:24 AI: Loading QuestStates
I QuestState.cpp[0904]18/11 19:35:24 Quest 'FindGomerA_Quest1' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'Human1_Quest1' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'Human1_Quest2' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'q_PWS1' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'q_PWS2' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'q_PlaceWithSign' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'r3m2_OracleMemory' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'r3m1_LureMainDriud' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'r3m1_ClearSanctuary' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'r3m1_KnowAboutUluk' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'r3m1_RescueUlukCivil' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'q_VisitDruid' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'r2m2_Znaki2_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'r2m2_HeadsHunterQuest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'r2m2_OldDvigatel1_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'r2m2_OldDvigatel2_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'r2m2_FightFelix' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'r2m2_ReturnToMarecciaFromCastle' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'r2m2_FightWithAxelInArena_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'r2m2_FindLisAfterAxelAndFatherDie_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'r2m2_ToLisaToMonastir' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'r2m1_ArtAntipod_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'r2m1_TakeNarcotics_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'r2m1_KillGodFather_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'd_GetSupportOneOfTheBands2_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'd_GetSupportOneOfTheBands1_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'd_FindVerbInAR_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'd_FindVerbInSNG_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'd_TakeGeneralOfBandits_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'FindGomerB_Quest1' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'TraiderStorage_Quest1' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'FreeExtremistLeader_Quest1' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'KillExtremist_Quest1' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'r1m4_TalkWithOldTraderAboutSecondDisk' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'q_FindHusbent' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'r1m3_BonnyAndKlideQuest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'r1m3_ArchHelp' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'r1m3_OldTownOutsiderCar_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'r1m3_CrazyManQuest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'd_RideAcrossBase_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'd_GiveMoneyToBase_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'd_BombShahtsAtakBandits_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'd_GetBomb_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'd_IntrigaOfMerMinin_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'd_MoveFreelancersToOilMine_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'd_MoveCanistraToMinin_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'd_OpenTunel_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'r1m3_TW_OralceAboutAlien' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'd_PayWorkersMoney_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'WhereSigns_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'CombatInKollizey_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'BuyKollizey_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'Kollizey_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'HelpRuins_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'DestroyRuins_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'Signs_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'r1m2_TW_BanAboutAlien' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'r1m3_DestroyOracle' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'WorkGiver_Quest1' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'd_PunishBandits_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'r1m1_Hospital_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'r1m1_Botanik_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'r1m1_FindBotanik_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'Poslanie' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'Buyer_Quest1' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'TalkWithFather_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'd_Lisa_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'FindBen_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:24 Quest 'd_SinFather_Quest' can be given now
I server.cpp[0826]18/11 19:35:24 AI: QuestStates loaded
I server.cpp[0828]18/11 19:35:24 AI: Loading DynamicScene
I DynamicScene.cpp[1470]18/11 19:35:24 Scene loading begin
E SimplePhysicObj.cpp[0414]18/11 19:35:24 Error: mass is too low: 0.000 for ParticleSplinter id = 9 prototype = 'particleSplinter'
E SimplePhysicObj.cpp[0414]18/11 19:35:24 Error: mass is too low: 0.000 for ParticleSplinter id = 10 prototype = 'particleSplinter'
I DynamicScene.cpp[1472]18/11 19:35:24 Scene loading end
I server.cpp[0837]18/11 19:35:24 AI: DynamicScene loaded
I server.cpp[0852]18/11 19:35:24 AI: Loading Triggers
E server.cpp[1242]18/11 19:35:24 Error: cannot open data\maps\MainMenuI server.cpp[0855]18/11 19:35:24 AI: Triggers loaded
I server.cpp[0857]18/11 19:35:24 AI: Loading Object Names
E ObjContainer.cpp[1104]18/11 19:35:24 Error: cannot open data\maps\MainMenu\object_names.xml
I server.cpp[0868]18/11 19:35:24 AI: Initing Player
I server.cpp[0888]18/11 19:35:24 Before first Update
E client.cpp[0082]18/11 19:35:24 Error: Cant find server item for name: 'cub'
I TruxxUiManager.cpp[1422]18/11 19:35:24 Game mode changed. Old mode = 2, new mode = 1
I server.cpp[0909]18/11 19:35:24 After first Update
I server.cpp[0911]18/11 19:35:24 AI: Finished Loading Server
I view32.cpp[1106]18/11 19:35:24 Load server end
I QuestInfo.cpp[0847]18/11 19:35:24 Quest infos were loaded successfully from file data\if\diz\QuestInfoGlobal.xml
I QuestInfo.cpp[0783]18/11 19:35:24 QuestInfo manager was inited successfully
I MsgManager.cpp[0391]18/11 19:35:24 Can't open file data\maps\MainMenu\strings.xml for read.
I GameUiManager.cpp[0303]18/11 19:35:24 Interface: is initializing...
I GameUiManager.cpp[0405]18/11 19:35:24 Interface: is clearing...
I GameUiManager.cpp[0495]18/11 19:35:24 Interface: is cleared successfully
I GameUiManager.cpp[0395]18/11 19:35:24 Interface: is inited successfully
I blockMusicManager.cpp[0199]18/11 19:35:24 BlockMusicManager: resetting
I gameimpulse.cpp[0618]18/11 19:35:24 Key bindings: unbind all is done
I scriptlet.cpp[0045]18/11 19:35:24 Could not open script file data\profiles\игрок\keybindings.lua
I gameimpulse.cpp[0318]18/11 19:35:24 Key bindings: loading error - (data\profiles\игрок\keybindings.lua @ 0): file not found or could not be read
I gameimpulse.cpp[1217]18/11 19:35:24 Key bindings: error loading from profile file; load defaults instead
I gameimpulse.cpp[0618]18/11 19:35:24 Key bindings: unbind all is done
I gameimpulse.cpp[0324]18/11 19:35:24 Key bindings: were loaded successfully from file data\scripts\DefaultKeyBindings.lua
I gameimpulse.cpp[1194]18/11 19:35:24 Key bindings: were bind from defaults
I SplashWnd.cpp[0244]18/11 19:35:27 Start splashing 11
I TruxxUiManager.cpp[1422]18/11 19:35:27 Game mode changed. Old mode = 1, new mode = 0
I GameUiManager.cpp[0405]18/11 19:35:27 Interface: is clearing...
I GameUiManager.cpp[0495]18/11 19:35:27 Interface: is cleared successfully
I view32.cpp[1048]18/11 19:35:27 -- Loading Level: data\maps\r1m1.ssl --
I world.cpp[0132]18/11 19:35:27 ----------------------- World Loading
F landscape.cpp[1674]18/11 19:35:27 +- Enter function: Landscape::Load()
I landscape.cpp[1911]18/11 19:35:27 | ----------------------- Normal map loaded in: 3
I landscape.cpp[1920]18/11 19:35:27 | ----------------------- Tiles loaded in: 22
I landscape.cpp[1944]18/11 19:35:27 | ----------------------- ShoreLine loaded in: 0
F landscape.cpp[1944]18/11 19:35:27 +- Exit function: Landscape::Load()
I world.cpp[0169]18/11 19:35:27 ----------------------- Landscape loaded in: 102
I DataServer.cpp[0587]18/11 19:35:27 Loading Servers: data\maps\r1m1\servers.xml
I serverAnimatedModel.cpp[0630]18/11 19:35:29 ### Total time: 1062, GAM time: 592
I m3dapp.cpp[1343]18/11 19:35:29 snd: Cannot load sound sample from file data\sounds\Shooting\SideGun\mars_shoot.wav. Error: An invalid parameter was passed to this function
I serverSound.cpp[0622]18/11 19:35:29 SoundServer: cannot add sound data\sounds\Shooting\SideGun\mars_shoot.wav
I serverSound.cpp[0546]18/11 19:35:29 DataServer: cannot read data\sounds\Shooting\SideGun\mars_shoot.wav id = S_SHOOTING_MARS
I DataServer.cpp[0587]18/11 19:35:29 Loading Servers: data\models\commonservers.xml
I world.cpp[0210]18/11 19:35:29 ----------------------- Servers loaded in: 1357
I world.cpp[0338]18/11 19:35:29 LoadWorld begin...
I world.cpp[0350]18/11 19:35:29 %%%% read/parse xml: 46
I world.cpp[0362]18/11 19:35:29 %%%% read from xml: 38
I world.cpp[0444]18/11 19:35:29 %%%% link nodes: 66
I world.cpp[0220]18/11 19:35:29 ----------------------- Nodes loaded in: 156
I world.cpp[0228]18/11 19:35:29 ----------------------- Prefabs loaded in: 1
I world.cpp[0247]18/11 19:35:29 ----------------------- World loaded in: 1743
I world.cpp[0278]18/11 19:35:29 ----------------------- Roads loaded in: 203
I view32.cpp[1078]18/11 19:35:29 Load Server begin...
I Reply.cpp[0415]18/11 19:35:30 Replies were loaded successfully from file data\if\diz\DialogsGlobal.xml
I Reply.cpp[0415]18/11 19:35:30 Replies were loaded successfully from file data\if\diz\DynamicDialogsGlobal.xml
I Reply.cpp[0343]18/11 19:35:30 RepliesManager was inited successfully
I GameUiManager.cpp[1603]18/11 19:35:30 Interface: loading resources ...
I ObjectsIcons.cpp[0198]18/11 19:35:30 ObjectsIcons::AddIcon warning - ico with id SpeedPointer already exists and wiil be replaced
I GameUiManager.cpp[1603]18/11 19:35:30 Interface: loading resources ...
I TruxxUiManager.cpp[0974]18/11 19:35:30 Interface: is loaded successfully
I server.cpp[0789]18/11 19:35:30 AI: Loading Server...
I server.cpp[0796]18/11 19:35:30 AI: Loading Relationship
I Relationship.cpp[0134]18/11 19:35:30 File readed
I server.cpp[0801]18/11 19:35:30 AI: Loading SoilProps
I server.cpp[0804]18/11 19:35:30 AI: Loading ExternalPaths
I server.cpp[0807]18/11 19:35:30 AI: Loading PlayerPassMap
I server.cpp[0813]18/11 19:35:30 AI: Loading GameObjects
I server.cpp[0816]18/11 19:35:30 AI: Initializing VehicleGeneratorInfoCache
I server.cpp[0820]18/11 19:35:30 AI: Refreshing GameObjects
E VehiclePart.cpp[0138]18/11 19:35:31 Error: collision geom in vehicle part name = 'heavy_dot1' is not BOX
I server.cpp[0824]18/11 19:35:31 AI: Loading QuestStates
I QuestState.cpp[0904]18/11 19:35:31 Quest 'FindGomerA_Quest1' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'Human1_Quest1' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'Human1_Quest2' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'q_PWS1' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'q_PWS2' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'q_PlaceWithSign' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'r3m2_OracleMemory' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'r3m1_LureMainDriud' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'r3m1_ClearSanctuary' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'r3m1_KnowAboutUluk' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'r3m1_RescueUlukCivil' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'q_VisitDruid' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'r2m2_Znaki2_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'r2m2_HeadsHunterQuest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'r2m2_OldDvigatel1_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'r2m2_OldDvigatel2_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'r2m2_FightFelix' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'r2m2_ReturnToMarecciaFromCastle' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'r2m2_FightWithAxelInArena_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'r2m2_FindLisAfterAxelAndFatherDie_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'r2m2_ToLisaToMonastir' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'r2m1_ArtAntipod_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'r2m1_TakeNarcotics_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'r2m1_KillGodFather_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'd_GetSupportOneOfTheBands2_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'd_GetSupportOneOfTheBands1_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'd_FindVerbInAR_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'd_FindVerbInSNG_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'd_TakeGeneralOfBandits_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'FindGomerB_Quest1' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'TraiderStorage_Quest1' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'FreeExtremistLeader_Quest1' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'KillExtremist_Quest1' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'r1m4_TalkWithOldTraderAboutSecondDisk' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'q_FindHusbent' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'r1m3_BonnyAndKlideQuest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'r1m3_ArchHelp' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'r1m3_OldTownOutsiderCar_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'r1m3_CrazyManQuest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'd_RideAcrossBase_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'd_GiveMoneyToBase_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'd_BombShahtsAtakBandits_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'd_GetBomb_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'd_IntrigaOfMerMinin_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'd_MoveFreelancersToOilMine_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'd_MoveCanistraToMinin_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'd_OpenTunel_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'r1m3_TW_OralceAboutAlien' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'd_PayWorkersMoney_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'WhereSigns_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'CombatInKollizey_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'BuyKollizey_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'Kollizey_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'HelpRuins_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'DestroyRuins_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'Signs_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'r1m2_TW_BanAboutAlien' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'r1m3_DestroyOracle' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'WorkGiver_Quest1' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'd_PunishBandits_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'r1m1_Hospital_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'r1m1_Botanik_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'r1m1_FindBotanik_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'Poslanie' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'Buyer_Quest1' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'TalkWithFather_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'd_Lisa_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'FindBen_Quest' can be given now
I QuestState.cpp[0904]18/11 19:35:31 Quest 'd_SinFather_Quest' can be given now
I server.cpp[0826]18/11 19:35:31 AI: QuestStates loaded
I server.cpp[0828]18/11 19:35:31 AI: Loading DynamicScene
I DynamicScene.cpp[1470]18/11 19:35:31 Scene loading begin
I DynamicScene.cpp[1472]18/11 19:35:31 Scene loading end
I server.cpp[0837]18/11 19:35:31 AI: DynamicScene loaded
I server.cpp[0852]18/11 19:35:31 AI: Loading Triggers
I server.cpp[0855]18/11 19:35:31 AI: Triggers loaded
I server.cpp[0857]18/11 19:35:31 AI: Loading Object Names
I server.cpp[0868]18/11 19:35:31 AI: Initing Player
I server.cpp[0888]18/11 19:35:31 Before first Update
I DynamicQuestManager.cpp[0089]18/11 19:35:31 DynamicQuestHunt id = 5060 prototype = 'dynamicQuestHunt' created
I DynamicQuestManager.cpp[0090]18/11 19:35:31 targetName = 'MyCar', hirerName = 'TheTown', reward = 110
E Gun.cpp[0866]18/11 19:35:31 Error: LoadPoint not found: LP_GUN for MinePusher id = 5067 prototype = 'minePusher', modelName = minoYkladchiK
E Gun.cpp[0866]18/11 19:35:31 Error: LoadPoint not found: LP_GUN for MinePusher id = 5068 prototype = 'minePusher', modelName = minoYkladchiK
E Gun.cpp[0866]18/11 19:35:31 Error: LoadPoint not found: LP_GUN for MinePusher id = 5075 prototype = 'minePusher', modelName = minoYkladchiK
E Gun.cpp[0866]18/11 19:35:31 Error: LoadPoint not found: LP_GUN for MinePusher id = 5076 prototype = 'minePusher', modelName = minoYkladchiK
I DynamicQuestManager.cpp[0089]18/11 19:35:31 DynamicQuestReach id = 5085 prototype = 'dynamicQuestReach' created
I DynamicQuestManager.cpp[0090]18/11 19:35:31 targetName = 'PetrolStationTown3', hirerName = 'TheGloohoe', reward = 250
E Gun.cpp[0866]18/11 19:35:31 Error: LoadPoint not found: LP_GUN for MinePusher id = 5086 prototype = 'minePusher', modelName = minoYkladchiK
E Gun.cpp[0866]18/11 19:35:31 Error: LoadPoint not found: LP_GUN for MinePusher id = 5087 prototype = 'minePusher', modelName = minoYkladchiK
E Gun.cpp[0866]18/11 19:35:31 Error: LoadPoint not found: LP_GUN for MinePusher id = 5088 prototype = 'minePusher', modelName = minoYkladchiK
E Gun.cpp[0866]18/11 19:35:31 Error: LoadPoint not found: LP_GUN for MinePusher id = 5089 prototype = 'minePusher', modelName = minoYkladchiK
E Gun.cpp[0866]18/11 19:35:31 Error: LoadPoint not found: LP_GUN for MinePusher id = 5090 prototype = 'minePusher', modelName = minoYkladchiK
E Gun.cpp[0866]18/11 19:35:31 Error: LoadPoint not found: LP_GUN for MinePusher id = 5091 prototype = 'minePusher', modelName = minoYkladchiK
I DynamicQuestManager.cpp[0089]18/11 19:35:31 DynamicQuestHunt id = 5092 prototype = 'dynamicQuestHunt' created
I DynamicQuestManager.cpp[0090]18/11 19:35:31 targetName = 'MyCar', hirerName = 'TheOilVillage', reward = 110
I DynamicQuestManager.cpp[0089]18/11 19:35:31 DynamicQuestConvoy id = 5099 prototype = 'dynamicQuestConvoy' created
I DynamicQuestManager.cpp[0090]18/11 19:35:31 targetName = 'TheOilVillage_enter', hirerName = 'TheContraVillage', reward = 370
I DynamicQuestManager.cpp[0089]18/11 19:35:31 DynamicQuestReach id = 5106 prototype = 'dynamicQuestReach' created
I DynamicQuestManager.cpp[0090]18/11 19:35:31 targetName = 'PetrolStationTown1', hirerName = 'TheFreedom', reward = 250
I DynamicQuestManager.cpp[0089]18/11 19:35:31 DynamicQuestDestroy id = 5113 prototype = 'dynamicQuestDestroy' created
I DynamicQuestManager.cpp[0090]18/11 19:35:31 targetName = 'u5', hirerName = 'PetrolStationTown3', reward = 413
I DynamicQuestManager.cpp[0089]18/11 19:35:31 DynamicQuestHunt id = 5114 prototype = 'dynamicQuestHunt' created
I DynamicQuestManager.cpp[0090]18/11 19:35:31 targetName = 'MyCar', hirerName = 'PetrolStationTown2', reward = 110
I TruxxUiManager.cpp[1422]18/11 19:35:31 Game mode changed. Old mode = 0, new mode = 1
E Vehicle.cpp[5160]18/11 19:35:31 Error: LoadPoint not found: LP_SSP03L for model 'dozerChassis'
I server.cpp[0909]18/11 19:35:31 After first Update
I server.cpp[0911]18/11 19:35:31 AI: Finished Loading Server
I view32.cpp[1106]18/11 19:35:31 Load server end
I QuestInfo.cpp[0847]18/11 19:35:31 Quest infos were loaded successfully from file data\if\diz\QuestInfoGlobal.xml
I QuestInfo.cpp[0783]18/11 19:35:31 QuestInfo manager was inited successfully
I GameUiManager.cpp[0303]18/11 19:35:31 Interface: is initializing...
I GameUiManager.cpp[0395]18/11 19:35:31 Interface: is inited successfully
I GlobalMapWnd.cpp[0157]18/11 19:35:31 Make control error: control mainmenu_ico is not found or incorrect type
I GlobalMapWnd.cpp[0157]18/11 19:35:31 Make control error: control t_ico is not found or incorrect type
I GlobalMapWnd.cpp[0203]18/11 19:35:31 GlobalMapWnd: error - fail to init because of a bad resource
I FadingMsg.cpp[0199]18/11 19:35:31 Fading message: 'Нажмите гудок (%1m) для въезда в город'
I blockMusicManager.cpp[0185]18/11 19:35:31 BlockMusicManager: start playing new music: blockNum = 1, musicType = 0, name = 'block1_driving'
I TruxxUiManager.cpp[1422]18/11 19:35:34 Game mode changed. Old mode = 1, new mode = 0
I TruxxUiManager.cpp[1422]18/11 19:35:35 Game mode changed. Old mode = 0, new mode = 0
I TruxxUiManager.cpp[1422]18/11 19:35:35 Game mode changed. Old mode = 0, new mode = 1
I TruxxUiManager.cpp[1422]18/11 19:35:35 Game mode changed. Old mode = 1, new mode = 1
I TruxxUiManager.cpp[1422]18/11 19:35:35 Game mode changed. Old mode = 1, new mode = 1
I TruxxUiManager.cpp[1422]18/11 19:35:35 Game mode changed. Old mode = 1, new mode = 1
I TruxxUiManager.cpp[1422]18/11 19:35:35 Game mode changed. Old mode = 1, new mode = 1
I TruxxUiManager.cpp[1422]18/11 19:35:35 Game mode changed. Old mode = 1, new mode = 1
I TruxxUiManager.cpp[1422]18/11 19:35:35 Game mode changed. Old mode = 1, new mode = 1
I TruxxUiManager.cpp[1422]18/11 19:35:35 Game mode changed. Old mode = 1, new mode = 1
I QuestState.cpp[0881]18/11 19:35:35 Quest 'Buyer_Quest1' is taken
I QuestState.cpp[0956]18/11 19:35:35 Recalc begin...
I QuestState.cpp[1004]18/11 19:35:35 Recalc end...
I FadingMsg.cpp[0199]18/11 19:35:35 Fading message: 'Вы получили новое задание.'
I FadingMsg.cpp[0199]18/11 19:35:35 Fading message: 'Появилась новая история в Журнале.'
I TruxxUiManager.cpp[1422]18/11 19:35:36 Game mode changed. Old mode = 1, new mode = 0
I TruxxUiManager.cpp[1422]18/11 19:35:36 Game mode changed. Old mode = 0, new mode = 0
I blockMusicManager.cpp[0199]18/11 19:35:36 BlockMusicManager: resetting
I blockMusicManager.cpp[0185]18/11 19:35:36 BlockMusicManager: start playing new music: blockNum = 0, musicType = 0, name = 'block0_driving'
I console_string[0234]18/11 19:35:50 ---------------------- CHEAT WAS USED --------- ANTICHEAT -----------------
I FadingMsg.cpp[0199]18/11 19:35:50 Fading message: '@FF22FF22При тестировании игры, @FF2222FFиспользование читов может привести к ошибкам!@FFFFFFFF'
I FadingMsg.cpp[0199]18/11 19:35:50 Fading message: '@FF22FF22При тестировании игры, @FF2222FFиспользование читов может привести к ошибкам!@FFFFFFFF'
I FadingMsg.cpp[0199]18/11 19:35:50 Fading message: 'Нажмите гудок (%1m) для въезда в город'
I TruxxUiManager.cpp[1422]18/11 19:35:53 Game mode changed. Old mode = 0, new mode = 1
I TruxxUiManager.cpp[1422]18/11 19:35:54 Game mode changed. Old mode = 1, new mode = 0
I TruxxUiManager.cpp[1422]18/11 19:35:54 Game mode changed. Old mode = 0, new mode = 0
I townMusicManager.cpp[0096]18/11 19:35:54 TownMusicManager: start playing new music: 'trade_town1'
I Reply.cpp[0479]18/11 19:36:00 RepliesManager: error execute script - (conversationwnd @ 0): run-time script error [string "conversationwnd"]:1: attempt to call global `TakeOuest' (a nil value)
I ConversationWnd.cpp[0389]18/11 19:36:00 Fail to execute result script for player reply Dlg_pl_001292
I ConversationWnd.cpp[0411]18/11 19:36:00 ConversationWnd: warning - abnormal end of conversation after reply Dlg_pl_001292
I m3dapp.cpp[1350]18/11 19:36:02 input: CInput_di8::GetLastKbdEvent() error - cannot translate key wit scan code 183
I m3dapp.cpp[1350]18/11 19:36:02 input: CInput_di8::GetLastKbdEvent() error - cannot translate key wit scan code 183
I m3dapp.cpp[1336]18/11 19:36:15 d3d: Device reset ok
I m3dapp.cpp[1350]18/11 19:36:19 input: CInput_di8::GetLastKbdEvent() error - cannot translate key wit scan code 731
I m3dapp.cpp[1350]18/11 19:36:20 input: CInput_di8::GetLastKbdEvent() error - cannot translate key wit scan code 695
I m3dapp.cpp[1350]18/11 19:36:20 input: CInput_di8::GetLastKbdEvent() error - cannot translate key wit scan code 695
I m3dapp.cpp[1350]18/11 19:36:20 input: CInput_di8::GetLastKbdEvent() error - cannot translate key wit scan code 219
I m3dapp.cpp[1336]18/11 19:36:32 d3d: Device reset ok
I m3dapp.cpp[1336]18/11 19:37:08 d3d: Device reset ok
I m3dapp.cpp[1336]18/11 19:37:27 d3d: Device reset ok
I m3dapp.cpp[1336]18/11 19:46:28 d3d: Device reset ok



Кто ждет тот всегда дождется!
Аватара
И вправду.
Смотрел, как сделано в kto MOD?
Может что упустил?

Если совсем туго - выложи изменённые файлы в виде мода - я как будет время гляну.

__________!///_ _____
_________( @@ )_____
_______ooO-(_)-o o____
Пришёл, увидел, забанил. Ещё вопросы?


Если у Вас нет бана - это не Ваша заслуга - это наше упущение.
Уровень профиля от John
Аватара
Kto MOD'а у меня к сожалению нет
Перечитал инструкцию которая есть в комплекте с Редактором Квестов, и ту которая здесь на форуме , и честно говоря вроде все делал как там сказано . В чем ошибся , так и не понял.
Вот архив с файлами.
Спойлер
https://yadi.sk/d/eIUZ2K1DcoZUb



Кто ждет тот всегда дождется!
Аватара
Судя по этому куску:
Спойлер
I Reply.cpp[0479]18/11 19:36:00 RepliesManager: error execute script - (conversationwnd @ 0): run-time script error [string "conversationwnd"]:1: attempt to call global `TakeOuest' (a nil value)
I ConversationWnd.cpp[0389]18/11 19:36:00 Fail to execute result script for player reply Dlg_pl_001292
I ConversationWnd.cpp[0411]18/11 19:36:00 ConversationWnd: warning - abnormal end of conversation after reply Dlg_pl_001292

у TakeOuest отсутствует значение.
Это произошло из-за использования в поле Скрипт-результат двойных кавычек: TakeOuest("Poslanie"). Нужно использовать апостроф:TakeOuest('Poslanie').
В файле data\if\diz\dialogsglobal.xml эти данные помещаются в поле scriptResult и обрамляются двойными кавычками.
В первом случае: scriptResult="TakeOuest("Poslanie")". Во втором: scriptResult="TakeOuest('Poslanie')".
И потому в первом случае обработчик прочитает "TakeOuest(", а во втором "TakeOuest('Poslanie')". Ну и в первом случае выдаст ошибку.
Аватара
Может кому и понадобиться
Спойлер

Условия
not(IsQuestTaken( "..." )) - если квест еще не взят ( вместо точек назв квеста)
not(IsQuestComplete( "..." )) - если квест еще не выполнен ( вместо точек назв квеста)
not(IsQuestFailed( "..." )) - если квест не провален ( вместо точек назв квеста)

Соответсвенно , все три скрипта могут использоваться без приставки not.
Прим.

IsQuestTaken( "..." ) Если квест взят , то действие будет выполняться.

Квест считается выполненым

CompleteQuest( "...." ) - Квест считается выполненым ( вместо точек назв квеста)

CompleteQuestIfTaken( "...") - Квест считается выполненым если до этого он был взят,так как
понимает это игра. ( вместо точек назв квеста)


Взятие квеста

TakeQuest("...") ( вместо точек назв квеста)

Счетчик разговоров с персонажем

(GetCurNpc():GetSpokenCount() == 0) - считывание счетчика(Получает текущее значение счетчика)
GetCurNpc():SetSpokenCount(...) - меняет значение счетчика( вместо точек число)

Конец разговора

EndConversation() - выход в интерфейс бара
LeaveTown(true) - окончание разговора с выходом из города

Взаимодействие с инвентарем , деньгами и иными предметами в распоряжении игрока
Деньги
GetPlayerMoney() >= ... - проверка, есть ли у игрока нужная сумма
AddPlayerMoney( ... ) - выдача игроку некой суммы ( если перед суммой стоит
знак "-" (минус) , то сумма будет списана со счета игрока)

Предметы в инвентаре
HasPlayerFreePlaceForItems("...", 1 ) - проверка, если ли в кузове место(вместо
точек название товара(potato-картофель,
oil-топливо и тд.) , цифра отвечает за
кол-во товара)
HasPlayerAmountOfItems("...", 1) - проверяет есть ли у игрока в кузове нужный
предмет(товар,оружие,улучшения) и их кол-во.
AddPlayerItems( "...", 1) - добавляет в инвентарь предмет/ты, согласно кол-ву.

RemoveItemsFromPlayerRepository("...", 1); - Удаляет предмет из инвентаря.
AddQuestItem("quest_explosive"); - добавляет в раздел спец. преметов квестовый
предмет.
RemoveQuestItem("quest_potato"); - удаляет квестовый предмет
AddBook("r1_book_the_mask"); - добавляет предмет в раздел Книги.

Тригеры

TActivate("ATTACKOILMINE"); - Активирует нужный тригер
TDeactivate("ATTACKOILMINE"); - Деактивирует нужный тригер
Аватара
Столкнулся с проблемой. В результате диалога , из инвентаря забирают некие предметы. А при выезде из города , эти предметы остаются висеть над землей . Скорее всего в том месте где центр локации бара. Как их можно убрать оттуда, что бы они просто исчезали с карты?
Аватара
Удаление игрового объекта: RemoveObject(getObj(<ID объекта/ссылкка на объект/имя объекта>))
Только при операциях с инвентарём указываются имена прототипов предметов, а в самом инвентаре у предметов указаны только их ID, которые хз как получить.
Для добавления и удаления предметов в инвентарь использовал AddPlayerItems(name, count) и RemovePlayerItem(name, count). Всё нормально отрабатывало.
Аватара
Вот что получается.
Спойлер

http://uploads.ru/heBHq.png
http://uploads.ru/C0ky3.png
http://uploads.ru/j4ils.png
http://uploads.ru/RLqZH.png
http://uploads.ru/7K4tg.png
Сообщений: 37 • Страница 1 из 2 12