Перейти к контенту
monk

OGSM CS 1.8 CE Fixes

Рекомендуемые сообщения

но тоже проверить не могу. А вообще, лучше такие вещи на апдейт не вешать, вместо этого стоит сделать дополнительную проверку в нужном месте прямо в inventory_upgrades.script. Ещё лучше перелопатить таки все возможные места ухода наличности в минус.

function update()
local actor=db.actor
if (actor) then
local money=actor:money()
if (money<0) then
actor:give_money(-money)
end
end
end

 

 

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

2 - В Рыжем Лесу у перехода в Лиманск слева есть железная дверь которую не открыть. Если пройти сзади то можно обойти переход в Рыжий Лес сзади. И в общем в чем смысл двери та?   :wacko2:

5 - Дыра в заборе на Кордоне где-то в северно-восточной части ведущей хз знает куда (возможно невидимая стена). Никогда не замечал, было замечено в The Very Anarchy Cell. Интересно че с ней делать.

6 - Тама же был перенесен наверх западный переход Кордон - Свалка. Итог: огромная часть впадины Кордона доступно игроку. Сама впадина ведет к туннелю который и выходит на Свалке 

1. Дверь ведет в спавн-помещения, закрыта для того что бы ГГ не совал туда свой нос, ибо там тупо коробка.

2. Думаю там был переход на Свалку, в район леса.

3. На месте перехода невидимая стена, придется ее убирать.

Собственно Кордон: 2f2098c1e1.png

Если бы кто-то "починил" Янтарь и прикрутил его к ОГСМ ЧН - это было бы очень здорово, всё остальное вполне терпимо и незначительно. monk

Изменено пользователем monk

3bb044e2dd1d175.png

Так же был известен как: EnTaGgg, alewka_ph

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
лучше перелопатить таки все возможные места ухода наличности в минус.

 

Их всего два: это уход в минус при ограблении в подвале Барахолки и апгрейд поломанного оружия (с бронёй не проверял, но уверен, что та же песня) у механиков.

С первым справился ты - когда прописал бандитам брать только половину денег при проходе на Свалку. В результате этой правки теперь у ГГ всегда есть что отнять в подвале Барахолки. Хотя и остаётся вероятность того, что ГГ явится в подвал Барахолки с 0 денег в кармане.

Со второй... Решение вижу в том, чтобы запретить механикам при апгрейде заодно и ремонтировать предмет. То есть апгрейд устанавливается, но состояние оружия от этого не улучшается (то есть не чинится). Но как это реализовать - даже не предположу.

le3CXc4.png

WkiC6NB.png

4IkrgtF.jpg

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Заменить имеющиеся аналогичные функции.

function effect_functor_a( param2, section, loading ) --( string, string, int )
    if loading == 0 then
        local price = char_ini:r_u32(section, "cost")
        local money = db.actor:money()
        if money < price then price = money end
        xr_statistic.inc_spent_money_counter(price)
        db.actor:give_money(price*-1)
    end
end

function effect_repair_item( item_name, item_condition ) --( string, float )
    if mechanic_name ~= "kat_cs_commander" then
        local price = how_much_repair( item_name, item_condition )
        local money = db.actor:money()
        if money < price then price = money end
        xr_statistic.inc_spent_money_counter(price)
        db.actor:give_money(price*-1)
    end
end

 


Возможность обычной починки определяется дополнительно другой функцией, и если у героя меньше денег, чем нужно, починить предмет ему просто не дадут.
А вот в случае починки обновременно с апгрейдом починка в случае недостатка денег обойдётся дешевле (можно считать, что герою дана скидка) или вообще бесплатно, если наличности имеется только на апгрейд. Но в минус деньги не уйдут.
Проверять наличие средств одновременно и для апгрейда и для починки не получится, так как соответствующие функции вызываются движком независимо друг от друга и принимают недостаточные для объединённой проверки аргументы.

 

Попробовал этот вариант - работает. Думаю на этом и остановиться. Большое спасибо за помощь. monk

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Идеи и пожелания:

1 - как бы реализовать возможность засоса кровососа как в ЗП? Для ТЧ есть подобный мод, но не хочет адаптировать под ЧН (насколько помню вылет связан с тем что в ЧН нету какого-то тама метода).

2 - монстры не могут атаковать на бегу. В итоге если от собак или кабанов просто идти назад, то они в 99% случаев не смогут нанести урон. Подбегают, останаливаются, кусаются, неудача и так далее. Прям забава какая-та. :rolleyes:

Как вылечить. Восстановить атаку монстров на бегу (движок) или же менять различные параметры атак (скорость, дистанция и так далее).

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
невидимая стена, придется ее убирать.

Я так понял эти невидимые стены относятся к level.cform. Если ее убрать и перекомпилить локу (не смотря на качество геометрии, думаю все подойдет кроме драфта), то можно спокойно юзать. Так же можно эту стену поставить вдоль того забора на Янтаре. 

 

Осталось только найти того, кто это сделает. monk

Изменено пользователем monk

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

http://fotoifolder.ru/view_foto/iz8q2fivuhmd/

Как выяснилось, закрывать эту калитку нельзя, так как окажешься в ловушке - зайти в этот двор можно, но вот выйти никак. Только через эту калитку. А всё из-за того, что здания, окружающие двор "пропускают" ГГ только в одну сторону - во внутрь двора (хотя с другой стороны - нефиг было туда лезть :)). Так что надо искать свободного мапера и просить переделать Янтарь.

le3CXc4.png

WkiC6NB.png

4IkrgtF.jpg

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

@monk, Я не обещаю, но постараюсь сделать правки Янтаря и Кордона к релизу Old Story, после можно будет выдрать build.cform оттуда, опять же если я доделаю. Кордон осталось скомпилировать. На янтаре как я понял нужно поставить две стены, одну у перехода в Рыжий Лес, а другую со стороны аномалии где документы берем, чуть дальше у зданий?

Товарищ macron сказал что можно скомпилировать новый, прервав компилятор на стадии "Build UV mapping" или позже, далее подставить новый Level.cform в свой ранее скомпиленный уровень.

Изменено пользователем Chriotmao

3bb044e2dd1d175.png

Так же был известен как: EnTaGgg, alewka_ph

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ты немного не так понял, Chriotmao. В северной части Янтаря нужно загородить колючей проволокой обрыв, в который может свалиться игрок и исправить ошибку в построении зданий, чтобы игрок мог попасть в зону перехода Янтарь - Рыжий лес только легальным путём, т.е. через ворота внутри завода.



В спойлере находятся скриншоты ошибок в дизайне северной части Янтаря:

 

 

38694222_1057207_1057206.jpg38694223_1057209_1057208.jpg38694224_1057211_1057210.jpg38694225_1057213_1057212.jpg

 

 

 

Здания исправлять не обязательно. Достаточно перегородить два пустых участка (между заборами) и всё - игрок уже не сможет пройти за сами здания завода. monk

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

В спойлере находятся скриншоты ошибок в дизайне северной части Янтаря

Больше туда не попасть, я поставил невидимые стенки по всему периметру Янтаря.

3bb044e2dd1d175.png

Так же был известен как: EnTaGgg, alewka_ph

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

В спойлере находятся скриншоты ошибок в дизайне северной части Янтаря

Больше туда не попасть, я поставил невидимые стенки по всему периметру Янтаря.

 

Хмм... Постоянное утыкание игрока в невидимые стенки - это не есть гут. Например, это меня бесило в Рыжем лесу. Наилучшим решением было бы продолжение забора с места, указанного на первом скриншоте.

 

Это долгая переделка. Стены дешевле и проще, а главное - это исправлена ошибка. monk

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 


Постоянное утыкание игрока в невидимые стенки - это не есть гут.

Сделайте лучше, если это удовлетворит товарища monk, ваш уровень попадет в фиксы :)

О чем речь, была проблема - она исправлена, уровень стандартный, но с исправленными косяками GSC.

Изменено пользователем Chriotmao

3bb044e2dd1d175.png

Так же был известен как: EnTaGgg, alewka_ph

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Небольшие предложения по фиксам.

1 - Внедрить часть мода Антимыло (за авторством macron). Исправляет жженую траву, возвращает блеск стеклам научников и добавляет пару шейдерных плюшек. По желанию можно и пофиксенные текстуры detail (уменьшает размытие, но увеличивает тайлинг, по вкусу).

Жженая трава и муть вода

До - http://images.gameru.net/image/142639edbe.jpg

Норм трава и норм вода почти как на r2

После - http://images.gameru.net/image/e9634bb7dd.jpg

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

Тень от винта это:

1 - красиво

2 - эффектно

3 - разнообразит скучный и отвратительный ЧНовский вариант подземки Агро

Изменено пользователем power-cat

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

- Как исправить косяк в квесте, где надо спасать брата Волка? Косяк заключается в том, что спасённому брату Волка можно не давать оружие (как предписано в квесте), но всё равно закончить квест.

 

Заменить в файле dialogs.script соответствующие 3 блока по 3 функции с аналогичными именами (начинаются примерно со строки 450):

 

--------------------------------------------------------------------------------
function transfer_any_pistol_from_actor(first_speaker, second_speaker)
	local npc = who_is_npc(first_speaker, second_speaker)
	db.actor.pistol = nil
	db.actor:iterate_inventory(is_pistol, npc)
	if db.actor.pistol ~= nil then
		db.actor:transfer_item(db.actor:object(db.actor.pistol), npc)
		news_manager.relocate_item(db.actor, "out", db.actor.pistol)
		db.actor.pistol = nil
	end
end

function is_pistol(npc, item)
	local section = item:section()
	if(section=="wpn_beretta")
	or(section=="wpn_colt1911")
	or(section=="wpn_aps")
	or(section=="wpn_desert_eagle")
	or(section=="wpn_fort")
	or(section=="wpn_hpsa")
	or(section=="wpn_tt33")
	or(section=="wpn_pb")
	or(section=="wpn_pm")
	or(section=="wpn_gsh18")
	or(section=="wpn_usp")
	or(section=="wpn_walther")
	or(section=="wpn_fn57") then
		db.actor.pistol = section
	end
end

function have_actor_any_pistol(first_speaker, second_speaker)
	local npc = who_is_npc(first_speaker, second_speaker)
	db.actor.pistol = nil
	db.actor:iterate_inventory(is_pistol, npc)
	return db.actor.pistol ~= nil
end

--------------------------------------------------------------------------------
function transfer_any_gun_from_actor(first_speaker, second_speaker)
	local npc = who_is_npc(first_speaker, second_speaker)
	db.actor.gun = nil
	db.actor:iterate_inventory(is_gun, npc)
	if db.actor.gun ~= nil then
		db.actor:transfer_item(db.actor:object(db.actor.gun), npc)
		news_manager.relocate_item(db.actor, "out", db.actor.gun)
		db.actor.gun = nil
	end
end

function is_gun(npc, item)
	local section = item:section()
	if(section=="wpn_abakan")
	or(section=="wpn_ak74")
	or(section=="wpn_ak74_priklad")
	or(section=="wpn_ak101")
	or(section=="wpn_ak108")
	or(section=="wpn_akm")
	or(section=="wpn_ak74u")
	or(section=="wpn_groza")
	or(section=="wpn_sig550")
	or(section=="wpn_sig220")
	or(section=="wpn_fn2000")
	or(section=="wpn_g36")
	or(section=="wpn_l85")
	or(section=="wpn_lr300")
	or(section=="wpn_mp5")
	or(section=="wpn_ump45")
	or(section=="wpn_rpk")
	or(section=="wpn_val")
	or(section=="wpn_vihr")
	or(section=="wpn_vintorez") then
		db.actor.gun = section
	end
end

function have_actor_any_gun(first_speaker, second_speaker)
	local npc = who_is_npc(first_speaker, second_speaker)
	db.actor.gun = nil
	db.actor:iterate_inventory(is_gun, npc)
	return db.actor.gun ~= nil
end

--------------------------------------------------------------------------------
function transfer_any_shootgun_from_actor(first_speaker, second_speaker)
	local npc = who_is_npc(first_speaker, second_speaker)
	db.actor.shootgun = nil
	db.actor:iterate_inventory(is_shootgun, npc)
	if db.actor.shootgun ~= nil then
		db.actor:transfer_item(db.actor:object(db.actor.shootgun), npc)
		news_manager.relocate_item(db.actor, "out", db.actor.shootgun)
		db.actor.shootgun = nil
	end
end

function is_shootgun(npc, item)
	local section = item:section()
	if(section=="wpn_bm16")
	or(section=="wpn_bm16_full")
	or(section=="wpn_toz34")
	or(section=="wpn_wincheaster1300")
	or(section=="wpn_spas12")
	or(section=="wpn_saiga") then
		db.actor.shootgun = section
	end
end

function have_actor_any_shootgun(first_speaker, second_speaker)
	local npc = who_is_npc(first_speaker, second_speaker)
	db.actor.shootgun = nil
	db.actor:iterate_inventory(is_shootgun, npc)
	return db.actor.shootgun ~= nil
end

 

 

Заодно рекомендую в функциях is_pistol, is_gun и is_shootgun проверить и при необходимости исправить списки, соответственно, пистолетов, автоматов и ружей, которые могут быть отданы брату Волка.

 

Upd: исправил синтаксическую ошибку в функции is_shootgun.

 

Спасибо, всё работает, как и должно. monk

Изменено пользователем monk

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

А можно вылечить косяк на Кордоне? 

Вот мы идем с деревни новичков к блокпосту, смотрим в бинокль, никого тама нету. :blink: Еще идем, и тут игра зависает секунд на десять и резко появляются солдафоны. То-же самое в Лиманске у фонтана, игра зависает правда секунд на пять. Спавнятся сквады, эт понятно, но как-то жутко механично и портят "непрерывность" игры.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

@ power-cat:

Очень интересно... Т.е. изначально на блокпосту находятся только пулемётчик и небольшая группа солдат, которые должны прочесать место обнаружения сталкера?

Изменено пользователем monk

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

На блокпосту именно никого нету и они появляются только когда ГГ близко подойдет. Собачки кстати тама есть (которые перебегают дорогу туда сюда жутко механично) и очень забавно когда игра зависает, а собаки телепортируются в другую сторону.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Что-то новостей давно нету. monk, может порадуешь новыми нововведениями? :)

 

Времени чертовски не хватает - конец года, на работе запара. Делаю урывками. monk

Изменено пользователем monk

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Что-то новостей давно нету.

 

Что уже есть сделанного:
 
- Исправлена ситуация, когда квесты на доставку ПДА с погибшего блокпоста «Свободы» и на ПДА Щукина можно было сдать лидеру «Свободы» не имея этих предметов в инвентаре.
- Исправлена прощальная озвучка Лесника. Теперь она отыгрывается правильно - только тогда, когда ГГ в самом деле уходит.
- На стоянку «Брошенный хутор» (АС) добавлена модель кострища.
- Псевдогиганту добавлены отсутствующие бампы зубов.
- Исправлена ситуация, когда деньги у ГГ уходили в минус.
- Исправлена ситуация в квесте спасения брата Волка, когда можно было не отдавать Псу оружие, как это требуется по условиям квеста, но всё равно закончить квест. 
- Теперь передовой отряд «ЧН» в Лиманске будет спавнится не с началом новой игры (вопрос: как они там оказались?), а только после того, как ГГ получит задачу идти в Лиманск.
- Исправлена модель item_yad.ogf. Теперь при выбрасывании ядулина на землю раздаётся звук стекла, а не звук деревянного ящика.
- Исправлена геометрия локации Янтарь. Теперь ГГ не сможет выйти за её пределы.
- Убран технотронный писк у тушканов.
- Отключил переход с Кордона в Тёмную долину. Появится только после разговора со «свободовцами» на блокпосту.
- Отключил переходы со Свалки в Тёмную долину. Появятся только после того, как ГГ получит информацию от Васяна.
- Дневной торговец на Барахолке теперь и вправду торгует только днём. Там же: убрал торговлю с Авоськой, его диалог никак не предполагает общение с ГГ, какая уж там торговля.
- Йога, Дикий Напр, Чехов теперь не стоят, как каменные истуканы, а реагируют на присутствие собеседника (поворачиваются в сторону ГГ).
- ПДА Клыка будет спавниться в подвале Барахолки только после того, как ГГ принесёт Чехову ПДА Щукина.

- "Компас" будет спавнится в РЛ только после того, как Лесник выдаст на него квест.

 

З.Ы. Пункты изменений просто перечислены, в ридми к сборнику будут обязательно указаны авторы данных правок.

 

 

 

  • Нравится 3
  • Не нравится 1

le3CXc4.png

WkiC6NB.png

4IkrgtF.jpg

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

- Отключил переход с Кордона в Тёмную долину. Появится только после разговора со «свободовцами» на блокпосту.

- Отключил переходы со Свалки в Тёмную долину. Появятся только после того, как ГГ получит информацию от Васяна.

А стоит ли вообще доводить до логического завершения такие ограничения свободы прохождения мода?

- Отключить переходы с Кордона на Свалку до получения информации от Сидоровича.

- Отключить переходы со Свалки на Агропром до нахождения КПК Клыка в подвале Барахолки.

- Отключить переходы с Агропрома на Янтарь до нахождения тайника Стрелка в подземельях.

- Отключить переход с Янтаря в Рыжий лес до завершения ремонта системы охлаждения установки.

- Отключить переход из Рыжего леса на Армейские склады до разговора с Лесником.

Дело в том, что эти ограничения будут мешать выполнению дополнительных квестов Сидоровича (найти КПК пропавшего сталкера, убить зомбированного) и лидеров группировок (доставить патроны отряду, убить сталкера враждебной группировки), если цель задания окажется на локации, переход на которую ещё недоступен.

 

Шесть дней даётся на выполнение доп. квестов от Сидоровича. Неужели этого не хватит на то, чтобы облазить всю Свалку и переговорить с Васяном? Так же вариант: дополнительные квесты оставить для фриплея, там всё открыто будет. Ещё вариант: если так уж сильно не нравится - скачивать сборник никто не заставляет. monk

 

@ monk:

1. В принципе, для завершения сюжета на паре локаций шести дней вполне хватит. Но ведь при этом для игрока ещё могут быть недоступными и другие локации.

2. Зачем переносить дополнительные квесты Сидоровича и лидеров группировок на фриплей? Лучше сделать их доступными после отправки Шрама к мосту у Лиманска - к тому времени игроку станут доступны почти все локации, кроме четырёх последних, на которые вроде бы не выпадают описанные выше квесты. А задания лидеров по зачистке ключевых точек от мутантов можно оставить без изменения, т.к. в них цель всегда остаётся на текущей локации.

Изменено пользователем monk

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость
Эта тема закрыта для публикации сообщений.
  • Недавно просматривали   0 пользователей

    Ни один зарегистрированный пользователь не просматривает эту страницу.

AMK-Team.ru

×
×
  • Создать...