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

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

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

Ни чего не понял ! Что ты вообще пытаешься сделать ? Пытаюсь по-ванговать: есть НПС-напарник, актер едет в машине и в это время происходит исключение НПСа из напарников ? И проблема в том, что при нахождении актера в машине, все его напарники находятся в офф-лайне ?

Именно, как я и написал в последнем посте, вывод в онлайн получился, но такое чувство что не успеваю получить клиентскую юзердату, повторяюсь..

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

 

 

не успеваю получить клиентскую юзердату

На кой она тебе ? Ошибка где происходит ?

function companion_start_folowing(npc, actor)
local st = db.storage[npc:id()] -- ТУТ ?

 

Если да, то просто доработай ф-цию, к примеру так:

function companion_start_folowing(npc, actor)
     local st
     if type(npc) == "number" then
          st = db.storage[npc]
     else
          st = db.storage[npc:id()]
     end

и соответственно передавай в ф-цию тот самый npc_id, который ты из таблицы получаешь.

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

Думал об этом, но в итоге получается в 2 раза больше кода:)

Ладно, спасибо за участие

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

@DJ.Orb.Warpal, а ты посмотри логику долговского мегафона. Он то разговорчивый до жути. И без всякого ЧН))

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

Парни, есть такая строка

on_info = {~60 =actor_in_zone(second_door_marker)}

Может кто подсказать, что в ней обозначает и как работает вот это: ~60

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

Marafon6540

С вероятностью 60% вызовется функция actor_in_zone

Изменено пользователем Nazgool
  • Спасибо 2
Ссылка на комментарий

Привет.
Может ли кто помочь адаптировать скрипт (прописать в bind_stalker)
Если да, то скину.
Прошу прощения коли не в тему.

Добавлено Kirgudu,

Пока перенёс сюда, так как платформа в вопросе не указана.

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

Или сразу конкретизировать свой вопрос - что за скрипт, какого рода адаптация требуется и т. д.

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

Спасибо тов. Kirgudu. Каюсь виноват, что сразу все не указал.

Скачал скрипт уборщика из NLC6.


В нем есть инструкция по установке, цитирую:

bind_stalker:

строку sak_off_corpses.off_corpses() добавить в ваш bind_stalker в _G.lsc_threads = {}

sak_off_corpses:

просто скопировать в scripts

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


Просьба не снимается, ибо сам я это не осилю :)

 

Правила форума, пункт 2.3, предупреждение. Kirgudu

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

По-хорошему, ответить на вопрос должен был бы кто-нибудь из знатоков NLC, но что поделать.

sak_off_corpses - это полностью самостоятельный уборщик, который надо вызвать один раз при каждой загрузке.

Соответственно, на наличие/отсутствие каких-либо специфических строк обращать внимание не нужно, инструкция в этом плане некорректна.

Достаточно поместить строку

sak_off_corpses.off_corpses() 

например, в самом конце функции actor_binder:net_spawn(data) оригинального модуля bind_stalker.script, перед закрывающим end.

 

На сам уборщик из NLC 6 я посмотрел впервые в жизни.


Да не обидятся на меня апологеты NLC, но... извините, это тихий ужас. Цикл до 65535, внутри него такой же цикл второго уровня, многоэтажные «If»... Чур меня, пусть дальше в этом разбираются другие. Ещё раз извините.

 

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

Вот этот же уборщик, взятый из ОП-2, но в немного причесанном виде: https://github.com/dsh2dsh/op2ogse/blob/master/gamedata/scripts/sak_off_corpses.script

 

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

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

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

 

Что тут еще сделать - это, например, вместо сканирования, строить таблицы на базе se_что_попало.on_register(), или использовать эти же таблицы для других надобностей.

 

Также, есть вариант БЕЗ уборщика, поскольку у многи предметов в конфигах предусмотрено "время протухания".

 

Ну, могу дать еще более монстровидный, который как раз делает ВСЕ СРАЗУ, только что кофе не варит.

К нему еще обвязка нужна, но на посмотреть - здесь: https://dl.dropboxusercontent.com/u/27871782/xl_offline.script- в принципе, все довольно очевидно. (И, да, обвязка выдается по запросу, дублирующие моды/паки и иже с ними можно снести). Поскольку здесь собраны все дублирующие операции этих самых модов-паков - быстрый. Но монстровидный.

 

Перерыв сам скрипт "bind_stalker" данной строки не нашел ( использовал даже ворлд с поиском по буквам)

 

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

Что-то типа

bind_stalker:

function actor_binder:reinit()

sak_off_corpses.off_corpses()

...

 

Можно почитать http://www.amk-team.ru/forum/index.php?showtopic=13078&p=967266- на предмет общих принципов. Старался доступно расписывать.

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

Всем здрасть!

Если ошибся адресом, то пожалуйста, сильно не пинайте, направте куда следует. А суть вопроса такова - в первый раз решил подправить актор, запакованный в архив xdb (мод на ТЧ, но не НЛС). Нашел в инете конвертер от Бардака, распаковал, подправил. Вроде разобрался и с упаковкой, упаковываю все обратно в xdb, называю так же как он и назывался, старый удаляю, вставляю, но игра отказывается принимать получившееся - при загрузке вылетает. Может есть какая тонкость, про которую все знают и поэтому в пояснялке к конвертору не написали??

Создание папки геймдата с данным файлом тоже к желаемому результату не привели...

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

Железо: IC i5-7500 CPU 3.40 GHz, ОЗУ 16 Гб, NVIDIA GeForce GTX 750. Win10 64-бит

Ссылка на комментарий
мод на ТЧ, но не НЛС

Случаем не Омега 4? Если да - то там нужен формат xdb от ЧН.

 

 

 

PS. Тогда не подскажу, не скачивал его.

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

npc:set_mental_state( anim.danger )

npc:set_body_state( move.crouch ) - переходит в присяд

 

npc:set_mental_state( anim.free )

npc:set_body_state( move.crouch ) - вылет error in stalker with visual actors\novice\green_stalker_4

 

В куда копать ?

 

Дополнительная информация: данный конкретный гражданин не хочет делать state_mgr.set_state( npc, "search" ) - ограничивается этаким полупоклоном. Аристократ, блин...

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

Niko971,

значит не правильно вводишь команды. Для упаковки игровых файлов, а также всех патчей использовалась обычная утилита от Бардака. Защит никаких нет! Упаковка файлов придала в скорости загрузки в среднем на 2 секунды, зависит от компьютера. Вот главная цель упаковки.

P.S. А исправляя какие-то параметры в моде, ты напрочь убиваешь баланс, который выводился немалое время и был признан игроками не одного форума, как бы ни громко это звучало.

ed_rez.gif

c1f11b67ff360413e81b4e4dcf21eb41.jpg


Подарки

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

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

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

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

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

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

    Войти

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

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

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

    AMK-Team.ru

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