AndreySol 215 Опубликовано 10 Октября 2020 Поделиться Опубликовано 10 Октября 2020 @Libery Ф-ция actor_update_anim() откуда вызывается? Этот фрагмент из кода, приведенного на предыдущей странице if (db.actor:active_slot() == 6) then return end похоже фигня, активные слоты могут быть от 0(нож) до 5(болт), соответственно всегда будет return. Так что пока совсем не понятно, как у вас там хоть что-то работает. 1 Ссылка на комментарий
mole venomous 3 433 Опубликовано 10 Октября 2020 Поделиться Опубликовано 10 Октября 2020 Зачем эктив-слот? Вот проверка наличия брони в слоте Скрытый текст local actor = db.actor local item = actor and actor:item_in_slot(6) return item 1 Здесь могла быть ваша реклама. Ссылка на комментарий
gam 117 Опубликовано 10 Октября 2020 Поделиться Опубликовано 10 Октября 2020 Только что, mole venomous сказал: Вот проверка наличия брони в слоте Возможно не все брутально - есть функция get_current_outfit() Ссылка на комментарий
Libery 0 Опубликовано 10 Октября 2020 Поделиться Опубликовано 10 Октября 2020 @AndreySol, вызываю с апдейта Ссылка на комментарий
WinCap 316 Опубликовано 10 Октября 2020 Поделиться Опубликовано 10 Октября 2020 9 часов назад, Libery сказал: У гг в начале игры брони нету а функция все равно проигрывается. При старте игры и инфопорций тоже никаких нету. Поэтому одна из функций обязательно будет проиграна. S.T.A.L.K.E.R. CoP Objects (upd 15.11.24) Ссылка на комментарий
Libery 0 Опубликовано 10 Октября 2020 Поделиться Опубликовано 10 Октября 2020 (изменено) @AndreySol, Она работает. Но вот появляешься на кордоне, старт игры, темный экран в бункере сидоровича, после проигрываешься функция ПОЧЕМУ-ТО ведь у Гг нет костюма. А играешь дальше все нормально работает при каждом снятии и одевание брони срабатывает функция, можно ли как то при старте это убрать? Или я так понимаю ни как? Функция не работоспособная получаеться! Изменено 10 Октября 2020 пользователем Libery Ссылка на комментарий
Это популярное сообщение. WinCap 316 Опубликовано 10 Октября 2020 Это популярное сообщение. Поделиться Опубликовано 10 Октября 2020 @Libery, Оставь только одну инфопорцию, например, "outfit_actor". Выдавай её когда броня надета и удаляй когда снята. Функция actor_update_anim(), в этом случае, будет такой: function actor_update_anim() if db.actor:item_in_slot(6) then if not db.actor:has_info("outfit_actor") then has_outfit() end else if db.actor:has_info("outfit_actor") then no_outfit() end end end 3 2 S.T.A.L.K.E.R. CoP Objects (upd 15.11.24) Ссылка на комментарий
Марка демченков 5 Опубликовано 10 Октября 2020 Поделиться Опубликовано 10 Октября 2020 люди, как сделать функцию, которая в фоне будет делать проверку? Ссылка на комментарий
Libery 0 Опубликовано 10 Октября 2020 Поделиться Опубликовано 10 Октября 2020 @WinCap, Да так работает корректно, спасибо всем кто помогал! Ссылка на комментарий
AndreySol 215 Опубликовано 10 Октября 2020 Поделиться Опубликовано 10 Октября 2020 @Libery Раз ф-ция проверки слота броника вызывается из апдейта, то инфо-порцию можно убрать, не нужна она. @Марка демченков Например, вызывать нужную ф-цию из апдейта актерского биндера. Ссылка на комментарий
Марка демченков 5 Опубликовано 10 Октября 2020 Поделиться Опубликовано 10 Октября 2020 3 часа назад, AndreySol сказал: Например, вызывать нужную ф-цию из апдейта актерского биндера а как ее вызвать? Ссылка на комментарий
gam 117 Опубликовано 10 Октября 2020 Поделиться Опубликовано 10 Октября 2020 @Марка демченков, Зависит от Вашего желания/методики использования нужных схем в составе кода. Только что, Марка демченков сказал: а как ее вызвать? Методы есть не только апдейть - это не единствиный способ. Ссылка на комментарий
AndreySol 215 Опубликовано 11 Октября 2020 Поделиться Опубликовано 11 Октября 2020 @Марка демченков Ну это элементарные основы скриптов. К примеру, для биндера актера, это файл bind_stalker.script function actor_binder:update(delta) object_binder.update(self, delta) local time = time_global() game_stats.update(delta, self.object) ...... ...... game_stats.update(...) - из файла game_stats.script вызывается ф-ция update. Ссылка на комментарий
mole venomous 3 433 Опубликовано 11 Октября 2020 Поделиться Опубликовано 11 Октября 2020 При отсутствии в оллспаун указанных для объекта путей получаю зависание объекта и сообщение в лог: Скрытый текст Scheduler tried update object <имя_объекта> Возможно ли в этот момент отловить косяк и проинформировать сообщением на худ? Здесь могла быть ваша реклама. Ссылка на комментарий
AndreySol 215 Опубликовано 11 Октября 2020 Поделиться Опубликовано 11 Октября 2020 @mole venomous Данное сообщение движковое, какого либо кэллбэка для обработчика ошибки не предусмотрено. Ссылка на комментарий
mole venomous 3 433 Опубликовано 11 Октября 2020 Поделиться Опубликовано 11 Октября 2020 Только что, AndreySol сказал: Данное сообщение движковое Я так и думал. Ф-ии abort и правки xr_logic в лучшем случае позволяют получать СМС при сохранении... Здесь могла быть ваша реклама. Ссылка на комментарий
h0N0r 340 Опубликовано 11 Октября 2020 Поделиться Опубликовано 11 Октября 2020 Можно ещё в различные схемы ставить проверки на наличие путей, так сделали в зп для волкеров (xr_walker.script): function set_scheme ... st.path_walk = utils.cfg_get_string(ini, section, "path_walk", npc, true, gulag_name) -- сразу проверка if not level.patrol_path_exists(st.path_walk) then abort("there is no patrol path %s", st.path_walk) end ... 2 https://sites.google.com/view/xray-sdk-0-4-smg Ссылка на комментарий
Libery 0 Опубликовано 11 Октября 2020 Поделиться Опубликовано 11 Октября 2020 (изменено) Мужики подскажите функцию, что бы через каждые 5 мин воспроизводился звук. И можно ли как то проверить заражен ли ГГ радиацией или нет. ТЧ 1.0006 Изменено 11 Октября 2020 пользователем Libery Ссылка на комментарий
ted.80 277 Опубликовано 11 Октября 2020 Поделиться Опубликовано 11 Октября 2020 4 минуты назад, Libery сказал: можно ли как то проверить заражен ли ГГ радиацией или нет Скрытый текст if db.actor.radiation > 0.1 then return true end 5 минут назад, Libery сказал: что бы через каждые 5 мин воспроизводился звук. Скрытый текст local timer1 = 0 function start_sound() local timer2 = time_global() if timer1 < timer2 then -- тут вставить воспроизведение звука timer1 = timer2 + 300000 end end 1 Личный АРХИВ по S.T.A.L.K.E.R Ссылка на комментарий
Libery 0 Опубликовано 11 Октября 2020 Поделиться Опубликовано 11 Октября 2020 @ted.80, Извиняюсь спросить, а на проверку радиации это через апдейт? Просто мне через скрипт нужно проверить. Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти