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

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

Ребят, а вот такой странный вопрос.

Вот неписи (ТЧ) перемещаются в оффлайне по локациям и между ними, а в каких скриптах эти перемещения регулируются и описываются? Это в какую сторону нужно копать?


Подарки

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

    @_Sk8_AsTeR_ емнип, секции таких персонажей в файлах character_desc_локация, начинаются с "sim_", попробуй начать поиски отсюда

    God save Hatsune Miku!


    Подарки

  • Ссылка на комментарий
    21 час назад, Labadal сказал:

    upd: да, можно

    Хм, интересно, а в X-ray ext коллбэк before_hit (Чи как он там?) Какие данные передаёт???

     Моя нычкаНычка в арендованном у Опричника холодильнике  

    Мы хорошие ребята, жаль патронов маловато:):ukostra:

    UriZzz.gif

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

    @UriZzz function motivator_binder:before_hit_callback(p_s_hit, p_ignore_flags)
    А вот как с этим работать - ума не приложу, пытаюсь по маленьку, но безрезультатно. 
    Нашёл в тырнетах где данный калбек используется, но там все на ОГСЕ разрабатывается, чую - что должен был способ на чистом ХЕ узнать тип хита, но тут я нуб)
    Когда нибудь да разберусь)

    God save Hatsune Miku!


    Подарки

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

    @Labadal огсе и X-ray ext во многом схожи, по крайней мере в коллбэках точно. Думаю есть смысл поковыряться в ём.

    Сам то я не интересовался конкретно этой областью, потому и не копал в том направлении.

    30 минут назад, Labadal сказал:

    (p_s_hit, p_ignore_flags)

    Мало о чём говорит. Это надо смотреть клиентский скрипт.

    Ну да ладно.

     Моя нычкаНычка в арендованном у Опричника холодильнике  

    Мы хорошие ребята, жаль патронов маловато:):ukostra:

    UriZzz.gif

    Ссылка на комментарий
    49 минут назад, Labadal сказал:

    before_hit_callback(p_s_hit, p_ignore_flags)

    Насколько я помню, оно в OGSR имеет такую же сигнатуру.

    А помню я точно. Потому что... сам лично переделывал. И в СЗ сигнатура уже другая, но это не важно...

    Вторая переменная - это bool флаг для всяких непристойностей :rolleyes::blush:, а первая (p_s_hit) - как раз объект хита, который тебе нужен. Из него уже можно тип хита вытаскивать, и подозреваю, раз сигнатура метода такая же - то можно вполне в OGSR подсмотреть, как именно он вытаскивается. Должно быть похоже, хотя наверное не идентично.

    Это лишь наводка, в какую сторону копать... дальше сам :)

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

    Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

    Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

    AMD Ryzen 9 7950X (16 ядер, 5.7ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

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

    @Labadal не понял, в смысле?

    Что конкретно там есть чего нет в ext? Может я не так глубоко копал? У меня с ОГСЕшными скриптами пока ни каких проблем не возникало. Может имеются в виду шейдерные прибомбасы??? Там да, не копал, ибо не нужно конкретно мне.

     Моя нычкаНычка в арендованном у Опричника холодильнике  

    Мы хорошие ребята, жаль патронов маловато:):ukostra:

    UriZzz.gif

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

    @UriZzz например: 

    function motivator_binder:before_hit_callback( p_s_hit, p_ignore_flags )
      self.last_hit_data = read_hit_data( p_s_hit )

    read_hit_data() - из ogse.dll

    @Zander_driver в том то и дело, что в огсе он вытаскивается тем, чего нет в ХЕ

    https://github.com/dsh2dsh/op2ogse/blob/3f7514f804eaf1dc875cc3ce8513d8537dd53bc2/gamedata/scripts/xr_motivator.script#L673

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

    God save Hatsune Miku!


    Подарки

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

    Доброго времени! А есть ли возможность зарегистрировать НПС в конкретном гулаге, при условии что мы 100% знаем что там есть на текущий момент свободная работа?

    Без редактирования gulag_локация.script 

    Чтобы можно было этого НПС потом отвязать от гулага и в другое место точно так же отправить работать на неопределенное время.


    Подарки

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

    @_Sk8_AsTeR_ По идее, в алл спавне в секции нпс пишешь 
     

    [smart_terrains]
    имя_гулага = true
    END

    и в случае свободных мест в том же гулаге, нпс=а должно в него затянуть

    God save Hatsune Miku!


    Подарки

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

    Без редактирования gulag_локация.script

    Это, типа "и на одно место сесть, и рыбку съесть и косточкой не подавиться"? В чем проблема, конфиги и скрипты править под свои похотелки? По клавиатуре лень пальцами перебирать?

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

    Здрасьте.

     

    [ТЧ 1.0006]
    Определение объекта "Сидорович" при диалоге/торговле: получаем ссылку из [xr_motivator.script] для обычных NPC, потом проверяем условия "объект NPC отсутствует или не находится в диалоге".
    Если последний записанный NPC все еще в онлайне, проверка проходит успешно, если нет – проверка не дает никакого результата, тормозит все последующие скрипты и даже выдачу инфо-поршней.
    Сбой, скорее всего, случается из-за применения метода is_talking() к оффлайн-объекту (например, если до Сидора был диалог с вояками под ж/д мостом), но почему нет полноценного вылета?


    Если сослаться на объект NPC через level.object_by_id( obj:id() ), дальнейшая проверка условий проходит успешно, но вопрос не в этом.

     

    Spoiler
    [xr_motivator.script]
    function motivator_binder:use_callback(obj, who)
    	if self.object:alive() then
    (+)
    	bind_stalker.get_npc(obj)
    
    
    [bind_stalker.script]
    (+)
    local npc
    
    function get_npc(obj)
    	npc = obj
    end
    
    
    function actor_binder:info_callback(npc, info_id)
    (+)
    	if info_id == "ui_trade" then
    		if not npc or ( npc and not npc:is_talking() ) then
    			npc = level_object_by_sid(3)
    		end
    	end

     

     

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

    Шпаргалка

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

    @AndreySol ну что за предвзятость? Мне никогда не было лень скрипты править. Суть вопроса в другом. По моей задумке я хотел через диалог с НПС уметь регистрировать его в разных гулагах. 

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

    Нажмем на "иди на Свалку в Ангар" - он пойдет регистрироваться туда. Вот я и ищу метод (если такой возможен), как через скрипты отправить НПС туда, куда нам надо. Чтобы он не просто пришел на вейпоинт, прописанный в Path_walk, а именно чтобы встал под управление гулага.

    PS

    Кажется нашел, что искал. se_smart_terrain:register_npc( obj )

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

    Подарки

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

    @_Sk8_AsTeR_ А как неписи переходят из ГУЛАГа в ГУЛАГ? В зависимости от выданных/дизабленных инфопорций. Тоже можно провернуть и в диалоге. 

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


    Подарки

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

    @_Sk8_AsTeR_ 

    Ну так в чем проблема: настроить работы в гулаге, прописать возможные гулаги неписю, выдать определенную инфо-порцию в диалоге, а в работе гулага прописать прекондишен с проверкой этой инфо-порции и соответствия непися. Есть все необходимые стандартные возможности для твоих хотелок, а тебе обязатьльно надо "вломиться" в работу смарт-террайнов\гулагов, чтоб вот так как тебе хоца, сразу в дамки. Что тебе даст se_smart_terrain:register_npc? Ну, к примеру зарегистрируешь ты непися, и что? Все равно под него заранее надо прописать работу, соответственно емкость гулага. Какой смысл, самостоятельно, скриптами повторять всю цепочку действий, которую и так сделат движок и скриптовая обвязка смартов\гулагов? Все равно не будет тебе "раз-два и в дамки".

    • Согласен 1
    • Полезно 1
    • Сомнительно 1
    Ссылка на комментарий
    7 часов назад, _Sk8_AsTeR_ сказал:

    Кажется нашел, что искал. se_smart_terrain:register_npc( obj )

    А зачем городить огород и делать это напрямую через скрипты управления смарт-террейнами? Ведь в кастомдате непися (еще перед его спавном) _зарнее_ можно прописать все доступные ему  гулаги, переключение между которыми должно осуществляться взаимоисключающим набором инфопоршней ( как выше АндрейСол и написал ).

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

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

    Изменено пользователем Okichi
    • Согласен 1
    • Полезно 1

    След от кругов на воде - это тоже след (с)

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

    А зачем городить огород и делать это напрямую через скрипты управления смарт-террейнами?

    А Патамушта.

     

    Я так понимаю, @_Sk8_AsTeR_ хочет сделать ПОЛНУЮ динамику перемещений нпс.

    И если ее делать через алл-спавн и инфопоршни, то в кастом-дату каждого нпс придется все гулаги игры записывать... да? :rolleyes:

    • Согласен 1

    Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

    Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

    AMD Ryzen 9 7950X (16 ядер, 5.7ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

    Ссылка на комментарий
    24 минуты назад, Zander_driver сказал:

    хочет сделать ПОЛНУЮ динамику перемещений нпс.

    Во-первых, судя по тому, что человек только вот "прям щас" нашел/увидел  ф-ю, отвечающую за регистрацию нпс в гулаге, _полную_ он пока сделать не сможет. )
    И каждому НПС это вряд ли  нужно( ибо НАФИГА какому-то первому встречному Васе Пупкину говорить, куда ему идти...), а имелось в виду некоторым "квестовым". 
    Для десятка квестовиков - проще именно что не городить огорода.
     

    След от кругов на воде - это тоже след (с)

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

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

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

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

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

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

    Войти

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

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

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

    AMK-Team.ru

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