Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 (изменено) Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском.Возможно, ответ на Ваш вопрос уже есть.Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. Изменено 23 Февраля 2016 пользователем warwer 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
AndreySol 215 Опубликовано 12 Января 2022 Поделиться Опубликовано 12 Января 2022 @андрей дронав Так ведь написано черным по белому - переменная 'se_obj' имеет значение nil, т.е "ничего". Ссылка на комментарий
андрей дронав 17 Опубликовано 12 Января 2022 Поделиться Опубликовано 12 Января 2022 1 минуту назад, AndreySol сказал: Так ведь написано черным по белому Спасибо! Я не программист, поэтому задаю глупые вопросы. Вылет я поправил, должно было быть так: if se_obj == nil or se_obj.death_droped == true then Ссылка на комментарий
NikitosKnyaz 0 Опубликовано 12 Января 2022 Поделиться Опубликовано 12 Января 2022 4 часа назад, nasar75 сказал: В ЧН делал, а вот как... Вроде бы в одной гранате 10 частей - как в пачке патронов... как такой же трюк провернуть? неужели только движок править? если править! то как? Ссылка на комментарий
DarkSnowder 897 Опубликовано 14 Января 2022 Поделиться Опубликовано 14 Января 2022 Доброго дня комрадыю Вопрос таков У моего бота прописана вот такая логика Скрытый текст [logic] active = walker@bar combat_ignore = combat_ignore meet = no_meet [walker@bar] path_walk = chern_gurvinek_walk path_look = chern_gurvinek_look meet = no_meet danger = danger_condition on_actor_dist_le_nvis = 5 | remark@hello ;on_info = {-chern_bar_hurvinek_meeting} kamp combat_ignore_cond = {=fighting_dist_ge_20} [remark@hello] anim = hello_wpn target = actor ;anim_end = remark@talk on_timer = 3000 | remark@talk combat_ignore_cond = {=fighting_dist_ge_20} meet = no_meet ;[remark@wait] ;target = actor ;on_actor_dist_le_nvis = 3 | remark@talk %=xr_effects.gurvinek_give_equipment% ;meet = no_meet ;combat_ignore_cond = {=fighting_dist_ge_20} [remark@talk] snd = hurvinek_start_monolog ;on_game_timer = 12 |nil %=xr_effects.gurvinek_give_equipment% on_game_timer = 12 | {-chern_bar_hurvinek_meeting} %=xr_effects.gurvinek_give_equipment +chern_bar_hurvinek_meeting% combat_ignore_cond = {=fighting_dist_ge_20} on_signal = sound_end | kamp meet = no_meet [kamp] center_point = chern_lager_town_vegetables_camp_center meet = meet combat_ignore_cond = {=fighting_dist_ge_20} [meet@helow] meet_dialog = escape_talk_about_escape use = true use_wpn = true [danger_condition] ignore_distance = 15 [combat_ignore] При подходе к нему и после проигрывания анимации hello происходит вылет вот с с таким логом Сама функция выдачи предметов прописана в xr_effects и выглядит так Скрытый текст function gurvinek_give_equipment(first_speaker, second_speaker) local reward_items = math.random(1,3) if reward_items == 1 then -- Первый вариант dialogs.relocate_item_section_to_actor(first_speaker, second_speaker, "ammo_9x18_fmj", 2) dialogs.relocate_item_section_to_actor(first_speaker, second_speaker, "wpn_pm") dialogs.relocate_item_section_to_actor(first_speaker, second_speaker, "wpn_knife") ; dialogs.relocate_item_section_to_actor(first_speaker, second_speaker, "detector_simple") dialogs.relocate_item_section_to_actor(first_speaker, second_speaker, "medkit", 1) dialogs.relocate_item_section_to_actor(first_speaker, second_speaker, "bandage", 3) end if reward_items == 2 then -- Второй вариант dialogs.relocate_item_section_to_actor(first_speaker, second_speaker, "ammo_12x70_buck", 5) dialogs.relocate_item_section_to_actor(first_speaker, second_speaker, "wpn_bm16") dialogs.relocate_item_section_to_actor(first_speaker, second_speaker, "wpn_knife") ; dialogs.relocate_item_section_to_actor(first_speaker, second_speaker, "detector_simple") dialogs.relocate_item_section_to_actor(first_speaker, second_speaker, "medkit", 1) dialogs.relocate_item_section_to_actor(first_speaker, second_speaker, "bandage", 3) dialogs.relocate_item_section_to_actor(first_speaker, second_speaker, "antirad", 1) end if reward_items == 3 then -- Третий вариант dialogs.relocate_item_section_to_actor(first_speaker, second_speaker, "ammo_12x70_buck", 5) dialogs.relocate_item_section_to_actor(first_speaker, second_speaker, "ammo_9x18_fmj", 2) dialogs.relocate_item_section_to_actor(first_speaker, second_speaker, "wpn_bm16") dialogs.relocate_item_section_to_actor(first_speaker, second_speaker, "wpn_pm") dialogs.relocate_item_section_to_actor(first_speaker, second_speaker, "wpn_knife") ; dialogs.relocate_item_section_to_actor(first_speaker, second_speaker, "detector_simple") dialogs.relocate_item_section_to_actor(first_speaker, second_speaker, "bandage", 5) dialogs.relocate_item_section_to_actor(first_speaker, second_speaker, "medkit", 2) dialogs.relocate_item_section_to_actor(first_speaker, second_speaker, "antirad", 1) end end Может вы сможете подсказать, где я накосячил? Лучше сделать мод с 0, чем пытаться залатать багованный. Ссылка на комментарий
WinCap 292 Опубликовано 14 Января 2022 Поделиться Опубликовано 14 Января 2022 10 минут назад, DarkSnowder сказал: где я накосячил? Наверное тут: %=xr_effects.gurvinek_give_equipment +chern_bar_hurvinek_meeting% S.T.A.L.K.E.R. CoP Objects (upd 11.03.24) Ссылка на комментарий
DarkSnowder 897 Опубликовано 14 Января 2022 Поделиться Опубликовано 14 Января 2022 @WinCap В чём именно косяк? Дубликата у функции нету, проверял Лучше сделать мод с 0, чем пытаться залатать багованный. Ссылка на комментарий
WinCap 292 Опубликовано 14 Января 2022 Поделиться Опубликовано 14 Января 2022 27 минут назад, DarkSnowder сказал: В чём именно косяк? Имя файла скрипта в логике указывать не надо. S.T.A.L.K.E.R. CoP Objects (upd 11.03.24) Ссылка на комментарий
DarkSnowder 897 Опубликовано 14 Января 2022 Поделиться Опубликовано 14 Января 2022 @WinCap Спасибо, и в правду помогло Слушай, а как мне указать, чтобы после начала звуковой дорожки, снаряга выдалась ток через 10 секунд? (как эти секунды правильно прописать?) Лучше сделать мод с 0, чем пытаться залатать багованный. Ссылка на комментарий
WinCap 292 Опубликовано 14 Января 2022 Поделиться Опубликовано 14 Января 2022 8 минут назад, DarkSnowder сказал: как мне указать, чтобы ... снаряга выдалась ток через 10 секунд? Нужно в строке on_game_timer время увеличить. Это же игровое время и 12 игровых секунд это... мгновение. Напомню, что можно использовать и on_timer, где нужно указывать реальное время в миллисекундах. S.T.A.L.K.E.R. CoP Objects (upd 11.03.24) Ссылка на комментарий
андрей дронав 17 Опубликовано 17 Января 2022 Поделиться Опубликовано 17 Января 2022 (изменено) Всех приветствую! Сталкер ТЧ, добавил телепортатор и звуки приема пищи, но работает только что то одно, в зависимости от порядка строк, например: Скрытый текст self.object:set_callback(callback.use_object, self.use_object, self) self.object:set_callback(callback.use_object, self.on_use_object, self) self.object:set_callback(callback.death, self.death_callback, self) end Сейчас телепорт работает, но звуков нет, меняю верхние строки местами работает наоборот... Что можно сделать чтобы все работало? Вижу что калбэки одинаковые, я не знаю как их правильно переписать. Изменено 17 Января 2022 пользователем андрей дронав Ссылка на комментарий
Norman Eisenherz 220 Опубликовано 17 Января 2022 Поделиться Опубликовано 17 Января 2022 Одно событие, два обработчика – учитывается только последний. Можно в самом обработчике указать оба действия, с делением по ситуации, если действия не происходят совместно. 1 1 1 Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
AndrewMor 517 Опубликовано 18 Января 2022 Поделиться Опубликовано 18 Января 2022 10 часов назад, Norman Eisenherz сказал: Можно в самом обработчике указать оба действия, с делением по ситуации, если действия не происходят совместно. Любопытно посмотреть, как это сделать. Сталкер - наше всё! Ссылка на комментарий
Купер 2 268 Опубликовано 18 Января 2022 Поделиться Опубликовано 18 Января 2022 @AndrewMor , в данном случае это просто один и тот же callback, только по-разному именованный. В оригинале, как известно, отсутствовал, хоть и подразумевался, поэтому каждый восстанавливал его в меру своего разумения. Отсюда и различия в синтаксисе. Пример: Народная Солянка: self.object:set_callback(callback.use_object, self.on_use_object, self) Фотограф: self.object:set_callback(callback.use_object, self.use_object, self) 2 Ссылка на комментарий
Zander_driver 10 166 Опубликовано 18 Января 2022 Поделиться Опубликовано 18 Января 2022 (изменено) 23 минуты назад, Купер сказал: только по-разному именованный. Строго говоря, в приведенном примере по-разному называются только исполняющие функции - что как бы и не важно. Хоть горшком назови, лишь бы вызывалось. А колбек один и тот же используется, и одинаково называется. 23 минуты назад, Купер сказал: callback.use_object Изменено 18 Января 2022 пользователем Zander_driver 3 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 5.7ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Купер 2 268 Опубликовано 18 Января 2022 Поделиться Опубликовано 18 Января 2022 @Zander_driver , неудачно сформулировал, хотя ключевое и постарался выделить. В данном случае получается, что для одного и того же события (callback-а) последовательно вызываются два обработчика события: сначала self.use_object, затем self.on_use_object 1 Ссылка на комментарий
Zander_driver 10 166 Опубликовано 18 Января 2022 Поделиться Опубликовано 18 Января 2022 13 минут назад, Купер сказал: для одного и того же события (callback-а) последовательно вызываются два обработчика события И где же можно увидеть эти два вызова? Тут ошибка не формулировки, а фактическая. Обработчик вызывается один раз. 55 минут назад, Купер сказал: self.object:set_callback(callback.use_object, self.on_use_object, self) self.object:set_callback(callback.use_object, self.use_object, self) Если. Регистрировать обработчики колбеков вот так - в одном файле, оба вместе - то, емнип, вызываться будет только один из них. Второй затрется. Так что, по отдельности эти строки верны, а будучи написаны подряд в одном файле - нет. 1 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 5.7ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Купер 2 268 Опубликовано 18 Января 2022 Поделиться Опубликовано 18 Января 2022 (изменено) Всё, сдаюсь. В схоластике не силён. Главное в ситациии всё уже, наверно, поняли: function actor_binder:on_use_object (obj) --* действия раз end function actor_binder:use_object (obj) --* действия два end Изменено 18 Января 2022 пользователем Купер Ссылка на комментарий
ted.80 223 Опубликовано 18 Января 2022 Поделиться Опубликовано 18 Января 2022 (изменено) @Купер Л = логика, нужно просто встряхнуть холодец в голове, а по существу вопроса - оставь один коллбек и одну функцию, а все действия и условия перенеси в неё - профит. P.S. почему всё так сложно то function actor_binder:on_use_object (obj) --* действия раз --* действия два end типа так Изменено 18 Января 2022 пользователем ted.80 3 Ссылка на комментарий
Купер 2 268 Опубликовано 18 Января 2022 Поделиться Опубликовано 18 Января 2022 @ted.80 , нет желания ни вспоминать, ни пробовать, какой именно вызов коллбека в итоге сработает в итоге: первый или последующий, но 2 обработчика на одно событие совместно работать не будут. self.object:set_callback(callback.use_object, self.on_use_object, self) ... function actor_binder:on_use_object (obj) --* действия раз --* действия два end А дальше уже домысливать желаемую задумку. Ссылка на комментарий
mole venomous 2 959 Опубликовано 18 Января 2022 Поделиться Опубликовано 18 Января 2022 @андрей дронав коллбеки это хорошо, конечно, но я бы вообще телепорт туда не вешал Здесь могла быть ваша реклама. Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти