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

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

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

@volk_40k ,

gamedata\config\gameplay\character_desc_локация  (agroprom, escape, garbage и  т.п.). В модах может быть где угодно. Т.е.: по каталогам структурно там же, но не факт, что в "локационных" файлах.

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

 

Простейший алгоритм поиска.

Знаем имя квестовика: Крот. Поиском находим:

stable_bio_name.xml ->


    <string id="agr_krot_name"> <!-- идентификатор имени перса для его профиля -->
        <text>Крот</text> <!-- само имя -->
    </string>

 

Поиск по идентификатору имени (agr_krot_name) ->


character_desc_agroprom->

        <specific_character id="agr_krot" team_default = "1"> <!-- наш перс и его параметры -->
        <name>agr_krot_name</name> <!-- а вот по этому параметру мы его и искали -->
        <icon>ui_npc_u_stalker_neytral_rukzak_4</icon>
        <map_icon x="0" y="0"></map_icon>
        <bio>agr_krot_bio</bio>

        <class>agr_krot</class>
...        
    </specific_character>

 

 

@Stalk2003 ,

Wiki проекта: engine_ammo_repacker.

 

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

@Stalk2003 , а вот нет чтобы прямо рядышком почитать. Про связанные параметры. Там и про неполные пачки тоже есть.

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

@Купер если ты про hard_ammo_reload то это не то. Он у меня включен его рекомендуют использовать именно с ручным перепаковщиком, а с автоматическим данная опция не совместима.

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

Кто может помочь сделать зачистку деревни новичков? Чтобы командир с блокпоста выдавал квест на зачистку. И когда всех убьёшь он выполнится.

Первый раз собираюсь делать квест на убийство кого либо.

Предположительно нужно в логике лагеря, прописать когда там никого не будет, выдачу инфопоршня на выполнение квеста

только как именно это сбацать я без понятия:crazy2:

Изменено пользователем boneset-hq

"Do you like what you see?" © Billy Herrington

Boneset-HQ.gif

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

@boneset-hq , надо как то последовательно изучить и применить на практике базу. Логику, создание квестов. Если надо убить конкретную цель, нужно в логике цели указать, что произойдёт при её смерти. Выдача инфопоршня на выполнение подзадачи квеста, например. Можно только с условием, что убить должен именно ГГ

Изменено пользователем mole venomous
  • Нравится 1
  • Полезно 1

Здесь могла быть ваша реклама.

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

Вопрос к знатокам AMK скриптов.

Как добавить требуемого мне НПС, в список исключение АМК оффлайн алайф событий?

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

@mole venomous Не, не то имел ввиду. Как мне сделать квест на убийство сразу кучки людей? Чтобы когда я убил их всех, только тогда квест выполнится.

Я подумал можно добавить каждому в логику свой инфопоршень при смерти, и когда они все соберуться то квест выполнится, но мне кажется есть дорожка попроще и пологичнее

"Do you like what you see?" © Billy Herrington

Boneset-HQ.gif

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

Друзяки, всем привет! 
Хочу спросить: в общем, в игре есть лазейка вернуть индивидуальный ПДА сталкеров в инвентарь убитого (для этого надо прописать в death_generic.ltx итем device_pda, и в таком случае в трупе каждого непися будет появлятся уникальный ПДА). Оно то может и круто, но вот беда: ПДА не разделяются. То есть если в инвентаре 5 разных пда с 5 разных трупов, они "стакаются" в один предмет, и посмотреть "кому принадлежит такой то пда" не получается.

Собственно вопрос: есть ли какой то способ "разделить" эти ПДА, чтобы они не стакались, а были отдельным предметом? Спасибо!

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

посмотреть "кому принадлежит такой то пда" не получается.

Я скажу тебе страшшшное, если выкинуть их из инвентаря - все они будут иметь своё личное название,

но это важно только если их 5-10 штук, если их под сотню - то полный швах,

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

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

Как победить такого рода вылет?

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

stack trace:

0023:7483500A MSVCR80.dll, strncmp()
0023:033E39C5 xrNetServer.dll, IPureClient::OnMessage()
 
[error][     259]    : Дополнительные данные отсутствуют.

Крашутся сейвы, в основном в баре.

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

Привет.  Мне нужно, чтобы игра выдала мне инфопоршеньь если у меня есть два других. Сделал вот так:

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

if not has_alife_info("info3") and
        has_alife_info("info1") and
        has_alife_info("info2") then
        self.object:give_info_portion("info3")
        end

Но третий инфопоршень выдается только после квиксейв/лоада(когда я уже получил первых два)

Засовывал и под function actor_binder:update(delta)  и под function actor_binder:on_item_take (obj), результат один.

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

@q1w2e3r4t5 , что то непонятно, как и при каких условиях ты вызываешь проверку и действие...

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

На постоянном апдейте ГГ всё работает, но это не лучший вариант, конечно:

    if not has_alife_info("start_info3")  
    and ( has_alife_info("start_info") and has_alife_info("start_info2") ) then
        db.actor:give_info_portion("start_info3")
    end

А если в коллбеке on_item_take, то нужно указывать, какой предмет проверяется:

    local sobj = obj:section()
    if sobj == "medkit" and not has_alife_info("start_info3")  
    and ( has_alife_info("start_info") and has_alife_info("start_info2") ) then
        db.actor:give_info_portion("start_info3")
    end

 

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

Здесь могла быть ваша реклама.

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

здрав буди, выбросо-устойчивым

 

Вопрос 1 - на протяжении всего периода разработки своего мода мне не перестаёт мучить один постоянный вылет, который происходит на некоторых уровнях на регулярной основе

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

! Cannot build GAME path! (object agr_m_dog_e_0011)
! CURRENT LEVEL : l03_agroprom
! CURRENT game point position : [204.741211][21.822990][130.490845]
 
FATAL ERROR
 
[error]Expression    : I != levels().end()
[error]Function      : GameGraph::CHeader::level
[error]File          : x:\trunk\xr_3da\xrgame\game_graph_inline.h
[error]Line          : 171
[error]Description   : there is no specified level in the game graph : 206
 

stack trace:

Scheduler tried to update object agr_m_dog_e_0011
! Cannot build GAME path! (object agr_m_dog_e_0011)
! CURRENT LEVEL : l03_agroprom
! CURRENT game point position : [204.741211][21.822990][130.490845]
 
FATAL ERROR
 
[error]Expression    : I != levels().end()
[error]Function      : GameGraph::CHeader::level
[error]File          : x:\trunk\xr_3da\xrgame\game_graph_inline.h
[error]Line          : 171
[error]Description   : there is no specified level in the game graph : 206
 

stack trace:

Скок бы графов я не пересобрал, ботов не удалял, решить проблему не выходит. Может роюсь не в том направлении?

 

Вопрос 2 - есть ли какая нить функция, которая меняет погоду на локации при нахождении ГГ в зоне рестриктора? И как бы выглядела эта функция в логике рестриктора?

 

Лучше сделать мод с 0, чем пытаться залатать багованный.

Ссылка на комментарий
22.09.2023 в 00:37, mole venomous сказал:

На постоянном апдейте ГГ всё работает, но это не лучший вариант, конечно

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

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

@DarkSnowder Если я правильно понимаю вопрос, в логике должно быть

on_actor_inside / _outside = … %=set_weather(name)% со ссылкой на новую функцию в
[xr_effects.script]
function set_weather(name) 

   level.set_weather(name, true)   -- изменение сразу
end

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

Шпаргалка

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

@Norman Eisenherz 

Тобишь должно быть примерно так?

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

Логика в рестрикторе

[logic]
active = sr_idle

[sr_idle]

on_actor_inside / _outside = … %=set_indoor_x18_weather%

 

запись в xr_effects.script

function set_indoor_x18_weather(actor, npc)
    level.set_weather("indoor_x18", true)
end

 

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

Лучше сделать мод с 0, чем пытаться залатать багованный.

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

Как настроить кости брони?

Нпсы сносят с 2-3 попаданий, в то время когда в аналогичную броню нпс нужно 10-15. Как это работает?

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

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

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

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

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

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

Войти

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

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

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

AMK-Team.ru

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