Новое на сайте:
Новости:
Файлы:
Статьи:
Топ пользователей:
Обновления сайта:
Группа "Гости" не имеет право просмотра модуля
Модератор форума: romale |
Форум S.T.A.L.K.E.R. - Моддинг Разбираем S.T.A.L.K.E.R. Разборочная комната ТЧ (Задаем вопросы по скриптам/конфигам и другим файлам игры) |
Разборочная комната ТЧ |
Дата: Вторник, 17.04.2012, 22:43
Сообщение #1
Вы задаёте интересующий вас вопрос и тот, кто может вам на него ответить, пишет свой ответ. Правила темы: 1. Прежде чем задать вопрос, желательно прочитать все предыдущие страницы темы. Даже если вы не найдете там нужного ответа - я уверен, вы узнаете много нового. Второй вариант - воспользоваться поиском по ключевому слову. 2. Вы можете задавать вопросы, только непосредственно касающиеся создания модификаций и редактирования файлов игры 3. Личные вопросы не допускаются 4. Отвечать на вопросы желательно достаточно развернуто, задевая все аспекты касающиеся конкретного вопроса 5. Отвечать вы можете только в том случае если уверены в правильности ответа, если не знаете - просто не отвечайте. Авторы неправильных, вводящих в заблуждение ответов будут наказываться. 6.Соблюдайте грамотность и правильность построения вопросов и ответов, во избежание их удаления. "Спасибо / пожалуйста / не знаю" и прочие односложные и не несущие смысловой нагрузки сообщения, будут удаляться немедленно, а их авторы - наказываться. Основная цель темы - помочь новичкам-модостроителям, второстепенная - свести на нет тенденцию создания новых тем по каждому интересующему новичков вопросу.
|
Дата: Четверг, 02.05.2013, 03:32
Сообщение #401
Такой вопрос, как можно сделать, что бы ф-ция вызывала внешний файл? Конкретно я хочу сделать смену времён года в игре (благо есть зимние граф. моды), например есть две папки в геймдате с текстурами осени и зимы, папка с текстурами осени имеет корректное название (textures), а папка с тек-рами зимы имя (например: tex_off_tures - что бы не читалась игрой), вот пришло время по сюжету придти зиме, срабатывает ф-ция из диалога, которая запустит батник который переименует папку с зимними текстурами в корректное имя, а папку с осенью в любое другое имя.
Хотя тут понятно что потребуется перезагрузка игры. |
Дата: Четверг, 02.05.2013, 10:09
Сообщение #403
Вот такая проблема: клавиатура работает везде кроме этого сталкера, т.е. в самой игре не работает ни клавиша Esc, ни вперед, ни назад, нечего. В меню игры работает только Esc . Вот скрин настроек...я и его не могу выложить, т.к. клавиши F12 и Print Scrin не работают. А в настройках пусто, т.е. везде не выбрана клавиша действия, а выбрать я ее не могу, опять же, не работают клавиши. Что делать?
|
Дата: Четверг, 02.05.2013, 14:06
Сообщение #405
Цитата (volazar) Graff46, Невозможно сделать то, что вы хотите. Движок по дефолту читает текстуры из папки textures. Ни из какой другой он это делать не будет. Только если вы его не перепишите. Ну так я этим и пользуюсь "Движок по дефолту читает текстуры из папки textures" - если есть две папки с текстурами и только одна имеет имя textures - читается движком, а другая папка имеет другое имя, специально что бы не читалась движком. А вот функция которую я ищу, должна вызвать батник который переименует папки, т. е. папку textures в другое имя (что бы не читалась движком), а вторую папку(которая имела имя НЕ textures) переименовывается в textures и с этого момента читается движком... Сообщение отредактировал Graff46 - Четверг, 02.05.2013, 14:07 |
Дата: Четверг, 02.05.2013, 14:41
Сообщение #406
Graff46, я говорю про переименование. Для того, чтобы игра могла инициализировать папку - она должна перезагрузиться. Просто так из диалога сразу инициализировать новую папку - нельзя.
Во вторых - нельзя работать с файловой системой из луа сталкера. Это не предусмотрено. А про батник: Код move c:\textures c:\textures_osen' move c:\textures_zima c:\textures Переименовываем стандартную папку в textures_osen', а папку textures_zima переименовываем в просто textures. |
Дата: Четверг, 02.05.2013, 16:46
Сообщение #409
Цитата (volazar) Секция on_death в логике. Сама выдача через on_info. Да, я этот вариант рассматривал, конкретно у меня надо выдать инфопоршень о том что убиты 5 НПС, у них у всех в логике одна одинаковая секция на смерть Код on_death = death@killer Код [death@killers] on_info = %+esc_open_lager_fire +esc_open_killer_fire% Сообщение отредактировал Graff46 - Четверг, 02.05.2013, 16:47 |
Дата: Четверг, 02.05.2013, 16:50
Сообщение #412
Graff46, Если просто схематично, то действия примерно такие:
Есть несколько НПС(для примера возьмем троих) с какой либо логикой, и еще у них в логике должны быть например такие блоки: у первого НПС Код [logic] on_death = death [death] on_info = %+pomer1% у второго НПС Код [logic] on_death = death [death] on_info = %+pomer2% у третьего НПС Код [logic] on_death = death [death] on_info = %+pomer3% т.е. здесь мы видим, что при смерти первого НПС выдается инфопоршень pomer1, при смерти второго выдается инфопоршень pomer2, при смерти третьего выдается инфопрошень pomer3. Необходимо, чтобы они были зарегестрированы в файле info_локация.xml в таком виде: Код <info_portion id="pomer1"> </info_portion> <info_portion id="pomer2"> </info_portion> <info_portion id="pomer3"> </info_portion> <info_portion id="pomerli_vse"> </info_portion> затем нам надо отследить эти инфопоршни, для этого создаем функцию: Код function kto_u_nas_pomer(task, info) if db.actor and db.actor:has_info("pomer1") and db.actor:has_info("pomer2") and db.actor:has_info("pomer3")then return db.actor:give_info_portion("pomerli_vse") end return false end В принципе подготовительная часть закончена. При смерти этих НПС будут выданы нужные инфопоршни, функция отследит их и выдаст "общий" инфопоршень pomerli_vse на котором уже можно "привязать" завершение задания, появление нужного диалога ну и т.д. |
Дата: Четверг, 02.05.2013, 16:57
Сообщение #413
и вот
Код [logic@esc_killer3_raid] active = walker@esc_killer3_raid on_hit = hit@killers on_death = death@killers combat_ignore = combat_ignore и так все киллер 1, киллер2, киллер3 и тд до 5го Добавлено (02.05.2013, 16:52) --------------------------------------------- Цитата (Frankenshtayn) Если просто схематично, то действия примерно такие: Так же в туторах написано, но не хотелось трогать логику нпсов Добавлено (02.05.2013, 16:57) Сообщение отредактировал Graff46 - Четверг, 02.05.2013, 16:57 |
Дата: Четверг, 02.05.2013, 17:37
Сообщение #414
Graff46, А задание то выдано? Значит где то нестыковка. Задание обновляет 1 поршень, а при смерти выдается другой. Пропишите свои и проверьте.
Цитата (Graff46) но не хотелось трогать логику нпсов Если нужно, что бы все было хорошо - без логики не обойтись. |
Дата: Четверг, 02.05.2013, 19:42
Сообщение #416
Graff46, хорошо, спрошу по другому - проверка поршней прописана? Выложите код квеста. Самое простое - скриптовая ф-ия, которая проверяет наличие у актора этих самых 5 поршней. Затем в квесте проверка такого вида:
Код <function_complete>файл.функция</function_complete> |
Дата: Четверг, 02.05.2013, 20:06
Сообщение #417
Всё, я сделал. Пошарил в нэте и нашёл вот что:
Код Проверка смарттераили(лагеря) на количество НПС в нем: function smart_pust() if (xr_gulag.getGulagPopulation("название смарта") <= 0) --знак менше либо равно, вы должны знать со школы что оно такое, знаки бывают <=(менше либо равно), >=(больше либо равно), ==(просто равно) then return true else return false end end Эти пять нпсов были все в одном гулаге esc_killers, и кроме них его не кто занять не мог (проверял). Далее по логике вещей думаю понятно)) Добавлено (02.05.2013, 20:06) Сообщение отредактировал Graff46 - Четверг, 02.05.2013, 20:05 |
Дата: Четверг, 02.05.2013, 20:13
Сообщение #418
Цитата (Graff46) on_death = death@killers Праввильно, а далее выдается два инфопоршня: Код [death@killers] on_info = %+esc_open_lager_fire +esc_open_killer_fire% не буду утверждать, (точно не помню этот момент), но могу предположить, что в данном случае проверяется гибель смарта, а не каждого НПС в отдельности. А смысл в общем-то тот же самый. |
Дата: Четверг, 02.05.2013, 22:52
Сообщение #419
Какую нужно прописать ф-цию что бы ГГ в самом начале игры стартовал пьяным(как от 2х бутылкок водки)?
Добавлено (02.05.2013, 22:52) --------------------------------------------- И ещё, можно ли заспавнить скриптом оружие уже поломанное(с котороткой полосой состояния)? Сообщение отредактировал Graff46 - Пятница, 03.05.2013, 16:47 |
| |||