Перейти к контенту

[SoC] Ковыряемся в файлах


Halford

Рекомендуемые сообщения

Всем привет.
Камрады, может кто подсказать какое значение нужно выставить в строке "idle_time" (файл task_manager), чтобы второстепенные задания в ТЧ не появлялись повторно после их выполнения?
И аналогичный вопрос с тайниками. Что нужно изменить в функции "CTreasure:treasure_empty" (файл treasure_manager.script), чтобы схроны в ТЧ выпадали лишь один раз?

Поделиться этим сообщением


Ссылка на сообщение

@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

Поделиться этим сообщением


Ссылка на сообщение

@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

Поделиться этим сообщением


Ссылка на сообщение
В 30.08.2017 в 18:06, Sergej1 сказал:

Sightholder, ваш вариант работает, но точно ли, я выполнил всё и он говорит что ничего нет, но если время пройдёт? На другую локацию перейти, потом вернуться? То работы не тоже не будет, вы можете проверить?  

Я проверял, ускорив течение времени в 10 раз. Пререходил между локациями и задания не появлялись повторно. Так что вариант 100% рабочий, как и тот, что предложил @WinCap.

  • Согласен 1

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...