Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Моды, фиксы для патча 1.5.05
GAMEINATOR forums > S.T.A.L.K.E.R. > S.T.A.L.K.E.R. Архив > S.T.A.L.K.E.R. Архив по модификациям
fen1x
Фикс для игры версии 1.5.05

]]>fixme_07.10.08]]>

1) Болото. Исправлена ошибка, из-за которой не работали четыре ассортимента у торговца, в зависимости от состояния войны с ренегатами.
2) Кордон. Исправлена ошибка, из-за которой невозможно получить тайник с флешкой от Бродяги.
3) Кордон. Исправлена ошибка, из-за которой невозможно снять флешку с трупа Генерала.
4) Янтарь. Исправлена ошибка, из-за которой невозможно попасть к Сахарову, дверь в бункер закрыта.
5) Склады. Убрано появление 'пройденного' задания с Янтаря: следовать на крышу ангара за сталкером.
6) Болото. Восстановлено одно не работавшее второстепенное задание.
7) Везде. Исправлен вылет при попытке лечения любого раненного ЧН-ца.
8) Везде. Исправлено странное исчезновение сталкеров рядом с ГГ.

Спасибо IG-2007, форумы аг.ру
Shot
А что из архива отвечает за флешки? Хочу получить их и играть дальше без модов..
nemnogonado
Shot,
А где здесь мод? o_O.gif
Там в редми все подробно описано,что где исправляет.

P.S. Спасибо IG-2007, форумам аг.ру и fen1xbiggrin.gif
Shot
Для меня мод/фикс без разницы, тк они праят конфиги, а я активно играю по сети. Поэтому я и хотел что бы флешки были в моем сейве, а фикс снести. В прочем уже не нужно.

Извеняюсь за оффтоп.
Борфет
Громадное спасибо IG-2007, форумам аг.ру и fen1x'у! Поправили как раз то, что больше всего меня выкашивало! Большой респект!!!
nike88
Мелочи, а приятно smile.gif
A.B.
fen1x, я не знаю, как ты относишься к АМК форуму. Прошу извинения, что без разрешения разместил там твой фикс. Мне кажется, что хорошее должно увидеть много поклоников Сталка. Оформил всё, как положено. Вот ссылка ]]>http://amk-team.ru/forum/index.php?showtopic=1433&st=20]]>
fen1x
Цитата(A.B. @ 02.10.2008, 19:59) *
Прошу извинения, что без разрешения разместил там твой фикс

Дружище, я очень хорошо отношусь к амк форуму. Тут нет проблемы. Проблема в том, что фикс не мой, я только дал ссылку. Автор IG-2007 с форумов ag.ru. Все вопросы, благодарности ему:
]]>http://forums.ag.ru/?action=viewprofile&username=IG-2007]]>
И, пожалуй, будет лучше, если меня ты уберешь, а оставишь упоминание лишь о IG-2007.
A.B.
Сейчас исправлю.
IG-2007
Фикс для игры версии 1.5.05

]]>fixme_05.10.08.rar]]>

Список исправлений.

-----01.10.08-----
1) Болото. Восстановлены четыре ассортимента у торговца, в зависимости от состояния войны с ренегатами.
2) Кордон. Исправлена ошибка, из-за которой невозможно получить тайник с флешкой от Бродяги.
3) Кордон. Исправлена ошибка, из-за которой невозможно снять флешку с трупа Генерала.
4) Янтарь. Исправлена ошибка, из-за которой невозможно попасть к Сахарову, дверь в бункер закрыта.
5) Склады. Убрано появление 'пройденного' задания с Янтаря: следовать на крышу ангара за сталкером.

-----05.10.08-----
6) Болото. Восстановлено одно не работавшее второстепенное задание.
7) Везде. Исправлен вылет при попытке лечения любого раненного ЧН-ца.
8) Везде. Исправлено странное исчезновение сталкеров рядом с ГГ.
HikeR
IG-2007, вопрос давно крутится:
Цитата
#778-- return relation_registry.community_goodwill(p[1], db.actor:id())>1000
#778++ return relation_registry.community_goodwill(p[1], db.actor:id())>=1000

при вступлении в группировку отношение устанавлиявается в +1000, далее его можно еще больше поднять выполняя задания. то есть одного факта встепления недостаточно. разве это ошибка?
IG-2007
HikeR
Цитата
при вступлении в группировку отношение устанавлиявается в +1000, далее его можно еще больше поднять выполняя задания. то есть одного факта встепления недостаточно. разве это ошибка?

Основные тесты проводил на версии 1.5.04. Перед выходом с Болот (все задания ЧН выполнены) функция relation_registry.community_goodwill для csky возвращала ровно 1000. Возможно в пятом патче это как-то изменено, а я это плохо проверил...
Проверял так: загрузил сейв перед выходом с Болот, нашёл ком. отряда и выполнил для него задание на патроны. Ассортимент торговца так и не изменился.
HikeR
так, давайте по очереди (скорее для себя расписываю):

ассортимент торговца (остановимся на чистонебовском) описан такой конструкцией:
Код
buy_supplies = {=is_csky_at_expansion_3_or_higher} supplies_exp_3,
            {=is_csky_at_expansion_2} supplies_exp_2,
            {=is_csky_at_expansion_1} supplies_exp_1,
            supplies_generic

is_csky_at_expansion_(1,2,3) - ф-ии проверки "продвижения по службе" из xr_condition.script:
они отрабатывают правильно, все 3 стадии на болотах появляются согласно конфигам. то есть новые вещи в ассортименте могут быть доступны, однако их появление сдерживает секция [trade_generic_sell], в которой эти вещи запрещены к продаже. нужная нам секция [trade_friend_sell] должна открыться после набора репутации больше 1000.
однако когда у меня была репутация 825 и я принес квестовый ПМм, за который должны были дать 300 очков, репутация остановилась на 1000 ровно.

то есть проблема где-то в этом.

add:
нашел таки. ф-ия task_manager.CRandomTask:task_callback(task, completed):
Код
346: local relation = db.actor:community_goodwill(self.task_info[task_id].community) + delta
347: if(relation>1000) then
348:    relation = 1000
349: elseif(relation<-3000) then
350:     relation = -3000
351: end
352: db.actor:set_community_goodwill(self.task_info[task_id].community, relation)
IG-2007
Цитата
нашел таки. ф-ия task_manager.CRandomTask:task_callback(task, completed):

Получается, что набор репутации на квестах более 1000 ограничен искуственно... скриптами.

Можно было бы убрать ограничение здесь, но не вылезут ли другие странности?
1) При определённых действиях кто-то должен стать врагом, но не станет из-за слишком хорошей репутации до этого.
2) Возможно репутация ограничена битностью переменной для хранения этих данных и при привышении некоего порога начнутся другие глюки с репутацией.

Всё это требует отдельного тестирования или наличия исходников для анализа. К тому же в скриптах есть и другие функции для проверки репутации. В этих функциях используются '>=' или '<='. Поэтому мне проще было исправить именно так, как я это исправил. smile.gif
HikeR
Цитата(IG-2007 @ 06.10.2008, 18:45) *
Поэтому мне проще было исправить именно так, как я это исправил.

я тоже согласен с такой правкой, просто докопаться решил, почему такая фигня.
Цитата(IG-2007 @ 06.10.2008, 18:45) *
Можно было бы убрать ограничение здесь, но не вылезут ли другие странности?

во всех остальных скрипта устанавливающие goodwill такая же проверка стоит, диапазон -3000...+1000.
когда устанавливаются значения enemy и friend они тоже равны -3000 и +1000.
при этом в game_relations.ltx в табличке [communities_relations] есть значения -5000 (в тч тоже такие были).

Цитата(IG-2007 @ 06.10.2008, 18:45) *
Возможно репутация ограничена битностью переменной для хранения этих данных

встречается такая штука:
"отношение персонажа к актеру (или другому NPC) вычисляется по формуле:
attitude = personal_goodwill + community_goodwill + community_to_community + reputation_goodwill + rank_goodwill"

personal_goodwill - нигде не встречается.
community_goodwill - есть в ф-иях в виде db.actor:set_community_goodwill(ля-ля-ля)
и в конфигах в виде set_squad_community_goodwill(red_bridge_bandit_groop_2:killer:enemy)
community_to_community - нигде не встречается
reputation_goodwill - нигде не встречается
rank_goodwill - нигде не встречается

либо эти составные части меняются только в движке, либо действительно не используются. в таком случае диапазон -3000...+1000 всего 4000, а двубайтовое число ограничено -32767...+32768. ну вобщем место дофига ;)
nemnogonado
Цитата
-----05.10.08-----
6) Болото. Восстановлено одно не работавшее второстепенное задание.

Сегодня установил последний фикс и специально сходил на болота,проверить, что за квест такой.Квест взялся и прошелся без проблем. smile.gif
AshenFace
IG-2007

Когда сравнивал ваши фалы с оригинальными заметил, что tm_marsh.ltx и sim_combat.script у вас старые, в патче 1.5.05 они были изменены.

В tm_marsh.ltx сравните строку 214 с файлом в патче.
И в sim_combat.script начиная со строк 110, 283, 420, 945.

Большое спасибо за ваши фиксы!
IG-2007
AshenFace
И вам спасибо.
Так и есть, взял за основу не те файлы.
Подправил: ]]>fixme_07.10.08]]>
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.