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

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


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

Товарищи, подскажите. Каким образом можно перевести в смарт террейн?
Такая ситуация: отыгрывает сценку вне смарт террейна, после чего должен перейти туда (эдакий костыль дабы он по сотни раз не отыгрывал всю длительную логику).

Выглядит сие действие так:
 

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

[smart_terrains]
mar_military = {+mar_polter_start_delete}

[logic]

active = walker

 

[walker]

path_walk = walk
path_look = look

Но НПС переходить не хочет (смарт рабочий 100%).
В чём проблема?

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

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

@Houdini_one , попробуй так - посели НПСа в какой то смарт, где он отыграет нужное. А после выселяй оттуда и заселяй уже в нужный смарт. 

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

[smart_terrains]

unknown_smart = {-mar_polter_start_delete}
mar_military = {+mar_polter_start_delete}

 

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

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

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

@mole venomous слишком муторно, у меня там большая логика, там столько вэй-поинтов переправлять придётся...

Дело в том, что на другом моде у меня всё работает.
Подобная логика там вот:
 

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

[smart_terrains]
none = {-gen_karlik_start}
rad_stalker = {+gen_karlik_start}
 

[logic]
active = walker
 

[walker]
path_walk = swa_doctor_walk
path_look = swa_doctor_look

Тут же логика:
 

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

[smart_terrains]
none = {-mar_polter_start_delete}
mar_military = {+mar_polter_start_delete}
 

[logic]
active = remark
 

[remark]
target = 5538
anim = threat_na
meet = no_meet

Вот в чём тут может быть проблема?.. Ума не приложу... Бредятина какая-то.

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

Ссылка на комментарий
On 8/10/2022 at 5:27 AM, Купер said:

Циферки, буковки :biggrin:. Что за что отвечает и что делает?

Это нужно по каждому конкретному параметру лезть в скрипт, а это муторно. Но вот про этот help_agr, у меня есть вот такой коммит:

Quote
Quote

Что бы не вылетал чувак на Агропроме,

который на помощь зовет, при первом заходе. Может вылететь, если у него не обрез ТОЗа будет, а другое оружие.

 

Изменено пользователем dsh
  • Полезно 2
Ссылка на комментарий
4 часа назад, mole venomous сказал:

посели НПСа в какой то смарт

Таким образом работает, но мне всё же интересно, почему не работает способом каким сделал я, учитывая что в других моих поделках такое работало.

Из странностей ещё заметил, что не работает
[spawner]
cond = {-info}, хотя +info работает, а удаление нет.

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

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

@Hind 

1. Просто переспавн – по идее, в уроке это должно быть.

2. (Не могу потестить – огорожено роскомзабором)
3. Проверка через [bind_stalker.script] on_use(obj): если в инвентаре нет предмета Y, переспавнить предмет X без звуков и анимации. По умолчанию событие "применить расходник" не привязано – надо будет добавить callback.use_object в reinit() и net_destroy(), ниже свой обработчик. Другой вариант – отслеживать сброс предмета через существующее событие on_item_drop(obj).
4. Проверка через [bind_stalker.script] info_callback(npc, info_id), либо создать новый инфо-поршень в общем конфиге и там же прописать вызов своего спавнера через <action>script_name.function_name</action>. Если спавн не разовый, придется отключать инфо перед каждым повтором.
5. Есть ли у новой музыки настройки дальности/громкости? Через SDK можно сделать по образцу исходных файлов.

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

Шпаргалка

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

@Hind 

1. Просто переспавн – по идее, в уроке это должно быть.

2. (Не могу потестить – огорожено роскомзабором)
3. Проверка через [bind_stalker.script] on_use(obj): если в инвентаре нет предмета Y, переспавнить предмет X без звуков и анимации. По умолчанию событие "применить расходник" не привязано – надо будет добавить callback.use_object в reinit() и net_destroy(), ниже свой обработчик. Другой вариант – отслеживать сброс предмета через существующее событие on_item_drop(obj).
4. Проверка через [bind_stalker.script] info_callback(npc, info_id), либо создать новый инфо-поршень в общем конфиге и там же прописать вызов своего спавнера через <action>script_name.function_name</action>. Если спавн не разовый, придется отключать инфо перед каждым повтором.
5. Есть ли у новой музыки настройки дальности/громкости? Через SDK можно сделать по образцу исходных файлов.

Да уж.. С моим опытом, честно, из всего что ты написал - не понятно ничерта (относится к скриптам))
Нет ли у тебя каких то людей которые могут расталковать, что да как писать чтобы заработало, или, тем каких то на форуме?:biggrin:
По поводу первого пункта, не подскажешь в каком уроке?

Добавлено  Опричник,

Изучите "Правила цитирования". https://www.amk-team.ru/forum/topic/13514-obyavleniya/

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

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

Тема есть вот такая https://www.amk-team.ru/forum/topic/7450-spravochnik-po-funkciyam-i-klassam/ - рекомендую.

Кроме того, можно в тех или иных модах смотреть реализацию тех или иных вещей. За 15 лет мододелы понаделали уйму всего интересного...

А про растолковать. Обычно это делается так:

1. Берешь и пробуешь что-то сделать.

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

 

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

Проще говоря, о скриптах говорить надо, приводя код. И логи. А без оных, всё это гадания на кофейной гуще, с попыткой прогноза погоды на Марсе.

Изменено пользователем Zander_driver
  • Нравится 1
  • Согласен 3

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

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

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

Ссылка на комментарий
11.08.2022 в 19:50, Hind сказал:

2. Попытался сделать юзабельную гитару по уроку , всё гуд, скрипт сделал, музычку настроил, но при использовании - звук обычной аптечки. Класс ставил аптеки. Может надо свой создавать?

Так что там непонятного?

 

Скрытый текст
local tSound ={
название_предмета       = "путь к звуку",
}

 

  • Согласен 2

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

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

@Houdini_oneтак понятно, прикол в том, что выставил всё, саунд вставил куда надо, но при тыкании - вместо запланированного саунда, звук аптеки.

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

И ещё.. Пара вопросов назрело

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

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

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

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

New sleep mod или же это.

 

 

24 минуты назад, Hind сказал:

чтобы при клацании на юзабельный предмет

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

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

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

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

Может кто-то скинуть поддержку кондлиста для НПС который не под смарт террейном?
Имею ввиду чтобы работало это:
active = {+test} walker@2, {-test} walker

Или же как вариант своеобразным фиксом от того чтобы НПС не гоняли по кругу логику будет запрет на переход НПС в оффлайн?

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

@Hind 

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

function название скрипта(obj)
local obj_sect = obj:section()
if obj_sect == 'предмет' then db.actor:give_info_portion("инфопоршень") 
end
end


Вешаешь в bind_stalker в use_object.

Информация о статьях в ПДА здесь.

  • Спасибо 1

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

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

@Hind И еще стандартный вопрос: так ли нужен инфо-поршень для спавна предметов, в смысле, будет ли инфо потом проверяться в каких-то квестах или спавн разовый и ни с чем больше не связан?

  • Согласен 1

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

Шпаргалка

Ссылка на комментарий
12.08.2022 в 17:17, Hind сказал:

Как заставить непися торчать всю жизнь на месте, и играть анимацию? 

Про:

[logic]
active = remark

И возможные подводные камни: тынц тынц тынц тынц. Т.е., не то, чтобы совсем нельзя, но по возможности стоит этого избегать. Всё-таки схема логики для этого не предназначена. По последнему тынц один из примеров реализации, примерно того, что нужно + как настроить в логике секцию meet

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

Ещё, не подскажете, как давать инфу после опредённой даты?

Даты?
Не думаю, что это возможно.

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

Как вариант...

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

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

@Hind Читать значение level.get_time_days() с привязкой к какому-нибудь не особо редкому, но и не ежесекундному событию – например, к вызову карты:

[bind_stalker.script]

function actor_binder:info_callback(npc, info_id)

   if info_id == "ui_pda" then (проверка даты)

 

@Houdini_one 

[bind_restrictor.script]

-- вызывается из обновления актёра!
function restrictor_binder:actor_update(delta)

 

Рестриктор (и счетчик) не обновится, пока ГГ не наступит в заданную область, или я что-то путаю?

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

Шпаргалка

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

ГГ не наступит в заданную область

Да можно прям по старту игры запустить его, on_game_timer/on_timer работает вне зависимости от того зашёл ли ГГ в данный рестрикор, это ведь не on_actor_inside.

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

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

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

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

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

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

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

Войти

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

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

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