Lex Addon – это модификация для оригинальной игры S.T.A.L.K.E.R.: Зов Припяти версии 1.6.02, направленная, главным образом, на расширение и доработку её геймплейной составляющей. Добавлено множество артефактов и костюмов, новые медикаменты, продукты, оружие, а также другие предметы. Обновлён и существенно дополнен набор моделей НПС. Переработаны диалоги, полностью переработана торговля и игровая экономика в целом, система апгрейдов, экипировка и поведение НПС и многое-многое другое. Правки движка оригинальной игры позволили расширить графический интерфейс пользователя и внести другие важные изменения. С более подробным описанием нововведений, советами и прочей полезной информацией можно ознакомиться в прилагаемых документах и на скриншотах. Платформа: S.T.A.L.K.E.R.: Call of Pripyat v1.6.02 Разработчик: Алексей Гончаров (Suhar_) Сообщество ВКонтакте Актуальная версия: v0.04 (Stable)
Основная информация:
1. Расширенный инвентарь: • визуализирован и доработан слот ножа; • визуализирован слот бинокля; • количество слотов на поясе для артефактов увеличено до 10; • расширенное описание базовых свойств предметов. 2. Полностью переработанная игровая экономика с возможностью глубокой настройки. 3. Полностью переработанная предметная часть игры: • новые артефакты + переработка старых; • новые костюмы и шлемы + переработка старых; • новые боеприпасы, оружие и обвесы к нему + переработка старых; • доработанная система улучшений снаряжения у техников; • новые продукты и медикаменты + переработка старых; • предметы принципиально нового назначения. 4. Новые тайники + переработка старых. 5. Расширенный интерфейс КПК с новыми возможностями. 6. Доработанные НПС: • множество разнообразных моделей (без отклонения от оригинальной концепции); • разнообразное вооружение и экипировка; • разумное восприятие получаемого урона; • улучшенный интеллект на основе AI Additions и других схем. 7. Возвращены мутанты, вырезанные разработчиками из ранних версий игры. 8. Исправление некоторых ошибок оригинала, доработка диалогов и квестов. 9. Прочие геймплейные особенности: • новые достижения + доработка старых; • система пси-здоровья и усталости; • система рангов и репутации; • возможность вести бартер; • работоспособный режим от третьего лица; • доработанная система учёта получаемого персонажем урона; • дополненный вступительный ролик; • настройки, позволяющие выборочно отключать показ индикаторов на HUD'е.
Чего нет в этой модификации: • Нового сюжета и новых квестов. • Глобальных графических изменений. • Изменений визуальной части оригинального оружия.
Возможность глубокой настройки игровой экономики перед стартом и во время игры.
Расширенные возможности КПК и восстановленные мутанты.
Переработанная торговля.
Возможность вести натуральный обмен (бартер).
Новые артефакты.
Переработанная система апгрейдов.
Новое оружие
Новые достижения
Расширенный инвентарь
Важно: 1. Ресурсы модификации не самостоятельны. Для работы требуется установленная чистая игра Stalker COP v1.6.02. Самостоятельный репак от автора будет позже. 2. Сохранения оригинала и предыдущих версий аддона работать не будут.
Информация рекомендательного характера (делать это не обязательно). Скачать с официального сайта Microsoft и установить пакеты DXSDK_Mar09 и DXSDK_Jun10. Каждый пакет, в среднем, имеет объём в 550 Мб. Пакет 1 Пакет 2
Благодарю, уважаемый Shugar, с экзой разобрался, действительно, не бегала из за превышения мной скорости бега в "акторе". И не могли бы Вы мне подсказать, где уменьшить музыку на Затоне в версии 0.03d? Там в файле lex_radio я нашёл лишь строки: snd~=nil and snd:playing() and (level.get_time_hours()<8 or level.get_time_hours()>=22 or dialogs.is_surge_running()) then Попробовал сделать так: snd~=nil and snd:playing() then Убрав последнюю строку, словил вылет: Expression : !m_error_code Function : raii_guard::~raii_guard File : ..\xrServerEntities\script_storage.cpp Line : 748 Description : ...t.a.l.k.e.r. - lex addon\gamedata\scripts\lex.script:930: attempt to index global 'lex_radio' (a nil value) Версию 0.03д уже установил и отладил, прошёл почти весь Затон, не хочется всё заново переустанавливать на самую последнюю и начинать с начала.
Я нашёл Ваш мод на другом сайте. Там была версия v0.03d, которая озвучивалась как последняя.
0.03d безнадёжно устарела. Рекомендую установить текущую актуальную версию (ссылки для загрузки есть в шапке темы). Таким образом вы избавитесь от множества потенциально возможных проблем, связанных с недоработками предыдущих релизов.
ЦитатаNablyudatel ()
Это может быть от того, что я выставил слишком большую скорость бега в файле actor?
Так и есть. Персонаж на такой скорости просто ударяется о неровности рельефа и объекты, тем самым получая урон. А получая урон, даже небольшой, режим бега переключается на режим шага. Дело в том, что у этого костюма есть собственная добавка к скорости передвижения. В основном, эта опция доступна только после апгрейдов у техников или же при использовании определённых артефактов.
ЦитатаNablyudatel ()
attempt to index global 'lex_radio' (a nil value)
Допущена синтаксическая ошибка. Иными словами, не соблюдены правила написания кода. Проверяйте внимательнее. Если вы скопировали кусок кода абсолютно идентично тому, как он есть в файле, то в первой строке однозначно не хватает оператора elseif elseif snd~=nil and snd:playing() then
skipwinter, детальная проработка - один из основных критериев при создании дополнения.
Сообщение отредактировал Suhar_ - Воскресенье, 14.10.2018, 23:22
Приветствую! Последовал Вашему совету, уважаемый Shuhar, установил самую последнюю версию и не пожалел. Всё то же, что рассказывал хорошего о версии 0.03d, только ещё круче. Ещё раз спасибо Вам за мод, лучше его по функционалу на ЗП не встречал. Пока на Затоне, ни одного вылета.
Если вы скопировали кусок кода абсолютно идентично тому, как он есть в файле, то в первой строке однозначно не хватает оператора elseif elseif snd~=nil and snd:playing() then
Камрад, в последней версии мода исправил громкость музыки на Затоне, как Вы и написали. Строчки теперь выглядят так: elseif snd~=nil and snd:playing() then snd.volume = level.get_snd_volume()/2 lex_flags.zaton_radio_last_sound = snd После загрузки ловлю вылет: Expression : !m_error_code Function : raii_guard::~raii_guard File : ..\xrServerEntities\script_storage.cpp Line : 748 Description : ...t.a.l.k.e.r. - lex addon\gamedata\scripts\lex.script:933: attempt to index global 'lex_radio' (a nil value)
Это радует, но зарекаться не стоит. Проблемные моменты в аддоне всё-таки присутствуют.
Вот вам полный скрипт.
-- Апдейт радио на Скадовске function update_zaton_radio() local zaton_radio_object_id = lex_flags.zaton_radio_object_id local obj = nil if zaton_radio_object_id then obj = level.object_by_id(zaton_radio_object_id) local snd = lex_flags.zaton_radio_last_sound local snd_start_time = lex_flags.zaton_radio_last_played_sound_time if has_alife_info("zaton_radio_switched_off") then if snd~=nil and snd:playing() then snd:stop() lex_flags.zaton_radio_last_sound = nil end return elseif obj and -- Запускам радио, если игрок в зоне перехода объекта в "онлайн" distance_between(obj, db.actor)<=120 and not is_night() and not dialogs.is_surge_running() and (snd==nil or ((time_global()>=(snd_start_time+7*60*1000)) and not snd:playing())) then snd = generate_random_radio_sound() local pos = vector():set(0,0,0) -- Рупор под потолком pos.x = 125.43 pos.y = -3.65 pos.z = 179.47 --[[ Проигрыватель на продуктовой полке 123.93 -4.95 175.57 ]] snd:play_at_pos(obj, pos, 0, sound_object.s3d) lex_flags.zaton_radio_last_sound = snd lex_flags.zaton_radio_last_played_sound_time = time_global() elseif snd~=nil and snd:playing() then snd.volume = level.get_snd_volume()/2 lex_flags.zaton_radio_last_sound = snd end else for id = 0, 65535 do obj = level.object_by_id(id) if obj then local obj_name = obj:name() if obj_name=="zat_a2_sc_barmen" then lex_flags.zaton_radio_object_id = id return end end end end end
-- Случайный выбор музыки из списка function generate_random_radio_sound() rnd = math.random(1, 9) local snd = sound_object("music\\radio_music_"..rnd) if rnd==3 then snd.volume = 0.40 else snd.volume = 0.30 end return snd end
-- Проверка, играет ли сейчас музыка function is_zaton_radio_working() local snd = lex_flags.zaton_radio_last_sound if snd then return snd:playing() end return false end
-- Проверка на время суток function is_night() local time_hours = level.get_time_hours() if time_hours<8 or time_hours>=22 then return true end return false end function is_day() return not is_night() end
Сообщение отредактировал Suhar_ - Понедельник, 15.10.2018, 22:30
Камрад, дико извиняюсь, но тот же самый вылет: Expression : !m_error_code Function : raii_guard::~raii_guard File : ..\xrServerEntities\script_storage.cpp Line : 748 Description : ...t.a.l.k.e.r. - lex addon\gamedata\scripts\lex.script:933: attempt to index global 'lex_radio' (a nil value) Скрип вставил целиком, как Вы выложили. Грузился с разных сохранок, вылет один и тот же. Вернул взад оригинальный файл, всё грузится, как по маслу. Может надо начинать НИ?
Nablyudatel, предполагаю, что дело в вашем текстовом редакторе. НИ не нужна, сохранки тоже ни при чём. Отправьте мне в ЛС адрес электронной почты, передам рабочий файл таким образом.
Сообщение отредактировал Suhar_ - Вторник, 16.10.2018, 07:37
Уважаемый Suhar_, в очередной раз благодарю Вас за присланный файл. Скачал, установил. Вылет поменялся. Теперь вылетает с логом: Expression : g_uiSpotXml->NavigateToNode(path_base,0) Function : CMapLocation::LoadSpot File : .\map_location.cpp Line : 106 Description : XML node not found in file map_spots.xml Arguments : 08]Бывай.
Это что ещё за чудо? Такой вот лог? Ничего не путаете? Вылетает во время загрузки?
Честно признаюсь, я сам был в шоке по колено, когда его прочитал. Никогда не встречал ничего подобного. Грузился с трёх разных сохранок. Игра грузится, показывает перечень сохранений, нажимаю на выбранное, пошла загрузка, но вместо открытия сохранения, вот такой вот вылет. На всякий случай даже переустановил Ваш файл два раза. Всё тот же вылет. Вернул оригинальный файл, всё грузится на 5+.
Цитатаcrystal ()
Это, я так полагаю, движок форума принял часть лога за BB-код.
На форуме отобразился слово в слово, как в оригинальном логе.