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

[SoC] Ковыряемся в файлах


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

@Sen, в xr_conditions есть функция is_day, вот по её образу и подобию.

 

@monk, можно на апдейте проверять активный слот, и если это слот болта (5 вроде), то выводить статик с иконкой болта через get_hud():AddDialogToRender ().

Изменено пользователем naxac
  • Спасибо 1
  • Полезно 1

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

naxac.gif

Ссылка на комментарий
В 25.06.2019 в 12:56, Tristitia сказал:

какие файлы и параметры влияют на раскачивание экрана, при получении урона от мутантов и аномалий?

Это т.н. пост-эффект: https://modfaq.ru/*.ppe

+ т.н. анимации камеры: https://modfaq.ru/*.anm

Хранятся по адресу gamedata/anims

 

Задаются непосредственно в файле: gamedata\config\misc\postprocess.ltx

То что конкретно тебя интересует, именуется в нём:

[effector_monster_hit]
;pp_eff_name		= fire_hit.ppe ; no postprocess
;pp_eff_cyclic	= 0
cam_eff_cyclic	= 0

[effector_monster_hit_0]:effector_monster_hit
cam_eff_name	= camera_effects\hit_front.anm

[effector_monster_hit_1]:effector_monster_hit
cam_eff_name	= camera_effects\hit_right.anm

[effector_monster_hit_2]:effector_monster_hit
cam_eff_name	= camera_effects\hit_back.anm

[effector_monster_hit_3]:effector_monster_hit
cam_eff_name	= camera_effects\hit_left.anm

[effector_monster_hit_4]:effector_monster_hit
cam_eff_name	= camera_effects\hit_front_left.anm

[effector_monster_hit_5]:effector_monster_hit
cam_eff_name	= camera_effects\hit_back_left.anm

[effector_monster_hit_6]:effector_monster_hit
cam_eff_name	= camera_effects\hit_front_right.anm

[effector_monster_hit_7]:effector_monster_hit
cam_eff_name	= camera_effects\hit_back_right.anm

Аномалии пост-эффект задается в её секции, параметром postprocess.

Файлы с префиксом zone_ по пути gamedata\config\misc соответствуют разным аномалиям.

 

 

В 26.06.2019 в 12:10, Houdini_one сказал:

вырезаю квесты с task_manager.ltx

Если ты вдруг пытаешься зачистить игру, под ствои нужды, получить основу, так есть гайд: http://stalkerin.gameru.net/wiki/index.php?title=Как_вырезать_сюжет

А лучше даже, используй уже готовый вариант: https://ap-pro.ru/forum/79-3836-3#1015149

 

В 26.06.2019 в 16:32, monk сказал:

Есть ли возможность отобразить иконку болта на худе

Хм... интересно, почему-то думал, иконка элементарно не задана. Т.е. нету параметров в конфиге болта:

inv_grid_width				= 2
inv_grid_height				= 1
inv_grid_x					= 18
inv_grid_y					= 8

 

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

Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB

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

@AndreySol, не пустая. Скажем так, я уже год разрабатываю мод, а не удалял старое по одной причине - боялся поломать что-то. Сейчас вот дошёл до точки, когда без правок локаций сюжет реализовать не могу, поэтому занимаюсь чем есть, и решил этим. Однотипные квесты у меня есть для новых НПС и для существующего с ТЧ Бармена. Список

  • выглядит так:




  • ;--------Barmen----------------------------------------------------------
    ;-----------Artefact------------
    barmen_find_artefact_1
    barmen_find_artefact_2
    barmen_find_artefact_3
    barmen_find_artefact_4

    ;--------Miller------------------------
    ;-------Defend Lager-------
    miller_eliminate_camp_1
    miller_eliminate_camp_2
    miller_eliminate_camp_3

    ;--------hishnik------------------------
    ;-------Defend Lager-------
    hishnik_eliminate_camp_1
    hishnik_eliminate_camp_2
    hishnik_eliminate_camp_3
    hishnik_eliminate_camp_4

    ;----------Eliminate Camp----
    dolg_eliminate_lager_1
    ;--------Dolg------------------------
    ;----------Defend Camp----
    dolg_defend_lager_1
    ;----------Find Item---------
    dolg_find_item_1
    ;----------Kill Staker-------
    dolg_kill_stalker_1


    Проблема появляется когда удаляю что либо из квестов долга.

@aka_sektor, там они тоже не вырезаны.

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

Ссылка на комментарий
1 час назад, Houdini_one сказал:

когда удаляю что либо из квестов долга.

Возможно, если ты убираешь ВСЕ квесты Долга, это может привести к вылету, т.к. для целой группировки нет ни одного регулярного задания. Оставь хотя бы одно - в этом случае вылета нет?

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

@AndreySol, я пробовал по одному удалять, каждый раз разный квест, но вылетает всё равно.

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

Ссылка на комментарий
1 час назад, Houdini_one сказал:

но вылетает всё равно.

Ну тогда надо внимательно сам вылет смотреть. Ты показал лог:

task_manager.script:828: bad argument #1 to 'pairs' (table expected, got nil) - здесь ф-ция pairs ожидает аргументом таблицу, а вместо нее получает nil.

Найди в каком нить текстовом редакторе, который имеет нумерацию строк, строку 828 в task_manager.script, и скопируй всю ф-цию, в которой эта строка окажется и выложи сюда. У меня 828 строка - это пустая строка в ф-ции "function CRandomTask:init_reward_dialog(dlg, parent)", значит у тебя правленный task_manager.script .

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

@AndreySol, вот:


function CRandomTask:register_target(obj)
    if IsStalker(obj) then
        --' Возможно регистрируется цель для квеста "убить сталкера"
        for k,v in pairs(self.task_id_by_type["kill_stalker"]) do    -------------------- 828 строка
            if obj.alive ~= nil and obj:alive() == true and
                obj:profile_name() == self.task_info[v].target 
            then
                if self.task_info[v].target_objects == nil then
                    self.task_info[v].target_objects = {}
                end
--                printf("@@@register new target %s[%s] for task %s", obj:name(), obj.id, v)
                table.insert(self.task_info[v].target_objects, obj.id)
            end
        end

 

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

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

@Houdini_one, Возможно, проблема связана с тем, что в секции файла task_manager.ltx должен быть хотя бы один квест каждого типа.

При чтении этого файла в task_manager.script создаются таблицы по типу квеста, и если ни одного квеста данного типа нет, то и таблица будет nil. О чем в логе и сказано.

Долговские квесты dolg_defend_lager_1, dolg_find_item_1 и dolg_kill_stalker_1 последние из своих типов, поэтому не получается их удалить.

Изменено пользователем WinCap
  • Спасибо 1

S.T.A.L.K.E.R. CoP Objects (upd 15.11.24)

Ссылка на комментарий
1 час назад, WinCap сказал:

поэтому не получается их удалить.

Да нет, удалить наверное можно будет, надо просто скрипт поправить, как то так:

        --' Возможно регистрируется цель для квеста "убить сталкера"

      if self.task_id_by_type["kill_stalker"] then -- попробуй добавить такую проверку на наличие чего нить в таблице
        for k,v in pairs(self.task_id_by_type["kill_stalker"]) do    -------------------- 828 строка

        ....

      end -- не забудь

Если квестов такого типа нет, то и регистрироваться ничего не будет. Но надо тестить, ведь вышеприведенное место в коде может быть не единственным, где пытаемся что нить читать из таблицы task_id_by_type...

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

Ещё вопрос.
Есть у меня вот смарт террейн, в котором 5 сталкеров. Со мной есть 5 сталкеров (тоже в смарт террейне, но другом), я так же в группировке сталкер. Как первых 5 сталкеров сделать врагами мне и моим сталкерам?

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

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

I@Houdini_one, как-то так, наверное:



-- задать отношение между гулагами, работает только если оба гулага в онлайне

function set_gulags_relation(gname1, gname2, relation)

  local gulag_1 = xr_gulag.get_gulag(gname1)

  local gulag_2 = xr_gulag.get_gulag(gname2)

  if gulag_1 and gulag_2 then

    for id, obj in pairs(gulag_1.Object) do

      if obj ~= true and level.object_by_id(id) then

        for iid, oobj in pairs(gulag_2.Object) do

          if oobj ~= true and level.object_by_id(iid) then

            obj:set_relation( relation, oobj )

            oobj:set_relation( relation, obj )

          end

        end

      end

    end

  end

end

 

function quarrel()

  set_gulags_relation("имя_смарта_1", "имя_смарта_2", game_object.enemy)

  xr_gulag.setGulagEnemy("имя_смарта_2", db.actor)

end	

  • Спасибо 1

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

naxac.gif

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

Всем привет.
Заметил такую интересную штуку. Есть у меня 2 НПС. Я их убиваю, после чего подбираю их оружие (одинаковые 2 АК). Один выбрасываю - всё ок. Второй выбрасываю - вылет:



stack trace:

0023:03D3FFFD xrGame.dll
 
[error][     183]    : Невозможно создать файл, так как он уже существует.

Будут у кого догадки какие?...

И ещё: в ЗП можно в логике remark указывать target = story_id. Кто-то переносил это в ТЧ?

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

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

Заспавнил я НПС в смарт террейне. Стоит он на первой работе, его вторая работа находится в 200 метрах от него. Выйдя с локации и зайдя обратно обнаруживается, что он стоит на месте спавна и начинает бежать на работу в 200 метрах от него. Как лечится?

Такой баг был с Шустрым в оригинале.

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

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

@AndreySol, при любом раскладе НПС возвращается на точку первой работы.

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

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

@Houdini_one, могу сказать не совсем точно. Но постараюсь.

При достижении определённой точки, выдавай в way-файле (all.spawn) пути непися поршень. А уже в самой логике непися проверяй достижение этого поршня (в секциях логики), чтоб он не вернулся в предыдущую секцию. Тогда он не будет возвращаться.

  • Спасибо 1
  • Согласен 1

"Кругом зомби.....у меня кончаются патроны...."

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

@BFG, насколько я понимаю, ты имел ввиду это:


[logic@gar_dolg_vhod_4_walker]
active = {+gar_game} kamp@gar_dolg_vhod_4, {-gar_game} walker@gar_dolg_vhod_4a

При таком раскладе всё равно НПС бегает в первую работу.



Мне чего подсказали, в простой-то логике, не в гулагах НПС не возвращается назад. Может знает кто, что нужно переносить с xr_logic.script в xr_gulag.script?

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

Ссылка на комментарий
5 часов назад, Houdini_one сказал:

Мне чего подсказали, в простой-то логике, не в гулагах НПС не возвращается назад.

Гони в шею такого "подсказчика"...

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

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

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

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

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

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

Войти

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

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

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