Поиграл недавно в S.T.A.L.K.E.R OFFLIFE, полноценный А-лайф порадовал и внёс множество интересностей в игру, НО всему помешала система отношений между кланами, её никто не менял, она осталась от оригинала. После нескольких дней раздумий, я начертил небольшую таблицу, где была показана система расширенных отношений, которую сделать просто (по моему мнению), но поскольку опыта скриптерства у меня нет, то решил выложить идею на всеобщее обозрение, вдруг кто-то реализует в своём моде или отдельно.
Как есть в оригинале:
Любая локация, например - Кордон. Одинокий сталкер шастает по развалинам фермы, в поисках места для ночёвки. Вдруг, появляется ГГ и вырезает бедного НПСа, всё это отражается на отношениях между ГГ и кланами (а одиночки тоже группировка, в скриптовом плане), допустим этот сталкер принадлежал к группировке "Долг", если ГГ и должане до этого были друзьями, то станут нейтралами, если до убийства были нейтралами, то станут врагами. Вроде-бы всё нормально, НО появляется вполне нормальный вопрос - Откуда "Долг" узнал, что их боец был убит, а даже если узнали, то откуда у них имя убийцы? Вот эту проблему и решает моя система.
То, что должно быть для реализации моей идеи:
Во-первых, в оригинале не учитывается наличие маски на ГГ (маской считается любой элемент костюма, который частично или полностью, скрывает лицо), если костюм уникальный, и он был не найден, а куплен, то вводятся некоторые коррективы.
Как я представляю реализацию масок:
Создаётся два файла, в одном список костюмов с масками, во втором список уникальных костюмов с масками, которые имеют уникальный визуальный вид, и их нельзя найти, они либо покупаются у торговцев, либо даются ГГ, как награда за квест, далее в relations.ltx (забыл как он называется), создаётся параметр, допустим - kill_in_mask = true/false
Во-вторых, если убитый сталкер принадлежал к любому клану и имел там высокий ранг/звание, то его убийство в любом случае будет расследоваться, а вероятность того, что убийцу (вас), они найдут составляет 50 (по выбору того, кто будет реализовывать) процентов, но вероятность нахождения убийцы рассчитывается не сразу, а через 2-3 дня (для реалистичности), можно также для всё той-же реалистичности скриптом отправить на место убийства отряд из трёх-четырёх человек, которые прошарят окрестности и обыщут труп убитого.
В-третьих, если глава группировки убит, то группировка скриптом выключается из relations, для этого нужен параметр, который сбрасывается при каждом создании новой игры (а значит он должен быть не в relations) - leader_alive = true/false, если leader_alive = false, то изменить отношения с группировкой не представляется возможным.
И ещё уточнение:
У одиночек leader_alive имеет значение false, поскольку определенного лидера у них нет, а значит убийство сталкера не влияет на отношение с другими сталкерами (в оригинале можно было даже всех одиночек сделать врагами).
Итак, как будет это выглядеть в игре:
ГГ убивает сталкера, если он был не один, а в отряде с кем-то, то агрятся на ГГ только они, отношения с остальными сталкерами не меняется, так как leader_alive стоит false. Если сталкер принадлежал к группировке (исключение - Монолит, у них тоже leader_alive стоит false, по понятным причинам), то запускается скрипт, который через 2-3 игровых дня засчитывает или не засчитывает убийство в отношения ГГ с кланами (соотношения раскрытия убийства выше), также через несколько часов ГГ может обнаружить отряд группировки, к которой принаджелаж убитый НПС, они обшарят труп и окрестности, а затем уйдут. С военными интереснее, военные скорее всего отправят не отряд, а несколько, и это уже будет карательная операция. Также, если ранг убитого НПС в клане был низкий, то убийство расследоваться не будет (исключение - убийство отряда низкоранговых НПС). Теперь о маске - если на ГГ был обычный костюм с маской, то вероятность удачного расследования убийства составляет 90 (вероятность того, что группировка убийство "забудет") и 10 (вероятность того, что расследование будет удачным), если же на ГГ был уникальный костюм с маской, то вероятность переворачивается (10 и 90).
PS: И да, если кто-то реализует, то укажите автора идеи, вам нетрудно, а мне приятно :). Сразу же извинюсь за ошибки, словарь упал в костёр, Ворд ругается матом и не работает
Добавлено (25.07.2014, 16:25) --------------------------------------------- Ах да, если есть чем дополнить - пишите, если кто-то реализует подобное, то это же нам - игрокам, в плюс
Сообщение отредактировал Vulpes_Inculta - Пятница, 25.07.2014, 15:28
Ну, со стандартным а-лайфом эта идея не сходится, а вот теперь, когда есть а-лайф, где любой НПС может жить и путешествовать где угодно, и когда угодно, то данная идея вполне имеет право на жизнь, если найдётся скриптер, который подобное реализует.
Ага, вот просто взять и приписать параметр, и он заработает!
Ну что же вы так, а? Я же написал, что я не скриптер, я не хочу и не буду описывать как создавать новые функции, и чтобы они работали, я описал идею, а скриптер реализует.
Цитатаantonnkz76 ()
В ПДА имеется встроенный некролог.(тем более в журнале сто-пудово должны сохраняться недавние контакты)
Нет, это слишком глупо, поскольку сталкеров вокруг может быть много, а убийство совершит снайпер и тем самым подставит кого-то рядом. К тому же, если мы уже добиваемся реализма, то функционал КПК в сталкере преувеличен (мягко говоря).
Вот вам половник дёгтя, в эту бочку: изменение отношений между ГГ и группировками завязаны в движке. Именно он подсчитывает сколько нужно отнять или прибавить единиц (отношения внутри исчисляются в цифрах) при определённых действиях ГГ по отношению к конкретной группировке. Так, не всегда при убийстве дружественного НПС его группировка становится враждебной, даже при убийстве на глазах. Ко всему, в игре присутствует два типа отношений: между группировками в общем и между субъектами в отдельности. P.S. Да, и утверждение, что
Нет, это слишком глупо, поскольку сталкеров вокруг может быть много, а убийство совершит снайпер и тем самым подставит кого-то рядом. К тому же, если мы уже добиваемся реализма, то функционал КПК в сталкере преувеличен (мягко говоря).
Нет связи с реальностью, если людей вокруг полным полно, то уж они точно различат снайперский выстрел издалека и когда стреляют под ухом, не так ли?
ЦитатаVulpes_Inculta ()
Ну что же вы так, а? Я же написал, что я не скриптер, я не хочу и не буду описывать как создавать новые функции, и чтобы они работали, я описал идею, а скриптер реализует.
Тут скриптами не обойдешься, нужно движок ковырять, благо его исходники в открытом доступе...
Ага, вот просто взять и приписать параметр, и он заработает!
Если он нужен, для собственных скриптов - без проблем. Существует класс ini_file, позволяющий работать с конфигами игры. Движку этот параметр будет безусловно по боку.
;свойства, которые изменяются у сталкеров в ;зависимости от их ранга ;коэффициенты линейно интерполируются для рангов от 0 (novice) до 100 (experienced)
У вас в телефоне тоже контактов нет?(я не про датчик движения и всякую навороченную чепуху, речь идет о такой уже далеко не повседневной штуке как блютуз(когда то давно было очень модно на телефоне иметь)).