Обсуждение:SoC. Смартеррейны и гулаги — различия между версиями — S.T.A.L.K.E.R. Inside Wiki

Обсуждение:SoC. Смартеррейны и гулаги — различия между версиями

Материал из S.T.A.L.K.E.R. Inside Wiki

Перейти к: навигация, поиск
Строка 121: Строка 121:
 
5. можно ли запустить функцию из логики минуя инфопоршни, если да то как, хоть один образец.
 
5. можно ли запустить функцию из логики минуя инфопоршни, если да то как, хоть один образец.
 
Спасибо.
 
Спасибо.
 +
:*@ это какбы делитель [тип_логики@уникальное_имя] - "уникальное_имя" может быть любым.
 +
:*К примеру: [walker@1] или [walker@bla_bla_bla] :)
 +
:*| - тоже делитель, но он применяется для других целей. Просто достаточно посмотреть как он используется в оригинальных логиках.
 +
:*danger = 5 ? где ты такое надыбал? Есть danger_condition. Расстояние до которого опасность (враг) игнорируется.
 +
:*Первая часть названия секции, скажем: [walker@ - это определение типа схемы ниже:
 +
:*[walker@ - NPC стоит (и ниже валк-поинт на котором он стоит path_walk, path_look это куда смотрит).
 +
:*[meet@ - настройки диалогов с NPC (если они не стандартные).
 +
:*[wounded@ - NPC лежит раненым, просит аптечку... ну и так далее. На этом сайте где-то были статьи с более подробными объяснениями.
 +
:*"запустить функцию из логики минуя инфопоршни" - ну вообще да, кроме on_info есть же и другие варианты запуска, к примеру:
 +
:*on_actor_in_zone
 +
:*on_actor_not_in_zone
 +
:*on_actor_inside
 +
:*on_actor_outside
 +
:*on_timer
 +
:*on_actor_dist_le
 +
:*on_actor_dist_le_nvis
 +
:*on_actor_dist_ge
 +
:*on_actor_dist_ge_nvis
 +
:*on_signal
 +
:*on_game_timer
 +
:*on_npc_in_zone
 +
:*on_npc_not_in_zone
 +
:*Посмотри как они применяются в оригинальных логиках.
 +
:*А вообще я тебе скажу, что запускать какую либо логику через on_info = { - самый простой, универсальный, и действенный метод.
 +
:*--[[Участник:THE ATLAS|THE ATLAS]] 10:54, 25 апреля 2011 (UTC)

Версия 10:54, 25 апреля 2011

Очень бы хотелось узнать в чём разница команды?

      {-infoportion}
      {+infoportion}
      {=infoportion}
И для мутантов я не понял, тоже надо пути прописывать где пасуться?
  • {-infoportion} - включить при отсутствии инфопорции.
  • {+infoportion} - включить при наличии инфопорции.
  • {=infoportion} - а это ты откуда взял?????
  • Что касается работ, зачем они мутантам? Пускай по локациям бегают себе.
  • --80.239.242.175 23:24, 18 апреля 2011 (UTC)

1) Спасибо большое. А насчёт {=....} вот взял из all.spawn правда может не из той оперы [sr_idle] on_info = {+esc_raid1_start} nil, {+escape_blockpost_case_have} sr_idle@timer on_actor_outside = {=gulag_empty(esc_blokpost)} %=hit_obj(018:rupor:100:0)% 2) C надеждой ещё вопрос аналогичный %+инфопоршень% выполняется и выдаётся ГГ

                   в чём отличие %=инфопоршень% команд
                                 %-инфопоршень%

3)Респавнер назначается на один вид мутантов? потому что в all.spawn не нашёл чтобы респавнер назначался на разные виды один 4)Смарт террейн для каждого респавнера тоже должен быть свой? или можно один для нескольких указывать? если да то как?

  • +esc_raid1_start и +escape_blockpost_case_have это и есть инфопорции.
  • для инфопорций не бывает значения =
  • бывают только + и -
  • {} - это функция проверки определенных условий - к примеру: наличия или отсутствия инфопорции у ГГ.
  • %% - это функция выполнения команд.
  • %+инфопорция% - даёт инфопорцию
  • %-инфопорция% - забирает инфопорцию
  • {=gulag_empty(esc_blokpost)} - это не инфопорция, а проверка состояния empty у гулага esc_blokpost, при наличии этих условий выполняется команда %=hit_obj(018:rupor:100:0)%
  • Респавнер может назначаться на различные виды.
  • Пример respawn_section = dog_weak,12,dog_normal,5,pseudodog_weak,3 - тут происходит респавн собак и псевдособак.
  • "для каждого респавнера свой Смарт террейн" - где ты такое вычитал?
  • --80.239.242.206 13:07, 19 апреля 2011 (UTC)
====================================================================================

Спасибо. Просьба указать на ошибку прописывания логики прописываю логику в секции space_restrictor all.spawn (Остальное по стандарту):

on_actor_inside = %+Poisk_gr_dip1_cerkov% инфопоршень выполняется нормально вопросов нет.

меняю строку на on_actor_inside = {-uge_bilo} %+Poisk_gr_dip1_cerkov% инфопоршень не выполняется!

uge_bilo - инфопоршень не выдавал. т.е. его нет.почему не выполняется? пытался сделать чтобы при отсутствии у ГГ инфопор - uge_bilo, срабатывал инфопор - Poisk_gr_dip1_cerkov.

  • Нет состояния в которое переключается логика при выполнении функции.
  • Попробуй вот так: on_actor_inside = {-uge_bilo} nil %+Poisk_gr_dip1_cerkov%
  • --80.239.242.191 21:41, 19 апреля 2011 (UTC)

Второй вопрос по смарт-террейну если он не для каждого вида монстров то как прописывать какое кол-во их должно быть? capacity = 3 - как тогда прописывать? communities = dog, - как тогда прописывать если они разные?

если смарт террейн это территория где будут крутиться монстры почему он радиусом 3 при таком радиусе монсты в нём будут толкаться друг на друге? или для чего он назначается? И где должна находится точка респавнера если он не работает без смарт-террейна, в ST или просто на локации и монстры будут идти в ST?

  • Смарты маленького радиуса, нужны чтобы удерживать живность, в одной точке - пока не будет замечен противник.
  • Монстр выскочит, убьёт противника и вернётся в свой "домик".
  • ==========================================================================================================
  • type = general_lair
  • capacity = 4
  • stay = quick
  • communities = dog, pseudodog
  • ==========================================================================================================
  • Респавнеру не нужно указывать смарт-террейн.
  • Без смарта монстры тупо будут бегать по всей локации.
  • смарт-террейн сам "засасывает" подходящих (согласно его настройкам) мутантов.
  • --80.239.242.191 21:41, 19 апреля 2011 (UTC)

СПАСИБО БОЛЬШОЕ Это выдержка из статьи: 4. Теперь нам нужно заскриптовать наш ST. Так что добавим наш код в фаил скрипта \gulag_escape.script. - грузим логику (работу) для каждого нпс/мутанта и для каждого состояния -> function load_job(...)

1)Если ST нужен чтобы удерживать мутатнов в определённом радиусе, нужно ли его скриптовать если для мутантов нет определённой задачи, а они просто должны находиться в определённом радиусе чтобы создавать дополнительную опасность для ГГ?

2)Нужно ли скриптовать ST для НПС если не прописывать им логику действий в этом месте, чтобы они просто "шарахались" по территории ST как мутанты?

3) on_actor_inside = {-uge_bilo}nil %+Poisk_gr_dip1_cerkov% всё равно инфопоршень не выполняется

  • Зачем тебе здался тот смарт-террейн? В оригинале их что мало? 282 штуки!!! Зачем создавать ещё один???
  • --80.239.242.31 22:25, 20 апреля 2011 (UTC)

Ну мы обсуждаем статью? Вот я и задаю вопросы - потому что статья ни о чём практически не говорит, так в общем, а скопировать ST можно и без статьи. Ваши ответы дают гораздо более полную инфо по некоторым вопросам, чтобы понять механизм работы, хотя даже вот инфопор мой всё равно не хочет срабатывать. Я делаю новый мод Боевая подготовка-2, очень много новых пустых территорий их надо заселять, на них надо новые квесты.

Например статья на Wiki о space_restricktor аналогична вашей, сделал точно как говорят результат 0, Про респавнер аналогично, ни одна тварь не появилась.

Кстати вот выдержка из неё, противоречащая Вашим словам: видите у них стоит =

[sr_idle]
on_actor_inside = {=имя_инфопоршня_3 +имя_инфопоршня_2} nil %+имя_инфопоршня_1%
END
{=имя_инфопоршня_3 +имя_инфопоршня_2} - это проверка(условие) что у ГГ есть нужный инфопоршень.Если есть,то рестриктор выдаст нужный ;инфопоршень.

вот пример очень слабого пояснения, что у ГГ проверяется инфопор, но в скобках то 2 инфопора! только один с = другой с + второй для чего или какой для чего? непонятно. И значит могу сказать точно что не запустится.

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

  • То что там написано, это ещё не означает, что оно так и есть на самом деле.
  • У модмейкера должен быть аналитический склад ума...
  • Ты должен сам понять, как оно работает... Если не поймёшь, и будешь делать всё вслепую, или по урокам - то нечего толкового, никогда не сделаешь...
  • з.ы. зачем заселять локации? "Одиночество" это одна из основ атмосферы Сталкера.
  • --80.239.242.159 20:53, 21 апреля 2011 (UTC)

Спасибо и больше не пристаю -)) последние вопросы пожалуйста: 1. что означает @ в логике 2. что означает | в логике 3. что danger = 5 (особенно цифра) смысл? 4. команды прописанные до @ и после - они определённые должны быть или просто назначаются я имею ввиду idle sound и т.д. если определённые пожалуйста расшифровку хотя бы кратко смысл. 5. можно ли запустить функцию из логики минуя инфопоршни, если да то как, хоть один образец. Спасибо.

  • @ это какбы делитель [тип_логики@уникальное_имя] - "уникальное_имя" может быть любым.
  • К примеру: [walker@1] или [walker@bla_bla_bla] :)
  • | - тоже делитель, но он применяется для других целей. Просто достаточно посмотреть как он используется в оригинальных логиках.
  • danger = 5 ? где ты такое надыбал? Есть danger_condition. Расстояние до которого опасность (враг) игнорируется.
  • Первая часть названия секции, скажем: [walker@ - это определение типа схемы ниже:
  • [walker@ - NPC стоит (и ниже валк-поинт на котором он стоит path_walk, path_look это куда смотрит).
  • [meet@ - настройки диалогов с NPC (если они не стандартные).
  • [wounded@ - NPC лежит раненым, просит аптечку... ну и так далее. На этом сайте где-то были статьи с более подробными объяснениями.
  • "запустить функцию из логики минуя инфопоршни" - ну вообще да, кроме on_info есть же и другие варианты запуска, к примеру:
  • on_actor_in_zone
  • on_actor_not_in_zone
  • on_actor_inside
  • on_actor_outside
  • on_timer
  • on_actor_dist_le
  • on_actor_dist_le_nvis
  • on_actor_dist_ge
  • on_actor_dist_ge_nvis
  • on_signal
  • on_game_timer
  • on_npc_in_zone
  • on_npc_not_in_zone
  • Посмотри как они применяются в оригинальных логиках.
  • А вообще я тебе скажу, что запускать какую либо логику через on_info = { - самый простой, универсальный, и действенный метод.
  • --THE ATLAS 10:54, 25 апреля 2011 (UTC)
Другие места
LANGUAGE