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

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

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

olaf1

Камп - не может существовать без гулага (см. указанную строку для center_point).

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

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

Если вам нужно, чтобы ваши НПС сидели у костра, они ДОЛЖНЫ как минимум быть прописаны к гулагу к которому относится ваш center_point.

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Artos,

Но если вы мне не нужны ГУЛАГа, я бы тогда сделать замечание и ходить там в качестве отправной точки all.spwan писать и там

[mar_clear_sky_general_kamper_002_kamp]

points = p0

p0:name = wp00|a=sit

p0:position = -51.3453941345215,1.1859278678894,296.545593261719

p0:game_vertex_id = 3402

p0:level_vertex_id = 114134

 

 

но NPC будет сидеть без ГУЛАГа или?

 

или у меня есть ГУЛАГ?

 

еще один вопрос, если у меня есть ГУЛАГ, но мне не нужно скрипт или Гула?

Я не могу делать только то, ГУЛАГ, а затем логика NPC скрипт сказать, что белое и есть кемпинг, он не будет делать, когда я иду [smart_terrains] mar_clear_sky_kamp1 = true

 

Добавлено через 47 мин.:

Я могу дать на карте место NPC и что я должен добавить, что так мне нужны сценарии, а затем ID права NPC?

 

и как я могу сделать в этой книге теперь map_spot.xml карту месте?

 

Благодарю вас, прежде чем

 

Добавлено через 85 мин.:

 

из-за того, что это такое?

 

[7498998]

; cse_abstract properties

section_name = respawn

name = mar_clear_sky_lager_1_respwan

position = -57.9094772338867,1.24590361118317,283.974090576172

direction = 0.0176509469747543,0.000311903393594548,-0.0176697093993425

 

; cse_alife_object properties

game_vertex_id = 3402

distance = 13.3000001907349

level_vertex_id = 109085

object_flags = 0xffffff3e

custom_data = <<END

[respawn]

respawn_section = mar_clear_sky_respawn_1,14, mar_clear_sky_respawn_2,12, mar_clear_sky_respawn_3,12

;max_count = 25

;min_count = 3

max_spawn = 1

idle_spawn = medium

;conditions = 80

END

 

; cse_shape properties

shapes = shape0

shape0:type = sphere

shape0:offset = 0,0,0

shape0:radius = 1

 

; cse_alife_space_restrictor properties

restrictor_type = 0

 

; se_respawn properties

 

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

Artos, ты сейчас про схему kamp, откровенно глупость сказал... Что значит "не работает без указания гулага"?

Ну привёл ты вырезку из кода, ну равен параметр gulag_name nil и что?

С такими утверждениями выходит и схема wolker не должна работать "без указания гулага", ведь в ней для точки пути тоже нужно указывать гулаг:

st.path_walk = utils.cfg_get_string(ini, section, "path_walk", npc, true,  gulag_name)

Так что ли выходит?

В общем не знаю как у тебя, но лично у меня на 6 патче ТЧ, эта схема прекрасно справляется самостоятельно, будучи прописана лишь в custom_data НПС.

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

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

Глупость именно сказанное тобою. Доказательство:

1. В процитированной строке имеется ключик 'true' и аргумент гулага, используемые при вызове из utils.script:

function cfg_get_string(char_ini, section, field, object, mandatory, gulag_name, default_val)

 

2. Взглянув на коды указанной выше функции, легко увидеть, что:

    if mandatory == nil or gulag_name == nil then
        abort("section '%s': wrong arguments order in call to cfg_get_string", section)
    end

- т.е. при отсутствии аргумента gulag_name любая попытка чтение параметра 'center_point' обречена на прерывание игры.

Ключ 'true' (для mandatory) усугубляет прерывание, т.е. именно обязывает иметь и собственно аргумент 'gulag_name' и как минимум саму строку 'center_point' в секции логики, не допуская никакие дефолты ...

 

3. Учитывая, что чтение строки параметра 'center_point' производится при каждой инициализации схемы 'kamp', а для НПС с логикой [smart_terrains] none = true ... отсутствуиет информация о гулаге(!) - ГЛУПОСТЬ утверждать, что схема включится и без указания гулага.

 

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

Ведь легко посмотреть готовые конфиги, чтобы понять, что секция [smart_terrains] или НЕ прописывается неписям и они получают работу в гулаге при спане (иначе просто удаляются!) или же прописывается, но не в секции логики, а непосредственно или в all.spawn или в скастомдате! Т.о. или НПС свободно гуляет ([smart_terrains] none = true) и не подчитяется штатным схемам, или он приписан к какому-то гулагу (хоть на другой локции) и тогда управляем схемами.

 

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

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Artos, ты сейчас противоречишь действительности.

Возьми и попробуй сам, не взирая на увиденные тобою строки кода, воспроизведи следующее:

Привожу коды которые у меня работают:

custom_data для НПС:

custom_data = <<END
[smart_terrains]
none = true
[logic]
cfg = scripts\wolf_experimental.ltx
END

Содержимое файла wolf_experimental.ltx:

[logic]
active = kamp@wolf

[kamp@wolf]
center_point = test_kamp_poin_no_gulag

Точка test_kamp_poin_no_gulag в файле way_l01_escape.ltx:

[test_kamp_poin_no_gulag]
points = p0
p0:name = wp00
p0:flags = 0x1
p0:position = -207.07559204102,-19.366851806641,-139.89715576172
p0:game_vertex_id = 61
p0:level_vertex_id = 45944

Это координаты костра в лагере новичков (снимал сам).

Дело минутное. Если ты так "веришь" в свои слова, то результат тебя удивит.

 

Добавлено через 7 мин.:

И даже при вот таком раскладе:

custom_data для НПС:

custom_data = <<END
[logic]
cfg = scripts\wolf_experimental.ltx
END

Содержимое файла wolf_experimental.ltx:

[smart_terrains]
none = true

[logic]
active = kamp@wolf

[kamp@wolf]
center_point = test_kamp_poin_no_gulag

Точка center_point та же

всё прекрасно продолжает работать. Волк, как садился возле точки, так и будет продолжать это делать.

 

P.S. Всё выше сказанное проверялось на чистой игре 1.0006 патча.

Как будет время - попробуй, ОЧЕНЬ удивишься. ;)

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

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

У меня нет сейчас времени и желания проверять твои коды, это не минутнуе для меня дело (чистить/менят конфиги/...). Тем более, не мне говорить что нередкость неучтеные особенности у разных игроков приводят к разным результатам (у olaf1, кстати, 1.0004, если ты был внимателен).

Потрудись вначале все же объяснить именно с точки зрения упомянутых кодов считывания параметра - в чем тут глупость?! На это требуется гораздо меньше времени, чем ковырять коды ...

 

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

 

Добавлено через 9 мин.:

P.S. Я давно не удивляюсь различным извратам в моддинге. Можно сколь угодно нащупывать те или иные особенности, но нужно быть именно глупцом, чтобы использовать "недокументиованные" особенности даже не понимая как и почему они работают, когда есть штатные параметры, когда должно работать так как должно и без каких-либо "а вот у меня на такой версии в такой конфигурации ...".

В данном контексте именно глупость задавать свободу для НПС и в то же время приписывать его к точке кампа. Кто бы мне сказал - а нафига?!

Можно и левой пяткой чесать за правым ухом - но не глупость ли это? ;-)

 

Добавлено через 31 мин.:

P.P.S. Чуть позже, если не дашь ответа в чем же "глупость" в моих словах насчет гулагов - дам внятное объяснение некорректности/ошибки категоричности в моих словах. Но это скорее относится к нежеланию размусоливать тему о именах гулагов/кампов/... в контескте и без этих сложностеу в вопросах от olaf1.

Ну так будет разъяснения ошибочности относительно именно считывания параметра для схемы кампа, кроме эмпирического "доказательства"?

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Artos, а при чём здесь "недокументированные" особенности?

Речь шла о твоих словах, которые противоречат действительности:

Без указания гулага ([smart_terrains] none = true) - схема xr_kamp НЕ работает!
А что касается "штатных параметров", то в случае описанном мной выше, где Волк всё же был под схемой kamp, и вписанными строками:
local console = get_console()
if not console then console = get_console() end
console:execute("load ~~~ gulag_name is: >"..gulag_name.."<")

в самое начало функции cfg_get_string, как ни странно в консоле получаю вот это:

! Cannot find saved game ~~~ gulag_name is: ><

Т.е. как видно в функцию, в качестве параметра gulag_name передаётся пустая строка, как следствие сама функция возвращает строки:

return char_ini:r_string(section, field)

по мере апдейта они выглядят так:

scripts\wolf_experimental.ltx
kamp@wolf
test_kamp_poin_no_gulag

Так что никакое это не "нештатное использование", а возможность использовать схемы в самостоятельном виде.

 

P.S. В ответ также прошу доказательства твоих слов. Приводить 736 строку из файла xr_kamp.script не стоит. Думаю уместным и достаточным будет доказать, что в фукнцию cfg_get_string в качестве параметра gulag_name передаётся значение nil, а не какое либо другое.

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

ColR_iT, мда-а-а, не думал что моддинг так далеко "зашел" ... что действительностью уже обзывается не конкретные коды/функции/методы, а то, что игрок видит на экране, и моддмейке даже не в силах объяснить внятно почему же так, а не эдак. ... ;-)

Итак, раз внятного аргументированного ответа не последовало, а ошибочность в связке камп-гулаг все же имеется, дам именно аргументы/доказательства, а не ... "вот видите ..."

 

1. Для свободных от гулагов НПС, имеющих с кастомдате стоки: [smart_terrains] none = true, действительно гулаги не заданы.

Напомню, что от имени гулагов в схемах, использующих пути, именно имя гулага используется для составного имени путей walk и look.

Но схема кампа для указания точки пути 'center_point' это имя не использует, хотя при чтении используется та же строка с обязательностью наличия парамета 'gulag_name'.

 

2. Почему же схема кампа включается и работает, и при чтении параметров не обязательно наличие гулага?

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

Т.о. во все вызывемые схемы уже передается не исходный 'nil', а просто пустое имя (пустая стока), что и не приводит к принудительному прерыванию чтения строки параметра.

Примечание: В аналогичных скриптах CS/CoP (ЧН/ЗП) такой поблажки уже нет(!).

 

Т.о. можно конечно пытаться доказать "глупость" и голословно, ссылаясь на "а у меня работает", и даже на подсказанное - посмотреть в логе ... Но, помимо "видеть", нужно в первую очередь понимать ... ИМХО.

 

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

 

Оставляю эту тему и ответы на вопросы olaf1 более не глупым ...

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Artos, как же так получается? Сначала:

В файлах конфигов логики (clear_sky_general_kamper_00X.ltx), как уже писал ранее, ошибка(!), т.к. схема 'kamp' не может работать если для НПС не указан гулаг.

Т.е. запись [smart_terrains] none = true не может быть для [logic] active = kamp

Тебуется указать в каком же кампе должен сидеть ваш НПС, иначе строка из xr_kamp.script:

st.center_point = utils.cfg_get_string(ini, section, "center_point", npc, true, gulag_name)

- вам просто вызовет прерывание по ошибке (abort).

а затем:
При конфигурировании логики для НПС (см. скрипт xr_logic.script) в случае отсутствия имени гулага, при рекурсивном вызове этой же функции (configure_schemes) происходит приравнивание имени гулага к пустой строке (st.gulag_name = "").

Т.о. во все вызывемые схемы уже передается не исходный 'nil', а просто пустое имя (пустая стока), что и не приводит к принудительному прерыванию чтения строки параметра.

не кажется ли это противоречием?

У меня всё же остался один вопрос: почему ты считаешь, что использование схемы kamp без... "привязки", если можно так сказать, к гулагу является ошибочным?

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

ColR_iT, ты читаешь уже написанное или еще дня два будешь мусолить допущенную мною неточность (если угодно ошибку) относительно именно ТЧ (но не ЧН/ЗП!)?

Ведь уже сказано выше:

Artos: ... можно называть глупостью мои слова о недопустимости использования схемы кампа без связки с гулагом, можно ошибкою ... кому как заблагорассудится.
Или еще нужно посыпать пеплом голову и добровольно забаниться на недельку?

Считай я и это сделал ...

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

 

Ну а почему я "так считаю" - уже объяснил, и для непонятливых могу повторить:

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

Надеюсь право так считать, а не иначе, у меня никто не оспаривает.

 

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий
Whisper, в певую очередь потрудиться себе и скрипту объяснить, чтобы он понял - а что же такое считать за "обитаемый лагерь", а что за дикую зону.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

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

 

Дикая зона, это любое не заселенное людьми место.

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

Народ, реально ли восстановить из билдов способность НПС принимать положение "лёжа" при стрельбе?

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

Народная солянка от 19.04.10

SGM 2.2

Тайные Тропы 2

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

Whisper, видишь ли, компьютер хоть "вумный", но дурак и абстакциями не оперирует.

Что такое "лагерь" для тебя и для компа/игры. Для тебя - нечто одно, а для игры - всего лишь некая область в пределах указанного радиуса/куба.

Если взглянишь (в том же SDK, хотя бы) на "лагерь новичков" в деревне на Кордоне, то даже дорога между домами и проходящая недалеко от костра - уже далеко не вся относится к лагерю (не рестриктор). А считать ли необитаемой зоной домик напротив коста новичков? А считать ли обитаемый домик, куда еще не пришел, но идет спать тот же Шустрый?

А считать ли необитаемой зоной расстояние в пару метров и далее от, например, костерка с "лагерем" радиусом в десяток метров и сидищими возле него? Каков критерий - вот тут в N-метров от посиделок считать уже зону необитаемой?

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

Вон выше, как раз упоминается точка для одиночки-посиделки, где сидит и распевает песенки даже без лагеря/гулага - это как считается, обитаемая иль нет зона? :-)

 

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

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Привет всем. Народ подскажите как убрать тряску экрана Народной Солянке DMX 1.3.4? Я искал В теме DMX мода, но ничего не нашёл, поэтому пишу сюда. Кто знает подскажите пожалуйста.

Ссылка на комментарий
Чёрный Снайпер, В теме народное творчество НС выкладывали..

FANAT.gif

Мой канал на ютабчике... / Недельки из жизни фаната STALKER'a / Клуб 'Фанат Отчуждения'

Я нет-нет, а думаю, может я неправильно жил, надо ж брать деньги у богатых и давать их бедным, а таким как ты давать по морде, шоб у мире была красота и гармония.(с)Ликвидация

Всё в порядке, всё нормально, я беру тебя с собой, я беру тебя с собой. В тёмный омут головой.(с)Смысловые Галлюцинации

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

Я говорил вам, но как только варят Что: D

 

Можно ли с помощью NPC логики с логикой сценария сценарий только respwanen?

 

что ColR_iT говорит верно, когда я делаю это, и это я сделал эту работу много раз, но я хочу bespawnen уровне, и эти NPC будет, даже если они мертвы вернуться в свои позиции, но она нуждается в respwaner но, к сожалению я не знаю как это работает и будет нужна ваша помощь.

 

потому, что кто-то знает ответ?

 

спасибо

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

Прошу прощения, но все же повторю свой вопрос:

Каким образом увеличить дальность прорисовки травы в ТЧ. Ссылка на этот вопрос в деталях. Хоть намекните в какую сторону копать - "заселение" террейнов, алайф или упомянутое в ссылке поле зрения ГГ (хоте что это вообще не понятно).

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

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

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

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

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

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

Войти

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

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

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

AMK-Team.ru

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