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

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


Halford

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

@Dennis_Chikin, Денис - ну  это как бы не совсем "разжевал".
То есть, за разбор - большое спасибо, это без вопросов, и в Прозекторсокй  тоже,  но  увидь я, к примеру, вот все  это в первый раз...
Похлопала бы ушами и пошла дальше ничего не понимать )  И даже не  стала бы спрашивать, ЧТО непонятно, потому что ответ - всё! )

Оно полезно, но когда уже немножко сам поковыряешься в этой кухне. 
А когда, как в приведенном кусочке выше, непонятно, что там есть что...
Загадочные переменные сравниваются с  еще более загадочными значениями то ли из непонятно как заполняемых таблиц, то ли из непонятно как определяемых других переменных в ф-циях, которые вызываются непонятно где и непонятно как )

Тут уж либо каждую строчку комментировать, зачем она и откуда будет использована, либо вообще не.

  • Согласен 2
  • Не согласен 1

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

Поделиться этим сообщением


Ссылка на сообщение

@Змея

20 часов назад, Змея сказал:

Работает ли схема [zoneguard] ?

По-моему, не работает. По крайней мере, используемых образцов не нашла.
Про team можно на Сталкервики прочитать - "Настройка логики", части 0-4 (http://stalkerin.gameru.net/wiki/index.php?title=Настройка_логики._Часть_1#.D0.A1.D1.85.D0.B5.D0.BC.D0.B0_zoneguard)

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

Поделиться этим сообщением


Ссылка на сообщение

@Змея, я именно про то, что рабочих примеров не видела)  В NLC все, что хорошо бы сделать коротенько через эту схему - сделано другими методами с рестрикторами и логикой npc на пол-страницы.
@Dennis_Chikin,  про Прозекторскую - вот там как раз  действительно все разъяснено подробно и по сути, а здесь речь была про вон тот кусочек с  min_snd, max_snd  - не все, кому внезапно пришлось столкнуться  со скриптами, умеют их _вот прям сразу_ читать с листа и осознавать, откуда оно взято и где и как будет использовано.

  • Согласен 1

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

Поделиться этим сообщением


Ссылка на сообщение
В 01.12.2019 в 14:30, UriZzz сказал:

В звуках таких путей нет, тогда где они таким образом прописываются?

Вот эта единичка  в stalker    = 1,      означает, что звуки будут браться по пути, указанном в теге snd_config, в профиле нпс.
Например <snd_config>characters_voice\human_04\newbie\</snd_config> - и уже к этому пути добавляем то, что указано в секции  -  states\idle\idle_
Отсчитывается все вроде как всегда от папки sounds. Т.е. sounds\characters_voice\human_04\newbie\states\idle\
И idle_номер - это должен быть один из файлов звуков.
Ну а если звуков по получившемуся пути нет - то и проигрываться они просто не будут. 

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

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

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

@Houdini_one, а в секции [combat_ignore] разве не кондлист нужен? И применяется ли оно для мутов - вроде только для неписей активно

 

29 минут назад, Houdini_one сказал:

дружелюбна к парочке НПС, ГГ, а к остальным была враждебна?

 

Из логики такое не сделать вроде как. Или ко всем нпс дружелюбна, или ни к кому.  К актору - можно, посмотри, как в Соли сделана dogfriend

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

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

Поделиться этим сообщением


Ссылка на сообщение
(изменено)
27 минут назад, dsh сказал:

r_condition.my_super_func() расписываешь свои условия. Функция должна вернуть true, если это не враг и false - если это враг.

А разве для мутантов combat_ignore_cond вообще работает на стандартных скриптах? 

А то в мануалах везде  только оверрайды в каждую секцию  мутам пишут:

типа actor_friendly = true , npc_friendly = true

 

Цитата

Как сказал выше, удалил - ничего не поменялось.

А сам-то путь точно существует в аллспавне? Со всеми точками пути?

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

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

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

@Colder, в секции логики
[meet]
для этого НПС прописать 

use = self

(добавить,  если такой секции нет)

Тогда непись сам задействует диалог с игроком, как только актор окажется в "зоне действия" непися.
Можно было и поиск поюзать - вот тут аж целый пример )
https://www.amk-team.ru/forum/topic/8230-cop-kovyryaemsya-v-faylah/page/77/

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

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

Поделиться этим сообщением


Ссылка на сообщение
15 часов назад, mole venomous сказал:

Теоретически, может ли моб, заспауненный вот так:

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

[smart_terrains]

имя_смарта  = {кондлист условий, по которым непись находится в этом смарте}
Тогда логику непися определит логика смарта.
Конечно же, чтобы нпс "никуда не ушел", тоже есть условия -  смарт должен при создании непися существовать на локации спавна непися , быть открытым и не быть заполнен одними эксклюзивами. 
Так же в нем должно хватать работ для всех нпс, кому этот смарт "назначен" , и если этому уникальному нпс нужна какая-то уникальная работа - она должна существовать в списке работ смарта.

Или же

[smart_terrains]

none  = true 
Тогда непись должен выполнять персональную логику. Она тоже, конечно же, должна существовать - со всеми путями, определенными в логике.

В таком случае движок не будет перекидывать непися ни в какой в смарт "по собственной инициативе" и НПС будет оставаться на локации так долго, как это нужно разработчику ( если нигде каким=нибудь хитрым образом этому нпс не переписывают потом кастомдату, отпуская в "свободное плавание" )

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

  • Согласен 1
  • Полезно 1

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

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

@AndrewMor
1) да, только не работа - а может быть назначен любой смарт, согласившийся непися принять. И непись туда пойдет - а вот работу там он получит только тогда, когда дойдет.
2) не обязательно ничего модифицировать - можно просто создать для этого НПС отдельную секцию, там прописать путь к файлу кастомдаты ( именно она будет в таком случае использоваться в alife():create()), и уже в этой кастомдате указать либо конкретный смарт для НПС, либо none = true
Именно это хотел донести @dsh,  - чтобы уже в момент работы alife():create() была задана правильная ( нужная разработчику ) кастомдата
3) тем, про что написал ДиШ - движок не занимается. Это в скриптах.

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

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

Поделиться этим сообщением


Ссылка на сообщение

@Купер, вроде вот это оно самое и делает. Результат - список элементов исходной строки. Правда, с разделителем как пробел - не пробовала. 
 

--=============================================================================
-- Взято из аддона Naxac'a
local to_ptrn = {
  [ " " ] = "%s",
  [ "." ] = "%.",
  [ "%" ] = "%%",
  [ "*" ] = "%*",
  [ "-" ] = "%-",
}
string.explode = function( div, str, clear )
-- div   -- разделитель
-- str   -- строка
-- clear -- обрезать ли пробелы по краям строк (false/true)
  local ret = {}
  for s in str:gmatch( "([^" .. ( to_ptrn[ div ] or div ) .. "]+)" ) do
   table.insert( ret, ( clear and s:trim() or s ) )
  end
  return ret
end
--=============================================================================

 

  • Полезно 3

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

Поделиться этим сообщением


Ссылка на сообщение

@Капрал Хикс тип 2 - возможно, в эти места просто нельзя забегать мутантам?
В НЛС-ном аллспавне есть нечто подобное, для этих целей именно используемое - и больше никак.

  • Полезно 1

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

Поделиться этим сообщением


Ссылка на сообщение
3 часа назад, AndrewMor сказал(а):

логике должна быть ссыль на эти рестрикторы

С чего бы? Рестры с типом 2 автоматически добавляются всем мобам в ин-рестрикшны, имхо, и движок строит им пути так, чтобы в области рестрикторов они не заходили.
Логика вроде как совсем не нужна в этом случае ...

  • Полезно 1

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

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

@AndrewMor Если я правильно поняла объяснения нашего движкоправа и отладочные сообщения движка в НЛС - при каждой  загрузке сэйва и при дальнейшем построении путей по локации для мобов при их передвижении( если только они, эти пути, не прописаны в логике как вэйпойнты - тогда на стандартном движке при попытке загнать моба в область, ограниченную рестриктором типа 2, будет вылет).
Опять же, если поняла правильно -  занимается этим движок, скрипты и обработка логики ни при чем.

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

Но для того, например, чтобы просто не пустить в определенную область мутантов - любых, с логикой или свободных - обычно достаточно создать там рестриктор с типом 2.
И они туда не пойдут. 
Так сделаны "защитные зоны ученых" в НЛС в Мертвом Городе. Ни в чьей логике эти рестрикторы не прописаны. Они просто есть и мутанты туда не заходят.

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

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

Поделиться этим сообщением


Ссылка на сообщение
1 минуту назад, UriZzz сказал(а):

И в ЭЛЛ.спавне я его найти не могу, только его стул и смарттерейн..

Ну уж если вы нашли его смарт - то все остальное дело техники ) Раз он эксклюзив для этого смарта, то одно из:

1) в аллспавне для него в секции 
[smart_terrains]
имя_его_смарта = { кондлист с поршнями, по которым он должен находиться в этом смарте }

2) если он спавнится скриптом, с использованием отдельной секции ( и  отдельного файла кастомдаты ), то в этом файле кастомдаты должно быть

[smart_terrains]
имя_его_смарта = { кондлист с поршнями, по которым он должен находиться в этом смарте }

 

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

Поделиться этим сообщением


Ссылка на сообщение
1 час назад, Капрал Хикс сказал(а):

Верно ли я мыслю, что для этого ему в gulag_dark_valley.script нужно в секцию логики дописать для этого пару строк с указанием на профиль вот так:

??? То, что вы написали, никаким боком не задает визуал или что-то там еще. Оно просто указывает, что _вот именно ЭТА  работа в ЭТОМ гулаге_ не может быть занята никем, кроме конкретного НПС.  И то - на стандартных ( не модифицированных) скриптовых схемах начнет работать корректно только с НИ.

  • Согласен 1

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

Поделиться этим сообщением


Ссылка на сообщение

@Капрал Хикс Не дает отредактировать предыдущий пост. Все,  что загружается в имя_локи_gulag.script - имеет отношение к загрузке логики для гулагов на локациях.

1 минуту назад, Капрал Хикс сказал(а):

Я имел в виду отдельный профиль, 

Здесь НЕ задается профиль. СОвсем никак.  Эта ф-я возвращает указание, что эту работу может занимать только конкретный нпс. И только. 

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

Поделиться этим сообщением


Ссылка на сообщение

@Капрал Хикс вот то, что "для Скряги" - это НЕ задание профиля. 
Это значит, что работу "logic@mil_freedom_trader" никто, кроме Скряги, в гулаге не займет. 
Или вы под "профилем" имеете в виду что-то совсем другое, а не задание характеристик НПС.

  • Полезно 2

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

Поделиться этим сообщением


Ссылка на сообщение

@Купер скорее всего, имеет. Никто ж вам не мешает хоть сотне НПС назначить в конфиге один и тот же профиль ( например, Скрягин ) - но стори айди уникален. 
Т.е. неписей с профилем Скряги может быть много, а вот профиль+sid уже дает какую-никакую гарантию, что там работу займет именно Скряга. Вроде бы так, пусть знающие поправят, если иначе.

  • Спасибо 1

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

Поделиться этим сообщением


Ссылка на сообщение
2 часа назад, yurv3 сказал(а):

в присвоение сида запутался. 

Если у вас не модифицированный движок, и нужно присвоить SID уже после НИ " на лету" - вам действительно в нетпакеты. 

  • Спасибо 1

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

Поделиться этим сообщением


Ссылка на сообщение
5 часов назад, Zander_driver сказал(а):

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

В смысле? Именно через нетпакет я и присваивала стори_айди, когда было надо.
Через присвоение data.story_id  для непися значения из заранее записанного в game_story_ids.ltx. В  game_story_ids.ltx же можно ручками записать все, что нужно. 

А потом неписю, не имевшему sid-а, присвоить. 
Движок НЛС-ный, и никаких дополнительных ф-ций вида assign_story_id там конечно же не было...

  • Согласен 1

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

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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

AMK-Team.ru

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