Sightholder 6 Опубликовано 26 Августа 2017 Всем привет. Камрады, может кто подсказать какое значение нужно выставить в строке "idle_time" (файл task_manager), чтобы второстепенные задания в ТЧ не появлялись повторно после их выполнения? И аналогичный вопрос с тайниками. Что нужно изменить в функции "CTreasure:treasure_empty" (файл treasure_manager.script), чтобы схроны в ТЧ выпадали лишь один раз? Поделиться этим сообщением Ссылка на сообщение
Sightholder 6 Опубликовано 27 Августа 2017 @Sergej1 благодаря товарищу Yara с Гейминатора узнал (за что огромное ему спасибо), что нужно изменить task_manager.script, вырезав функцию: --' Проверка по таймауту if self.task_info[task_id].last_task_time ~= nil and game.get_game_time():diffSec(self.task_info[task_id].last_task_time) < self.task_info[task_id].idle_time then self.task_info[task_id].enabled_props = false return end Либо стоку: if self.task_info[task_id].last_task_time ~= nil and game.get_game_time():diffSec(self.task_info[task_id].last_task_time) < self.task_info[task_id].idle_time then Привести к такому виду: if self.task_info[task_id].last_task_time ~= nil and (game.get_game_time():diffSec(self.task_info[task_id].last_task_time) < self.task_info[task_id].idle_time or game.get_game_time():diffSec(self.task_info[task_id].last_task_time) >= self.task_info[task_id].idle_time) then Ещё можно дополнить её, указав проверку на на флажок, который никогда не будет выдан: if self.task_info[task_id].last_task_time ~= nil and game.get_game_time():diffSec(self.task_info[task_id].last_task_time) < self.task_info[task_id].idle_time and has_alife_info("tm_task_once") then добавив <info_portion id="tm_task_once"></info_portion> в любой из \config\gameplay\info_.xml 1 1 Поделиться этим сообщением Ссылка на сообщение
Sightholder 6 Опубликовано 28 Августа 2017 @Sergej1 да. 2 Поделиться этим сообщением Ссылка на сообщение
Sightholder 6 Опубликовано 29 Августа 2017 @Sergej1 , я использовал второй вариант, заменив строку: game.get_game_time():diffSec(self.task_info[task_id].last_task_time) < self.task_info[task_id].idle_time на (game.get_game_time():diffSec(self.task_info[task_id].last_task_time) < self.task_info[task_id].idle_time or game.get_game_time():diffSec(self.task_info[task_id].last_task_time) >= self.task_info[task_id].idle_time) в функции --' Проверка по таймауту Попробуйте этот метод (у меня он работает) или предложенный товарищем @WinCap и отпишитесь о результате. 1 Поделиться этим сообщением Ссылка на сообщение
Sightholder 6 Опубликовано 3 Сентября 2017 В 30.08.2017 в 18:06, Sergej1 сказал: Sightholder, ваш вариант работает, но точно ли, я выполнил всё и он говорит что ничего нет, но если время пройдёт? На другую локацию перейти, потом вернуться? То работы не тоже не будет, вы можете проверить? Я проверял, ускорив течение времени в 10 раз. Пререходил между локациями и задания не появлялись повторно. Так что вариант 100% рабочий, как и тот, что предложил @WinCap. 1 Поделиться этим сообщением Ссылка на сообщение