Libery 0 Опубликовано 11 Октября 2020 Поделиться Опубликовано 11 Октября 2020 (изменено) Мужики подскажите функцию, что бы через каждые 5 мин воспроизводился звук. И можно ли как то проверить заражен ли ГГ радиацией или нет. ТЧ 1.0006 Изменено 11 Октября 2020 пользователем Libery Ссылка на комментарий
ted.80 223 Опубликовано 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 Ссылка на комментарий
Libery 0 Опубликовано 11 Октября 2020 Поделиться Опубликовано 11 Октября 2020 @ted.80, Извиняюсь спросить, а на проверку радиации это через апдейт? Просто мне через скрипт нужно проверить. Ссылка на комментарий
AndreySol 215 Опубликовано 11 Октября 2020 Поделиться Опубликовано 11 Октября 2020 15 минут назад, Libery сказал: а на проверку радиации это через апдейт? Ну так тебе виднее, что ты хочешь от этой проверки. Ссылка на комментарий
Libery 0 Опубликовано 11 Октября 2020 Поделиться Опубликовано 11 Октября 2020 @AndreySol, Выполнить то или иное действие. Ссылка на комментарий
AndreySol 215 Опубликовано 11 Октября 2020 Поделиться Опубликовано 11 Октября 2020 @Libery, Действия могут быть двух основных типов - одноразовые или повторяющиеся с некой частотой. Апдейт в биндере актера - повторяющееся действие, вроде как ~40 мск частотой. Если, к примеру, хочешь рисовать индикатор радиации - тогда естественно в апдейте получаешь ее значение и отображаешь на индикаторе. 1 Ссылка на комментарий
Libery 0 Опубликовано 11 Октября 2020 Поделиться Опубликовано 11 Октября 2020 (изменено) Скрытый текст Можно как то остановить вот это? local timer1 = 0 function start_sound() local timer2 = time_global() if timer1 < timer2 then -- тут вставить воспроизведение звука timer1 = timer2 + 300000 end end Изменено 11 Октября 2020 пользователем Libery Ссылка на комментарий
AndreySol 215 Опубликовано 12 Октября 2020 Поделиться Опубликовано 12 Октября 2020 @Libery, учи скриптование: Уроки по модостроению, Справочник по ф-циям и классам, куча самоучителей в сети с примерами кода по Lua. Элементарные вещи спрашиваешь. local timer1 = 0 local bSet = true function start_sound() local timer2 = time_global() if (timer1 < timer2) and bSet then -- тут вставить воспроизведение звука timer1 = timer2 + 300000 end end В нужный момент присваиваешь bSet = false и все что в операторе if перестанет выполняться. 1 2 Ссылка на комментарий
UriZzz 992 Опубликовано 12 Октября 2020 Поделиться Опубликовано 12 Октября 2020 2 часа назад, AndreySol сказал: and bSet then Мне кажется что тут нужно так: and bSet = true then Моя нычка, Нычка в арендованном у Опричника холодильнике Мы хорошие ребята, жаль патронов маловато:) Ссылка на комментарий
AndrewMor 517 Опубликовано 12 Октября 2020 Поделиться Опубликовано 12 Октября 2020 3 часа назад, UriZzz сказал: Мне кажется что тут нужно так: and bSet = true then Для булевых переменных разницы нет. Что bSet = true, что bSet - все равно. 1 3 Сталкер - наше всё! Ссылка на комментарий
AndreySol 215 Опубликовано 12 Октября 2020 Поделиться Опубликовано 12 Октября 2020 6 часов назад, UriZzz сказал: что тут нужно так: and bSet = true Если уж так, то тогда надо: ... and bSet == true ... Учите операторы Luа, лентяи.... 2 2 3 Ссылка на комментарий
AndrewMor 517 Опубликовано 13 Октября 2020 Поделиться Опубликовано 13 Октября 2020 (изменено) 13 часов назад, AndreySol сказал: and bSet == true ... Кстати, да. Привык к Паскалю в свое время Изменено 13 Октября 2020 пользователем AndrewMor Сталкер - наше всё! Ссылка на комментарий
Libery 0 Опубликовано 14 Октября 2020 Поделиться Опубликовано 14 Октября 2020 Как можно в этой функции запретить перемещать болт, пда. function items_out(box_id) local box = level.object_by_id(box_id) db.actor:iterate_inventory(function (actor, item) actor:transfer_item(item, box) end, db.actor) end ну или экипированное снаряжение Ссылка на комментарий
AndreySol 215 Опубликовано 14 Октября 2020 Поделиться Опубликовано 14 Октября 2020 @Libery, сделать проверки на соответствие предмета тем, что нельзя трансферить: db.actor:iterate_inventory(function (actor, item) if item:clsid() ~= clsid.obj_bolt and item:clsid() ~= clsid.device_pda then -- пример для болта и ПДА actor:transfer_item(item, box) end Кроме ф-ции iterate_inventory есть еще одна, которая перебирает предметы инвентаря, пропуская содержимое скрытых слотов. Если ее использовать, то болт и ПДА уже не будут попадать в ф-цию обработки. Ссылка на комментарий
Libery 0 Опубликовано 14 Октября 2020 Поделиться Опубликовано 14 Октября 2020 (изменено) @AndreySol, Не получается, может функция не подойдет для этого ну то есть не правильно составлена. Вот весь код Скрытый текст local act = db.actor local box_1 = 0 function spawn_box_1(obj) if obj:section() == "reset_system" then local act_pos = act:position() local box = alife():create( "active_box", vector():set( (act_pos.x + 1), (act_pos.y), (act_pos.z + 1) ), act:level_vertex_id(), act:game_vertex_id() ) level.client_spawn_manager():add(box.id, -1, transfer_out) level.map_add_object_spot_ser(box.id, "actor_reset_mapspot", "%c[white]Сброшенные вещи") end end function transfer_out(id, obj) box_1 = id items_out(box_1) end function items_out(box_id) local box = level.object_by_id(box_id) db.actor:iterate_inventory(function (actor, item) actor:transfer_item(item, box) end, db.actor) end и вот это тоже ни как else news_manager.send_tip(db.actor, "Нельзя больше ничего выкинуть из рюкзака!", nil, "inv_icon") end end Изменено 14 Октября 2020 пользователем Libery Ссылка на комментарий
mole venomous 2 995 Опубликовано 14 Октября 2020 Поделиться Опубликовано 14 Октября 2020 (изменено) 9 часов назад, Libery сказал: Не получается Я бы посоветовал применить рекомендацию, которую дал @AndreySol и протестить на самом простеньком и безобидном коде, что бы понять на практике самому, "как надо, что бы работало". Изменено 14 Октября 2020 пользователем mole venomous 1 2 Здесь могла быть ваша реклама. Ссылка на комментарий
Libery 0 Опубликовано 14 Октября 2020 Поделиться Опубликовано 14 Октября 2020 (изменено) @mole venomous, Я просто работал в сфере оружия, брони, текстур и т.п но ни разу не копался в скриптах. Так что в этой области я не очень и может где-то что то упускаю, но в принципе ловлю все на ходу НО опыт на этом конечно сказываешься в области скриптов. Я конечно не считаю что человек не знавший что, куда вставлять а значит пишет бред, он же не взял это с книжки, может где то подсмотрел или кто то подсказал. Да я соглашусь надо учить LUA Но например, тебе нужно сделать фишку но нет времени над этим думать. Это если учесть то что ты например работаешь один. Я думаю для этого и создана эта тема, ведь не каждому дано за пять минут сделать то, что некоторые люди делают Годами. Поэтому я считаю им не составляет проблем что то подсказать. Я вот например если вижу вопрос в своей сфере, то да почему бы и не ответить что бы человек не мучился. Ну у каждого своё мнение. Это все зависит от опыта. Изменено 14 Октября 2020 пользователем Libery Ссылка на комментарий
AndreySol 215 Опубликовано 14 Октября 2020 Поделиться Опубликовано 14 Октября 2020 @Libery Тема создана, естественно, для помощи в скриптовании, но все же не для заказов и их реализации. Никому не интересно писать Ваш мод за Вас. 4 Ссылка на комментарий
mole venomous 2 995 Опубликовано 14 Октября 2020 Поделиться Опубликовано 14 Октября 2020 10 минут назад, Libery сказал: что бы человек не мучился Я не просто так посоветовал попробовать самому применить на практике, взяв за основу простой скрипт. На практике понимаешь, что делаешь. Это в дальнейшем пригодится, это личный опыт. 4 Здесь могла быть ваша реклама. Ссылка на комментарий
Libery 0 Опубликовано 14 Октября 2020 Поделиться Опубликовано 14 Октября 2020 Согласен, но я думаю иначе. Моды это как хобби тебя не должны заставлять это делать или отвечать на те или иные вопросы. Тебе должно хотеться этим заниматься ещё и ещё. Ну это мое мнение и я буду передерживаться им! Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти