Overf1rst 1 499 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Зов Припяти. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 19 9 1 1 2 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Misery 433 Опубликовано 12 декабря, 2020 У меня проблема. Я нацепил прицел на ТОЗ-34 и сделал отдельную секцию с этим оружием. Но игра вылетает если выкинуть оружие. Хоть путь прописан правильно, оружие названо правильно, перепроверял 10 раз, каждую букву. Clear Sky: Gunslinger Addon Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
nasar75 134 Опубликовано 12 декабря, 2020 Misery сделал новый ствол - прописывай в mp_ranks.ltx. Или правь движок... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 953 Опубликовано 12 декабря, 2020 (изменено) xr_Sanya Файл smart_terrain.script функция se_smart_terrain:try_respawn() local curr_time = game.get_game_time() if self.last_respawn_update == nil or self.respawn_idle == nil or curr_time:diffSec(self.last_respawn_update) > self.respawn_idle then self.last_respawn_update = curr_time self.respawn_idle = 1000 + math.random(1000) if self.sim_avail ~= nil and xr_logic.pick_section_from_condlist(db.actor or alife():actor(), self, self.sim_avail) ~= "true" then return end local squad_count = smart_terrain_squad_count(self.board.smarts[self.id].squads) if self.max_population <= squad_count then printf("%s cannot respawn due to squad_count %s of %s", self:name(), self.max_population, squad_count) return end local dist_to_actor = alife():actor().position:distance_to_sqr(self.position) if dist_to_actor < RESPAWN_RADIUS^2 then printf("%s cannot respawn due to distance", self:name()) return end self:call_respawn() end Изменено 12 декабря, 2020 пользователем denis2000 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Misery 433 Опубликовано 12 декабря, 2020 nasar75 я для CoC. Clear Sky: Gunslinger Addon Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
xr_Sanya 86 Опубликовано 12 декабря, 2020 (изменено) 2 часа назад, denis2000 сказал: xr_Sanya Файл smart_terrain.script функция se_smart_terrain:try_respawn() local curr_time = game.get_game_time() if self.last_respawn_update == nil or self.respawn_idle == nil or curr_time:diffSec(self.last_respawn_update) > self.respawn_idle then self.last_respawn_update = curr_time self.respawn_idle = 1000 + math.random(1000) if self.sim_avail ~= nil and xr_logic.pick_section_from_condlist(db.actor or alife():actor(), self, self.sim_avail) ~= "true" then return end local squad_count = smart_terrain_squad_count(self.board.smarts[self.id].squads) if self.max_population <= squad_count then printf("%s cannot respawn due to squad_count %s of %s", self:name(), self.max_population, squad_count) return end local dist_to_actor = alife():actor().position:distance_to_sqr(self.position) if dist_to_actor < RESPAWN_RADIUS^2 then printf("%s cannot respawn due to distance", self:name()) return end self:call_respawn() end game.get_game_time() это userdata, как я понимаю diffsec это миллисекунды? Изменено 12 декабря, 2020 пользователем xr_Sanya Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
o4kostr3l 57 Опубликовано 12 декабря, 2020 Как выдать инфопоршень при использовании предмета? (зп) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
makdm 672 Опубликовано 12 декабря, 2020 (изменено) xr_Sanya, вы путаетесь в том, что хотите реализовать. game.get_game_time() - это реальное время с начала игры. Оно отсчитывает часы, минуты и секунды. diffsec - это разница в секундах между каким-то значением времени и настоящим временем. Чтобы понять как это работает, советую вам посмотреть файл bind_stalker.scriot Конкретно функции function actor_binder:check_detective_achievement() function actor_binder:check_mutant_hunter_achievement() И посмотреть как все эти значения сохраняются в методах function actor_binder:save(packet) И загружаются из сохранения function actor_binder:load(reader) Дополнено 18 минуты спустя 39 минут назад, o4kostr3l сказал: Как выдать инфопоршень при использовании предмета? (зп) Я уже 100500 раз объяснял как сделать что-то при использовании какого-то предмета ( бустера ). http://sigerous.ru/forum/322-208-1348629-16-1425756707 Урок № 75 Изменено 12 декабря, 2020 пользователем makdm 1 Терпение... И все получится. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Graff46 178 Опубликовано 13 декабря, 2020 Подскажите как скриптом на физическом объекте вызвать анимацию? Не ... Сталкер могут сделать только русские.© С. Григорович. 03.10.2014 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Little Frenchman 542 Опубликовано 13 декабря, 2020 Здравствуйте. Пара вопросов: 1) Как можно скриптово оформить проверку наличия артефакта на поясе у ГГ без правок движка? 2) При нанесении хита по нпс, всем окружающим неписям, независимо от группировки, тоже наносится хит от имени актора. Как отключить это? Спасибо. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 953 Опубликовано 13 декабря, 2020 (изменено) 7 часов назад, Graff46 сказал: Подскажите как скриптом на физическом объекте вызвать анимацию? object:run_anim_forward() 1 час назад, Little Frenchman сказал: Как можно скриптово оформить проверку наличия артефакта на поясе у ГГ без правок движка? В моде Связь Времён уважаемый makdm делал подобный инструмент, скрипт называется belt_items.script Изменено 13 декабря, 2020 пользователем denis2000 2 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
o4kostr3l 57 Опубликовано 13 декабря, 2020 14 часов назад, makdm сказал: xr_Sanya, вы путаетесь в том, что хотите реализовать. game.get_game_time() - это реальное время с начала игры. Оно отсчитывает часы, минуты и секунды. diffsec - это разница в секундах между каким-то значением времени и настоящим временем. Чтобы понять как это работает, советую вам посмотреть файл bind_stalker.scriot Конкретно функции function actor_binder:check_detective_achievement() function actor_binder:check_mutant_hunter_achievement() И посмотреть как все эти значения сохраняются в методах function actor_binder:save(packet) И загружаются из сохранения function actor_binder:load(reader) Дополнено 18 минуты спустя Я уже 100500 раз объяснял как сделать что-то при использовании какого-то предмета ( бустера ). http://sigerous.ru/forum/322-208-1348629-16-1425756707 Урок № 75 Я посмотрел твой урок, подумал и понял, что можно сделать по другому(как я сделал) Спойлер в оригинальную функцию function actor_binder:use_inventory_item(obj) можно написать: if(obj) then if obj:section() == "gasis" and not has_alife_info("use_gasis") then give_info("use_gasis") end ПЫС так анабиотик делали Дополнено 0 минут спустя Только что, o4kostr3l сказал: Я посмотрел твой урок, подумал и понял, что можно сделать по другому(как я сделал) код (Скрыть контент) в оригинальную функцию function actor_binder:use_inventory_item(obj) можно написать: if(obj) then if obj:section() == "gasis" and not has_alife_info("use_gasis") then give_info("use_gasis") end ПЫС так анабиотик делали айдишник gasis мой , можно использовать любой, только в items.ltx нужно зарегистрировать Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Arkada 428 Опубликовано 13 декабря, 2020 Зачем нужен hit_probability_gd_уровень сложности, когда в hit_power прописывают урон оружия для всех сложностей игры? Дополнено 1 минуту спустя hit_power_critical используется только когда use_aim_bullet равен true? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
mortan 294 Опубликовано 13 декабря, 2020 7 минут назад, Winzor сказал: hit_power_critical он вроде бы вообще нигде не используется Boomsticks & Sharpsticks: https://discord.gg/vThnFWrbaA Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
makdm 672 Опубликовано 13 декабря, 2020 4 часа назад, o4kostr3l сказал: Я посмотрел твой урок, подумал и понял, что можно сделать по другому(как я сделал) Смысл урока ещё в том, что все эти колбеки можно подключить в нужный момент игры, например при выполнении какого-то квеста, и в любой момент времени отключить, например после выполнения квеста. В вашем варианте проверка будет осуществляться всегда, даже когда в ней нет необходимости. Правда, начинающие модостроители так и делают как вы - напихают кучу одноразовых проверок в апдейт актора, а потом жалуются на тормоза в игре. Вам решать. 1 Терпение... И все получится. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
xr_Sanya 86 Опубликовано 13 декабря, 2020 (изменено) 22 часа назад, makdm сказал: xr_Sanya, вы путаетесь в том, что хотите реализовать. game.get_game_time() - это реальное время с начала игры. Оно отсчитывает часы, минуты и секунды. diffsec - это разница в секундах между каким-то значением времени и настоящим временем. А что возращает game.time()? get_game_time() как я понял просто обрабатывает данные из game.time() Изменено 13 декабря, 2020 пользователем xr_Sanya Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Neptun 884 Опубликовано 14 декабря, 2020 (изменено) Добро. Обнаружил, что заряды от РПГ "ammo_og-7b" не спавнятся в ящик посредством функции =spawn_object_in. Вообще проблема решаема? Дополнено 27 минуты спустя Также не спавнятся гранаты "ammo_vog-25". Проблема, очевидно, в том, что функция не читает знака "-", который есть в названиях обеих гранат. Но в ящик ещё есть возможность положить эти гранаты, если в самой секции ящика прописать [spawn] Изменено 14 декабря, 2020 пользователем Neptun Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 953 Опубликовано 14 декабря, 2020 (изменено) 5 часов назад, Neptun сказал: Проблема, очевидно, в том, что функция не читает знака "-" Не совсем, проблема на самом деле в том, что символ "-" зарезервирован в кондлисте и не может быть использован в именах функций, именах инфопорций, параметрах функций и тд. Он парситься отдельно и сразу. Решения два: 1. Переименовать секции этих предметов, исключив зарезервированный символ 2. Подменять имя секции на валидное в кондлисте и возвращать оригинал в функции: Спойлер В кондлисте: =spawn_object_in(ammo_og_7b:zat_a2_actor_treasure) В функции: local spawn_sect = p[1] if spawn_sect == "ammo_og_7b" then spawn_sect = "ammo_og-7b" end Изменено 14 декабря, 2020 пользователем denis2000 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Arkada 428 Опубликовано 14 декабря, 2020 Как решить данный вылет? Expression : fatal error Function : CBlender_default::Compile File : .\BlenderDefault.cpp Line : 63 Description : <no expression> Arguments : Not enought textures for shader, base tex: act\act_arm_1_exo Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 953 Опубликовано 14 декабря, 2020 Winzor На указанной текстуре установлены несовместимые шейдеры. 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ScarletFox 1 Опубликовано 15 декабря, 2020 Приветствую, вопросы следующие: 1) Модил ли кто-то на xr oxygen и если да, то нужны ли какие патчи сдк 0.7? 2) Думаю, многие замечали, особенно на экзоскелетах, что костюмы, что желе и если на лёгких куртках ещё понятно, то можно ли как-то добавить... как бы выразится, монолитности броне, что должна быть цельной. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 953 Опубликовано 15 декабря, 2020 (изменено) 4 часа назад, ScarletFox сказал: можно ли как-то добавить... как бы выразится, монолитности броне, что должна быть цельной Конечно можно: добавляете в скелет сталкера специальные суставы для более жесткой привязки брони и переделываете ВСЕ анимации с учетом этого. Можно ли обойтись без новых суставов и соответственно новых анимаций? Скорее всего - нет, модели сталкеров в экзоскелетах от GSC - это как раз и есть компромисс. Изменено 15 декабря, 2020 пользователем denis2000 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
nasar75 134 Опубликовано 15 декабря, 2020 15 часов назад, Winzor сказал: Arguments : Not enought textures for shader, base tex: act\act_arm_1_exo https://www.youtube.com/watch?v=fFmCQMhsnl0 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ScarletFox 1 Опубликовано 15 декабря, 2020 46 минут назад, denis2000 сказал: Конечно можно: добавляете в скелет сталкера специальные суставы для более жесткой привязки брони и переделываете ВСЕ анимации с учетом этого. Можно ли обойтись без новых суставов и соответственно новых анимаций? Скорее всего - нет, модели сталкеров в экзоскелетах от GSC - это как раз и есть компромисс. Я так понимаю, это надо самому через MilkShape 3D собирать? И что по xr oxygen, неужели никто не модит на нём? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 953 Опубликовано 15 декабря, 2020 (изменено) 5 часов назад, ScarletFox сказал: Я так понимаю, это надо самому через MilkShape 3D собирать? Через любой удобный 3D редактор с соответствующими плагинами. 5 часов назад, ScarletFox сказал: И что по xr oxygen, неужели никто не модит на нём? Терпение! Если заглянут люди знающие, то вам ответят. Или задавайте вопрос непосредственно в ветках разработки движка. Изменено 15 декабря, 2020 пользователем denis2000 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Xenomorphom 5 Опубликовано 16 декабря, 2020 В 15.12.2020 в 09:03, ScarletFox сказал: И что по xr oxygen, неужели никто не модит на нём? Есть похожий проект - OpenX-Ray, он больше совместим с другими модами, разрабатывать мод на нем можно и в SDK 0.7. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты