La'Rento 30 Опубликовано 4 Июля 2013 (изменено) Возникла небольшая проблема. Нужно, чтобы 2 НПС менялись работами каждые следующие сутки. Решил сделать проверку и вызвать её в логике, меняя им схемы.Вот функция из xr_conditions.script, но НПСы остаются на своих работах(проверял 5 суток). В чём проблема? Можете намекнуть на правильный вариант, но не пишите прямо, только намёком, если здесь есть ошибка, либо есть другой вариант. Правда одна проблема будет из-за календарных дней, это та причина, по которой я сомневаюсь вызывать глобальную функцию get_time_days. function is_next_day (actor, npc) if level.get_time_days() == 1 then -- проверка, что сейчас первый день return false elseif level.get_time_days() ~= 1 and (level.get_time_days() % 1) == 0 then -- проверка, что сейчас не первый день и остаток при делении дня на 1 равен 0, вызываем true return true end end Изменено 4 Июля 2013 пользователем La'Rento Поделиться этим сообщением Ссылка на сообщение
La'Rento 30 Опубликовано 4 Июля 2013 Ну правильно, поэтому каждый последующий день(кроме первого) будет выполнен переход на другие схемы, согласно возврату правды в данной функции. Но в следующий месяц в первое число функция не вернёт true и переход не будет выполнен.Иначе, ты намекал на аккуратную проверку следующий суток, нужна здесь функция get_time_days или ты имел ввиду другую функцию? Поделиться этим сообщением Ссылка на сообщение
La'Rento 30 Опубликовано 4 Июля 2013 @ColR_iT,Собственно от второго варианта я и отталкивался и расписал функцию для состояний гулага, пока понял, что не знаю как использовать их при смене работ. Но тогда если день чётный, до вызываем true, нечётный - вызываем false, а смены работ должна быть независима от чётности дня. наверное, этот вариант остаётся удобен только для работ с состояниями. А про первый способ я не понял. Каким образом сравнить? Указывать, что не равно 1? Поделиться этим сообщением Ссылка на сообщение