Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Charsi 440 Опубликовано 15 Августа 2016 Поделиться Опубликовано 15 Августа 2016 @Silver Raven, в таблицу tips_icons видимо не прописан generators_alex_squad_sos_signal с координатами для иконки. 1 Lua и LuaJIT плагины для Notepad++ SciTE-RU 3.5.5 плагины для MilkShape3D Ссылка на комментарий
Карлан 1 049 Опубликовано 15 Августа 2016 Поделиться Опубликовано 15 Августа 2016 @dsh, проблема только в том, что практически все кодеры ставят такую метку на сам искомый объект, в результате бежим в середину и получаем желаемое, тут и надобно создавать отклонение, чтобы твоя идея действительна получала смысл. @BoBaH_671, а с каких пор sr_tip не нормален? В оригинале конечно его надо переделать, но задумка то вполне себе здравая, его конечно лучше под sr_idle подписать и переделать всю логику у объектов на новый лад. По рестрикторам, кстати, на мой взгляд, там практически все лучше скомпоновать в одну единую схему, в частности и sr_tip и sr_no_weapon и практически все остальное. Сделать богатую кастомизацию и все, а по дефолту это будет sr_idle, так как я не думаю, что кто-то читает или собирает статистику по db.storage. Ссылка на комментарий
Overfirst 630 Опубликовано 15 Августа 2016 Поделиться Опубликовано 15 Августа 2016 как минимум то, что сообщение должно выдаваться в строго определенном месте. on_actor_inside = %=func% что мешает использовать? По мне та схема кривая, раз у тебя вылетело, проще вызвать функцию, чем писать схему. Ранее был известен под ником BoBaH_671. Ссылка на комментарий
Silver Raven 197 Опубликовано 15 Августа 2016 Поделиться Опубликовано 15 Августа 2016 (изменено) @Charsi, да, похоже на то. Забыл поправить имя иконки в таблице, когда переписывал схему. Уже и забыл где ее искать, в config\ui, кажется? Автопауза в стиле ЗП твоя же разработка? Можно как-нибудь скрыть курсор во время работы скрипта? И не включать весь скрипт при старте игры? (там бяка получается, если принудительно пропустить начальный ролик) @BoBaH_671, при чем тут ее кривость. Если думать в этой плоскости, то в Сталкере криво практически все, от этого никуда не денешься. Вот старая схема. Перегруженная лишними элементами (писал давно, знаний не хватало), но вполне рабочая: [logic] active = sr_idle@start [sr_idle@start] on_actor_inside = sr_idle@start_message_timer, sr_idle@stop [sr_idle@start_message_timer] on_timer = 3000| sr_tip@alex_squad_need_help [sr_tip@alex_squad_need_help] name = generators_alex_squad_need_help_message type = tips sender = alex_squad showtime = 7000 cond = {-alex_squad_need_help} %+alex_squad_send_sos_signal_start_quest_timer% on_info = {+alex_squad_send_sos_signal_start_quest_timer} sr_idle@quest_timer [sr_idle@quest_timer] on_timer = 6000 | nil %+alex_squad_need_help% [sr_idle@stop] Изменено 15 Августа 2016 пользователем Silver Raven aka Stalker_AleX333 Мои проекты - ЯндексДиск | Я на Gamer-Mods.ru Ссылка на комментарий
Карлан 1 049 Опубликовано 15 Августа 2016 Поделиться Опубликовано 15 Августа 2016 По мне та схема кривая, раз у тебя вылетело Я как раз ее собираюсь переписывать. Что по твоему в ней кривое? Ну, например, ты видишь один абсолютно явный минус, который при оздоровлении скриптов появляется? Если да, то вот сначала скажи о нем, далее уже о том, что конкретно тебе не нравится. Ссылка на комментарий
Overfirst 630 Опубликовано 15 Августа 2016 Поделиться Опубликовано 15 Августа 2016 @Карлан, для сообщений глупо создавать целую схему рестриктора, проще, как по мне, написать универсальную функцию, которую можно вызывать из логики с передачей аргументов: текста, иконки отправителя, времени "висения" и т.д. Ранее был известен под ником BoBaH_671. Ссылка на комментарий
Карлан 1 049 Опубликовано 15 Августа 2016 Поделиться Опубликовано 15 Августа 2016 @BoBaH_671, мне кажется это куда удобнее настраивать в кастом дате. Но, я выше и написал, что создание отдельной схемы действительно излишне, лучше все свести в единую схему, какую-нибудь sr_custom, которая в простом режиме работает как sr_idle, но имеет все опции из других схем. Какие-то действительно мудреные схемы возможно стоит оставить отдельными, но утверждать не могу, досконально в них пока не разобрался. У меня есть в планах продвинутся в этом векторе, если что путное выйдет, то обязательно отпишу. 1 Ссылка на комментарий
ins33 16 Опубликовано 15 Августа 2016 Поделиться Опубликовано 15 Августа 2016 Вызываю ф-ию "test" три раза, с интервалом 3 сек. В иоге в псторе записано "tt_1" "tt_2" "tt_3" И запускаются три таймера "tt_1" "tt_2" "tt_3" function test(tim) if tim==nil then tim = "" end local a=1 while db.storage[db.actor:id()].pstor["tt_"..a] do a=a+1 if a>10 then return false end end WritePstor("tt_"..a, tim) start_real_timer(15, "test.start"):set_name("tt_"..a) end В момент срабатывания первого таймера переменная а = 1Вариант 1 function start() for a=1,10,1 do -- преребираем всё if timer_exits("tt_"..a) then -- в данном примере пустая проверка, т.к. она всегда вернёт true db.actor:give_info_portion("porticion"..a) -- выдаст все поршни от porticion1 до porticion10 ClearPstor("tt_"..a) -- сотрёт все записи в пстор tt_ get_timer("tt_"..a):remove() -- и удалит все таймеры tt_ end end end Вариант 2 function start() for m=1,10,1 do local a = math.min(1, m) -- если добавить эту строчку то а будет равна 1 и получится: if timer_exits("tt_"..a) then -- если "tt_1" тогда db.actor:give_info_portion("porticion"..a) -- выдадим поршень porticion1 ClearPstor("tt_"..a) -- сотрёт запись в пстор tt_1 get_timer("tt_"..a):remove() -- и удалит таймер tt_1 end end end По идеи, почти то что надо. Но, при повторном срабатывании таймера, где ..a уже будет равна 2 сработает затык, т.к. local a = math.min(1, m) -- всегда вернёт 1 Но нам то надо получить 2 чтобы прошла проверка if timer_exits("tt_"..a) then -- гдеа должна быть равна 2 и заодно выдать поршень porticion2 db.actor:give_info_portion("porticion"..a)-- где а тоже должна быть 2 Суть вопроса думаю ясна. Но на всякий уточню.Подскажите, как бы сделать, так, что бы при срабатывании таймера..1, продолжали работать остальные таймеры. Тут поршни приведенгы в качестве примера действия на срабатывание таймеров. Вопрос не в поршнях!По идеи, надо менять эту строчку local a = math.min(1, m) -- всегда вернёт 1 ,но я не могу сообразить как это сделать. Ссылка на комментарий
Kondr48 314 Опубликовано 15 Августа 2016 Поделиться Опубликовано 15 Августа 2016 ins33, а что сподвигло на изобретение велосипеда? Таймеры от Maladrinus есть в OGSE а от Artos так вообще отдельным модулем. Пользуйтесь. Ссылка на комментарий
ins33 16 Опубликовано 16 Августа 2016 Поделиться Опубликовано 16 Августа 2016 @Kondr48, Кто говорит о велосипеде? Вы вопрос внимательно прочитали? Хотя чего спрашиваю... Вы'ж автора таймера даже не узнали . Посмотрите первый и и второй вариант. в них и есть суть вопроса. Ссылка на комментарий
naxac 2 445 Опубликовано 16 Августа 2016 Поделиться Опубликовано 16 Августа 2016 @ins33, просто добавь break после срабатывания/стирания/удаления. 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Ссылка на комментарий
Kober(BRUC) 99 Опубликовано 16 Августа 2016 Поделиться Опубликовано 16 Августа 2016 Какой скрипт связан с фонариком каким-либо образом? Ссылка на комментарий
Kondr48 314 Опубликовано 16 Августа 2016 Поделиться Опубликовано 16 Августа 2016 Kober(BRUC), в оригинале включение/выключение фонаря отрабатывается движком. О какой связи идёт речь? Ссылка на комментарий
Kober(BRUC) 99 Опубликовано 16 Августа 2016 Поделиться Опубликовано 16 Августа 2016 О какой связи идёт речь? Мне нужно отследить включение фонарика. Ссылка на комментарий
Wlad777 24 Опубликовано 16 Августа 2016 Поделиться Опубликовано 16 Августа 2016 И потом, когда Кузнецов говорит ( не к ночи будет упомянут ОП-2 ): отлично Стрелок, за это я тебе подарю свой тайник на ЧАЭС-2. Возникает логичный вопрос: Кузнецов, ты в своем уме? Это твой тайник, ты мне его в оплату даешь и ты не знаешь где примерно его оставил и предлагаешь искать на всей локации? Да ты издеваешься что-ли? Ну, так это и не поисковый квест, по большому. Я немного другое имел ввиду. --------------------------------- www.amk-zone.de Ссылка на комментарий
ins33 16 Опубликовано 16 Августа 2016 Поделиться Опубликовано 16 Августа 2016 (изменено) @Kober(BRUC), Почитай "функция разрешения колбеков" в xray-extensions - list_of_fixes.wiki Подскажите, как остановить цикл: for a, b in pairs(tbl) do for c, d in pairs( do if d == osect then -- если условие не выполнено, то идём дальше todo elseif d ~= osect then -- если условие выполнено, то todo выполняется 6 раз, а надо один! todo_2 log1("todo_2)") Скажите, я правильно написал второе условие Изменено 16 Августа 2016 пользователем ins33 Ссылка на комментарий
UnLoaded 313 Опубликовано 16 Августа 2016 Поделиться Опубликовано 16 Августа 2016 (изменено) как остановить цикл ну как-то так: for a, b in pairs(tbl) do for c, d in pairs( do if d=значению, при котором надо прекратить цикл then break end end end здесь break остановит цикл for c, d in pairs( do. Изменено 16 Августа 2016 пользователем UnLoaded Ссылка на комментарий
Карлан 1 049 Опубликовано 16 Августа 2016 Поделиться Опубликовано 16 Августа 2016 @ins33, для цикла по условию существует цикл while. Пример: i = 0 while i ~= 5 do i = i+1 end В цикле for в подобном случае надо использовать ключевое слово break, например вышеизложенный цикл сделанный через for будет выглядеть вот так: for i=1, math.huge do if i == 5 then break end i = i+1 end Ссылка на комментарий
Kondr48 314 Опубликовано 16 Августа 2016 Поделиться Опубликовано 16 Августа 2016 (изменено) Мне нужно отследить включение фонарика. В правленных движках для этого есть колбек. В оригинале вроде никак. Изменено 16 Августа 2016 пользователем Kondr48 Ссылка на комментарий
MADMAX666 49 Опубликовано 16 Августа 2016 Поделиться Опубликовано 16 Августа 2016 (изменено) А ни кто не знает можно ли в обычный Сталкер добавить к оружию динамический зум? Как в ОП2! Изменено 16 Августа 2016 пользователем MADMAX666 Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти