Новое на сайте:
Новости:
Файлы:
Статьи:
Топ пользователей:
Обновления сайта:
Группа "Гости" не имеет право просмотра модуля
Модератор форума: 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.Соблюдайте грамотность и правильность построения вопросов и ответов, во избежание их удаления. "Спасибо / пожалуйста / не знаю" и прочие односложные и не несущие смысловой нагрузки сообщения, будут удаляться немедленно, а их авторы - наказываться. Основная цель темы - помочь новичкам-модостроителям, второстепенная - свести на нет тенденцию создания новых тем по каждому интересующему новичков вопросу.
|
Дата: Понедельник, 16.09.2013, 18:30
Сообщение #721
Уточню, что combat_ignore нужно прописывать во всех секциях логики, где НПС должен оставаться "нейтральным".
Также нужно указать саму секцию combat_ignore: Код [combat_ignore] combat_ignore_cond = always В данном случае, always означает, что НПС никогда не будет атаковать. Можно прописать секцию on_hit и переход на новую секции логики, где не указан combat_ignore. Получится что НПС не атакует до тех пор, пока не атаковали его. Можно еще проще, с помощью условий - combat_ignore_cond = {+info –info =func} В условии указать наличие/отсутствие поршня/выполнение функции. Ну и не стоит забывать секцию danger. Без нее не выйдет, НПС будет срываться в бой. Указываем во всех нужных секциях логики - danger = danger_condition И прописываем саму секцию danger: Код [danger_condition] ignore_distance = 0 Упс, невнимательно прочитал пост Андрея. |
Дата: Понедельник, 16.09.2013, 23:17
Сообщение #722
Пипл помготи пожалуйста мне!я хочу что бы оружие w_walther_wa2000 стало стрелять очередями,но у меня почему то не получается его сделать таковым,буду признателен тем,кто сможет его исправить,либо поставить на фн2000 прицел как у этой пушки...всмысле с автозахватом.
народная солянка dmx mod 135 [romale]Я тебе уже отвечал в теме "поделок": http://stalker-gamers.ru/forum/23-110-30377-16-1379351436 Повторю еще раз - это никак не правится, особенность движка игры. Соответственно, если приделать прицел с автозахватом к FN-2000, то она тоже станет стрелять только одиночными. Тебе оно нужно? Кстати, FN -2000 "Палач" с автозахватом (снайперский), можно достать у Акима.[/romale] xz |
Дата: Четверг, 19.09.2013, 08:39
Сообщение #723
Такой вопрос: -Накатил новую погоду на "Вариант Омега 3.0" и при запуске игры, получаю вылет:
Код [error]Expression : fatal error [error]Function : CInifile::r_section [error]File : E:\stalker\sources\trunk\xrCore\Xr_ini.cpp [error]Line : 342 [error]Description : <no expression> [error]Arguments : Can't open section 'weather_indoor_x18' Подскажите что нужно прописать, или пропишите в файл "weather_indoor" нужные строки. Вот weather_indoor Спасибо! |
Дата: Четверг, 19.09.2013, 14:24
Сообщение #724
Цитата (Вспышка) Подскажите что нужно прописать, По ходу пьесы данной секции вообще нет в данном файле, хотя в чистом ТЧ есть вот такие строки: Попробуй добавить их в конец своего файлика weather_indoor.ltx Не ручаюсь, что что-то ещё надо добавить (мож, ещё и надо что-то делать с твоим environment.ltx), но попытайся. Сообщение отредактировал Korpus - Четверг, 19.09.2013, 14:27 |
Дата: Четверг, 19.09.2013, 20:33
Сообщение #725
Друзья, всем добрый вечер. Возникла проблемка. Добавил монстров, каких только можно. И волка, и когтя, ну и всех остальных. Тестирование прошло успешно, все работает, но есть одна проблема с тушканчиками. При убийстве главным героем тушканчика получаю вылет:
Сами по себе от аномалий или других НПС-ов тушканчики дохнут нормально. |
Дата: Четверг, 19.09.2013, 21:36
Сообщение #726
butrikA, по логу вылета не понятно в чем "прикол". Косяк может быть в чем угодно.
Встречный вопрос: откель брал конфиги тушканов, иконки, модельки? Просто у нас в моде (малость лепим своё) с тушканами как раз и не было никаких проблем никогда - это самые ответственные, исправно отрабатывающие себя монстрики. Для информации: http://stalker-gamers.ru/forum/16-39-5464-16-1344423603 |
Дата: Четверг, 19.09.2013, 23:25
Сообщение #727
IMAGINE, В том и дело, что не помню откуда взял этих тушканчиков. Монстров брал с разных модов... За инфу спасибо, попробую разобраться. Больше боялся, что будут проблемы с волками и когтями, а тут на тебе - тушканчики...
|
Дата: Вторник, 24.09.2013, 10:33
Сообщение #729
С добрым утром! Друзья кто нибудь работал с иконками НПС? С иконками оружия и предметов я разобрался как переносить и вычислять координаты в иконэдиторе. А как работают иконки неписей? Написано просто направление например - ui_npc_dyak, я по началу копировал иконки в свой ui_npc, затем поменял на соляночный, но вылетает по текстуре ui_npc. Ежеле поставить направление на обычного сталкера или бандита, то все нормально работает.
Да и еще, что означает вот это в характере непися <map_icon x="..." y="..."></map_icon> |
Дата: Вторник, 24.09.2013, 11:09
Сообщение #730
Цитата (butrikA) но вылетает по текстуре ui_npc. Потому, что на полотне ui_npc нет изображения с координатами которые указаны за ui_npc_dyak, не с чего брать. Есть "промежуточные файлы" между тем, что указывается в character_desc_локация.xml, m_звери.ltx, tasks_локация.xml и подобными, и файлами иконок (портретов, фотографий, значков в заданиях и прочей красявости). Например, для файла иконок с нпс ui_npc_unique.dds в ТЧ существует файл ui_npc_unique.xml, в котором указан идентификатор иконки, например: Код <texture id="ui_npc_u_stalker_bandit_3" x="0" y="540" width="165" height="108" /> (он и прописывается character_desc и прочем) и явно указаны координаты нужных участков графического полотна файла с иконками (от верхнего левого угла) и ширина-высота нужного участка в пикселях(!) Цитата (butrikA) что означает вот это в характере непися <map_icon x="..." y="..."></map_icon> Это тип иконки для отображения нпс на карте (всякие рожицы), можно увидеть в ранних билдах ТЧ, не используется - позже это реализовано через установку меток на конкретного нпс или предмет. Сообщение отредактировал Korpus - Вторник, 24.09.2013, 11:11 |
Дата: Четверг, 26.09.2013, 18:50
Сообщение #731
Всем добрый вечер. Попробовал собрать логику по посту написанному выше. Все работает непись враг, но не стреляет. Что еще нужно добавить в логику нпс, чтобы при нападении монстров он защищался а не стоял, и при этом не трогал гг. Кто знает подскажите пожалуйста.
И второй вопрос. Пробовал удалить нпс, с помощью этого кода произошел вылет. Испытывал на нпс из алл.спавна и спавненого через скрипт .В обоих случаях один и тотже вылет , (ругается на какую то глобальную функцию) лог не сохранил. Сообщение отредактировал Giznyhvatit - Четверг, 26.09.2013, 19:55 |
Дата: Четверг, 26.09.2013, 20:17
Сообщение #732
Giznyhvatit,
Активной схемой должен быть walker, а не remark. Для начала, по идее, должно получиться вот это: Тогда непись будет орентироваться на местности так, как ему прописано в вее аллспавна, и после срыва на монстра или ещё какой тревоги будет возвращаться в исходную позицию. Опять же - это для начала. Про остальное подскажут. Цитата (Giznyhvatit) И второй вопрос. код function remove_freaks() remove_obj("object") end А что или кого ты тут удалять пытаешься таким образом? Вот функция удаления нпс по ID Вот функция удаления нпс по его системному имени (скриптового нпс, например, "grom") и не только неписей, но и объектов - телепортов, аномалий, предметов, нычек и пр. И в догонку - через диалог с удаляемым нпс его же удалять напрямую нельзя (!) - получишь вылет. Т.е можно и через диалог, в совокупность с "брейк-диалогом" запускать хотя бы, например, таймер на отработку функции удаления, что бы окно диалога успело закрыться. Способов хватает. ЗЫ Вообще-то, эти вопросы, как и предыдущие, уже выходят за рамки топика и больше подходят для тем по модингу. Сообщение отредактировал Korpus - Четверг, 26.09.2013, 20:47 |
Дата: Четверг, 26.09.2013, 20:45
Сообщение #733
Цитата (Korpus) Активной схемой должен быть walker, а не remark. Дело в том что этот непись стоит на месте, так задумано... Он враг, говорит с гг становится нейтралом. Но мне нужно, чтобы он защищал себя от монстров. Поэтому я и спросил что еще добавить в логику этому нпс(у). 2) я создал непися, когда он поболтает с гг то должен исчезнуть, по задумке)), как думаешь такое возможно сотворить? спасибо что откликнулся. |
Дата: Четверг, 26.09.2013, 20:48
Сообщение #734
Цитата (Giznyhvatit) Пробовал удалить нпс а что такое "object"? Возможно я что-то недопонял, но нужно игре "разжевать" что нужно удалить. Если из аллспавна, попробуйте эту функцию: Код function del_chto-to() local se_obj = alife():object("имя_секции_в_аллспавне") if se_obj then alife():release(se_obj, true) end end |
Дата: Четверг, 26.09.2013, 20:54
Сообщение #735
Цитата (Giznyhvatit) поболтает с гг то должен исчезнуть, по задумке)) можно еще такую функцию попробовать(если создан уник со стори-айди) Код function del_nps() local sim = alife() local se_obj = sim:story_object(888) --номер обьекта в game_stori_ids if se_obj then sim:release(se_obj, true) end end единственное о чем хочу предупредить - все эти функции нельзя вызывать из диалога с НПС которого хотим удалить. |
Дата: Четверг, 26.09.2013, 21:09
Сообщение #736
Цитата (Giznyhvatit) Вот этот непись, из (спавн секции). Ну, пробуйте тогда функцию удаления предложенную Korpus, а именно: Код function del_nps() for a=10,65634,1 do local obj=alife():object(a) if obj and string.find(obj:name(),"grom") then ---имя секции спавна alife():release(obj,true) end end end |
Дата: Четверг, 26.09.2013, 22:02
Сообщение #737
Спасибо за помощь сейчас гляну что выйдет))))
Добавлено (26.09.2013, 22:02) --------------------------------------------- Разбор полетов: вобщем ни 1, ни 2 код ничего не дал... может я что-то упустил, ни где больше ничего прописать не нужно? может есть у кого рабочий пример?! Спасибо всем кто откликнулся! Сообщение отредактировал Giznyhvatit - Четверг, 26.09.2013, 22:16 |
Дата: Четверг, 26.09.2013, 23:18
Сообщение #738
Giznyhvatit,
эти две функции рабочие на 100% Код function del_nps() local sim = alife() local se_obj = sim:story_object(888) --номер обьекта в game_stori_ids if se_obj then sim:release(se_obj, true) end end Код function del_chto-to() local se_obj = alife():object("имя_секции_в_аллспавне") if se_obj then alife():release(se_obj, true) end end третьей, а именно: Код function del_nps() for a=10,65634,1 do local obj=alife():object(a) if obj and string.find(obj:name(),"grom") then ---имя секции спавна alife():release(obj,true) end end end я ни разу не пользовался, и про ее работоспособность ничего сказать не могу. Надо будет проверить. |
Дата: Четверг, 26.09.2013, 23:36
Сообщение #739
Цитата (Frankenshtayn) эти две функции рабочие на 100% Что нужно сделать с этим набором, чтобы заработало удаление? в скрипте ...._dialog вставлял коды предложенные выше. акцион в диалоге прописан, что я делаю не так? игра тч- 04 Сообщение отредактировал Giznyhvatit - Четверг, 26.09.2013, 23:45 |
Дата: Четверг, 26.09.2013, 23:42
Сообщение #740
использовать
Код function del_chto-to() local se_obj = alife():object("имя_секции_в_аллспавне") if se_obj then alife():release(se_obj, true) end end вставив имя своего нпс: Код function del_chto-to() local se_obj = alife():object("red_grom") if se_obj then alife():release(se_obj, true) end end Цитата (Giznyhvatit) в скрипте ...._dialog вставлял коды предложенные выше. в принципе саму функцию можно поместить в любой скрипт. а в диалог вставить экшен Код <action>название_скрипта.имя_функции</action> небольшой нюанс... правда не проверенный... экшен надо вставлять в текст "произносимый" ГГ, а не собеседником, иначе может не срабатывать(повторюсь - я это не проверял, но слышал) |
| |||