Malandrinus 615 Опубликовано 28 Июня 2012 Поделиться Опубликовано 28 Июня 2012 Clayman, Еще вопрос - а двери-слайдеры в движке подрезаны? Никто не смог их восстановить? Не уверен, как насчёт того, были ли такие двери раньше в билдах и как они были там реализованы, но сейчас двери можно сказать не движковые, а скриптовые. Собственно дверь в игре - это физический объект общего вида с шарниром вращения. При нажатии на дверь скриптовая схема прилагает вращающий момент к нужной кости, что приводит к открытию/закрытию. Таким образом, никто не мешает сделать и сдвигающуюся дверь. Только вместо шарнира вращения нужно сделать сочленение с линейным перемещением и изменить схему с применения вращающего момента на силу. Ещё раз, движковые возможности это вполне позволяют, просто никто до сих пор этим не озаботился. lychagin0, Причём здесь "транспорт мод" и тем более какое отношение имеет БТР и его "шустрость" к вопросу о дверях? Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий https://www.amk-team.ru/forum/topic/14899-cop-kovyrjaemsja-v-fajlah/page/214/#findComment-710090
lychagin0 0 Опубликовано 28 Июня 2012 Поделиться Опубликовано 28 Июня 2012 Clayman, lychagin0, Причём здесь "транспорт мод" и тем более какое отношение имеет БТР и его "шустрость" к вопросу о дверях? Приношу свои извинения, вел диалог о БТР, и невнимательно прочитал вопрос. Подумал что речь идёт о юзании дверей и возможности езды на транспорте в ЗП. Ещё раз сори. Ссылка на комментарий https://www.amk-team.ru/forum/topic/14899-cop-kovyrjaemsja-v-fajlah/page/214/#findComment-710100
Tris 9 Опубликовано 28 Июня 2012 Поделиться Опубликовано 28 Июня 2012 Clayman, Еще вопрос - а двери-слайдеры в движке подрезаны? Никто не смог их восстановить? Сделать\портировать модель и настроить в SDK, и всё будет как в ТЧ. Вопрос: Что нужно прописать в логике, чтобы заспавненный мною сталкер стал лидером отряда? З.Ы извеняюсь если не туда написал. • Dead Forgetting Zone • Мои работы. Обновление: 24.08.2012 Ссылка на комментарий https://www.amk-team.ru/forum/topic/14899-cop-kovyrjaemsja-v-fajlah/page/214/#findComment-710104
Malandrinus 615 Опубликовано 28 Июня 2012 Поделиться Опубликовано 28 Июня 2012 lychagin0, Подумал что речь идёт о юзании дверей и возможности езды на транспорте в ЗП. Что касается машин, то двери там можно сделать таким же образом. Машина - это в целом физический объект, правда уже не общего вида, а специальный. Двери можно сделать по тому-же принципу: разблокировать шарниры, добавить схему управления открытием/закрытием. Только пользы с этого мало, поскольку уж анимации влезания/вылезания вырезаны начисто, и тяжело привязать эту манипуляцию дверями к моменту посадки/вылезания. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий https://www.amk-team.ru/forum/topic/14899-cop-kovyrjaemsja-v-fajlah/page/214/#findComment-710112
Clayman 104 Опубликовано 29 Июня 2012 Поделиться Опубликовано 29 Июня 2012 Да и не стоит эта возня, того, что мне нужно было. Хотел сделать контролируемый вход на базе бандитов на свалке от ЧН, поступил проще - зафиксировал кости ворот в ангаре, поставил между ними обычную стальную дверь и подправил аи-сетку. На все про все - 10 минут. Ссылка на комментарий https://www.amk-team.ru/forum/topic/14899-cop-kovyrjaemsja-v-fajlah/page/214/#findComment-710145
karonbaron 2 Опубликовано 30 Июня 2012 Поделиться Опубликовано 30 Июня 2012 (изменено) Ребята, подскажите, как сделать ремкомплект для ЗП? Нашел в инете Создание ремонт комплекта Я опишу пример создания ремонт комплекта для костюмов, а для оружия в конце статьи сделаю пару заметок. Дело в том, что различия в создании ремонт комплектов почти нет. 1. Для начала нам нужно создать сам ремонт комплект, то есть предмет, а уже потом вешать на него функцию при использование. Для этого в config\misc\items.ltx в конец добавляем конфиг нашего предмета: [repair_kit_outfit]:identity_immunities GroupControlSection = spawn_group discovery_dependency = $spawn = "food and drugs\repair kit outfit" $prefetch = 32 class = II_ANTIR ;класс не трогаем! cform = skeleton visual = equipments\item_merger.ogf ;модель description = enc_equipment_repair_kit_outfit ;ссылка на описание в config\text\rus\....xml inv_name = repair_kit_outfit_name ;ссылка на название в config\text\rus\....xml inv_name_short = repair_kit_outfit_name ;тоже самое, что и inv_name inv_weight = 6.0 ;вес inv_grid_width = 2 ;ширина иконки inv_grid_height = 1 ;высота иконки inv_grid_x = 8 ;координата x иконки inv_grid_y = 18 ;координата y иконки cost = 10000 ;цена ;всё ниже написанное не трогаем, оно нам и не нужно eat_health = 0 eat_satiety = 0 eat_power = 0 eat_radiation = 0 wounds_heal_perc = 0 eat_portions_num = 1 animation_slot = 4 hud = wpn_vodka_hud 2. Теперь добавим название и описание. Для этого в файле config\text\rus\string_table_enc_equipment.xml в конец между </string> и </string_table> добавляем строки по аналогии с уже написсанными: <string id="repair_kit_outfit_name"> <text>Ремонт комплект ДПК</text> </string> <string id="enc_equipment_repair_kit_outfit"> <text>Новинка от Вани Болта - ремонт комплект ДПК для быстрой и эффективной починки костюмов. При его создании были учтены все недочёты и, следовательно, удалены. Благодаря улучшенным инструментам и деталям, а также облегченному весу весьма ценен. С его помощью можно увеличить состояние костюма до 100%, если он повреждён не больше 30%. Незаменимая вещь во время вылазки.</text> </string> Отлично, с предметом закончили. Теперь приступим к самому главному - скриптам. Работа со скриптами 1.Вешаем функцию починки при использовании нашего ремонт комплекта. Для этого в файле scripts\bind_stalker.script находим функцию: function actor_binder:reinit() и после строки self.object:set_callback(callback.take_item_from_box, self.take_item_from_box, self) пишем: self.object:set_callback(callback.use_object, self.repair_outfit_start, self) Теперь в папке scripts создаёте свой скриптовой фаил ваше_название_скрипта.script. Но! Название должно быть написано на английском языке и вместо пробелов должен стоять знак "_". Опять открываем bind_stalker.script и в самый конец добавляем эту функцию: function actor_binder:repair_outfit_start(obj, who) if obj then if obj:section() == "repair_kit_outfit" then --здесь указываем предмет, при использование которого будет срабатывать функция ниже ваше_название_скрипта.repair_outfit() --здесь указываем ссылку на функцию. Сначала скрипт, в котором она написана, потом название самой функции end end end 2. Добавляем саму функцию ремонта. Для этого в файле ваше_название_скрипта.script пишем: -- Ремонт комплект для костюмов function repair_outfit() local item_s6 = db.actor:item_in_slot(6) --объявляем переменную (item_s6) if item_s6 ~= nil and item_s6:condition() >=0.30 and item_s6:condition() ~=1 then --когда костюм можно чинить (состояние больше или равно 30%) item_s6:set_condition(1) local snd_obj = xr_sound.get_safe_sound_object([[interface\inv_detach_addon]]) snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) local news_text = "%c[255,160,160,160]Ремонт комплект:\\n%c[255,0,255,0]Ремонт костюма завершен." db.actor:give_game_news(news_text, "ui\\ui_iconsTotal", Frect():set(83,470,83,47), 1000, 5000) elseif item_s6 == nil then --когда костюма нет local news_text = "%c[255,160,160,160]Ремонт комплект:\\n%c[255,255,0,0]Ремонт невозможен: нужно одеть коcтюм." db.actor:give_game_news(news_text, "ui\\ui_iconsTotal", Frect():set(83,470,83,47), 1000, 5000) alife():create("repair_kit_outfit", db.actor:position(), 1, db.actor:game_vertex_id(), db.actor:id()) elseif item_s6:condition() <0.30 then --когда костюм нельзя чинить (состояние меньше 30%) local news_text = "%c[255,160,160,160]Ремонт комплект:\\n%c[255,255,0,0]Ремонт невозможен: костюм слишком сильно повреждён." db.actor:give_game_news(news_text, "ui\\ui_iconsTotal", Frect():set(83,470,83,47), 1000, 5000) alife():create("repair_kit_outfit", db.actor:position(), 1, db.actor:game_vertex_id(), db.actor:id()) elseif item_s6:condition() ==1 then --когда костюм в отличном состояние local news_text = "%c[255,160,160,160]Ремонт комплект:\\n%c[255,255,0,0]Ремонт невозможен: %c[255,0,255,0]костюм в отличном состояние." db.actor:give_game_news(news_text, "ui\\ui_iconsTotal", Frect():set(83,470,83,47), 1000, 5000) alife():create("repair_kit_outfit", db.actor:position(), 1, db.actor:game_vertex_id(), db.actor:id()) end end Всё! Теперь заходим в игру и наслаждаемся. Небольшая заметка 1. Чтобы сделать ремонт комплект для оружия проделываем тоже самое, только переименовываем всё вместо outfit на weapon и в функцие починки ставим слот 1 или 2 (оружейные слота) вместо 6 (слот костюмов). Ещё нужно заменить переменную item_s6 например на item_s1 или item_s2. 2. Число 0.30 - минимальное состояние костюма, следовательно его можно менять на любое вам угодное. Простите за такое оформление, это моя вторая статья. В будущем, если будет больше свободного времени, постораюсь расписать все моменты подробно. Автор статьи: Бага. Но у меня ГГ съедает ремкомплект. Понимаю, что это для "Теней...", но все таки, как подправить скрипты, чтобы работало для ЗП? Изменено 30 Июня 2012 пользователем karonbaron Ссылка на комментарий https://www.amk-team.ru/forum/topic/14899-cop-kovyrjaemsja-v-fajlah/page/214/#findComment-710360
Shredder 49 Опубликовано 30 Июня 2012 Поделиться Опубликовано 30 Июня 2012 karonbaron, если он не будет его съедать - то это получится какой-то читерский ремкомплект. Предполагается, что этот ремкомплект содержит расходный материал (типа бронепластины и т.д.) и естественно, что после ремонта он должен исчезать. Ну если тебе нужен такой, то переделай вот так: -- Ремонт комплект для костюмов function repair_outfit() alife():create("repair_kit_outfit", db.actor:position(), 1, db.actor:game_vertex_id(), db.actor:id()) local item_s6 = db.actor:item_in_slot(6) --объявляем переменную (item_s6) if item_s6 ~= nil and item_s6:condition() >=0.30 and item_s6:condition() ~=1 then --когда костюм можно чинить (состояние больше или равно 30%) item_s6:set_condition(1) local snd_obj = xr_sound.get_safe_sound_object([[interface\inv_detach_addon]]) snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) local news_text = "%c[255,160,160,160]Ремонт комплект:\\n%c[255,0,255,0]Ремонт костюма завершен." db.actor:give_game_news(news_text, "ui\\ui_iconsTotal", Frect():set(83,470,83,47), 1000, 5000) elseif item_s6 == nil then --когда костюма нет local news_text = "%c[255,160,160,160]Ремонт комплект:\\n%c[255,255,0,0]Ремонт невозможен: нужно одеть коcтюм." db.actor:give_game_news(news_text, "ui\\ui_iconsTotal", Frect():set(83,470,83,47), 1000, 5000) elseif item_s6:condition() <0.30 then --когда костюм нельзя чинить (состояние меньше 30%) local news_text = "%c[255,160,160,160]Ремонт комплект:\\n%c[255,255,0,0]Ремонт невозможен: костюм слишком сильно повреждён." db.actor:give_game_news(news_text, "ui\\ui_iconsTotal", Frect():set(83,470,83,47), 1000, 5000) elseif item_s6:condition() ==1 then --когда костюм в отличном состояние local news_text = "%c[255,160,160,160]Ремонт комплект:\\n%c[255,255,0,0]Ремонт невозможен: %c[255,0,255,0]костюм в отличном состояние." db.actor:give_game_news(news_text, "ui\\ui_iconsTotal", Frect():set(83,470,83,47), 1000, 5000) end end И будет тебе счастье Ссылка на комментарий https://www.amk-team.ru/forum/topic/14899-cop-kovyrjaemsja-v-fajlah/page/214/#findComment-710373
karonbaron 2 Опубликовано 30 Июня 2012 Поделиться Опубликовано 30 Июня 2012 Все равно не работает. Он его просто съедает, и все. Никакого сообщения, даже если броник поврежден. Правда, я функцию actor_binder:repair_outfit_start немного переделал: function actor_binder:repair_outfit_start(obj) if (obj) then local s_obj = alife():object(obj:id()) if(s_obj) and (s_obj:section()=="repair_kit_outfit") then rkomplekt.repair_outfit() end end end Толку нет. Скрипт не срабатывает... Поделитесь, пожалуйста, кто-нибудь рабочими кодами... Ссылка на комментарий https://www.amk-team.ru/forum/topic/14899-cop-kovyrjaemsja-v-fajlah/page/214/#findComment-710446
Shredder 49 Опубликовано 30 Июня 2012 Поделиться Опубликовано 30 Июня 2012 karonbaron, я вспомнил, в ЗП броник в 7-ом слоте . Попробуй так: -- Ремонт комплект для костюмов function repair_outfit() alife():create("repair_kit_outfit", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) local current_outfit = db.actor:item_in_slot(7) --объявляем переменную (current_outfit) if current_outfit ~= nil and current_outfit:condition() >=0.30 and current_outfit:condition() ~=1 then --когда костюм можно чинить (состояние больше или равно 30%) current_outfit:set_condition(1) local snd_obj = xr_sound.get_safe_sound_object([[interface\inv_detach_addon]]) snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) local news_text = "%c[255,160,160,160]Ремонт комплект:\\n%c[255,0,255,0]Ремонт костюма завершен." db.actor:give_game_news(news_text, "ui\\ui_iconsTotal", Frect():set(83,470,83,47), 1000, 5000) elseif current_outfit == nil then --когда костюма нет local news_text = "%c[255,160,160,160]Ремонт комплект:\\n%c[255,255,0,0]Ремонт невозможен: нужно одеть коcтюм." db.actor:give_game_news(news_text, "ui\\ui_iconsTotal", Frect():set(83,470,83,47), 1000, 5000) elseif current_outfit:condition() <0.30 then --когда костюм нельзя чинить (состояние меньше 30%) local news_text = "%c[255,160,160,160]Ремонт комплект:\\n%c[255,255,0,0]Ремонт невозможен: костюм слишком сильно повреждён." db.actor:give_game_news(news_text, "ui\\ui_iconsTotal", Frect():set(83,470,83,47), 1000, 5000) elseif current_outfit:condition() ==1 then --когда костюм в отличном состояние local news_text = "%c[255,160,160,160]Ремонт комплект:\\n%c[255,255,0,0]Ремонт невозможен: %c[255,0,255,0]костюм в отличном состояние." db.actor:give_game_news(news_text, "ui\\ui_iconsTotal", Frect():set(83,470,83,47), 1000, 5000) end end И нафига ты функцию actor_binder:repair_outfit_start немного переделал? Не вижу никакой логики, оставь как было. Ссылка на комментарий https://www.amk-team.ru/forum/topic/14899-cop-kovyrjaemsja-v-fajlah/page/214/#findComment-710460
karonbaron 2 Опубликовано 1 Июля 2012 Поделиться Опубликовано 1 Июля 2012 И так не срабатывает тоже. И если функцию поменять, не реагирует. Я кучу вариантов испробовал уже, без толку... Ну ладно, ремкоплект рабочий я выдернул из мизери мода. У меня такой, более сложный вопрос. Как восстановить выпадение частей монстров в ЗП? А то какой смысл их убивать, только патроны тратить... Ссылка на комментарий https://www.amk-team.ru/forum/topic/14899-cop-kovyrjaemsja-v-fajlah/page/214/#findComment-710581
Shredder 49 Опубликовано 1 Июля 2012 Поделиться Опубликовано 1 Июля 2012 Хоть уже и не важно, но подозреваю, что ты кое что пропустил: 1.Вешаем функцию починки при использовании нашего ремонт комплекта. Для этого в файле scripts\bind_stalker.script находим функцию: function actor_binder:reinit() и после строки self.object:set_callback(callback.take_item_from_box, self.take_item_from_box, self) пишем: self.object:set_callback(callback.use_object, self.repair_outfit_start, self) Ссылка на комментарий https://www.amk-team.ru/forum/topic/14899-cop-kovyrjaemsja-v-fajlah/page/214/#findComment-710592
karonbaron 2 Опубликовано 5 Июля 2012 Поделиться Опубликовано 5 Июля 2012 Хоть уже и не важно, но подозреваю, что ты кое что пропустил: 1.Вешаем функцию починки при использовании нашего ремонт комплекта. Для этого в файле scripts\bind_stalker.script находим функцию: function actor_binder:reinit() и после строки self.object:set_callback(callback.take_item_from_box, self.take_item_from_box, self) пишем: self.object:set_callback(callback.use_object, self.repair_outfit_start, self) Я первоначально все коды из той (см. выше мои посты) статьи вставлял в игру вообще без изменений. Не работало. Ну, ладно. Так что там с частями монстров? Выпадение их как в SGM моде не предлагать, меня это не устраивает. Видел в ARS-моде мутантера, когда можно через спецменю отрезать части тела, вот его бы в чистом виде. Может, есть у кого? Ссылка на комментарий https://www.amk-team.ru/forum/topic/14899-cop-kovyrjaemsja-v-fajlah/page/214/#findComment-711528
Clayman 104 Опубликовано 5 Июля 2012 Поделиться Опубликовано 5 Июля 2012 А мод Мясник не устраивает? Там как раз отрезаешь части мутантов, отличная штука! Я себе прикрутил в обязательном порядке... Ссылка на комментарий https://www.amk-team.ru/forum/topic/14899-cop-kovyrjaemsja-v-fajlah/page/214/#findComment-711529
Callisto 2 Опубликовано 8 Июля 2012 Поделиться Опубликовано 8 Июля 2012 Доброго времени суток. Есть такой вопрос: как единожды вызвать функцию при старте игры (напр. спавн)? Личные изыскания, к сожалению, результатов не дали. Ссылка на комментарий https://www.amk-team.ru/forum/topic/14899-cop-kovyrjaemsja-v-fajlah/page/214/#findComment-712582
ColR_iT 171 Опубликовано 8 Июля 2012 Поделиться Опубликовано 8 Июля 2012 Callisto, при начале новой игры, под ГГ находится рестриктор, его логика вынесена в отдельный файл, где-то в папке configs\scripts, этот рестриктор выдаёт основное сюжетное задание: "Узнать о причинах падения вертолётов". Как вариант, можешь сделать вызов функции через него. Ссылка на комментарий https://www.amk-team.ru/forum/topic/14899-cop-kovyrjaemsja-v-fajlah/page/214/#findComment-712585
Callisto 2 Опубликовано 8 Июля 2012 Поделиться Опубликовано 8 Июля 2012 ColR_iT, Думала об этом способе, и даже логику этого рестриктора нашла, но вот как в него добавить вызов функции не могу понять, как-то медленно идет изучение. Ссылка на комментарий https://www.amk-team.ru/forum/topic/14899-cop-kovyrjaemsja-v-fajlah/page/214/#findComment-712587
Painter 3 583 Опубликовано 9 Июля 2012 Поделиться Опубликовано 9 Июля 2012 (изменено) Callisto, 1. Открываем файл: scripts\xr_effects 2. Добавляем туда свою функцию: function test_func() ... end 3. Открываем файл логики рестриктора: configs\scripts\zaton\zat_b101_logic 4. Находим строчку: [sr_idle] on_info = {!black_screen -zat_b101_give_task +zat_a1_game_start} sr_idle@save %=give_task(zat_b101_heli_5_crash) +zat_b101_give_task =give_task(jup_b8_heli_4_crash) +jup_b8_give_task =give_task(zat_b28_heli_3_crash) =give_task(zat_b100_heli_2_crash) =give_task(jup_b9_heli_1_crash) +jup_b9_give_task =set_active_task(zat_b28_heli_3_crash)% 5. Заменяем на эту: [sr_idle] on_info = {!black_screen -zat_b101_give_task +zat_a1_game_start} sr_idle@save %=give_task(zat_b101_heli_5_crash) +zat_b101_give_task =give_task(jup_b8_heli_4_crash) +jup_b8_give_task =give_task(zat_b28_heli_3_crash) =give_task(zat_b100_heli_2_crash) =give_task(jup_b9_heli_1_crash) +jup_b9_give_task =set_active_task(zat_b28_heli_3_crash) =test_func% 6. Готово. Изменено 9 Июля 2012 пользователем Jurok «There is no spoon» Ссылка на комментарий https://www.amk-team.ru/forum/topic/14899-cop-kovyrjaemsja-v-fajlah/page/214/#findComment-712593
Clayman 104 Опубликовано 9 Июля 2012 Поделиться Опубликовано 9 Июля 2012 Один раз случайно поймал вот такой случай - консоль забивается вот таким ворнингом: RENDER [Warning]: Too many occlusion queries were issued(>1536)!!! Причем так и не понял из-за чего это... потом все обегал раз 15, вроде не появляется... никто про эти буквы ничего не знает? Ссылка на комментарий https://www.amk-team.ru/forum/topic/14899-cop-kovyrjaemsja-v-fajlah/page/214/#findComment-712658
Akella-96 aka SvD 35 Опубликовано 10 Июля 2012 Поделиться Опубликовано 10 Июля 2012 Callisto, ещё вариант. Через скрипт. Создаем скрипт my_script.script и в него пишем function main() if db.actor:dont_has_info("new_game_start") then spawn_monster() db.actor:give_info_portion("new_game_start") end end ------------------------------------------------------------ function spawn_monster() alife():create("chimera_normal",vector():set(116.86434936523,-3.9353849887848,176.99018859863),1167207,138) end Вызывать так: В bind_stalker.script, после benchmark.main() --' Distemper 06.2008 -- Пишем : my_script.main() AWRP : Re - Load 0.2 © Ссылка на комментарий https://www.amk-team.ru/forum/topic/14899-cop-kovyrjaemsja-v-fajlah/page/214/#findComment-712893
Shredder 49 Опубликовано 10 Июля 2012 Поделиться Опубликовано 10 Июля 2012 Akella-96 aka SvD, для кого-то это совсем не вариант. Из-за одного вызова функции выполнять проверку if db.actor:dont_has_info("new_game_start") then всю игру - жесть как не рационально. В файле xr_effects.script находим функцию damage_actor_items_on_start() и в конце дописываем вызов нашей функции. Да и вообще из неё можно всё вырезать, чтобы ГГ начинал игру во всём новом Ссылка на комментарий https://www.amk-team.ru/forum/topic/14899-cop-kovyrjaemsja-v-fajlah/page/214/#findComment-712949
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти