Новое на сайте:
Новости:
Файлы:
Статьи:
Топ пользователей:
Обновления сайта:
Группа "Гости" не имеет право просмотра модуля
Модератор форума: 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.Соблюдайте грамотность и правильность построения вопросов и ответов, во избежание их удаления. "Спасибо / пожалуйста / не знаю" и прочие односложные и не несущие смысловой нагрузки сообщения, будут удаляться немедленно, а их авторы - наказываться. Основная цель темы - помочь новичкам-модостроителям, второстепенная - свести на нет тенденцию создания новых тем по каждому интересующему новичков вопросу.
|
Дата: Суббота, 09.11.2013, 21:10
Сообщение #821
Всем привет. Может я не правильно вопрос задаю?! Есть нпс вновь созданный. Через аль.спавн его можно сделать раненым без проблем. Но нужен именно заспавненный через скрипт, с помощью <action>, чтоб лежал на земле и просил аптечку. Неужели только через логику и remark, можно это сделать?! Может статья где нибудь есть.
Трупик ведь можно спавнить, а раненого нет?!? И второй вопрос, где нужно править (конфиг?) чтоб трупы исчезали быстрее. За ранее благодарен. Второй вариант наверное не подойдет, у меня тч-04 без амк мода. На счет первого варианта, нужно попробовать. Сообщение отредактировал Giznyhvatit - Воскресенье, 10.11.2013, 12:45 |
Дата: Суббота, 09.11.2013, 23:13
Сообщение #822
Giznyhvatit, по первому вопросу:
Как один из способов заспавнить скриптового нпс с логикой, где у него поза раненого и озвучка через звуковую схему такая же. Например, через: Код anim = wounded_heavy_3 snd = help_heavy Другой способ через: Код local obj = alife():create("esc_stalker_respawn_1",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id()) local tbl = amk.read_stalker_params(obj) tbl.health = 0.1 tbl.updhealth = 0.05 amk.write_stalker_params(tbl, obj) Возможно, что можно всучить неписю принудительный хит, доводящий до состояния ранения. |
Дата: Воскресенье, 10.11.2013, 12:48
Сообщение #823
Добрый день. Что то не получается у меня с этими ранеными...
что тут куда вставить чтоб нанести хит, этому нпс? И в какой файл нужно поместить одну из этих функций? И как мне из этого набора выдрать нужное?! Сообщение отредактировал Giznyhvatit - Воскресенье, 10.11.2013, 13:33 |
Дата: Воскресенье, 10.11.2013, 13:14
Сообщение #824
Giznyhvatit, в файле gamedata\scripts\xr_effects.script есть готовая функция hit_npc
Посмотри, как она работает. Сразу видно, что у Вас не указана кость, по которой нужно нанести ХИТ. h:bone Терпение...... И все получится! |
Дата: Воскресенье, 10.11.2013, 13:32
Сообщение #825
Giznyhvatit, насколько мне известно, конкретные sid cкриптами можно присвоить тому же нпс, который спавнится на локации отличной от той, где находится ГГ - . т.е. присвоение осуществится при переходе (сохранении автосохранки и её загрузки, почитай "псевдо НИ") на эту локацию.
Придётся искать игровой идентефикатор скриптового НПС, хотя бы через: Код function функция() local npc,obj for i=10,65534 do npc = level.object_by_id(i) if npc and npc:name() == "[b]grom30[/b]" then obj = alife():object(npc:id()) npc: -/-/-/-/-/-/-/ -- дальше то, что хочется произвести с этим несчастным -/-/-/-/-/-/-/ Про нужное количество "end" не забыть. Ну, а в случае "нормально ранее уже присвоенного sid", подставляй в указанную тобой функцию конкретный номер. |
Дата: Воскресенье, 10.11.2013, 13:47
Сообщение #827
Giznyhvatit, сделайте проще, чтобы не искать объект путём перебора.
В логике НПС пишите on_info = {-поршень} %+поршень =hit_my_npc% А в файл xr_effects.script в конец файла пишите свою функцию function hit_my_npc(actor, npc) local h = hit() h.power = 0 h.direction = npc:direction() h.bone = "bip01_spine" h.draftsman = npc h.impulse = 0 h.type = hit.wound npc:hit(h) end Только подберите правильно impulse и power Вот и всех делов то. Терпение...... И все получится! |
Дата: Воскресенье, 10.11.2013, 14:44
Сообщение #829
А то что я в спойлере показал, правильно собрано? имеется в виду логика нпс (инфопрошни), см. диалог Добро сейчас гляну. Нет... ставил и 400 шагает(((, может все таки что то в спойлере не хватает? Посоветуйте как лучше... Сообщение отредактировал Giznyhvatit - Воскресенье, 10.11.2013, 16:31 |
Дата: Воскресенье, 10.11.2013, 14:51
Сообщение #830
С точки зрения выдачи инфопорции и вызова функции - всё правильно. Вам просто нужно подобрать h.power Начнём всё сначала У вас после окончания даилога спавнится НПС. Вы хотите, чтобы он заспавнился раненым. Тогда поршень окончания диалога не должен быть в логике НПС. Потому что строка on_info = {-Osoznay2} %+Osoznay2 =hit_my_npc% переводится так: Если поршень не выдан, то выдать поршень и исполнить функцию А у вас поршень выдан в диалоге, поэтому функция не выполняется Пропишите в логике другой поршень. Например on_info = {-Osoznay3} %+Osoznay3 =hit_my_npc% А затем подбирайте значение h.power Я бы сразу дал 50 и посмотрел. Если помрёт, то снижайте на 10 пока не найдёте значение, когда он будет ранен. Кстати, чем вас не устраивает раненый в схеме remark, я так и не понял, честно говоря Терпение...... И все получится! Сообщение отредактировал makdm - Воскресенье, 10.11.2013, 15:53 |
Дата: Воскресенье, 10.11.2013, 15:59
Сообщение #831
Giznyhvatit, не нужно трогать диалог. Оставьте его таким, каким он был.
В логике пропишите у первого сталкера вот так on_info = {-Stalker_1} %+Stalker_1 =hit_my_npc% у второго on_info = {-Stalker_2} %+Stalker_2 =hit_my_npc% и т.д. по количеству бойцов сквада И если нужно зарегистрируйте поршени И всё. Терпение...... И все получится! |
Дата: Воскресенье, 10.11.2013, 16:29
Сообщение #832
Вобщем получается я не так понял, нпс спавнится через акшен, а функция сама по себе наносит хит))). Теперь последствия этого хита, пробовал ставить h.power=1 нпс мертв, h.power=0.99 шагает((((( что делать?
(на всякий случай повторюсь, тч-04 без Амк мода...) Спасибо что откликнулись... Вопрос остается открытым(((( Не знаю может я не правильно делал, Видите ли схема что в спойлере, мне подходит, но я не знаю как ее допилить, а с wounded какие то неувязки... Спасибо что пытались помочь! Сообщение отредактировал Giznyhvatit - Понедельник, 11.11.2013, 10:30 |
Дата: Воскресенье, 10.11.2013, 16:37
Сообщение #833
Giznyhvatit, Будь у НПС хоть 0.00000001 здоровья, он будет шагать. Для того, чтобы он упал - у него в логике должна быть прописана секция раненого. А именно wounded.
Пропишите в логику: Код [wounded] hp_state = 10|help_me@help hp_state_see = 10|wounded@help_see hp_victim = actor Как только у НПС останется 10 ХП, он упадет и будет просить о помощи. *** *** *** Вы схему ему прописали в логику? |
Дата: Понедельник, 11.11.2013, 10:34
Сообщение #834
Привет всем, я снова с той же темой, если вам не надоело)))) то продолжим . Если поменять кость по которой бьет хит вызванный с помощью функции, как думаете можно будет отрегулировать h.pover?
В файле m_stalker есть такие строки если я правильно понял это дефолтные настройки урона сталкеров?! Спасибо за помощь, я лишь немного подправил логику которую вы мне описали. Дело в том что после взятия аптечки, нпс просто топал к своему месту в игре, и поговорить с ним было не возможно... Вот что я добавил: Жаль конечно, что не получилось применить схему указанную Korpus, было бы гораздо проще спавнить нпс(ов), без всякой логики wounded, как в all.spawn upd:health = 0.01000 и т.д... Вопрос закрыт... Еще раз спасибо всем, кто старался помочь! Сообщение отредактировал Giznyhvatit - Вторник, 12.11.2013, 18:18 |
Дата: Понедельник, 11.11.2013, 17:28
Сообщение #835
Giznyhvatit, я Вам пишу готовую логику, которая работает. Без всяких хитов, костей и т.д.
Делается симуляция раненого бойца. На самом деле он здоров, как Бык, но будет стонать и ныть, что всё у него плохо. Подходите к нему, разговариваете, даёте аптечку, ставите укол и делаете массаж ( по выбору ). После диалога он встаёт на ноги. Логика Пропишите ему в стартовый диалог dolg_dialog, сделайте с ним диалог и в конце диалога выдадите поршень dolg_dialog_end. Соответственно поршень зарегистрируйте. Терпение...... И все получится! |
Дата: Вторник, 12.11.2013, 20:54
Сообщение #836
|
Дата: Вторник, 12.11.2013, 22:00
Сообщение #837
GeorgF, а зачем здесь этот пост? Название и описание темы-то видели?
Вам скорее сюды нужно: http://stalker-gamers.ru/forum/30-1213-1 |
Дата: Среда, 13.11.2013, 21:04
Сообщение #839
Добрый день! Подскажите, как сделать в ООП+К+МА, что бы ГГ держал болт как в ЗП? Есть ООП и допа к нему "Storm"(в ней болт как в ЗП). Закидываю из допы все файлы с именем "bolt" в ооп(3 нашел), но ловлю вылет. Может есть еще связанные с "болтом" файлы?
Сообщение отредактировал Kotelnikov-art - Четверг, 14.11.2013, 12:05 |
Дата: Четверг, 14.11.2013, 19:05
Сообщение #840
Очень неудачный способ совмещения модов. Цитата Может есть еще связанные с "болтом" файлы? Естественно есть, раз вылетаешь. Вообще эта тема по разборке ТЧ. Поэтому тут тебе нужно самому поработать. Даже автор данного венегрета вряд ли тебе поможет. Нотепад++ с ВинМергже в руки и вперед. Да...и лог вылета все-таки найди и почитай. Иногда очень помогает в исследовании причин вылета. Дорого. Гарантия. Оплата по факту. |
| |||