Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 (изменено) Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском.Возможно, ответ на Ваш вопрос уже есть.Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. Изменено 23 Февраля 2016 пользователем warwer 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Купер 2 733 Опубликовано 9 Ноября 2023 Поделиться Опубликовано 9 Ноября 2023 @Stalk2003 , ну почему сразу не будет? Там только одна хитрость есть: тынц. В качестве минимума. Т.е., чтобы NPC могли использовать предмет (визуально), его необходимо добавить в соответствующую секцию. Может. 1 Ссылка на комментарий
Stalk2003 0 Опубликовано 9 Ноября 2023 Поделиться Опубликовано 9 Ноября 2023 Проверьте пожалуйста правильно ли составлена функция Скрытый текст function actor_binder:use_object(obj) if obj~=nil then my_callbacks.on_use_item(obj) items_sounds.use_snd(obj) end end Ссылка на комментарий
mole venomous 3 275 Опубликовано 9 Ноября 2023 Поделиться Опубликовано 9 Ноября 2023 (изменено) Серьёзно? А сам? Прастити за оффтоп... Но обычно в игре сначала проверяют. Скрытый текст Задай себе вопрос - оно работает? Оно работает, как планировалось? Оно делалось по аналогии с чем то? Смею предположить, что не наугад. Значит, какое то базовое понимание имеется. Так почему бы не проверить, что получилось, а потом уже сюда? И главное. Всегда пытайся сначала сам. Изменено 9 Ноября 2023 пользователем mole venomous 2 Здесь могла быть ваша реклама. Ссылка на комментарий
Stalk2003 0 Опубликовано 9 Ноября 2023 Поделиться Опубликовано 9 Ноября 2023 @mole venomous просто я несколько раз конкретно ломал игру, этой функцией (в скриптах не шарю). Практически наугад и делалось а так работает. @pz_3 сделал колбеки, все работает. Но использую гитару потом гармошку и вес уменьшается на 0.1, потом снова гитару этот 0.1 веса возвращается обратно. С чем это может быть связано? Ссылка на комментарий
pz_3 391 Опубликовано 9 Ноября 2023 Поделиться Опубликовано 9 Ноября 2023 (изменено) 1 час назад, Stalk2003 сказал: if obj~=nil then В принципе не нужно, если мы какой то объект скушали(а колбек мы ведь выводим именно на поедание предмета) - он явно существует, и делать проверку а был ли мальчик - странная затея. 1 час назад, Stalk2003 сказал: function actor_binder:use_object(obj) items_sounds.use_snd(obj) end Такого будет достаточно. Сам вызов колбека же - обычно цепляется в функцию function actor_binder:reinit() в том же бинд_сталкере, например классический вариант выглядит так: Скрытый текст function actor_binder:reinit()Бла бла бла куча оригинального и не очень кода К нему докидывается что нибудь типа self.object:set_callback(callback.use_object, self.on_use_object, self) И ниже уже делаем вызов function actor_binder:on_use_object(obj) end 26 минут назад, Stalk2003 сказал: использую гитару потом гармошку Откровенно говоря - я не уверен, что чистый ТЧ на лету(не заркывая инвентори) нормально и оперативно отрабатывает изменения веса при спавне новых вещей в карман колбеком. т.е. для начала - я бы покопал в эту сторону, не вернется ли "пропавший" вес после закрыть-открыть инвентарь. И опять таки, построение колбека у тебя странное, я такие конструкции не пользовал, чтобы уверенно что то заявлять. Пример, которым обычно пользуюсь - выше я уже привел. Изменено 9 Ноября 2023 пользователем pz_3 1 Ссылка на комментарий
mole venomous 3 275 Опубликовано 9 Ноября 2023 Поделиться Опубликовано 9 Ноября 2023 24 минуты назад, Stalk2003 сказал: этой функцией Функции мы то и не видели. Видели проверку и ссылку на файл с функцией и аргументом в виде используемого obj... 1 Здесь могла быть ваша реклама. Ссылка на комментарий
Zander_driver 10 328 Опубликовано 9 Ноября 2023 Поделиться Опубликовано 9 Ноября 2023 30 минут назад, Stalk2003 сказал: этой функцией Какой "этой" ? вот этой? У тебя там просто вызов другой функции. Синтаксически оно со странностями, но допустимо. Если у тебя что-то кого-то ломало, то оно не в этих строках. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
pz_3 391 Опубликовано 9 Ноября 2023 Поделиться Опубликовано 9 Ноября 2023 1 минуту назад, Zander_driver сказал: оно не в этих строках Ну, справедливости ради - я готов поверить, что новичку покажется более сложным сделать колбек в биндсталкере, чем уже из него сделать вывод звука и спавн съеденного. Тем более, что вывод звуков а ля: Скрытый текст local tSound ={ medkit = "interface\\inv_medkit", medkit_scientic = "interface\\inv_medkit", medkit_army = "interface\\inv_medkit", medkit_using = "interface\\inv_medkit", kolbasa = "interface\\inv_food", vodka = "interface\\inv_vodka", energy_drink = "interface\\inv_softdrink", bandage = "interface\\inv_bandage", antirad = "interface\\inv_pills", bread = "interface\\inv_food", conserva = "interface\\inv_food_conserva" } function use_snd(obj) if obj and tSound[obj:section()] then local snd = xr_sound.get_safe_sound_object(tSound[obj:section()]) if snd then snd:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 2.0) end end end Вполне себе гуглится\подсматривается в других модах. Да вобщем то и по колбекам, наверняка есть уроки. Эх. Вот почему то мне комфортнее самому что то пытаться нагуглить, чем просто пойти и спросить на АМК. Болезнь наверное? Ссылка на комментарий
Zander_driver 10 328 Опубликовано 9 Ноября 2023 Поделиться Опубликовано 9 Ноября 2023 1 минуту назад, pz_3 сказал: Вполне себе гуглится\подсматривается в других модах. Справедливости ради, сейчас вообще все что угодно, гуглится и подсматривается на заведомо рабочем примере. На любом языке, на любых платформах, на базе любых модификаций любых игр. Затруднения возможны только на какой-то редкой экзотике, к коей сталкер уж точно не относится. А ну да, еще затруднения возможны, когда человек не знает/не понимает, что он делает и как это будет работать. Затруднения возможны, когда к коду относятся как к непонятной магии. В таких случаях - имхо - лучше бы сначала базовые основы подтянуть. И вот когда задают вопрос "а правильно ли составлена функция..?" в отношении кода с одной проверкой и парой вызовов внешних функций. То у меня крепнет убеждение, что автор не понимает, что он показывает, и не знает, что он делает. Тут лучше теорию по-изучать, программирование вообще, потом уже Луа в частности... 3 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Купер 2 733 Опубликовано 9 Ноября 2023 Поделиться Опубликовано 9 Ноября 2023 Хэх, весело, господа корифеи. А если несколько разнотипных предметов подряд попробовать? А вот что будет? Ссылка на комментарий
Stalk2003 0 Опубликовано 9 Ноября 2023 Поделиться Опубликовано 9 Ноября 2023 (изменено) @pz_3 делал как тут описано https://ap-pro.ru/forums/topic/1317-sozdanie-inventarnogo-kompleksa/ плюс до этого звуки для предметов сделаны были. На счет веса закрытие-открытие инвентаря не влияет. Изменил вес гармошки с 0.35 на 0.30 и проблема пропала. Похоже движок пытался округлить сотые веса до десятых. Изменено 9 Ноября 2023 пользователем Stalk2003 Ссылка на комментарий
DarkSnowder 898 Опубликовано 9 Ноября 2023 Поделиться Опубликовано 9 Ноября 2023 @CiberZold @Zander_driver Ну короче я понял из-за чего игра ломалась (точнее сейвы) - из-за спавна предметов по game_spawn_story_ids в начале игры у меня предметы, помеченные game_spawn_story_ids, скажем так, удалялись Скрытый текст function delete_agr_ecolog_case() local lc = alife():story_object(story_ids.agr_ecolog_case) alife():release(lc, true) end function spawn_agr_ecolog_case() local spawn_id = alife():spawn_id(spawn_story_ids.agr_ecolog_case) alife():create(spawn_id) end function delete_mil_termit_pda() local lc = alife():story_object(story_ids.mil_termit_pda) alife():release(lc, true) end function spawn_mil_termit_pda() local spawn_id = alife():spawn_id(spawn_story_ids.mil_termit_pda) alife():create(spawn_id) end function delete_swp_shaman_pda() local lc = alife():story_object(story_ids.swp_shaman_pda) alife():release(lc, true) end function spawn_swp_shaman_pda() local spawn_id = alife():spawn_id(spawn_story_ids.swp_shaman_pda) alife():create(spawn_id) end function delete_swp_vulture_foto() local lc = alife():story_object(story_ids.swp_vulture_foto) alife():release(lc, true) end function spawn_swp_vulture_foto() local spawn_id = alife():spawn_id(spawn_story_ids.swp_vulture_foto) alife():create(spawn_id) end function delete_agr_seeker_cache() local lc = alife():story_object(story_ids.agr_seeker_cache) alife():release(lc, true) end function spawn_agr_seeker_cache() local spawn_id = alife():spawn_id(spawn_story_ids.agr_seeker_cache) alife():create(spawn_id) end согласно выданному инфопоршню Скрытый текст <!-- СМС при старте игры --> <info_portion id="start_game_zone"> <action>xr_effects.yan_start_game_sms</action> <!--action>drda_functions.delete_mil_termit_pda</action> <action>drda_functions.delete_swp_shaman_pda</action> <action>drda_functions.delete_swp_vulture_foto</action> <action>drda_functions.delete_agr_seeker_cache</action--> </info_portion> движок ОГСР сразу на этот поршень с функциями сагрился, потому и понял из-за чего. Закоментировав строки, игра пришла в порядок (проверил на ванильной версии мода своего) Тогда вопрос - а как этой функцией вообще пользоваться то? BFG вон писал, что они эту функцию ток так в 2016 солянке использовали и ничё, работало же, а у меня игра с ума сходит? Ничё не понимаю Лучше сделать мод с 0, чем пытаться залатать багованный. Ссылка на комментарий
imcrazyhoudini 197 Опубликовано 9 Ноября 2023 Поделиться Опубликовано 9 Ноября 2023 @DarkSnowder назначил стори ид и гейм стори ид то? ищу человека, который смог бы заняться разработкой погоды на OGSR. кто может помочь - пишите в ЛС. Ссылка на комментарий
DarkSnowder 898 Опубликовано 9 Ноября 2023 Поделиться Опубликовано 9 Ноября 2023 (изменено) @imcrazyhoudiniя в СДК всё назначал обьектам - проверял даже Скрытый текст [8535] ; cse_abstract properties section_name = agr_ecolog_case name = agr_ecolog_case position = -183.069061279297, 1.35877525806427, 83.6469879150391 direction = -0.0232704430818558, 0.00517749041318893, 0.0687333419919014 id = 65535 version = 118 script_version = 7 spawn_id = 2335 ; cse_alife_object properties game_vertex_id = 516 level_vertex_id = 481192 object_flags = 0xffffff0f story_id = 307 spawn_story_id = 307 ; cse_visual properties visual_name = equipments\guest_cop\safe_container ; cse_alife_inventory_item properties condition = 1 Скрытый текст [11624] ; cse_abstract properties section_name = inventory_box name = agr_underground_digger_box position = 2.11199998855591, -14.3388004302979, -109.015800476074 direction = 0, -1.57078790664673, 0 id = 65535 version = 118 script_version = 7 spawn_id = 2688 ; cse_alife_object properties game_vertex_id = 825 level_vertex_id = 172 object_flags = 0xffffff37 custom_data = <<END [spawn] ammo_5.45x39_ap = 4 antirad = 2 medkit_army = 2 wpn_ak74_m1 = 1 outfit_stalker_m1 = 1 af_night_star = 1 grenade_f1 = 1 END story_id = 393 spawn_story_id = 393 ; cse_visual properties visual_name = equipments\item_box_01 Всё, отбой тревоги. Разобрался вроде как. Я ж имя spawn_id менял у двух предметов, а скрипт не поправил, оттого-то игру у корёжило. Вывод - "прежде чем куда то болт кинуть, сперва сто раз подумаю, куда убегать буду" Изменено 9 Ноября 2023 пользователем DarkSnowder причина выяснена 1 Лучше сделать мод с 0, чем пытаться залатать багованный. Ссылка на комментарий
Norman Eisenherz 283 Опубликовано 9 Ноября 2023 Поделиться Опубликовано 9 Ноября 2023 6 hours ago, Zander_driver said: Справедливости ради, сейчас вообще все что угодно, гуглится и подсматривается на заведомо рабочем примере. Гуглятся именно что частные примеры – стоит отойти немного в сторону, и выясняются какие-то особенности, вроде того, что звук, выведенный через play_no_feedback в режиме "looped", залипает в указанных координатах до действия disconnect и проигрывается даже в других сейвах на той же локации. 1 Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
pz_3 391 Опубликовано 9 Ноября 2023 Поделиться Опубликовано 9 Ноября 2023 (изменено) 2 часа назад, Norman Eisenherz сказал: залипает в указанных координатах до действия disconnect Забавно. Чисто для расширения кругозора спрошу, а будут таки залипшие звуки друг на друга накладываться? Ну например если бы мы вызывали звук рестриктором(зашел - включился звук), или еще как, главное, что это теоретическая возможность без дисконнекта с загрузки повторно триггернуть вызов такого звука. Изменено 9 Ноября 2023 пользователем pz_3 Ссылка на комментарий
Norman Eisenherz 283 Опубликовано 9 Ноября 2023 Поделиться Опубликовано 9 Ноября 2023 Именно так и будет: дополнительное наложение звука при каждой перезагрузке. 1 1 Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
Zander_driver 10 328 Опубликовано 10 Ноября 2023 Поделиться Опубликовано 10 Ноября 2023 13 часов назад, Norman Eisenherz сказал: стоит отойти немного в сторону, и выясняются какие-то особенности Разумеется, это всегда и везде так. Иначе все было бы легким и простым. А так - интересно что-то делать. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Norman Eisenherz 283 Опубликовано 11 Ноября 2023 Поделиться Опубликовано 11 Ноября 2023 Типовой конфиг статьи с описанием задания содержит какое-то неизвестное значение: article_type=task group="task_id/???". Во всех действующих примерах значение после task_id = 0. Если создать в описании задания ссылки на несколько статей с конфигом group="task_id/0", …/1, …/2, то вне зависимости от активной задачи выводится только статья, указанная для задачи 0. Если убрать это значение совсем или указать число в несколько знаков, или указать строку "текст1/текст2/текст3", эффект тот же: статья полностью определяется через article_id без учета group – даже task_id указывать необязательно. В классе SGameTaskObjective есть метод set_article_key(str), который вроде бы ссылается на это значение, но ни одного живого примера нет, а ввод чисел или строк таким методом никак не меняет статью в описании задания. В движке есть вот такие действия при выводе статьи вида "описание задания" в КПК: Spoiler [xr_3da\xrGame\ui\UIEventsWnd.cpp] void CUIEventsWnd::ShowDescription (CGameTask* t, int idx) … SGameTaskObjective& o = t->Objective(0); … if(o.article_key.size()) { sprintf_s(need_group, "%s/%s", *t->m_ID, *o.article_key); -- task_id/str }else { sprintf_s(need_group, "%s/%d", *t->m_ID, idx); -- task_id/num } … if( strstr(group.c_str(), need_group)== group.c_str() ) { u32 sz = xr_strlen(need_group); if ( group.size()== sz || group.c_str()[sz]=='/' ) m_UITaskInfoWnd->AddArticle(&A); Что это за значение и как его применять? Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
DarkSnowder 898 Опубликовано 14 Ноября 2023 Поделиться Опубликовано 14 Ноября 2023 народ, тут такая трабла у меня возникла - назначил значит одного бота торговцем, прописал соотв. логику, а он у меня при каждой перезагрузке стволы все, что в продажу прописаны, на землю выбрасывает. С чём такая трабла может быть? Лучше сделать мод с 0, чем пытаться залатать багованный. Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти