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

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

@Norman Eisenherz, файлы с кириллицей нужно сохранять в кодировке windows-1251.

  • Согласен 2
  • Полезно 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

Ссылка на комментарий

@Светлячок, несуществующий предмет, вписанный в конфиг торговца (или еще куда-либо, где делается попытка его ИСПОЛЬЗОВАНИЯ) отнюдь не приводит к появлению этого предмета в игре.

Вот к вылетам - да, приводит.

Ссылка на комментарий


@Dennis_Chikin, почему же несуществующий? Он уже есть в игре, и у торговцев в принципе вписан на приобретение. Наверняка, если сильно постараться, его можно прописать и в продажу. 

Но мне было интересно другое решение.

Поскольку получаю его в качестве бонуса за один квест, значит его можно получить и за другой.

Через выдачу тайника - в файле sgm_baze_treasures.ltx - результат неоднозначный: получила необходимое в 1 случае из 4-х. Пытаюсь разобраться почему при прочих равных условиях где-то сработало, где-то нет. 
А насчет вылетов - так они бывают и без всяких правок на оригинальной игре. )))


 

 

  • Нравится 1

Если дела идут не так, как ты хочешь - дай им пройти мимо! Это не твои дела.

Народное интервью

Ссылка на комментарий

@naxac То, что кодировка отличается, помнил, а то, что винду менял и не настроил Notepad++ – нет. С моей внимательностью только моддить…

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

Ссылка на комментарий

Доброго дня всем. Я снова с нубскими вопросами, помогите, кому не жалко :blush:.

 

Затеял отучить военных в "ТЧ" стрелять во все двуногое, что движется, сделал их нейтральными "одиночкам" и ГГ. При этом хочу сделать так, чтобы при приближении к охраняемым объектам они все же открывали огонь - что естественно. Проще всего вроде  - сделать определенные гулаги враждебными игроку.

 

Нашел простенькую функцию в файлах игры, изменил под гулаг блокпоста на Кордоне:

Скрытый текст

function killactor (actor, npc)
    xr_gulag.setGulagEnemy ("esc_blokpost", actor)
end

 

Но... Куда ее прописать правильно, чтоб она запустилась? Я куда только не вписывал, и изменять и так и сяк пытался - результата два: или солдатики в гулаге остаются нейтральными, или - вылет.

Ссылка на комментарий
В 07.02.2019 в 18:02, F.Constantine сказал:

Куда ее прописать правильно, чтоб она запустилась?

В логику рестриктора, который определяет границу охраняемой территории. По входу в рестриктор ГГ или сталкеров-"одиночек" - вызывать эту ф-цию.

  • Согласен 1
Ссылка на комментарий

@AndreySol, Ок, спасибо за ответ. Я сам как-то вначале собирался плясать от зон и рестрикторов. Но потом пришел к выводу, что это лишняя работа. Гулаги уже существуют, менять что-то в их работах мне не нужно - то, что происходит в оригинале ТЧ (актор "подошел слишком близко" - сагрил на себя гулаг), меня вполне устраивает. Опять же - нужные мне гулаги статичны и привязаны к зонам: блокпост на Кордоне и НИИ на Агропроме. Мне просто нужно объявить их враждебными актору, без всяких условий, хоть со старта игры, при том, что в целом я делаю группировку военных нейтральной к ГГ. Это вроде - проще некуда... Но у меня эта функция не работает :blink:. Я ее пробовал активировать и так, и этак, вплоть до того, что из стартового диалога с Сидоровичем пытался включить - блокпост остается нейтральным...

Ссылка на комментарий

Вам заняться нечем?

gulag_escape.script:
function load_states(gname, type)

    if type == "esc_blokpost" then

и далее по тексту.

 

Заменить проверку видимости на проверку расстояния и на агр неписей - ни одна из известных религий не запрещает.

Опять же, с оригинала же, gulag_military.script:

function check_state (gulag) и т.д. - знаменитое покраснение свободы, если рядом есть актор и хоть какие-нибудь враги.

 

Впрочем, рестрикторов там тоже есть. Для надежности.

Изменено пользователем Dennis_Chikin
  • Нравится 1
  • Согласен 1
Ссылка на комментарий
В 07.02.2019 в 18:02, F.Constantine сказал:

при приближении к охраняемым объектам они все же открывали огонь - что естественно

Неестественно.

Устав гарнизонной и караульной службы еще не отменили...

Огонь без предупреждения открывается только при попытке прямого нападения.

Изменено пользователем Змея
Ссылка на комментарий

@Dennis_Chikin, Я с этого и начинал.

Ну вот смотрите:

именно в этот gulag_escape.script

я вписываю:

Скрытый текст

 …

 function load_job(sj, gname, type, squad, groups)
--'--------------------------------------------------------------------------
--' ESCAPE
--'--------------------------------------------------------------------------
    --' Escape blockpost  

 

    if type == "esc_blokpost" then

        xr_gulag.setGulagRelation ("esc_blokpost", game_object.enemy, db.actor)
       end

 

    if type == "esc_blokpost" then
        t = { section = "logic@esc_blockpost_patrol1",
            idle = 0,

...

 

Пробовал в начало, в конец, пробовал с другими функциями:

 

        xr_gulag.setGulagEnemy ("esc_blokpost", actor)

или
        xr_gulag.setGulagGoodwill ("esc_blokpost", -5000, db.actor)

 

пробовал так:

Скрытый текст

 ...

   --' Escape blockpost  

    if type == "esc_blokpost" then

 

        xr_gulag.setGulagRelation ("esc_blokpost", game_object.enemy, db.actor)


        t = { section = "logic@esc_blockpost_patrol1",

            idle = 0,

...

 

Эффекта - ноль. Гулаг остается нейтральным. Что я не так делаю? Или необходимо создавать для этого отдельную функцию? Тогда подскажите, пожалуйста, как ее запустить.

 

В "знаменитом покраснении "Свободы" прописаны куча проверок (на враждебность актора (а я сделал актора нейтральным воякам, как и наоборот), на смерть Лукаша, на принятие квеста от Черепа, и т.д., и т.п.), заканчивается же все на этой самой функции (плюс - на объявлении ГГ врагом всей группировки, что в моем случае не нужно).

Ссылка на комментарий

@Змея

4 часа назад, Змея сказал:

Огонь без предупреждения открывается только при попытке прямого нападения.

Ну, да. Если не воспринимать просто как шутку - напомню, что в игре есть два квеста на "достать документы у военных". Которые при нейтралитете с военными можно выполнить, просто зайдя на базу и взяв чемоданчик - без "прямого нападения" ;). Вот ради них и танцы с бубном.

Ссылка на комментарий

@F.Constantine

Попробуй сделать по правильному: не трогай отношения вояк ко всему остальному, а просто, для тех гулагов вояк, для которых считаешь нужным, проставь "не агрессивность" к ГГ. Пример - блок-пост под мостом на Кордоне.

Насчет квеста, с изъятием чего-то с блок-поста вояк, лучше подумать. как это привести к здравой человеческой логике...

Изменено пользователем AndreySol
Ссылка на комментарий

Разумеется, не будет работать. В момент загрузки работ никаких гулагов в природе не существует. Актора - тоже.

В фрагменте выше как функция называлась ?

  • Согласен 1
Ссылка на комментарий
58 минут назад, AndreySol сказал:

как это привести к здравой человеческой логике...

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

А вообще - я конечно сомневаюсь в самой логике квеста)) ГГ должен украсть доки у вояк - не попавшись?

Анриал...если это настоящие вояки, а не куча алконавтов и тыловых крыс))

Тем более - если ты агришь на ГГ именно этот Гулаг при проникновении, значит предполагается - что ГГ должен вынести этот блокпост. А тут анриал, что остальные вояки про это не узнают.

"Не...Ну я в твои дела конечно не лезу" = Сидорович.

Изменено пользователем Змея
Ссылка на комментарий

@Змея, тем не менее игра позволяет стелсовое прохождение, ночью - ну, на крайняк, пристрелив одного-двух из пистолета с глушителем. Я не совсем понимаю, чем то, что ты описываешь, по результату отличается от того, что есть в оригинале - и что я хочу сохранить :). Отсутствием предупреждения и выстрелов в воздух? Ну да. Можно сделать. Но в принципе ничего не поменяется. А ГГ и так все изначально предупредили, чтоб он от вояк подальше держался. 

Ссылка на комментарий

@Dennis_Chikin, я - идиот, потому что :dash2:.

Все, вроде сделал, как надо, вроде работает, как хотел. Надо потестить на других армейских гулагах еще, но хоть в приципе дошло.

СПАСИБО!

Ссылка на комментарий

@Dennis_Chikin, P.S.

Я вот что сделал, так - это корректно:

Скрытый текст

function load_states(gname, type)

 

    if type == "esc_blokpost" then
        return function (gulag)
            local actor = db.actor


            xr_gulag.setGulagRelation ("esc_blokpost", game_object.enemy, db.actor)


            if not actor then
                return gulag.state
            end

            for k,v in pairs(gulag.Object) do
                if v ~= true and v:best_enemy() ~= nil then
                    gulag.alarm_start = game.get_game_time()
                    actor:give_info_portion("esc_blockpost_alarm")
                    return 2 -- тревога
                end
            end

            if gulag.alarm_start == nil or
                game.get_game_time():diffSec(gulag.alarm_start) > 300 then
                if level.get_time_hours() >= 6 and level.get_time_hours() <= 22 then
                actor:give_info_portion("esc_blockpost_normal")
                    return 0  -- день
                else
                    return 1  -- ночь
                end
            else
                return 2
            end
        end
    end

?

Ссылка на комментарий

@Змея, тоже - P.S.

55 минут назад, Змея сказал:

ГГ должен вынести этот блокпост. А тут анриал, что остальные вояки про это не узнают.

На этот случай, как я понимаю, через game_relations.ltx можно очень просто организовать снижение relations вояк к главгерою за каждое "противоправное действие". Завалит нескольких "сапогов" - станет врагом группировки, что будет вполне естественно. Тут уж - личный выбор и его результаты: хошь сохранить нейтралитет - ползай на пузе ночью и пытайся по тихому стибрить чемоданчик, не хошь - выноси всех, но потом не обижайся.

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

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

AMK-Team.ru

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