Правила сайта FAQ Мини-чат
Для добавления необходима авторизация!
23.04.2024, Вторник, 21:01


Модератор форума: romale  
Форум » S.T.A.L.K.E.R. - Моддинг » Разбираем S.T.A.L.K.E.R. » Разборочная комната ТЧ (Задаем вопросы по скриптам/конфигам и другим файлам игры)
Разборочная комната ТЧ
Сообщение #1
Вы задаёте интересующий вас вопрос и тот, кто может вам на него ответить, пишет свой ответ. Правила темы:

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

2. Вы можете задавать вопросы, только непосредственно касающиеся создания модификаций и редактирования файлов игры

3. Личные вопросы не допускаются

4. Отвечать на вопросы желательно достаточно развернуто, задевая все аспекты касающиеся конкретного вопроса

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

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

Основная цель темы - помочь новичкам-модостроителям, второстепенная - свести на нет тенденцию создания новых тем по каждому интересующему новичков вопросу.

Уважение: 133
Награды: 32
Сообщение #681
Цитата (butrikA)
А я вот что надумал:

Так это самое ценное и есть - "надумал - сделай", попробуешь, понравится самому - внесёшь свою идею в жизнь.
Ты уже сам разобрался "откуда ноги растут". :) Поменяй вызов той кнопки на "свою", тебе нужную. Если имешь ввиду уже зарегистрированные кнопки, как та, что упоминается в указанной функции - по простому пути - "по аналогии". Покопайся в кнопочных уи-файлах. Эффекты могут быть разными, но комп-то у тебя в руках. :)
ЗЫ Понятное дело, что тут не "комната психологической подготовки", но вопросы задаются иногда "неординарные". И... Как-то обидно, если они останутся даже без таких "ответов". Я ни разу подобного не осуществлял, но думать нам ни кто не запрещает. :) Ты сам себе ответил.

Уважение: 169
Награды: 31
Облучение: 0%
Сообщение #682
Korpus, Саша, я все понял! Просто не знаю в каких файлах кнопки прописаны?

Уважение: 31
Награды: 3
Облучение: 0%
Сообщение #683
Цитата (butrikA)
Просто не знаю в каких файлах кнопки прописаны?

Так поищи. :)
Берёшь уже тобой отмеченную кнопку OnButton_credits_clicked (для неё отдельная функция и написана)
Ищем. И находим скрипт - ui_main_menu.script
Заглядываем в него и ищем, что и с чем едят.
Находим так ЦЕЛУЮ функцию по всем имеющимся для ТЧ "потребностям":


Хочешь, подвесь свои потребности на уже имеющиеся кнопки (сейв, лоад, настройки и прочее - тебе, потом решать, как это будет выглядеть :) ), а можешь на основе увиденного попытаться ввести в свою наработку новую "свою спецкнопку". В это функции есть ВСЁ, что нужно для понимания построения игрового меню с его вложениями от "предложения нажать", до "да, нет", внимательнее приглядись. Я в данное время не могу уделить этому внимания на практике. Наверняка, подскажут ещё. А так, если чё-то совсем уже не вмоготу, пиши в личку, там чё-нить придумаем)

Сообщение отредактировал Korpus - Суббота, 24.08.2013, 13:09


Уважение: 169
Награды: 31
Облучение: 0%
Сообщение #684
Цитата
function main_menu:OnButton_credits_clicked()
local text
local vid
local gvid
local a = vector()
local text
a = db.actor:position()
vid = db.actor:level_vertex_id()
gvid = db.actor:game_vertex_id()
text = "Позиция:\\nX= "..a.x.."\\nY= "..a.y.."\\nZ= "..a.z.."\\nlevel_vertex= "..vid.."\\ngame_vertex_id= "..gvid
news_manager.send_tip(db.actor, text, nil, nil, 30000)
end


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

В bind_stalker.script после строк:

Код
hud:RemoveCustomStatic("cs_radiation_danger")
   end
  end


Вписываешь это:



Далее в конфигах худа config/ui/ui_custom_msgs.xml в самый низ перед </header>, вписываешь конфиг вывода координат.





Чтобы отключить вывод координат, достаточно скрипт закомментить:



Как здорово быть тёртым сталкером! Не бояться каждого шороха, оружия не носить с собой много!

Уважение: 389
Награды: 45
Облучение: 0%
Сообщение #685
Цитата (dimak)
Далее в конфигах худа config/ui/ui_custom_msgs.xml в самый низ перед </header>, вписываешь конфиг вывода координат.

Посыпаю голову пеплом. :) Именно про это я и "забыл" отписать ранее. Хорошо, что ты поправил мои "поспешности".

Уважение: 169
Награды: 31
Облучение: 0%
Сообщение #686
Друзья, всем привет. Вопрос: добавил локацию darcscape. Добавил файл профилей и диалогов, прписал эти файлы в sistem.ltx все в порядке, файлы работают. А вот где прописывается файл диалога rus/stable_dialog_darcscape? А то приходится нагружать файл русских диалогов кордона.
И еще, может кто сталкивался с таким вылетом


Какой-то инфопоршень. Вроде как не хватает какого-то предмета? Вылет на локации, которую мне дали. Происходит на окраине, почти на выходе. Я там еще не успел напортачить, потому не знаю в каком направлении искать. В аллспавне вроде ничего не соответствующего не заметил.

Уважение: 31
Награды: 3
Облучение: 0%
Сообщение #687
butrikA, Вылет из-за того, что нет инфопоршня - ds_delete_changer. Добавь его в любой из файлов info_***.xml
Возможно где то стоит рестриктор, раз именно на окраине такой вылет. При попадании в рестриктор выдается поршень и т.д
Посмотри поиском по алл спавну этот поршень. Если нет, тогда в заданиях, если и там нет - осмотри файлы логики.
Проще всего в тотал коммандере сделать поиск по фразе в нужной папке.
По поводу диалогов, новый файл добавляется в system.ltx, секция [dialogs]. Там думаю поймешь как прописать, живой пример есть :)

Уважение: 650
Награды: 97
Облучение: 0%
Сообщение #688
Друзья, есть персонаж по типу Кости из "солянки". Выдает он ГГ направления на поиски тайников. Первый на кордоне, ГГ находит его, сдает НПС-у и идет искать следующий. Следующий находится на другой локе, на той же локе и происходит потом встреча ГГ с НПС-ом. Спавню я его через скрипт, при получении определенного предмета из тайника. И в то же время, понимаю, что это двойник. Первый так и остался на кордоне, он то через аллспавн поселился. А как сделать, чтобы он перемещался и не оставался везде? Может его с самого начала надо "рождать" через скрипт?

Уважение: 31
Награды: 3
Облучение: 0%
Сообщение #689
butrikA, Именно переместить - не получится. Спавни его в нужный момент, затем удаляй и спавни на другой локации. Будет один и тот же Костя.

Да, убери из алл спавна и сделай скриптовый спавн.

Уважение: 650
Награды: 97
Облучение: 0%
Сообщение #690
Цитата (volazar)
Спавни его в нужный момент, затем удаляй и спавни на другой локации. Будет один и тот же Костя.

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

Цитата (volazar)
ЗЫ: Чуть позже перенесу посты в ковыряние, тут выкладывают полезные ф-ии для игры.

Чё-то я не понял. Это тема по ковырянию в файлах или в каких-то функциях?
Ковыряем, общаемся, уличаем друг-друга в ошибках. Как-то уж определитесь. По моим понятиям, уже если есть тема по полезным функциям, то нечего там и болтать - выложил, дал ссылку и всё. А тут же конкретно - "задаём вопросы, отвечаем на них, как можем, общаемся." Если я не прав, то примите меры.

Сообщение отредактировал Korpus - Вторник, 27.08.2013, 23:01


Уважение: 169
Награды: 31
Облучение: 0%
Сообщение #691
Цитата (Korpus)
Чё-то я не понял. Это тема по ковырянию в файлах или в каких-то функциях?

Последние 2 поста изначально были в теме "Полезные функции". Все таки там выкладываем функции, а тут уже разбираем вопросы, иначе получается 2 темы, где обсуждают одно и тоже :)
Потер фразу, дабы не вводить никого в заблуждение.

Цитата (Korpus)
А потому, прошу Вас, поясните свою точку зрения и поделитесь практическими знаниями.

Ну а зачем спавнить клонов? Когда можно заспавнить 1 НПС, прописать ему все нужные диалоги с условиями их появления, а затем удалять например с Кордона и переспавнивать на Свалке. Как минимум не нужно будет иметь с десяток профилей одного и того же НПС-а для разных ситуаций и т.д
Глюков при скриптовом спавне никогда не замечал. Если идет речь о внезапных смертях, пропаданиях, зависах - то виной тут идет или кривая логика или тянущиеся еще с АМК мода глюки с оффлайновой жизнью.
Не раз спавнил скриптовых НПС, которые отыгрывали довольно длинные сцены (побегать, поизображать анимации, посидеть у костра пару недель, в надежде что ГГ выполнит задание и почтит нас своим присутствием, пострелять и т.д). И ни разу не было нестыковок, пропаданий и т.д
Бывают ошибки в игровой логике, переполнении стека, плохие дороги глюки движка - откуда и идет всякая бяка.
Ну и в конце концов, большинство глюков лежат на моддере. Тут понаписал, там вставил непонятно что и поехало...а когда внезапно все становится неиграбельно - концов уже не найти. Начинаются сетования на игру, на кривой движок, но только не на себя.

Уважение: 650
Награды: 97
Облучение: 0%
Сообщение #692
Всем, привет!
Я вижу, что здесь в основном фанаты ТЧ.
Если у кого возникнут вопросы по ЗП - пишите.
Помогу, чем смогу.

[volazar]Если что, создадим отдельную тему, дабы не мешать ответы ТЧ и ЗП :)[/volazar]


Терпение......
И все получится!

Уважение: 999
Награды: 31
Облучение: 0%
Сообщение #693
Переделал я своего непися на "скриптового" т.е. спавнится он у меня уже не через аллспавн. Но и сразу возникли вопросы:
1. Как сделать его бессмертным?
2. И куда прописывается путь к файлу скриптовой логики данного НПС-а?
Все эти дела у меня были в аллспавне. По бессмертию - ставил секцию Сахарова. Да и пути тоже пересекались со скриптом логики
[logic] -
файл.skript - и из него путь обратно в спавн (вей) path_walk; path_look. Может это и не правильная схема?

Уважение: 31
Награды: 3
Облучение: 0%
Сообщение #694
butrikA,
1) Создаешь профиль НПС в character_desc_***.xml (это у тебя и так есть).
2) Создаешь секцию НПС в spawn_section.ltx пример:
Код
[npc]:stalker_sakharov
$spawn = "respawn\volazar"
character_profile = volazar
spec_rank = master
community = stalker
custom_data = scripts\volazar\vol_l\volazar.ltx

Где:
stalker_sakharov - это наследуемая секция НПС, т.е наш нпс будет бессмертным.
character_profile - это ссылка на профиль из 1 пункта.
custom_data - это ссылка на логику.
3) Сам спавн через скрипт по секции:
Код
alife():create("секция из spawn_section.ltx",vector():set(x,y,z),lv,gv)

4) Готово.

Уважение: 650
Награды: 97
Облучение: 0%
Сообщение #695
Цитата (butrikA)
Как сделать его бессмертным?

Раз уж зашёл вопрос о бессмертии НПС, то расскажу, как сделать в ТЧ НПС бессмертным или смертным по какому-то условию. Возможно это уже где-то и кем-то писалось, но раз вопрос задан, значит не все видели.

Если унаследовать секцию Сахарова, то НПС будет бессмертным на протяжении всей игры. А если У вас в моде, например, в конце игры появится желание выдать задание на уничтожение этого персонажа? Что будете делать?
Или наоборот ( как это частенько бывает в ТЧ) у Вас в середине игры задание на уничтожение НПС, а он уже погиб либо в аномалии, либо от мутантов, либо от вражеского НПС.
Т.е. у модмейкера всегда должна быть возможность в любое время сделать НПС неуязвимым ( бессмертным) и наоборот.
В ЗП есть движковая функция, которая переключает неуязвимость НПС. В ТЧ такой функции нет. Но можно попробовать это сделать скриптами.


Терпение......
И все получится!

Сообщение отредактировал makdm - Среда, 28.08.2013, 14:35


Уважение: 999
Награды: 31
Облучение: 0%
Сообщение #696
Друзья, всем привет. Провел опыты по бессмертию НПС - результаты не важные.
Вообщем, существуют три непися, двое из которых спавнятся через аллспавн и один через скрипт. Тех, что через аллспавн удалось сделать бессмертными только добавив "stalker_sakharov" в соответствующую секцию НПС-а в аллспавне.
Тот НПС, который спавнится через скрипт и имеет такую-же секцию "stalker_sakharov" только в spawn_section.ltx, все одно смертен. Проводил эксперимент с двумя неписями с аллспавна, в аллспавне ставил в их секциях просто "stalker", а в spawn_section.ltx в их секциях ставил "stalker_sakharov", они становились смертными...
Так же провел опыт по функции выше от makdm, сперва был вылет по ошибке LUA, ошибку исправил вылета нет. В логике скриптового НПС-а поставил значение invul = true, но НПС все одно - смертен. Тут правда не знаю, куда правильно ставить это значение. Саму логику НПС видит и нормально работает по ней, вот только так и остался смертен.

Уважение: 31
Награды: 3
Облучение: 0%
Сообщение #697
Цитата (butrikA)
Тут правда не знаю, куда правильно ставит

Написано чётко

Цитата (makdm)
в активной схеме логики сталкера, например walker, пропишем наш параметр invul


Терпение......
И все получится!

Уважение: 999
Награды: 31
Облучение: 0%
Сообщение #698
butrikA,
Специально для теста установил ТЧ. ( не играл года 4 ).
Прописал ГГ Абакан и экзу. Начал новую игру. Подошёл к Волку. Расстрелял в упор. Волк - мёртвый.

Вышел из игры. Внёс правки в xr_motivator. script.
Открыл логику Волка - файл gamedata\config\misc\gulag_escape.ltx

Логика Волка - [logic@esc_lager_volk]
Во всех активных секциях: [walker@esc_lager_volk_walker1], [remark@esc_lager_volk1] и т.д. прописал invul = true

Начал новую игру. Подошёл к Волку и всадил в него 4 рожка. Стоит здоровый и невредимый.

Всё работает на 5.

И никаих вылетов по LUA нет и в помине.


Терпение......
И все получится!

Сообщение отредактировал makdm - Четверг, 29.08.2013, 13:29


Уважение: 999
Награды: 31
Облучение: 0%
Сообщение #699
makdm, вылетов нет, вот только не получается, дохнет гад. Взял непися с самой простой логикой:



Тыкал invul = true кругом... Может потому, что логика находится в config\script?

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

Завтра попробую, если рабочая перенесу в "полезные функции".

Уважение: 31
Награды: 3
Облучение: 0%
Сообщение #700
Добрый день уважаемые пользователи! Столкнулся с некоторыми трудностями при прохождении мода а именно:

1. Как отключить урон при взятии артефакта (при взятии по ГГ проходит приличный урон в виде радиации или кровотечения а если взять сразу несколько артефактов то есть шанс погибнуть на месте).
2. Раскачивание камеры при движении я конечно одобряю но когда ГГ просыпается от кошмара или получает критический урон камера будто с ума сходит аж под текстуры проваливается, собственно как это можно отключить.
Мод: НС + ООП + КА + МА + ЧШ.

Уважение: 0
Награды: 0
Облучение: 0%
Форум » S.T.A.L.K.E.R. - Моддинг » Разбираем S.T.A.L.K.E.R. » Разборочная комната ТЧ (Задаем вопросы по скриптам/конфигам и другим файлам игры)
Поиск: