Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 (изменено) Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском.Возможно, ответ на Ваш вопрос уже есть.Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. Изменено 23 Февраля 2016 пользователем warwer 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Hind 29 Опубликовано 23 Января 2023 Поделиться Опубликовано 23 Января 2023 (изменено) Подскажите, почему вылетает? Скрипт отвечающий за подбор рандомной музыки при игре на юзабельной гитаре. Скрытый текст function guitar_songs() local rnd = math.random(1,6) local song11 = [[hum_guitar/guitar_11]] local song13 = [[hum_guitar/guitar_13]] local song17 = [[hum_guitar/guitar_17]] local song20 = [[hum_guitar/guitar_20]] local song19 = [[hum_guitar/guitar_19]] local songzh = [[hum_guitar/jekan_guitar_play_1]] if rnd = 1 then xr_sound.get_safe_sound_object(song11):play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) start_timer_11() elseif rnd = 2 then xr_sound.get_safe_sound_object(song13):play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) start_timer_13() elseif rnd = 3 then xr_sound.get_safe_sound_object(song17):play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) start_timer_17() elseif rnd = 4 then xr_sound.get_safe_sound_object(song19):play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) start_timer_19() elseif rnd = 5 then xr_sound.get_safe_sound_object(song20):play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) start_timer_20() elseif rnd = 6 then xr_sound.get_safe_sound_object(songzh):play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) start_timer_zh() end end function song11() alife():create("usable_guitar", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) end function start_timer_11() -- взводим таймер на 10 секунд local iTimer = time_global() + 71 -- функция ожидания истечения таймера local function check_timer() return time_global() > iTimer end -- ставим её на апдейт level.add_call(check_timer,song11) end function song13() alife():create("usable_guitar", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) end function start_timer_13() -- взводим таймер на 10 секунд local iTimer = time_global() + 49 -- функция ожидания истечения таймера local function check_timer() return time_global() > iTimer end -- ставим её на апдейт level.add_call(check_timer,song13) end function song19() alife():create("usable_guitar", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) end function start_timer_19() -- взводим таймер на 10 секунд local iTimer = time_global() + 27 -- функция ожидания истечения таймера local function check_timer() return time_global() > iTimer end -- ставим её на апдейт level.add_call(check_timer,song19) end function song17() alife():create("usable_guitar", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) end function start_timer_17() -- взводим таймер на 10 секунд local iTimer = time_global() + 22 -- функция ожидания истечения таймера local function check_timer() return time_global() > iTimer end -- ставим её на апдейт level.add_call(check_timer,song17) end function song20() alife():create("usable_guitar", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) end function start_timer_20() -- взводим таймер на 10 секунд local iTimer = time_global() + 33 -- функция ожидания истечения таймера local function check_timer() return time_global() > iTimer end -- ставим её на апдейт level.add_call(check_timer,song20) end function songzh() alife():create("usable_guitar", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) end function start_timer_zh() -- взводим таймер на 10 секунд local iTimer = time_global() + 16 -- функция ожидания истечения таймера local function check_timer() return time_global() > iTimer end -- ставим её на апдейт level.add_call(check_timer,songzh) end Изменено 24 Января 2023 пользователем Hind Hind Upgrade Mod Ссылка на комментарий
Hind 29 Опубликовано 24 Января 2023 Поделиться Опубликовано 24 Января 2023 Лог вылета: (HUM_guitar скрипт в котором все написано) Скрытый текст [error]Expression : fatal error [error]Function : CScriptEngine::lua_error [error]File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp [error]Line : 73 [error]Description : <no expression> [error]Arguments : LUA error: ...d\s.t.a.l.k.e.r. hum 1.1\gamedata\scripts\hum.script:122: attempt to index global 'HUM_guitar' (a nil value) stack trace: Hind Upgrade Mod Ссылка на комментарий
Norman Eisenherz 276 Опубликовано 24 Января 2023 Поделиться Опубликовано 24 Января 2023 Ошибка синтаксиса. Скормить в какой-нибудь онлайн-чекер. Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
Hind 29 Опубликовано 24 Января 2023 Поделиться Опубликовано 24 Января 2023 Опять неполадка... Вылетов избавился - теперь не играется музыка. Скрытый текст function guitar_songs() local rnd = math.random(1,6) local song11 = [[hum_guitar/guitar_11]] local song13 = [[hum_guitar/guitar_13]] local song17 = [[hum_guitar/guitar_17]] local song20 = [[hum_guitar/guitar_20]] local song19 = [[hum_guitar/guitar_19]] local songzh = [[hum_guitar/jekan_guitar_play_1]] local sound = [[hum_guitar/jekan_guitar_play_1]] if rnd == 1 then xr_sound.get_safe_sound_object([[hum_guitar/guitar_11]]):play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) start_timer_11() elseif rnd == 2 then xr_sound.get_safe_sound_object([[hum_guitar/guitar_13]]):play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) start_timer_13() elseif rnd == 3 then xr_sound.get_safe_sound_object([[hum_guitar/guitar_17]]):play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) start_timer_17() elseif rnd == 4 then xr_sound.get_safe_sound_object([[hum_guitar/guitar_19]]):play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) start_timer_19() elseif rnd == 5 then xr_sound.get_safe_sound_object([[hum_guitar/guitar_20]]):play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) start_timer_20() elseif rnd == 6 then xr_sound.get_safe_sound_object([[hum_guitar/jekan_guitar_play_1]]):play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) start_timer_zh() end end function song11() alife():create("usable_guitar", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) end function start_timer_11() -- взводим таймер на 10 секунд local iTimer = time_global() + 71000 -- функция ожидания истечения таймера local function check_timer() return time_global() > iTimer end -- ставим её на апдейт level.add_call(check_timer,song11) end function song13() alife():create("usable_guitar", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) end function start_timer_13() -- взводим таймер на 10 секунд local iTimer = time_global() + 49000 -- функция ожидания истечения таймера local function check_timer() return time_global() > iTimer end -- ставим её на апдейт level.add_call(check_timer,song13) end function song19() alife():create("usable_guitar", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) end function start_timer_19() -- взводим таймер на 10 секунд local iTimer = time_global() + 27000 -- функция ожидания истечения таймера local function check_timer() return time_global() > iTimer end -- ставим её на апдейт level.add_call(check_timer,song19) end function song17() alife():create("usable_guitar", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) end function start_timer_17() -- взводим таймер на 10 секунд local iTimer = time_global() + 22000 -- функция ожидания истечения таймера local function check_timer() return time_global() > iTimer end -- ставим её на апдейт level.add_call(check_timer,song17) end function song20() alife():create("usable_guitar", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) end function start_timer_20() -- взводим таймер на 10 секунд local iTimer = time_global() + 33000 -- функция ожидания истечения таймера local function check_timer() return time_global() > iTimer end -- ставим её на апдейт level.add_call(check_timer,song20) end function songzh() alife():create("usable_guitar", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) end function start_timer_zh() -- взводим таймер на 10 секунд local iTimer = time_global() + 16000 -- функция ожидания истечения таймера local function check_timer() return time_global() > iTimer end -- ставим её на апдейт level.add_call(check_timer,songzh) end В логах не выбивается даже строчки типа invalig ogg comment, т.е. музыка даже не пыталась воспроизвестись Hind Upgrade Mod Ссылка на комментарий
gam 116 Опубликовано 24 Января 2023 Поделиться Опубликовано 24 Января 2023 (изменено) 2 часа назад, Hind сказал: function start_timer_19() -- взводим таймер на 10 секунд local iTimer = time_global() + 27000 -- функция ожидания истечения таймера local function check_timer() return time_global() > iTimer end -- ставим её на апдейт level.add_call(check_timer,song19) end Изменено 24 Января 2023 пользователем gam ошибка Ссылка на комментарий
Купер 2 690 Опубликовано 25 Января 2023 Поделиться Опубликовано 25 Января 2023 7 часов назад, CYBERDEMON сказал: скину log , помогите чем-нибудь Ошибка 2 тип. Ссылка на комментарий
Hind 29 Опубликовано 25 Января 2023 Поделиться Опубликовано 25 Января 2023 Как отследить убийство актором непися? Hind Upgrade Mod Ссылка на комментарий
imcrazyhoudini 195 Опубликовано 25 Января 2023 Поделиться Опубликовано 25 Января 2023 @Hind в xr_effects.script есть похожая функция, hit_by_actor, может что-то похожее найдёшь. Как физический разрушаемый объект сделать неуязвивым до определённого времени/разрушаемым только одним оружием? ищу человека, который смог бы заняться разработкой погоды на OGSR. кто может помочь - пишите в ЛС. Ссылка на комментарий
CYBERDEMON 0 Опубликовано 25 Января 2023 Поделиться Опубликовано 25 Января 2023 Черт, с анимацией normal_idle у меня пушек много , особенно пак ак100 серии, я понимаю что анимка отсутствует, что делать Ссылка на комментарий
shahvkit 3 474 Опубликовано 25 Января 2023 Поделиться Опубликовано 25 Января 2023 9 минут назад, CYBERDEMON сказал: что делать Если добавленное оружие не прописано нигде кроме mp_ranks.ltx и weapons.ltx, то можно довольно быстро найти нужный ствол. 1. Временно поставь mp_ranks.ltx который был ДО добавления нового оружия. 2. В файле weapons.ltx закоментируй все инклуды (#include "w_....ltx") добавленного оружия. 3. По одному снимай блокировку с инклудов и начинай новую игру. Если добавленное оружие уже прописано в скриптах, и роздано нпс в файлах character_desc_....xml, то тогда только удаление всего добавленного и после способ описанный выше. Ссылка на комментарий
AndrewMor 525 Опубликовано 25 Января 2023 Поделиться Опубликовано 25 Января 2023 Братцы, прошу помощи. Не в тему конечно Давно в Майе не работал, забыл даже гор клавиши. Мож подскажет кто: Открываю объект, удаляю ненужные полигоны, а экспортировать не выходит - вылетает. Такое ощущение, что я что-то очевидное забыл. Сталкер - наше всё! Ссылка на комментарий
Norman Eisenherz 276 Опубликовано 25 Января 2023 Поделиться Опубликовано 25 Января 2023 @Hind Вроде недавно этот вопрос был: [xr_motivator.script] death_callback + who:id() == db.actor:id(). Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
shahvkit 3 474 Опубликовано 3 Февраля 2023 Поделиться Опубликовано 3 Февраля 2023 (изменено) Добрый день. Вопрос по указанию времени в скриптах: Две недели показываются вот так - 60*60*24*14 Пять дней вот так - 24*5 Как правильно прописать например 20 минут ? Изменено 3 Февраля 2023 пользователем shahvkit Ссылка на комментарий
dsh 3 820 Опубликовано 3 Февраля 2023 Поделиться Опубликовано 3 Февраля 2023 @shahvkit а это зависит от того, чего 200, если вспоминать анекдот. В первом примере видно, что в качестве единиц используются секунды. Во втором примере - часы. Так тебе 20 минут нужно в секундах или в часах? dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
shahvkit 3 474 Опубликовано 3 Февраля 2023 Поделиться Опубликовано 3 Февраля 2023 (изменено) ... 42 минуты назад, dsh сказал: Так тебе 20 минут нужно в секундах или в часах? Без разницы. Лишь бы временной интервал был равен 20 игровым минутам. p.s. Скрытый текст Это интервал времени между предыдущим и следующим циклическим заданием. Как это прописано в скрипте: self.task_time = 60*60*24*14 -- (с) время выполнения всех заданий, 2 недели self.idle_time = 24*5 -- (игровые часы) время между выдачами задания повторно, 5 игровых дней Мне нужно self.idle_time сделать равным 20 игровым минутам. Изменено 3 Февраля 2023 пользователем shahvkit Ссылка на комментарий
mole venomous 3 251 Опубликовано 3 Февраля 2023 Поделиться Опубликовано 3 Февраля 2023 58 минут назад, shahvkit сказал: self.idle_time = 24*5 1/3 Здесь могла быть ваша реклама. Ссылка на комментарий
shahvkit 3 474 Опубликовано 3 Февраля 2023 Поделиться Опубликовано 3 Февраля 2023 16 минут назад, mole venomous сказал: 1/3 Что это? Ссылка на комментарий
Купер 2 690 Опубликовано 3 Февраля 2023 Поделиться Опубликовано 3 Февраля 2023 (изменено) @shahvkit , ОП же, если не ошибаюсь? С учётом этого: базовая величина для self.idle_time = 1 час. Попробуй все места, откуда это значение вызывается, переделать на минуты: game.hours()+self.idle_time -> game.minutes()+self.idle_time. И само значение, конечно, задавать в минутах. Изменено 3 Февраля 2023 пользователем Купер 1 Ссылка на комментарий
shahvkit 3 474 Опубликовано 3 Февраля 2023 Поделиться Опубликовано 3 Февраля 2023 11 минут назад, Купер сказал: ОП же, если не ошибаюсь? Да, ОП 2.2 12 минут назад, Купер сказал: Попробуй все места, откуда это значение вызывается, переделать на минуты: Наверно не стоит. Много изменений могут привести к ошибкам. Если минимальное значение 1 час, то пусть так и будет. Главное правильно этот час прописать. Так? self.idle_time = 1*24 Ссылка на комментарий
Купер 2 690 Опубликовано 3 Февраля 2023 Поделиться Опубликовано 3 Февраля 2023 (изменено) 1. В оригинальном варианте: self.idle_time = 24*5 -- (игровые часы) время между выдачами задания повторно, 5 игровых дней 24 * 1час * 5 = 5 суток. (1 час - единица измерения) Вообще, там оно дальше как вызывается (например): task_desc.next_time = game.hours()+self.idle_time Получаем время в часах и прибавляем к нему нашу константу. Т.е., можно и то, что выше даже попробовать ради интереса.. Изменено 3 Февраля 2023 пользователем Купер 1 Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти