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

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


Halford

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

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

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

 

"Если рожден мальчиком, то только хирургическое вмешательство может поменять на девочку"

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

  • Нравится 1

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

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


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

Serge_888, настоятельно рекомендую к прочтению общие материалы по моддингу (ФАКи, статьи и пр.) ссылки на которые есть, наример, в шапках этого топика и топика по ковырянию файлов ТЧ. В них ты найдешь многие ответы на свои нынешние и будущие вопросы. Не нужно пытаться сразу прыгать выше головы... Никто не будет тебе заново расписывать то, что уже много раз и описывалось и разжевывалось. Съэкономь и свое время и место в топике, потратив время на самостоятельное изучение уже наработанного в сталкере.

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

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


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

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

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

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


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

Serge_888, ты спрашивал "можно ли сделать видимыми"... теперь "а почему невидимы"...

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

Тебе уже был дан ответ, что вывести поверх прицельных текстур "что-нибудь" можно. Даже больше того - многим модмейкерам требуется убирать с худа все эти "лишние" индакаторы/иконки, которые ими (их скриптами) выводятся, дабы сделать картинку более реальной (ну какие индикаторы видны если ты смотришь в глазок прицела?!).

Ну и в игре имеются методы level.hide_indicators() и level.show_indicators(), которыми можно управлять (не)видимостью движковых индикаторов во многих ситуациях.

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

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

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


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

CInifile::r_section - говорит о том, что идет попытка чтения секции из некоего конфиг-файла (возможно динамического ltx).

Can't open section 'cond' - говорит о наличии ссылки на секцию с именем 'cond', которая отсутствует...

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

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


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

Makc_Evdokimov, маловато информации для ответа.

Попробуй раскомментировать (и/или добавить) в faction_brain_human:calculate_current_expansion() соответствующие строки вывода в лог и смотри какие условия не срабатывают.

Возможно указанное precondition_power = 1 для "чистой" Зоны - маловато и экспансия завершается так и не начавшись.

Также, настораживают слова:

В это "боевом" скваде поселил членов одной из группировки, а из враждующего сквада прописал путь patrol для атаки на данный сквад.
И в сквад не "селят", а в отряд включают, и соответственно путь должен быть не к отряду (скваду), а к смарту, который занимает соотв.отряд. Проверь, может именно с путем напортачил, а без пути - нет нападения. Изменено пользователем Artos

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

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


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

Makc_Evdokimov, судя по твоим повторным вопросам... ты явно установил планку гораздо выше нынешних своих возможностей.

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

Связывать все только с инфо-поршнями - ошибка, это один из видов задания условий, но не единственный.

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

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

Ну а когда общие (глобальные) вопросы будут боле-менее ясны - тогда и наступит время конкретных...

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

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

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


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

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

Ну да это все же оффтопик, хотя и немаловажный.

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

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

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

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

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

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

 

И, плз. портянки кодов прячь за тэгом спойлера.

 

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

(это чтобы не было напрасных ожиданий с твоей стороны)

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

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

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


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

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

Зачем заменять нормальный параметр on_actor_inside на корявую (с ошибками) запись on_info = {=actor_in_zone(mar_space_restrictor_give_infa)} %+mar_give_infa% - ну никак не понятно. И само имя неясно откуда взялось, и как аргументы для подобного вызова функции задавать - стОит все же посмотреть в оригинале.

Гадать о причине сумашествия движка/скриптов от такого употребления буковок в логике вероятно не стОит. Для меня самого такой вылет загадка. Как может ссылаться лог на переменную ('abort') которой в указанной логом строке и в помине нет, а в корневом скрипте (_g.script) эта функция должна точно быть - загадка. Тут уже не программист нужен, а толкователь абсурдов.

 

Итого, отсебятина все же не должна доходить до абсурда, результаты которого и растолковать то никто не возьмется.

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

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

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

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


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

Отшельник12, а почему бы, самому не посмотреть в упомянутом повелителе зоны, и не взять оттуда нужные тебе строчки?

Судя по невнятному вопросу о некоем "худе" - вероятно всего-то требуется повесить на хот-кеи level.hide_indicators() и level.show_indicators().

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

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

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


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

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

 

K.O.N.S.T.A.N.T.I.N.,

Тут раздел не для поигральщиков, кому захотелось почитерить/поизменять игру, а все же "Школа", поэтому потрудись немного напрячь свои мозги и найти тебе же нужное решение. Сам же пишешь, что "Играю в OGSM-1.8" - ну так и смотри именно в кодах мода, что же выставляет фиксированные значения для тайм-фактора. Простейший поиск по "time_factor" в скриптах даст тебе подсказку - level.set_time_factor(10).

Вот и меняй как тебе захотелось... а не только на конфиги надейся.

 

 

golovastik, вероятно модератор "подскажет" более детально, и може дажет "поможет", а пока - обратись к Кашпировскому (но не на этом форуме).

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

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

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


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

Попробуем на примере вопроса от K.O.N.S.T.A.N.T.I.N. "Как изменить скорость течения игрового времени в Чистом небе?" - разобрать ошибки и грабли:

1.

Задаю вопрос, который неоднократно звучал в этой теме, но так и остался без ответа.
В любом ФАКе к игре Сталкера можно найти ответ на поставленный вопрос, т.е. то, что тайм-фактор, от которого зависит скорость течения игрового времени задается в конфиге alife.ltx параметром time_factor. Поэтому глупо сетовать на то, что никто и нигде не дал ответа на факовый вопрос.

2.

Играю в OGSM-1.8. Вариант с "alife/time_factor", почему-то не работает
Скорость течения времени в игре не постоянна. В модах есть ситуации, когда время ускоряется. Это и сон ГГ, когда за секунды проходят часы, и различные другие тестовые или иные нововведения.

Там же в факах или в статьях/справочниках по функциям немало упоминаний про то, что скорость течения игрового времени может изменяться функцией level.set_time_factor(number). Т.о. если у вас скорость течения игры отлична от дефолтно установленной конфигом - то и следует искать те места в скриптах моди и функции, в которых это время меняется.

К сожалению, нередко моддмейкеры экономят время и строки кода, и вместо универсального варианта пишут частные случаи. Так и в OGSM-1.8, немало строк, где жестко задается level.set_time_factor(10), что при желании изменить в конфиге скорость течения времени приводит к "не работает...".

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

factor = system_ini():r_float("alife","time_factor")
level.set_time_factor(factor)

- и тогда код скрипта будет пригоден для любого мода и/или изменения его.

3.

Другие level.set_time_factor(10) не трогаем, т.к. происходит несоответствие картинки и субтитров.
Вот еще одни грабли, на которые наступают новички... Скорость течения времени должно быть одинаково, исключая конечно сами события с ускоренным временем (сон, ...).

Если в одном случае задавать тайм-фактор 3, а в другом 10 - то каково же будет время в игре? Ответ очевиден - будет таким, каким установлено в последнем случае вызова функции, т.е. получается непредсказуемым. Да и какова причина оставлять другие значения от заданного в конфиге? Есть только она причина, в игре/моде могут быть заданы таймеры, которые расчитаны из расчета игрового времени. При изменении тайм-фактора подобные времена может потребоваться скорректировать. Например в модах с выбросом от АМК-мода, потребуется скорректировать времена выброса (сам выброс состоит из 5-ти отрезков времени), т.к. они как раз и завязаны на игровом времени и при изменении тайм-фактора с 10 на 3 выбросы станут и короче и "скомканными".

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

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

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


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

K.O.N.S.T.A.N.T.I.N., что ты называешь "несовпадением картинки и субтитров"? И каким боком к этому относится скорость течения (фактор) игрового времени? Выложи скрин - тогда можно о чем то говорить...

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

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

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


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

Старлей, "ящик" иль "тайник" - суть едина: спавн предмета возможен в объекты класса 'inventory_box' (о сталкерах иль монстрах не поминаем).

Спавн "в ящик" ничем не отличается от спавна "сталкеру", т.е. последним (5-ым) аргументом в функции 'create' указывается игровой идентификатор (ID) владельца (объекта для спавна).

Однако, в отличии от спавна "сталкеру", имеется нюанс: чтобы заспавненные "в ящик" предметы не исчезали из ящика после save-load - требуется перевести ящик в оффлайн и обратно.

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

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


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

Чтобы КПК получил имя владельца, в его (КПК) параметр 'original_owner' должен быть прописан игровой идентификатор (id) владельца, а в 'specific_character' - профиль владельца (это вторично). Тогда имя КПК будет персональным и соответствовать имени сталкера с этим идентификатором.

Собственно этот параметр заполняется автоматом, когда сталкер спавнится в игру и следом ему его именной КПК.

Но, можно и заменить или добавить (если отсутствует) сам КПК (обычный!) и перезаписью net-пакетом установить требуемые значения.

Примечание: Секция для именных КПК должна быть ТОЛЬКО штатной, т.е. [device_pda], все остальное - по вкусу...

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

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

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


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

@Malandrinus, я практик, а не теоретик ;-), конечно же не только проверял, но и использую на практике (в SIMBION'e).

Не проверял только такие случаи:

- КПК спавнится, когда владельц уже мертв;

- КПК спавнится, когда у владельца уже имеется имеется свой именной КПК;

Во всех остальных случаях не было никаких проблем.

В моде в модуле офф-лайн-алайф (аналог AMK'шного), в котором неписи занимаются собирательством и "подметают" все на локациях, при продаже хабара, не продают именно свой КПК, отличая его по метке 'original_owner'.

Также, при сборе актором различных КПК, различаются безхозные и именные КПК, опять же по этой метке. Снятие метки снимало "персональность" найденного КПК.

У игроков в мод бывали случаи, когда при попадании в аномалию актор терял свой КПК... Искал потерянное (скриптами) именно по метке, и возвращал. А при отсутствии - просто спавнил новый и метил - КПК становился: "КПК Меченный". (это в ТЧ).

(к вечеру гляну непроверенные ситуации, и применительно с ЧН)

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

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


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

Вынужден признать свою ошибку относительно возможности отображения надписи для именных КПК в ЧН (CS) и ЗП (CoP) через параметры объекта.

К сожалению, в ЧН/ЗП в движке напрочь вырезана эта возможность и надпись отображает только то, что прописано в к конфиге строкою 'inv_name'.

 

Под ТЧ отображение именных надписей работает, но требуется спавнить КПК не сразу в тело, а вначале спавнить "на землю" и менять параметры и уже после этого вкладывать КПК владельцу (=>трансфер).

В противном случае возникает двойная проблема:

- сразу после спавна КПК не отображается "именным";

- после сэйв->лоад уже "именной" КПК как бы исчезает из трупа, т.е. невидим, хотя и находится в инвентаре (но это отдельная история).

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

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


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

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