1
0
mirror of https://github.com/ComfyFactory/ComfyFactorio.git synced 2025-03-17 20:58:13 +02:00

Merge remote-tracking branch 'upstream/develop' into develop

This commit is contained in:
danielmartin0 2022-03-19 21:21:09 +00:00
commit a9d6120b58
11 changed files with 637 additions and 329 deletions

View File

@ -1,253 +1,261 @@
[chronosphere]
map_info_main_caption=Х Р О Н О С Ф Е Р А
map_info_sub_caption= ..Комфилатрон обезумел..
map_info_text=Комфилатрон взял на себя управление Рыбным поездом и превратил его в машину времени.\nВаша задача как его помощника:\n\n[1] Сохранить поезд любой ценой\n[2] Собирайте ресурсы, путешествуя по разным картам.\n[3a] Нажмите Enter на грузовых вагонах, чтобы войти внутрь поезда.\n[3b] Нажмите Enter на Автомобиле (внутри поезда), чтобы выйти из поезда.\n[4] Зарядка аккумуляторов внутри поезда ускоряет прыжок, но создаёт ОГРОМНОЕ количество загрязнения, провоцируя кусак.\n[5] Предметы, положенные в синие сундуки, телепортируются в поезд.\n[6] Некоторые планеты бедны, некоторые богаты, а некоторые слишком опасны.\n\n Добыча, но и эволюция растет вместе с выполняемыми прыжками.\n Во время прыжка персонал будет телепортирован внутрь поезда, а всё снаружи так и останется.\nКаждый прыжок даёт 25 монет за каждую сэкономленную минуту (до 25 прыжка).\nИсследование производительности добычи увеличивает размер инвентаря и скорость ручной добычи.\n\nУдачи. Не дайте кусакам испортить шоу!
map_jump=Место назначения: __1__, Богатство руды: __2__, Дневной цикл: __3__
train_HP=HP: __1__ / __2__
train_name=Хронопоезд Комфилатрона
message_danger1=Комфилатрон: У нас проблемы! Прыжок был неожиданно прерван, использовалась только часть энергии. Приземлились где пришлось. Это могла быть ловушка!
message_danger2=Комфилатрон: Аккумулятор нестабилен, нам нужно дожить до полного заряда без ускоренной зарядки.
message_danger3=Голос робота: УГРОЗА ВТОРЖЕНИЯ! Обнаружены биологические жизненные формы!! Уничтожить!!
message_danger4=Голос робота: Ядерные ракеты в готовности. Обратный отсчет запущен.
message_danger5=Комфилатрон: О, чёрт. У нас есть комплекс ПВО, но снарядов только на один залп! По крайней мере он выиграет нам немного времени. Разберитесь с ракетами! Уничтожьте шахты до запуска ракет!
message_rampup50=Комфилатрон: Кусаки эволюционируют, становясь сильнее с каждой секундой ...
message_overstay=Комфилатрон: Нам потребовалось слишком много времени, чтобы покинуть эту планету. У всех кусак на будущих планет было время эволюционировать...
message_jump180=Комфилатрон: Поезд полностью заряжен! Обратный отсчёт запущен. 180 секунд до прыжка!
message_jump60=Комфилатрон: Почти готово! Хватайте всё, что можете, мы отбываем через 60 секунд!
message_jump30=Комфилатрон: Вам лучше поторопиться! Осталось 30 секунд!!
message_jump10=Комфилатрон: Прыжок через __1__ секунд!
message_jump=Комфилатрон: Ууиии! Прыжок во времени! Номер __1__.
message_poison_defense=Комфилатрон: Запуск ядовитой защиты. Травим всех!
message_nuke=Предупреждение: Обнаружен запуск ядерных ракет.
message_nuke_intercepted=Комплекс ПВО успешно перехватил приближающиеся ядерные боеголовки.
message_accident=Комфилатрон: Оффлайн игрок попал в аварию. Его труп упал на землю возле локомотива.
message_silo=Пусковая щахта разрушена. Вам удалось добыть __1__ атомных боеголовок. Комфилатрон изъял их для вашей же безопасности.
message_game_won_restart=Комфилатрон: ЧИВООО? Похоже, своим ремонтом мы сломали(!) поезд, и он телепортировал нас обратно во времени ... (вздох) ... давайте по новой. На этот раз прямыми руками.
message_fishmarket1=Комфилатрон: Итак, мы на месте. Рыбный рынок. Когда они заказывали рыбу, они сказали, что это место совершенно безопасно. Угадайте с одного раза кому придется обеспечить эту совершенную безопасность.
message_fishmarket2=Комфилатрон: Надеюсь, у вас достаточно ядерных боеголовок. Спутник дал нам пару снимков.
message_fishmarket3=Комфилатрон: Помнишь мы перехватывали ядерные боеголовки? Забирай! Тебе сейчас нужнее.
message_lava=Комфилатрон: Да тут буквально ад! Лучше держитесь на расстоянии! Или попробовать замостить кирпичом для защиты от лавы? И видели этих кусак? Они КУПАЮТСЯ в огне!
message_choppy=Комфилатрон: О_О, что это за странные деревья?!? Они плодоносят рудой! ЧЕ за х....?!
message_game_lost1=Хронопоезд уничтожен!
message_game_lost2=Комфилатрон убьёт тебя за это... Он сможет. В конце концов, у него есть машина времени!
message_evolve=Комфилатрон: Кусаки эволюционировали достаточно, чтобы передать свои знания по цепочке сородичам. Если мы слишком долго задерживаемся на одном прыжке, в будущем кусаки будут опаснее!
message_quest1=Комфилатрон: Вы знаете... У меня есть большой Квест. Доставить рыбу на рыбный рынок. Но этот поезд сломан. Пожалуйста, помогите мне починить компьютер поезда!
message_quest3=Комфилатрон: Ах, нам нужно увеличить мощность машины и добавить улучшенную навигационню плату. Пожалуйста, принесите мне несколько дополнительных вещей.
message_quest5=Комфилатрон: Наконец-то нашел основную проблему. Это именно то, чего я боялся. Нужно перестраивать весь процессор. Нужно еще несколько вещей ...
message_quest6=Комфилатрон: Перестройка процессора закончена. Теперь нам просто нужно правильно синхронизировать время, и всё готово! Мне нужен спутник и ракетная шахта.
message_not_won_yet=Комфилатрон: Вы доставили рыбу, но осталось еще __1__ врагов. Убейте их всех, чтобы рыба была в безопасности!
message_game_won1=Комфилатрон: Спасибо всем за помощь с доставкой рыбы. Это была тяжелая поездка. А теперь, когда все кусаки мертвы, рыба здесь навсегда в безопасности ...
message_game_won2=Рыбный рынок: Спасибо за доставку __1__ рыбы!
message_game_won3=Игра будет перезапущена через 5 минут! Используйте оставшееся время, чтобы доставить как можно больше рыбы и получить больше очков, или просто расслабьтесь!
message_fish_added=Рыбный рынок: Спасибо за эту рыбу! Ваш текущий результат __1__!
message_comfylatron_desync=Комфилатрон: Попался! За работу, __1__!
message_quest_research=Комфилатрон: Боже ж ты мой! Ваше исследование плетется черепахой! Вот, я улучшил наши лаборатории! А теперь давайте исследовать!
message_poison_mastery_unlock=Комфилатрон: Ну вот опять ты травишься! Что? У тебя нет иммунитета? Как.... почему... (вздох) ну почему ты не можешь быть таким как я? Вот у меня иммунитет! А, тебе дышать надо... и есть... Ну, ладно. Полному иммунитету не бывать, но хоть травиться будешь меньше! А травить - сильнее. Давай улучшим мастерство отравления?
spidertron_not_allowed=Паукотрон можно использовать только на финальной карте!
message_giftmas_spawned=Мы целый год вели себя хорошо! Дед Мороз прислал подарки: [gps=__1__,__2__,__3__]!
difficulty1=Подходит для одиночной игры. Намного меньше загрязнения, кусаки меньше атакуют, обновления дешевле и т.д.
difficulty2=Это может выбрать небольшая группа друзей. Меньше загрязнения, меньше нападений кусак, но не совсем тривиально.
difficulty3=Легко. Меньше загрязнения, а значит, меньше атак, меньше трат монет. Лучше всего выбирать, если мало людей.\nЕсли вы играете в одиночной игре, щёлкните кнопку «Рыба» -> хронопоезд, чтобы включить больше сложностей.
difficulty4=Сбалансированный вариант, где все как надо. Выберите его.
difficulty5=Добавлено немного проблем, больше загрязнения, более сильные атаки, больше удовольствия!
difficulty6=Можете начинать готовить подгузники. Здесь вот-вот станет жарко.
difficulty7=Идеально играбельно. Может быть.
difficulty1name=Один игрок
difficulty2name=Небольшая команда
difficulty3name=Эффект бабочки
difficulty4name=Ничем не выделяющееся время
difficulty5name=Интересные времена
difficulty6name=Назад в будущее
difficulty7name=Вечная петля времени
config_tab_offline=Оффлайн-авария
config_tab_offline_text=Отключить или включить выброс инвентаря, когда игрок выходит из сети.\nТаймер 20 минут.
config_tab_dangers=Опасные события
config_tab_dangers_text=Отключить или включить карты опасных событий\n(для выживания требуется как минимум 2-4 знающих игрока)
config_tab_difficulties_easy=Простые сложности
config_tab_difficulties_easy_text=Блокирует две самые простые сложности.\nЕсли вы играете в одиночную игру, этот переключатель для вас.
config_tab_difficulties_hard=Тяжёлые сложности
config_tab_difficulties_hard_text=Блокирует две максимальные сложности.\nЕсли вы любите страдать, этот переключатель для вас.
config_tab_overstay=Штраф за задержку
config_tab_overstay_text=Отключить или включить штраф за слишком долгое пребывание на картах.\nЭто дополнительный рост эволюции и постоянные бонусы для кусак.
config_tab_reset=Перезапуск
config_tab_reset_text=Помечает игру как проигранную и запускает обратный отсчет для перезапуска карты (используйте с осторожностью)!
config_tab_reset_confirm=Подтвердить перезапуск
config_tab_reset_confirm_text=Вы действительно хотите перезапустить?\n(Предыдущая кнопка активировала автосохранение)
map_1_1=Терра феррата
map_1_2=Малахитовые холмы
map_1_3=Гранитные равнины
map_1_4=Нефтяной бассейн
map_1_5=Урановая гора
map_1_6=Угольная долина
map_1_7=Земли кусак
map_1_8=Рудные отвалы
map_1_9=Смешанные руды
map_1_10=Начальная зона
map_1_11=Горящий ад
map_2_1=Древнее поле битвы
map_2_2=ОШИБКА ПУНКТ НАЗНАЧЕНИЯ НЕ НАЙДЕН
map_2_3=Универсальные роботы Россума
map_3_1=Система пещер
map_3_2=Пещерные туннели
map_4_1=Странный лес
map_5_1=Лабиринт живой изгороди
map_6_1=Речные земли
map_7_1=Рыбный рынок
map_8_1=Метановые болота
map_9_1=Фабрика
ore_richness_very_rich=Очень богатые
ore_richness_rich=Богатые
ore_richness_normal=Обычные
ore_richness_poor=Бедные
ore_richness_very_poor=Очень бедные
ore_richness_none=Нет
daynight_static=Статический
daynight_normal=Обычный
daynight_slow=Медленный
daynight_superslow=Очень медленный
daynight_fast=Быстрый
daynight_superfast=Очень быстрый
upgrade_train_armor=Броня поезда
upgrade_train_armor_message=Комфилатрон: Максимальное здоровье поезда улучшено.
upgrade_train_armor_tooltip=+2500 к здоровью поезда. Максимальный уровень: __1__, текущий максимум здоровья: __2__
upgrade_filter=Фильтр загрязнения
upgrade_filter_message=Комфилатрон: Фильтр загрязнения поезда улучшен.
upgrade_filter_tooltip=Фильтр загрязнения поезда. Снижает загрязнение от машин внутри поезда и от зарядки хроно-двигателя.\nКоэффициент переноса загрязнения: __1__%
upgrade_accumulators=Аккумуляторы
upgrade_accumulators_message=Комфилатрон: Ёмкость аккумуляторов поезда улучшена.
upgrade_accumulators_tooltip=Добавляет дополнительный ряд аккумуляторов в хронопоезд, увеличивая максимальную скорость зарядки.
upgrade_loot_pickup=Радиус подбора добычи
upgrade_loot_pickup_message=Комфилатрон: Теперь у игроков есть дополнительные красные манипуляторы на плечах. Диапазон подбора предметов увеличен.
upgrade_loot_pickup_tooltip=Увеличение радиуса подбора добычи для игроков. Текущий: +__1__ клеток.
upgrade_inventory_size=Размер инвентаря персонажа
upgrade_inventory_size_message=Комфилатрон: Теперь игроки могут носить больше мусора в своих захламлённых инвентарях.
upgrade_inventory_size_tooltip=Добавляет +10 ячеек инвентаря для всех игроков.
upgrade_repair=Скорость ремонта поезда
upgrade_repair_message=Комфилатрон: Хронопоезд теперь ремонтируется большим количеством ремкомплектов одновременно.
upgrade_repair_tooltip=Поезд использует больше ремкомплектов за раз из ремонтного сундука. Текущий: +__1__
upgrade_water=Трубопроводная система
upgrade_water_message=Комфилатрон: Поезд теперь имеет трубопроводную систему для дополнительных источников воды в каждом вагоне.
upgrade_water_tooltip=Добавляет трубы в боковых стенках вагонов, чтобы создать источники воды в каждом вагоне.
upgrade_output=Система снабжения
upgrade_output_message=Комфилатрон: Поезд теперь оснащён сундуками снабжения.
upgrade_output_tooltip=Добавляет выходные сундуки в вагоны 2 и 3, которые отправляют предметы во внешнее хранилище вагонов.\nВторой уровень добавляет систему для чтения содержимого вагона изнутри (только первые 20 видов предметов).
upgrade_storage=Хранилище поезда
upgrade_storage_message=Комфилатрон: Грузовые вагоны теперь имеют улучшенное хранилище.
upgrade_storage_tooltip=Добавляет или улучшает сундуки хранения, чтобы выровнять края внутренней части Хронопоезда.
upgrade_poison=Ядовитая защита
upgrade_poison_message=Комфилатрон: Я не верю в ваши навыки обороны. Я оборудовал локомотив аварийной ядовитой защитой...
upgrade_poison_tooltip=Аварийная ядовитая защита. Запускается автоматически, когда у хронопоезда мало здоровья.\nМакс зарядов : 4. Таймер перезарядки для следующего использования: __1__ мин.
upgrade_fusion=Портативный термоядерный реактор
upgrade_fusion_message=Комфилатрон: Один персональный термоядерный реактор готов.
upgrade_fusion_tooltip=Создает один портативный термоядерный реактор.
upgrade_mk2=Силовая броня МК2
upgrade_mk2_message=Комфилатрон: Я модернизировал броню до МК2.
upgrade_mk2_tooltip=Создает одну Силовую броню МК2
upgrade_computer1=1-й квест Комфилатрона
upgrade_computer1_tooltip=Прогресс основного квеста.\nВсе последующие миры не будут иметь "очень бедного" распределения руды.
upgrade_computer1_message=Комфилатрон: Хорошо, теперь я могу исправить навигацию поезда... Как минимум, это должно избавить нас от очень бедных миров. Тем не менее, она всё ещё требует дополнительной настройки. Я вернусь позже.
upgrade_computer2=2-й квест Комфилатрона
upgrade_computer2_message=Комфилатрон: Отлично! Теперь у нас есть реактор в поезде, и, к счастью для всех, мы сможем полностью избежать бедных миров! Узнаем, что будет дальше, после прыжка ;)
upgrade_computer2_tooltip=Прогресс основного квеста.\nВсе последующие миры не будут иметь "бедного" распределения руды.
upgrade_computer3=3-й квест Комфилатрона
upgrade_computer3_message=Комфилатрон: __1__ / 10 частей процессора готово!
upgrade_computer3_tooltip=Прогресс основного квеста.\nПосле завершения 10-й части, финальная карта может быть разблокирована.
upgrade_computer4=Финальный квест Комфилатрона
upgrade_computer4_message=Комфилатрон: СИНХРОНИЗАЦИЯ ВРЕМЕНИ... РАСЧЕТ ПРОСТРАНСТВА-ВРЕМЕНИ НАЗНАЧЕНИЯ... Готово! Включите хроно двигатели ещё раз, и позвольте мне наконец доставить рыбу. Что-то эта поездка затягивается.
upgrade_computer4_tooltip=Прогресс основного квеста.\nРазблокировав это, следующий пункт назначения - Рыбный рынок.\nБудьте готовы, пути назад не будет! Вы получите Паукотроны обратно, но используйте пустые здесь!
upgrade_nukeshied=Система защиты "Ракетный купол"
upgrade_nukeshield_message=Комфилатрон: Система защиты "Ракетный купол" активирована, но она может поразить только одиночную цель!
upgrade_nukeshield_tooltip=Защита от приближающейся ядерной боеголовки.
upgrade_researchspeed=Улучшенные лаборатории
upgrade_researchspeed_message=Комфилатрон: Наконец-то мы можем наверстать упущенное!
upgrade_researchspeed_tooltip=Ускоряет исследования.
upgrade_craftingspeed=Скорость крафта персонажем
upgrade_craftingspeed_message=Комфилатрон: Игроки поумнели, поэтому они могут создавать предметы быстрее!
upgrade_craftingspeed_tooltip=Ускорение ручного крафта на 25% за уровень.
upgrade_discharge=Урон электроразрядной защиты
upgrade_discharge_message=Комфилатрон: Электроразрядная защита теперь бьёт сильнее.
upgrade_discharge_tooltip=Добавляет +20% к урону электроразрядной защиты за уровень.
upgrade_spidertron=Исследование Паукотрона
upgrade_spidertron_message=Комфилатрон: Исследование Паукотрона готово на __1__/2!
upgrade_spidertron_tooltip=Разблокирует Паукотронов. Их можно использовать ТОЛЬКО на финальной карте.
upgrade_train_lasers=Лазеры поезда
upgrade_train_lasers_message=Комфилатрон: Я оборудовал поезд этими клёвыми штуками, которые делают пиу-пиу-пиу. Лазерами!
upgrade_train_lasers_tooltip=Добавляет автоматические лазеры в локомотив.
upgrade_nuclear_artillery=Ядерная артиллерия
upgrade_nuclear_artillery_message=Комфилатрон: Мы улучшили нашу артиллерию УМНЫМИ ядерными снарядами!
upgrade_nuclear_artillery_tooltip=Когда артиллерия нацеливается на ульи кусак, она стреляет ядерными снарядами, а не обычными. Потребляет ядернык заряды из сундука с ядерными боеприпасами.
upgrade_nuclear_artillery_ammo=Ядерные артиллерийские снаряды
upgrade_nuclear_artillery_ammo_message=Комфилатрон: +10 ядерных боеголовок, зарезервированных для артиллерии!
upgrade_nuclear_artillery_ammo_tooltip=Одна ядерная боеголовка используется, когда артиллерия стреляет по ульям кусак.
upgrade_poison_mastery=Мастерство отравления
upgrade_poison_mastery_message=Комфилатрон: Теперь наши яды сильнее. А вы, глупые люди, наконец-то научились правильно надевать противогазы.
upgrade_poison_mastery_tooltip=+25% эффективности ядовитых капсул. Игроки получают меньше урона от яда.
upgrade_giftmas=Подарки от Деда Мороза
upgrade_giftmas_message=Комфилатрон: Я украсил поезд зимними украшениями, чтобы приманить Деда Мороза с подарками!
upgrade_giftmas_tooltip=Добавляет сезонное украшение поезда. Дед Мороз может оставить подарки снаружи поезда (в случайную точку, один подарок за уровень исследования на каждой карте).
upgrade_radar=РАДАРНАЯ станция
upgrade_radar_message=Комфилатрон: Я поставил на поезд несколько антенн. Выглядит круто!
upgrade_radar_tooltip=Обеспечивает полное радарное покрытие поезда. Карта снаружи поезда открывается по мере генерации.
token_biters=Жетон исследования убийства кусак
token_biters_add=+ __1__ жетонов исследования убийства кусачей
token_ammo=Жетон исследования боеприпасов
token_ammo_add=+ __1__ жетонов исследования боеприпасов
token_tech=Жетон технологических исследований
token_tech_add=+ __1__ жетонов технологических исследований
token_ecology=Жетон исследования экологии
token_ecology_add=+ __1__ жетонов исследования экологии
token_weapons=Жетон исследования оружия
token_weapons_add=+ __1__ жетонов исследования оружия
token_info_biters=Получите больше знаний, убивая кусак!
token_info_ammo=Получите больше знаний, собирая редкие скины для пистолета!\nНажмите эту кнопку, чтобы преобразовать пистолеты из вашего инвентаря в жетоны!
token_info_tech=Получите больше знаний, исследуя технологии или находя работающие машины в металлоломе!
token_info_ecology=Получите больше знаний, обнимая деревья своим топором!
token_info_weapons=Получите больше знаний, испытывая свое оружие на ульях кусак!
gui_1=ХроноПрыжки:
gui_2=Заряд:
gui_3=Заряжен в:
gui_3_1=Лучший вариант:
gui_3_2=Ядерные ракеты запущены в:
gui_3_3=Прыжок в:
gui_3_4=РАЗОГРЕВ. Изучите [technology=logistic-science-pack], чтобы запустить таймер.
gui_3_5=Начальный таймер до прыжка будет 15 минут.
gui_4=Местная эволюция:
gui_world_button=Информация о месте
gui_upgrades_button=Улучшения
gui_upgrades_1=Приобретайте улучшения, помещая предметы в сундуки в верхней части салона поезда.
gui_upgrades_2=Обновление может занять несколько секунд.
gui_upgrades_3=Используйте местные фабрики, чтобы повышать уровень Фабрики поезда!
gui_upgrades_switch1=Поезд
gui_upgrades_switch_tt1=Лучший поезд лучше!
gui_upgrades_switch2=Игрок
gui_upgrades_switch_tt2=Крошечное ощущение RPG улучшений
gui_upgrades_switch3=Квесты
gui_upgrades_switch_tt3=Некоторые квесты скрыты, пока вы их не разблокируете!\n(при определенных прыжках или выполнении предыдущих квестов)
gui_upgrades_switch4=Фабрика
gui_upgrades_switch_tt4=1) Собирайте продукцию с появившихся на карте фабрик (стройте вокруг них небольшую базу!)\n2) Вы получаете опыт при прыжке в зависимости от того, сколько они произвели.\n3) На 1 уровне открывается фабрика в поезде. Также дает опыт (но меньше).
gui_upgrades_jumps=Требуется минимальный номер прыжка
gui_tokens=Доступные жетоны исследований:
gui_world_0=Название: __1__
gui_world_1=Обнаруженное распределение руды:
gui_world_2=Количество руды: __1__
gui_world_3=Местная эволюция: __1__%
gui_world_4=Глобальные эволюционные бонусы:
gui_world_4_1=+__1__% эволюции, +__2__% урона
gui_world_5=Дневной цикл: __1__
gui_world_6=До задержки: __1__ мин, __2__ с
gui_world_7=Задержка применяется после прыжка __1__
gui_overstayed=Задержался!
gui_not_overstayed=Не задержались.
gui_biters_evolve=Постоянная эволюция кусак: __1__ мин, __2__ с\nЭволюция ускорится в этом мире: __3__ мин, __4__ с
minimap=Обзорный вид
minimap_button_tooltip=Открыть/закрыть окно обзорного вида.
minimap_tooltip=ЛКМ: увеличить уровень масштабирования.\nПКМ: уменьшить уровень масштабирования.\nСКМ: переключить размер камеры.\nКнопка карты наверху, чтобы скрыть/показать
map_on=Автоматически показывать карту ВКЛ
map_off=ВЫКЛ
train_market=Рынок
train_repair_chest=Ремонтный сундук
train_upgrades=Улучшения
train_upgrades_sub=Нажмите "Улучшения" в верхней части экрана
train_output=Сундук снабжения
train_exit=Нажмите "Enter", чтобы выйти
train_laser_battery=Аккумулятор лазера
[chronosphere]
map_info_main_caption=Х Р О Н О С Ф Е Р А
map_info_sub_caption= ..Комфилатрон обезумел..
map_info_text=Комфилатрон взял на себя управление Рыбным поездом и превратил его в машину времени.\nВаша задача как его помощника:\n\n[1] Сохранить поезд любой ценой\n[2] Собирайте ресурсы, путешествуя по разным картам.\n[3a] Нажмите Enter на грузовых вагонах, чтобы войти внутрь поезда.\n[3b] Нажмите Enter на Автомобиле (внутри поезда), чтобы выйти из поезда.\n[4] Зарядка аккумуляторов внутри поезда ускоряет прыжок, но создаёт ОГРОМНОЕ количество загрязнения, провоцируя кусак.\n[5] Предметы, положенные в синие сундуки, телепортируются в поезд.\n[6] Некоторые планеты бедны, некоторые богаты, а некоторые слишком опасны.\n\n Добыча, но и эволюция растет вместе с выполняемыми прыжками.\n Во время прыжка персонал будет телепортирован внутрь поезда, а всё снаружи так и останется.\nКаждый прыжок даёт 25 монет за каждую сэкономленную минуту (до 25 прыжка).\nИсследование производительности добычи увеличивает размер инвентаря и скорость ручной добычи.\n\nУдачи. Не дайте кусакам испортить шоу!
map_jump=Место назначения: __1__, Богатство руды: __2__, Дневной цикл: __3__
train_HP=HP: __1__ / __2__
train_name=Хронопоезд Комфилатрона
message_danger1=Комфилатрон: У нас проблемы! Прыжок был неожиданно прерван, использовалась только часть энергии. Приземлились где пришлось. Это могла быть ловушка!
message_danger2=Комфилатрон: Аккумулятор нестабилен, нам нужно дожить до полного заряда без ускоренной зарядки.
message_danger3=Голос робота: УГРОЗА ВТОРЖЕНИЯ! Обнаружены биологические жизненные формы!! Уничтожить!!
message_danger4=Голос робота: Ядерные ракеты в готовности. Обратный отсчет запущен.
message_danger5=Комфилатрон: О, чёрт. У нас есть комплекс ПВО, но снарядов только на один залп! По крайней мере, он выиграет нам немного времени. Разберитесь с ракетами! Уничтожьте шахты до запуска ракет!
message_rampup50=Комфилатрон: Кусаки эволюционируют, становясь сильнее с каждой секундой ...
message_overstay=Комфилатрон: Нам потребовалось слишком много времени, чтобы покинуть эту планету. У всех кусак на будущих планет было время эволюционировать...
message_jump180=Комфилатрон: Поезд полностью заряжен! Обратный отсчёт запущен. 180 секунд до прыжка!
message_jump60=Комфилатрон: Почти готово! Хватайте всё, что можете, мы отбываем через 60 секунд!
message_jump30=Комфилатрон: Вам лучше поторопиться! Осталось 30 секунд!!
message_jump10=Комфилатрон: Прыжок через __1__ секунд!
message_jump=Комфилатрон: Ууиии! Прыжок во времени! Номер __1__.
message_poison_defense=Комфилатрон: Запуск ядовитой защиты. Травим всех!
message_nuke=Предупреждение: Обнаружен запуск ядерных ракет.
message_nuke_intercepted=Комплекс ПВО успешно перехватил вражеский ядерный удар.
message_accident=Комфилатрон: Оффлайн игрок попал в аварию. Его труп упал на землю возле локомотива.
message_silo=Пусковая щахта разрушена. Вам удалось добыть __1__ атомных боеголовок. Комфилатрон изъял их для вашей же безопасности.
message_game_won_restart=Комфилатрон: ЧИВООО? Похоже, своим ремонтом мы сломали(!) поезд, и он телепортировал нас обратно во времени ... (вздох) ... давайте по новой. На этот раз прямыми руками.
message_fishmarket1=Комфилатрон: Итак, мы на месте. Рыбный рынок. Когда они заказывали рыбу, они сказали, что это место совершенно безопасно. Угадайте с одного раза кому придется обеспечить эту совершенную безопасность.
message_fishmarket2=Комфилатрон: Надеюсь, у вас достаточно ядерных боеголовок. Спутник дал нам пару снимков.
message_fishmarket3=Комфилатрон: Помнишь мы перехватывали ядерные боеголовки? Забирай! Тебе сейчас нужнее.
message_lava=Комфилатрон: Да тут буквально ад! Лучше держитесь на расстоянии! Или попробовать замостить кирпичом для защиты от лавы? И видели этих кусак? Они КУПАЮТСЯ в огне!
message_choppy=Комфилатрон: О_О, что это за странные деревья?!? Они плодоносят рудой! ЧЕ за х....?!
message_game_lost1=Хронопоезд уничтожен!
message_game_lost2=Комфилатрон убьёт тебя за это... Он сможет. В конце концов, у него есть машина времени!
message_evolve=Комфилатрон: Кусаки эволюционировали достаточно, чтобы передать свои знания по цепочке сородичам. Если мы слишком долго задерживаемся на одном прыжке, в будущем кусаки будут опаснее!
message_quest1=Комфилатрон: Вы знаете... У меня есть большой Квест. Доставить рыбу на рыбный рынок. Но этот поезд сломан. Пожалуйста, помогите мне починить компьютер поезда!
message_quest3=Комфилатрон: Ах, нам нужно увеличить мощность машины и добавить улучшенную навигационню плату. Пожалуйста, принесите мне несколько дополнительных вещей.
message_quest5=Комфилатрон: Наконец-то нашел основную проблему. Это именно то, чего я боялся. Нужно перестраивать весь процессор. Нужно еще несколько вещей ...
message_quest6=Комфилатрон: Перестройка процессора закончена. Теперь нам просто нужно правильно синхронизировать время, и всё готово! Мне нужен спутник и ракетная шахта.
message_not_won_yet=Комфилатрон: Вы доставили рыбу, но осталось еще __1__ врагов. Убейте их всех, чтобы рыба была в безопасности!
message_game_won1=Комфилатрон: Спасибо всем за помощь с доставкой рыбы. Это была тяжелая поездка. А теперь, когда все кусаки мертвы, рыба здесь навсегда в безопасности ...
message_game_won2=Рыбный рынок: Спасибо за доставку __1__ рыбы!
message_game_won3=Игра будет перезапущена через 5 минут! Используйте оставшееся время, чтобы доставить как можно больше рыбы и получить больше очков, или просто расслабьтесь!
message_fish_added=Рыбный рынок: Спасибо за эту рыбу! Ваш текущий результат __1__!
message_comfylatron_desync=Комфилатрон: Попался! За работу, __1__!
message_quest_research=Комфилатрон: Боже ж ты мой! Ваше исследование плетется черепахой! Вот, я улучшил наши лаборатории! А теперь давайте исследовать!
message_poison_mastery_unlock=Комфилатрон: Ну вот опять ты травишься! Что? У тебя нет иммунитета? Как.... почему... (вздох) ну почему ты не можешь быть таким как я? Вот у меня иммунитет! А, тебе дышать надо... и есть... Ну, ладно. Полному иммунитету не бывать, но хоть травиться будешь меньше! А травить - сильнее. Давай улучшим мастерство отравления?
spidertron_not_allowed=Паукотрон можно использовать только на финальной карте!
message_giftmas_spawned=Мы целый год вели себя хорошо! Дед Мороз прислал подарки: [gps=__1__,__2__,__3__]!
difficulty1=Подходит для одиночной игры. Намного меньше загрязнения, кусаки меньше атакуют, обновления дешевле и т.д.
difficulty2=Это может выбрать небольшая группа друзей. Меньше загрязнения, меньше нападений кусак, но не совсем тривиально.
difficulty3=Легко. Меньше загрязнения, а значит, меньше атак, меньше трат монет. Лучше всего выбирать, если мало людей.\nЕсли вы играете в одиночной игре, щёлкните кнопку «Рыба» -> хронопоезд, чтобы включить больше сложностей.
difficulty4=Сбалансированный вариант, где все как надо. Выберите его.
difficulty5=Добавлено немного проблем, больше загрязнения, более сильные атаки, больше удовольствия!
difficulty6=Можете начинать готовить подгузники. Здесь вот-вот станет жарко.
difficulty7=Идеально играбельно. Может быть.
difficulty1name=Один игрок
difficulty2name=Небольшая команда
difficulty3name=Эффект бабочки
difficulty4name=Ничем не выделяющееся время
difficulty5name=Интересные времена
difficulty6name=Назад в будущее
difficulty7name=Вечная петля времени
config_tab_offline=Оффлайн-авария
config_tab_offline_text=Отключить или включить выброс инвентаря, когда игрок выходит из сети.\nТаймер 20 минут.
config_tab_dangers=Опасные события
config_tab_dangers_text=Отключить или включить карты опасных событий\n(для выживания требуется как минимум 2-4 знающих игрока)
config_tab_difficulties_easy=Простые сложности
config_tab_difficulties_easy_text=Блокирует две самые простые сложности.\nЕсли вы играете в одиночную игру, этот переключатель для вас.
config_tab_difficulties_hard=Тяжёлые сложности
config_tab_difficulties_hard_text=Блокирует две максимальные сложности.\nЕсли вы любите страдать, этот переключатель для вас.
config_tab_overstay=Штраф за задержку
config_tab_overstay_text=Отключить или включить штраф за слишком долгое пребывание на картах.\nЭто дополнительный рост эволюции и постоянные бонусы для кусак.
config_tab_reset=Перезапуск
config_tab_reset_text=Помечает игру как проигранную и запускает обратный отсчет для перезапуска карты (используйте с осторожностью)!
config_tab_reset_confirm=Подтвердить перезапуск
config_tab_reset_confirm_text=Вы действительно хотите перезапустить?\n(Предыдущая кнопка активировала автосохранение)
map_1_1=Терра феррата
map_1_2=Малахитовые холмы
map_1_3=Гранитные равнины
map_1_4=Нефтяной бассейн
map_1_5=Урановая гора
map_1_6=Угольная долина
map_1_7=Земли кусак
map_1_8=Рудные отвалы
map_1_9=Смешанные руды
map_1_10=Начальная зона
map_1_11=Горящий ад
map_2_1=Древнее поле битвы
map_2_2=ОШИБКА ПУНКТ НАЗНАЧЕНИЯ НЕ НАЙДЕН
map_2_3=Универсальные роботы Россума
map_3_1=Система пещер
map_3_2=Пещерные туннели
map_4_1=Странный лес
map_5_1=Лабиринт живой изгороди
map_6_1=Речные земли
map_7_1=Рыбный рынок
map_8_1=Метановые болота
map_9_1=Фабрика
ore_richness_very_rich=Очень богатые
ore_richness_rich=Богатые
ore_richness_normal=Обычные
ore_richness_poor=Бедные
ore_richness_very_poor=Очень бедные
ore_richness_none=Нет
daynight_static=Статический
daynight_normal=Обычный
daynight_slow=Медленный
daynight_superslow=Очень медленный
daynight_fast=Быстрый
daynight_superfast=Очень быстрый
upgrade_train_armor=Броня поезда
upgrade_train_armor_message=Комфилатрон: Максимальное здоровье поезда улучшено.
upgrade_train_armor_tooltip=+2500 к здоровью поезда. Максимальный уровень: __1__, текущий максимум здоровья: __2__
upgrade_filter=Фильтр загрязнения
upgrade_filter_message=Комфилатрон: Фильтр загрязнения поезда улучшен.
upgrade_filter_tooltip=Фильтр загрязнения поезда. Снижает загрязнение от машин внутри поезда и от зарядки хроно-двигателя.\nКоэффициент переноса загрязнения: __1__%
upgrade_accumulators=Аккумуляторы
upgrade_accumulators_message=Комфилатрон: Ёмкость аккумуляторов поезда улучшена.
upgrade_accumulators_tooltip=Добавляет дополнительный ряд аккумуляторов в хронопоезд, увеличивая максимальную скорость зарядки.
upgrade_loot_pickup=Радиус подбора добычи
upgrade_loot_pickup_message=Комфилатрон: Теперь у игроков есть дополнительные красные манипуляторы на плечах. Диапазон подбора предметов увеличен.
upgrade_loot_pickup_tooltip=Увеличение радиуса подбора добычи для игроков. Текущий: +__1__ клеток.
upgrade_inventory_size=Размер инвентаря персонажа
upgrade_inventory_size_message=Комфилатрон: Теперь игроки могут носить больше мусора в своих захламлённых инвентарях.
upgrade_inventory_size_tooltip=Добавляет +10 ячеек инвентаря для всех игроков.
upgrade_repair=Скорость ремонта поезда
upgrade_repair_message=Комфилатрон: Хронопоезд теперь ремонтируется большим количеством ремкомплектов одновременно.
upgrade_repair_tooltip=Поезд использует больше ремкомплектов за раз из ремонтного сундука. Текущий: +__1__
upgrade_water=Трубопроводная система
upgrade_water_message=Комфилатрон: Поезд теперь имеет трубопроводную систему для дополнительных источников воды в каждом вагоне.
upgrade_water_tooltip=Добавляет трубы в боковых стенках вагонов, чтобы создать источники воды в каждом вагоне.
upgrade_output=Система снабжения
upgrade_output_message=Комфилатрон: Поезд теперь оснащён сундуками снабжения.
upgrade_output_tooltip=Добавляет выходные сундуки в вагоны 2 и 3, которые отправляют предметы во внешнее хранилище вагонов.\nВторой уровень добавляет систему для чтения содержимого вагона изнутри (только первые 20 видов предметов).
upgrade_storage=Хранилище поезда
upgrade_storage_message=Комфилатрон: Грузовые вагоны теперь имеют улучшенное хранилище.
upgrade_storage_tooltip=Добавляет или улучшает сундуки хранения, чтобы выровнять края внутренней части Хронопоезда.
upgrade_poison=Ядовитая защита
upgrade_poison_message=Комфилатрон: Я не верю в ваши навыки обороны. Я оборудовал локомотив аварийной ядовитой защитой...
upgrade_poison_tooltip=Аварийная ядовитая защита. Запускается автоматически, когда у хронопоезда мало здоровья.\nМакс зарядов : 4. Таймер перезарядки для следующего использования: __1__ мин.
upgrade_fusion=Портативный термоядерный реактор
upgrade_fusion_message=Комфилатрон: Один персональный термоядерный реактор готов.
upgrade_fusion_tooltip=Создает один портативный термоядерный реактор.
upgrade_mk2=Силовая броня МК2
upgrade_mk2_message=Комфилатрон: Я модернизировал броню до МК2.
upgrade_mk2_tooltip=Создает одну Силовую броню МК2
upgrade_computer1=1-й квест Комфилатрона
upgrade_computer1_tooltip=Прогресс основного квеста.\nВсе последующие миры не будут иметь "очень бедного" распределения руды.
upgrade_computer1_message=Комфилатрон: Хорошо, теперь я могу исправить навигацию поезда... Как минимум, это должно избавить нас от очень бедных миров. Тем не менее, она всё ещё требует дополнительной настройки. Я вернусь позже.
upgrade_computer2=2-й квест Комфилатрона
upgrade_computer2_message=Комфилатрон: Отлично! Теперь у нас есть реактор в поезде, и, к счастью для всех, мы сможем полностью избежать бедных миров! Узнаем, что будет дальше, после прыжка ;)
upgrade_computer2_tooltip=Прогресс основного квеста.\nВсе последующие миры не будут иметь "бедного" распределения руды.
upgrade_computer3=3-й квест Комфилатрона
upgrade_computer3_message=Комфилатрон: __1__ / 10 частей процессора готово!
upgrade_computer3_tooltip=Прогресс основного квеста.\nПосле завершения 10-й части, финальная карта может быть разблокирована.
upgrade_computer4=Финальный квест Комфилатрона
upgrade_computer4_message=Комфилатрон: СИНХРОНИЗАЦИЯ ВРЕМЕНИ... РАСЧЕТ ПРОСТРАНСТВА-ВРЕМЕНИ НАЗНАЧЕНИЯ... Готово! Включите хроно двигатели ещё раз, и позвольте мне наконец доставить рыбу. Что-то эта поездка затягивается.
upgrade_computer4_tooltip=Прогресс основного квеста.\nРазблокировав это, следующий пункт назначения - Рыбный рынок.\nБудьте готовы, пути назад не будет! Вы получите Паукотроны обратно, но используйте пустые здесь!
upgrade_nukeshied=Система защиты "Ракетный купол"
upgrade_nukeshield_message=Комфилатрон: Система защиты "Ракетный купол" активирована, но её нужно перезаряжать после каждого использования!
upgrade_nukeshield_tooltip=Защита от приближающейся ядерной боеголовки.
upgrade_researchspeed=Улучшенные лаборатории
upgrade_researchspeed_message=Комфилатрон: Наконец-то мы можем наверстать упущенное!
upgrade_researchspeed_tooltip=Ускоряет исследования.
upgrade_craftingspeed=Скорость крафта персонажем
upgrade_craftingspeed_message=Комфилатрон: Игроки поумнели, поэтому они могут создавать предметы быстрее!
upgrade_craftingspeed_tooltip=Ускорение ручного крафта на 25% за уровень.
upgrade_discharge=Урон электроразрядной защиты
upgrade_discharge_message=Комфилатрон: Электроразрядная защита теперь бьёт сильнее.
upgrade_discharge_tooltip=Добавляет +20% к урону электроразрядной защиты за уровень.
upgrade_spidertron=Исследование Паукотрона
upgrade_spidertron_message=Комфилатрон: Исследование Паукотрона готово на __1__/2!
upgrade_spidertron_tooltip=Разблокирует Паукотронов. Их можно использовать ТОЛЬКО на финальной карте.
upgrade_train_lasers=Лазеры поезда
upgrade_train_lasers_message=Комфилатрон: Я оборудовал поезд этими клёвыми штуками, которые делают пиу-пиу-пиу. Лазерами!
upgrade_train_lasers_tooltip=Добавляет автоматические лазеры в локомотив.
upgrade_nuclear_artillery=Ядерная артиллерия
upgrade_nuclear_artillery_message=Комфилатрон: Мы улучшили нашу артиллерию УМНЫМИ ядерными снарядами!
upgrade_nuclear_artillery_tooltip=Когда артиллерия нацеливается на ульи кусак, она стреляет ядерными снарядами, а не обычными. Потребляет ядернык заряды из сундука с ядерными боеприпасами.
upgrade_nuclear_artillery_ammo=Ядерные артиллерийские снаряды
upgrade_nuclear_artillery_ammo_message=Комфилатрон: +10 ядерных боеголовок, зарезервированных для артиллерии!
upgrade_nuclear_artillery_ammo_tooltip=Одна ядерная боеголовка используется, когда артиллерия стреляет по ульям кусак.
upgrade_poison_mastery=Мастерство отравления
upgrade_poison_mastery_message=Комфилатрон: Теперь наши яды сильнее. А вы, глупые люди, наконец-то научились правильно надевать противогазы.
upgrade_poison_mastery_tooltip=+25% эффективности ядовитых капсул. Игроки получают меньше урона от яда.
upgrade_giftmas=Праздничное украшение поезда
upgrade_giftmas_message=Комфилатрон: Я украсил поезд зимними украшениями, чтобы приманить Деда Мороза с подарками!
upgrade_giftmas_tooltip=Добавляет сезонное украшение поезда. Дед Мороз может оставить подарки снаружи поезда (в случайной точке, один подарок за уровень исследования на каждой карте).
upgrade_radar=Радарная станция
upgrade_radar_message=Комфилатрон: Я поставил на поезд несколько антенн. Выглядит круто!
upgrade_radar_tooltip=Обеспечивает полное радарное покрытие поезда. Карта снаружи поезда открывается по мере генерации.
token_biters=Жетон исследования убийства кусак
token_biters_add=+ __1__ жетонов исследования убийства кусачей
token_ammo=Жетон исследования боеприпасов
token_ammo_add=+ __1__ жетонов исследования боеприпасов
token_tech=Жетон технологических исследований
token_tech_add=+ __1__ жетонов технологических исследований
token_ecology=Жетон исследования экологии
token_ecology_add=+ __1__ жетонов исследования экологии
token_weapons=Жетон исследования оружия
token_weapons_add=+ __1__ жетонов исследования оружия
token_info_biters=Получите больше знаний, убивая кусак!
token_info_ammo=Получите больше знаний, собирая редкие скины для пистолета!\nНажмите эту кнопку, чтобы преобразовать пистолеты из вашего инвентаря в жетоны!
token_info_tech=Получите больше знаний, исследуя технологии или находя работающие машины в металлоломе!
token_info_ecology=Получите больше знаний, обнимая деревья своим топором!
token_info_weapons=Получите больше знаний, испытывая свое оружие на ульях кусак!
gui_1=ХроноПрыжки:
gui_2=Заряд:
gui_3=Заряжен в:
gui_3_1=Лучший вариант:
gui_3_2=Ядерные ракеты запущены в:
gui_3_3=Прыжок в:
gui_3_4=РАЗОГРЕВ. Изучите [technology=logistic-science-pack], чтобы запустить таймер.
gui_3_5=Начальный таймер до прыжка будет 15 минут.
gui_4=Местная эволюция:
gui_world_button=Информация о месте
gui_upgrades_button=Улучшения
gui_upgrades_1=Приобретайте улучшения, помещая предметы в сундуки в верхней части салона поезда.
gui_upgrades_2=Обновление может занять несколько секунд.
gui_upgrades_3=Используйте местные фабрики, чтобы повышать уровень Фабрики поезда!
gui_upgrades_switch1=Поезд
gui_upgrades_switch_tt1=Лучший поезд лучше!
gui_upgrades_switch2=Игрок
gui_upgrades_switch_tt2=Крошечное ощущение RPG улучшений
gui_upgrades_switch3=Квесты
gui_upgrades_switch_tt3=Некоторые квесты скрыты, пока вы их не разблокируете!\n(при определенных прыжках или выполнении предыдущих квестов)
gui_upgrades_switch4=Фабрика
gui_upgrades_switch_tt4=1) Собирайте продукцию с появившихся на карте фабрик (стройте вокруг них небольшую базу!)\n2) Вы получаете опыт при прыжке в зависимости от того, сколько они произвели.\n3) На 1 уровне открывается фабрика в поезде. Также дает опыт (но меньше).
gui_upgrades_jumps=Требуется минимальный номер прыжка
gui_tokens=Доступные жетоны исследований:
gui_world_0=Название: __1__
gui_world_1=Обнаруженное распределение руды:
gui_world_2=Количество руды: __1__
gui_world_3=Местная эволюция: __1__%
gui_world_4=Глобальные эволюционные бонусы:
gui_world_4_1=+__1__% эволюции, +__2__% урона
gui_world_5=Дневной цикл: __1__
gui_world_6=До задержки: __1__ мин, __2__ с
gui_world_7=Задержка применяется после прыжка __1__
gui_overstayed=Задержался!
gui_not_overstayed=Не задержались.
gui_biters_evolve=Постоянная эволюция кусак: __1__ мин, __2__ с\nЭволюция ускорится в этом мире: __3__ мин, __4__ с
minimap=Обзорный вид
minimap_button_tooltip=Открыть/закрыть окно обзорного вида.
minimap_tooltip=ЛКМ: увеличить уровень масштабирования.\nПКМ: уменьшить уровень масштабирования.\nСКМ: переключить размер камеры.\nКнопка карты наверху, чтобы скрыть/показать
map_on=Автоматически показывать карту ВКЛ
map_off=ВЫКЛ
cmd_not_admin=Вы не администратор! Только администраторы могут использовать команды сценария!
cmd_game_restarting=Карта перезапускается...
cmd_reset_map_confirm=[Сценарий] Вы уверены? Это полностью перезапустит текущий заезд! Используйте команду ещё раз для подтверждения.
cmd_hardreset_disabled=[Сценарий] Жёсткий сброс отключен.
cmd_hardreset_enabled=[Сценарий] Жёсткий сброс активирован. Сервер перезапустится при следующем мягком сбросе.
cmd_server_restarting=[Сценарий] Сервер перезапускается для загрузки обновлений.
cmd_hardreset_confirm=[Сценарий] Вы уверены? Это перезапустит сервер для загрузки обновлений. Используйте команду ещё раз для подтверждения.
command_scenario=Перезапуск поездки или активация жёсткого сброса. Параметры:\nresetmap\nhardreset\nhardresetnow
train_market=Рынок
train_repair_chest=Ремонтный сундук
train_upgrades=Улучшения
train_upgrades_sub=Нажмите "Улучшения" в верхней части экрана
train_output=Сундук снабжения
train_exit=Нажмите "Enter", чтобы выйти
train_laser_battery=Аккумулятор лазера

19
locale/ru/gui.cfg Normal file
View File

@ -0,0 +1,19 @@
[gui]
groups=Группы
title=Название
description=Описание
members=Участники
create=Создать
join=Вступить
leave=Покинуть
delete=Удалить
gui_data_cleaning=Очистка данных интерфейса
spaghett_mode=Режим спагетти
notify_on_polls=Уведомлять об опросах
spectator_mode=Режим наблюдателя
[gui-description]
gui_data_cleaning=Переключает очистку данных интерфейса.
spaghett_mode=Отключает исследование логистической системы.\nСундук запроса, буферный сундук и сундук активного снабжения нельзя построить.
notify_on_polls=Получать сообщение, когда кто-то создаёт опрос, и выводить опрос на экран.
spectator_mode=Переключает режим обзора карты с размытием по краям.\nЗвуки окружения будут зависеть от просмотра карты.

19
locale/ru/ic.cfg Normal file
View File

@ -0,0 +1,19 @@
[ic]
transfer_car=Перенос автомобиля
car_settings=Настройки автомобиля
allow_anyone=Разрешить вход всем: Вкл
auto_upgrade=Авто-улучшение транспорта: Вкл
add_player=Добавить игрока
off=Выкл
on=Вкл
select_player=Выбрать игрока
discard=Отмена
save=Сохранить
name=Имя
warning=Внимание, это действие нельзя отменить!
warning_2=ЭТО ДЕЙСТВИЕ НЕОБРАТИМО!!
kick=Кикнуть __1__
allowed=Разрешено
operations=Операции
control=Управляйте, кто может войти в ваш транспорт.
destroy_surface=Уничтожить поверхность

View File

@ -11,6 +11,12 @@ soft_reset_welcome=>> Добро пожаловать на __1__!
soft_reset_reshape=>> Мир изменился, добро пожаловать на __1__, номер __2__!
soft_reset_welcome_mapkeeper=[color=blue]Хранитель карты:[/color] Добро пожаловать на __1__!
soft_reset_reshape_mapkeeper=[color=blue]Хранитель карты:[/color] Мир изменился, добро пожаловать на __1__, номер __2__!
turret_filler=Автозарядка турелей
turret_filler_tooltip=Автоматически заряжать турели при размещении
turret_filler_label_enabled=Включено:
turret_filler_label_amount=Количество:
turret_filler_ammo_type=Боеприпасы:
turret_filler_ammo_lower=Включить предыдущие уровни?
[modules_towny]
map_info=__1__\n\n__2__\n\n__3__\n\n__4__\n\n__5__

View File

@ -1,7 +1,7 @@
[mountain_fortress_v3]
map_info_main_caption=Г О Р Н А Я К Р Е П О С Т Ь V3
map_info_sub_caption= ~~ копаю копаю чух чух ~~
map_info_text=[color=red]Внимание!\nЕсли встретите ошибки или десинхронизацию, сообщите @Gerkiz![/color]\n\nКусаки уловили запах рыбы в грузовом вагоне.\nПроводите поезд в гору и защищайте его как можно дольше!\nЭто, однако, будет нелёгкой задачей,\nпоскольку их сила и численность со временем увеличиваются.\n\nКроме того, южные земли со временем разрушаются.\n\nПродвигайтесь глубже для больших сокровищ, и сталкивайтесь с возрастающими опасностями.\nИсследование продуктивности добычи приведет к улучшению вашего добывающего оборудования, а увеличит размер вашего рюкзака.\n\nКогда вы будете копать, вы встретите непроходимые темные пропасти или реки.\nПо вам будет стрелять артиллерия! Копайте быстро, копайте на север!\n\nНемного взрывчатки может заставить части потолка рассыпаться, заполняя пустоту, создавая новые пути.\nВсё, что вам нужно, это контейнер и прицельный выстрел.\n\nВойдите в грузовой вагон, чтобы открыть пространство вагона!\n\nСлучайные здания, генерирующие ресурсы, могут быть найдены в мире.\n\nРазмещение стальных сундуков рядом с грузовыми вагонами позволить быстро перемещать содержимое.\n\nНахождение в зоне локомотива предотвращает появление кусак при добыче объектов.\n\nИнтерфейс RPG отключается внутри локомотива.\nОтсоединение вагонов отключено.\nВы не можете отменить крафт, находясь в зоне локомотива.\n\nНе пытайтесь идти на север на Паукотроне, если поезд не рядом с вами.\nВы были предупреждены.\n\nУдачи вам в пути!
map_info_text=[color=red]ПРОЧТИТЕ ЭТО!\nЕсли встретите ошибки или десинхронизацию, сообщите @Gerkiz!\nЕсли встретятся ошибки, ломающие игру, карта может быть перезагружена для исправления.[/color]\n\nКусаки уловили запах рыбы в грузовом вагоне.\nПроводите поезд в гору и защищайте его как можно дольше!\nЭто, однако, будет нелёгкой задачей,\nпоскольку их сила и численность со временем увеличиваются.\n\nКроме того, южные земли со временем разрушаются.\n\nПродвигайтесь глубже для больших сокровищ, и сталкивайтесь с возрастающими опасностями.\nИсследование продуктивности добычи приведет к улучшению вашего добывающего оборудования, и увеличит размер вашего рюкзака.\n\nКогда вы будете копать, вы встретите непроходимые тёмные пропасти или реки.\nПо вам будет стрелять артиллерия! Копайте быстро, копайте на север!\n\nНемного взрывчатки может вызвать обвал гор, заполняя пустоту, создавая новые пути.\nВсё, что вам нужно, это контейнер и точный выстрел.\n\nВойдите в грузовой вагон, чтобы открыть пространство вагона!\n\nСлучайные здания, генерирующие ресурсы, могут быть найдены в мире.\n\nРазмещение стальных сундуков рядом с грузовыми вагонами позволить быстро перемещать содержимое.\n\nНахождение в зоне локомотива предотвращает появление кусак при добыче объектов.\n\nИнтерфейс RPG отключается внутри локомотива.\nОтсоединение вагонов отключено.\nВы не можете отменить крафт, находясь в зоне локомотива.\n\nНе пытайтесь идти на север на Паукотроне, если поезд не рядом с вами.\nВы были предупреждены.\nУ буров большой бонус производительности, и его можно увеличить исследованиями, используйте по возможности!\nЗагадочный сундук в локомотиве предлагает некоторые награды.\nЕго нужно накормить, чтобы получить награды.\n\nУдачи вам в пути!
[breached_wall]
collapse_start=[color=blue]Хранитель карты:[/color]\nПредупреждение, начинается коллапс!
@ -10,6 +10,7 @@ wall_breached=[color=blue]Хранитель карты:[/color]\nВыживши
first_to_reach=[color=blue]Хранитель карты:[/color]\n__1__ первым достиг зоны __2__.
artillery_warning=[color=blue]Хранитель карты:[/color]\nПредупреждение, на севере замечена артиллерия!
cheating_through=__1__ пытается обманом пройти на север на Паукотроне.
hinder=Вы слишком далеко от главного локомотива. Вы не можете пройти дальше.
[entity]
treasure_1=Вы замечаете старый ящик среди завалов. Он полон сокровищ!
@ -60,9 +61,11 @@ chest_bought_info=__1__ __2__ купил улучшение предела су
health_bought_info=__1__ __2__ купил модификатор здоровья локомотива за __3__ монет.
aura_bought_info=__1__ __2__ купил модификатор зоны локомотива за __3__ монет.
xp_bought_info=__1__ __2__ купил модификатор очков опыта за __3__ монет.
mystical_bought_info=__1__ __2__ изменил содержимое загадочного сундука за __3__ монет.
reroll_bought_info=__1__ __2__ обновил предметы на рынке за __3__ монет.
pickaxe_bought_info=__1__ __2__ улучшил кирку команды до уровня __3__ за __4__ монет.
explosive_bullet_bought_info=__1__ __2__ купил модификатор разрывных патронов за __3__ монет.
car_health_upgrade_pool_bought_info=__1__ __2__ купил глобальное улучшение здоровья автомобиля за __3__ монет.
one_flamethrower_bought_info=__1__ __2__ купил ячейку для огнемётной турели за __3__ монет.
multiple_flamethrower_bought_info=__1__ __2__ купил __3__ ячеек огнемётных турелей за __4__ монет.
landmine_bought_info=__1__ __2__ купил ячейку для мин за __3__ монет.
@ -74,12 +77,22 @@ notify_full_inventory_2=Ваш инвентарь полон. Присоедин
new_items_at_market=На рынке локомотива открыты новые предметы!
discharge_unlocked=Электроразрядная защита теперь доступна на рынке!
artillery_unlocked=Артиллерия теперь доступна на рынке!
wd_paused=__1__ разблокировал последнюю недостающую часть для загадочного сундука!\n[color=yellow]Защита волн поставлена на паузу 5 минут![/color]
wd_resumed=[color=yellow]Защита волн возобновлена![/color]
mining_bonus=__1__ разблокировал последнюю недостающую часть для загадочного сундука!\n[color=yellow]Бонус добычи включён на 15 минут![/color]
movement_bonus=__1__ разблокировал последнюю недостающую часть для загадочного сундука!\n[color=yellow]Бонус к скорости передвижения включён на 15 минут![/color]
coin_bonus=__1__ разблокировал последнюю недостающую часть для загадочного сундука!\n[color=yellow]Всем раздали монет![/color]
xp_bonus=__1__ разблокировал последнюю недостающую часть для загадочного сундука!\n[color=yellow]Опыт добавлен в глобальный пул![/color]
inventory_bonus=__1__ разблокировал последнюю недостающую часть для загадочного сундука!\n[color=yellow]Количество ячеек инвентаря увеличено![/color]
locomotive_health=__1__ разблокировал последнюю недостающую часть для загадочного сундука!\n[color=yellow]Здоровье локомотива восстановлено![/color]
[main_market]
chest=Увеличивает количество сундуков, которые можно разместить снаружи.\nМожно купить несколько раз. [__1__/7]
locomotive_max_health=Улучшает здоровье поезда.\nМожно купить несколько раз. [__1__/99]
locomotive_xp_aura=Улучшает зону опыта вокруг поезда. [__1__]
global_car_health_modifier=Даёт всем автомобилям/танкам/паукотронам глобальный модификатор здоровья.
xp_points_boost=Увеличивает количество очков опыта, которые вы получаете внутри зоны опыта. [__1__]
mystical_chest=Обновляет содержимое загадочного сундука.
explosive_bullets=Улучшает боеприпасы обычных пистолетов-пулеметов до разрывных пуль.
reroll_market_items=Изменит предметы на рынке и перемешает цены.
purchase_pickaxe=Улучшит кирку команды до уровня: __1__ [__2__/58]
@ -104,4 +117,4 @@ greeting=[color=blue]Комфилатрон:[/color]\nПриветствую, __
cleaner=[color=blue]Очистка:[/color]\n__1__ бросил свои вещички! Быстрее забери их!
reset_in=Игра будет __1__ через __2__ секунд!
diff_set=Сложность установлена! Игра настроена: [color=green]__1__[/color]
diff_tooltip=Защита волн зависит от количества игроков.\nДополнительные очки опыта при присоединении: __1__.\nПовышение скорости добычи: __2__.\nУвеличение скорости бега: __3__.\nУвеличение скорости крафта: __4__.\nМаксимум количество монет за сбор: __5__.\nПредел огнемётных турелей : __6__.\nПредел мин: __7__.\nЗдоровье локомотива: __8__.\nСкрытое сокровище имеет шанс появления __9__.\nПериод вознаграждения: __10__ минут.\nПаукотроны разблокируются в зоне __11__.
diff_tooltip=Защита волн зависит от количества игроков.\nДополнительные очки опыта при присоединении: __1__.\nПовышение скорости добычи: __2__.\nУвеличение скорости бега: __3__.\nУвеличение скорости крафта: __4__.\nМаксимум монет за сбор: __5__.\nМаксимум огнемётных турелей : __6__.\nМаксимум мин: __7__.\nЗдоровье локомотива: __8__.\nСкрытое сокровище имеет шанс появления __9__.\nПериод вознаграждения: __10__ минут.\nПаукотроны разблокируются в зоне __11__.

View File

@ -21,7 +21,7 @@ pool_reward=[color=blue]Награда глобального пула:[/color]\
[rpg_gui]
gain_info_tooltip=Получайте опыт за добычу полезных ископаемых, передвижение, изготовление, ремонт и сражения.
allocate_info=Щёлкните ПКМ, чтобы распределить __1__ очков.\nShift+ЛКМ, чтобы распределить все очки.
allocate_info=Щёлкните ПКМ, чтобы распределить __1__ очков.\nShift+ЛКМ, чтобы распределить все очки.\nShift+ПКМ, чтобы распределить половину очков.
player_name=Привет, __1__!
class_info=Ты __1__.
settings_frame=Сконфигурируйте настройки вашего ролевого игрока здесь!
@ -31,7 +31,7 @@ level_name=УРОВЕНЬ
experience_name=ОПЫТ
next_level_name=СЛЕД. УРОВЕНЬ
strength_name=СИЛА
strength_tooltip=Увеличивает количество ячеек инвентаря, скорость добычи.\nУвеличивает урон в ближнем бою и количество дронов-помощников.
strength_tooltip=Увеличивает количество ячеек инвентаря, скорость добычи.\nУвеличивает урон в ближнем бою и количество дронов-помощников.\nУвеличивает дальнобойный урон.
magic_name=МАГИЯ
magic_tooltip=Увеличивает дальность досягаемости.\nУвеличивает скорость ремонта. Включает создание сущностей.
dexterity_name=ЛОВКОСТЬ
@ -118,6 +118,9 @@ allocation_tooltip=Это автоматически распределит вс
[spells]
acid_stream=Кислота плеваки
raw_fish=Наколдовать сырую рыбу
dynamites=Создать взрывчатку
tank=Создать танк
spidertron=Создать паукотрон
comfylatron=Комфилатрон-камикадзе
distractor=Капсула с дронами-приманками
warp=Врата телепорта

View File

@ -2,10 +2,10 @@ local Task = require 'utils.task'
local Token = require 'utils.token'
local Event = require 'utils.event'
local Terrain = require 'maps.deep_jungle.terrain'
local DPT = require 'maps.deep_jungle.table'
local Public = {}
local force_chunk = false
local ceil = math.ceil
local queue_task = Task.queue_task
local tiles_per_call = 12
@ -496,7 +496,11 @@ local do_chunk = Public.do_chunk
local schedule_chunk = Public.schedule_chunk
local function on_chunk(event)
if force_chunk then
local settings = DPT.get('settings')
if settings.stop_chunk then
return
end
if settings.force_chunk then
do_chunk(event)
else
schedule_chunk(event)

View File

@ -4,32 +4,22 @@ require 'modules.biters_yield_coins'
require 'modules.rocks_yield_coins'
require 'modules.flashlight_toggle_button'
require 'maps.deep_jungle.generate'
local Global = require 'utils.global'
local Event = require 'utils.event'
local map_functions = require 'tools.map_functions'
local Task = require 'utils.task'
local DPT = require 'maps.deep_jungle.table'
local random = math.random
local this = {
chunks_charted = {}
}
Global.register(
this,
function(tbl)
this = tbl
end
)
local Public = {}
local function on_chunk_charted(event)
local settings = DPT.get('settings')
local surface = game.get_surface(event.surface_index)
local deco = game.decorative_prototypes
local position = event.position
if this.chunks_charted[tostring(position.x) .. tostring(position.y)] then
if settings.chunks_charted[tostring(position.x) .. tostring(position.y)] then
return
end
this.chunks_charted[tostring(position.x) .. tostring(position.y)] = true
settings.chunks_charted[tostring(position.x) .. tostring(position.y)] = true
local decorative_names = {}
for k, v in pairs(deco) do
@ -113,8 +103,29 @@ local function on_entity_died(event)
end
end
local function chunk_load()
local tick = game.tick
local settings = DPT.get('settings')
if settings.chunk_load_tick then
if settings.chunk_load_tick < tick then
settings.force_chunk = false
DPT.remove('settings', 'chunk_load_tick')
Task.set_queue_speed(8)
end
end
end
local on_tick = function()
local tick = game.tick
if tick % 40 == 0 then
chunk_load()
end
end
local function on_init()
local map_gen_settings = {}
local settings = DPT.get('settings')
map_gen_settings.moisture = 0.99
map_gen_settings.water = 'none'
map_gen_settings.starting_area = 'normal'
@ -130,13 +141,14 @@ local function on_init()
}
game.create_surface('deep_jungle', map_gen_settings)
game.forces.player.set_spawn_position({0, 0}, game.surfaces['deep_jungle'])
settings.force_chunk = true
settings.chunk_load_tick = game.tick + 200
end
Event.on_init(on_init)
Event.add(defines.events.on_chunk_charted, on_chunk_charted)
Event.add(defines.events.on_entity_died, on_entity_died)
Event.add(defines.events.on_player_joined_game, on_player_joined_game)
Event.on_nth_tick(10, on_tick)
require 'modules.rocks_yield_ore'
return Public

View File

@ -0,0 +1,50 @@
local Global = require 'utils.global'
local this = {
settings = {
chunk_load_tick = false,
chunks_charted = {}
}
}
Global.register(
this,
function(tbl)
this = tbl
end
)
local Public = {}
function Public.get(key)
if key then
return this[key]
else
return this
end
end
function Public.set(key, value)
if key and (value or value == false) then
this[key] = value
return this[key]
elseif key then
return this[key]
else
return this
end
end
function Public.remove(key, sub_key)
if key and sub_key then
if this[key] and this[key][sub_key] then
this[key][sub_key] = nil
end
elseif key then
if this[key] then
this[key] = nil
end
end
end
return Public

View File

@ -252,9 +252,15 @@ function Public.set(key, value)
end
end
function Public.remove(key)
if key then
this[key] = nil
function Public.remove(key, sub_key)
if key and sub_key then
if this[key] and this[key][sub_key] then
this[key][sub_key] = nil
end
elseif key then
if this[key] then
this[key] = nil
end
end
end

View File

@ -6,13 +6,16 @@ local Task = require 'utils.task'
local Server = require 'utils.server'
local Event = require 'utils.event'
local Utils = require 'utils.core'
local table = require 'utils.table'
local jailed_data_set = 'jailed'
local revoked_permissions_set = 'revoked_permissions_jailed'
local jailed = {}
local player_data = {}
local terms_tbl = {}
local votejail = {}
local votefree = {}
local revoked_permissions = {}
local settings = {
playtime_for_vote = 25920000, -- 5 days
playtime_for_instant_jail = 103680000, -- 20 days
@ -38,7 +41,8 @@ Global.register(
votefree = votefree,
settings = settings,
player_data = player_data,
terms_tbl = terms_tbl
terms_tbl = terms_tbl,
revoked_permissions = revoked_permissions
},
function(t)
jailed = t.jailed
@ -47,12 +51,13 @@ Global.register(
settings = t.settings
player_data = t.player_data
terms_tbl = t.terms_tbl
revoked_permissions = t.revoked_permissions
end
)
local Public = {}
local validate_entity = function(entity)
local function validate_entity(entity)
if not (entity and entity.valid) then
return false
end
@ -60,6 +65,43 @@ local validate_entity = function(entity)
return true
end
local function is_revoked(name)
if name then
if revoked_permissions[name] then
return true
else
return false
end
end
return false
end
local function add_revoked(name, admin, reason)
if name then
if not revoked_permissions[name] then
revoked_permissions[name] = true
set_data(revoked_permissions_set, name, {revoked = true, actor = admin, reason = reason})
return true
else
return false
end
end
return false
end
local function remove_revoked(name)
if name then
if revoked_permissions[name] then
revoked_permissions[name] = nil
set_data(revoked_permissions_set, name, nil)
return true
else
return false
end
end
return false
end
local clear_terms_tbl =
Token.register(
function(data)
@ -124,7 +166,7 @@ local clear_gui =
end
)
local validate_playtime = function(player)
local function validate_playtime(player)
local tracker = Session.get_session_table()
local playtime = player.online_time
@ -136,7 +178,7 @@ local validate_playtime = function(player)
return playtime
end
local validate_trusted = function(player)
local function validate_trusted(player)
local trusted = Session.get_trusted_table()
local is_trusted = false
@ -148,7 +190,7 @@ local validate_trusted = function(player)
return is_trusted
end
local get_player_data = function(player, remove)
local function get_player_data(player, remove)
if remove and player_data[player.name] then
player_data[player.name] = nil
return
@ -159,7 +201,7 @@ local get_player_data = function(player, remove)
return player_data[player.name]
end
local get_gulag_permission_group = function()
local function get_gulag_permission_group()
local gulag = game.permissions.get_group('gulag')
if not gulag then
gulag = game.permissions.create_group('gulag')
@ -172,7 +214,7 @@ local get_gulag_permission_group = function()
return gulag
end
local create_gulag_surface = function()
local function create_gulag_surface()
local surface = game.surfaces['gulag']
if not surface then
local walls = {}
@ -243,7 +285,7 @@ local create_gulag_surface = function()
return surface
end
local teleport_player_to_gulag = function(player, action)
local function teleport_player_to_gulag(player, action)
local p_data = get_player_data(player)
if action == 'jail' then
@ -290,7 +332,7 @@ local teleport_player_to_gulag = function(player, action)
end
end
local validate_args = function(data)
local function validate_args(data)
local player = data.player
local griefer = data.griefer
local trusted = data.trusted
@ -367,7 +409,7 @@ local validate_args = function(data)
return true
end
local vote_to_jail = function(player, griefer, msg)
local function vote_to_jail(player, griefer, msg)
if not griefer then
return
end
@ -398,7 +440,7 @@ local vote_to_jail = function(player, griefer, msg)
end
end
local vote_to_free = function(player, griefer)
local function vote_to_free(player, griefer)
if not griefer then
return
end
@ -432,7 +474,7 @@ local vote_to_free = function(player, griefer)
return
end
local jail = function(player, griefer, msg, raised)
local function jail(player, griefer, msg, raised)
player = player or 'script'
if jailed[griefer] then
@ -443,21 +485,21 @@ local jail = function(player, griefer, msg, raised)
return
end
if not game.players[griefer] then
if not game.get_player(griefer) then
return
end
local g = game.players[griefer]
local to_jail_player = game.get_player(griefer)
teleport_player_to_gulag(g, 'jail')
teleport_player_to_gulag(to_jail_player, 'jail')
local gulag = get_gulag_permission_group()
gulag.add_player(griefer)
local message = griefer .. ' has been jailed by ' .. player .. '. Cause: ' .. msg
if game.players[griefer].character and game.players[griefer].character.valid and game.players[griefer].character.driving then
game.players[griefer].character.driving = false
if to_jail_player.character and to_jail_player.character.valid and to_jail_player.character.driving then
to_jail_player.character.driving = false
end
jailed[griefer] = {jailed = true, actor = player, reason = msg}
@ -476,23 +518,23 @@ local jail = function(player, griefer, msg, raised)
votejail[griefer].jailed = true
end
game.players[griefer].clear_console()
to_jail_player.clear_console()
Utils.print_to(griefer, message)
return true
end
local free = function(player, griefer)
local function free(player, griefer)
player = player or 'script'
if not jailed[griefer] then
return false
end
if not game.players[griefer] then
if not game.get_player(griefer) then
return
end
local g = game.players[griefer]
teleport_player_to_gulag(g, 'free')
local to_jail_player = game.get_player(griefer)
teleport_player_to_gulag(to_jail_player, 'free')
local message = griefer .. ' was set free from jail by ' .. player .. '.'
@ -592,6 +634,64 @@ function Public.get_jailed_table()
return jailed
end
--- Sets a value to required_playtime_for_instant_jail
-- @param value<int>
function Public.required_playtime_for_instant_jail(value)
if value then
settings.playtime_for_instant_jail = value
end
return settings.playtime_for_instant_jail
end
--- Sets a value to set_valid_surface
-- @param value<string>
function Public.set_valid_surface(value)
settings.valid_surface = value or 'nauvis'
return settings.valid_surface
end
--- Sets a value to required_playtime_for_vote
-- @param value<int>
function Public.required_playtime_for_vote(value)
if value then
settings.playtime_for_vote = value
end
return settings.playtime_for_vote
end
--- Resets reset_vote_table
function Public.reset_vote_table()
for k, _ in pairs(votejail) do
votejail[k] = nil
end
for k, _ in pairs(votefree) do
votefree[k] = nil
end
end
--- Writes the data called back from the server into the revoked_permissions table, clearing any previous entries
local sync_revoked_permissions_callback =
Token.register(
function(data)
if not data then
return
end
if not data.entries then
return
end
table.clear_table(revoked_permissions)
for k, v in pairs(data.entries) do
revoked_permissions[k] = v
end
end
)
--- Signals the server to retrieve the revoked_permissions dataset
function Public.sync_revoked_permissions()
Server.try_get_all_data(revoked_permissions_set, sync_revoked_permissions_callback)
end
Server.on_data_set_changed(
jailed_data_set,
function(data)
@ -610,6 +710,17 @@ Server.on_data_set_changed(
end
)
Server.on_data_set_changed(
revoked_permissions_set,
function(data)
if not data then
return
end
revoked_permissions[data.key] = data.value
end
)
commands.add_command(
'jail',
'Sends the player to gulag! Valid arguments are:\n/jail <LuaPlayer> <reason>',
@ -626,33 +737,76 @@ commands.add_command(
end
)
function Public.required_playtime_for_instant_jail(value)
if value then
settings.playtime_for_instant_jail = value
end
return settings.playtime_for_instant_jail
end
commands.add_command(
'toggle_jail_permission',
'Usable only for admins - controls who may use jail commands!',
function(cmd)
local name
local player = game.player
function Public.set_valid_surface(value)
settings.valid_surface = value or 'nauvis'
return settings.valid_surface
end
if not player or not player.valid then
name = 'Server'
else
name = player.name
function Public.required_playtime_for_vote(value)
if value then
settings.playtime_for_vote = value
end
return settings.playtime_for_vote
end
if not player.admin then
return
end
end
function Public.reset_vote_table()
for k, _ in pairs(votejail) do
votejail[k] = nil
local param = cmd.parameter
local t_player
local revoke_reason
local revoke_player
local str = ''
if not param then
return Utils.print_to(player, 'Both player and reason is needed!')
end
local t = {}
for i in string.gmatch(param, '%S+') do
table.insert(t, i)
end
t_player = t[1]
for i = 2, #t do
str = str .. t[i] .. ' '
revoke_reason = str
end
if game.get_player(t_player) then
revoke_player = game.get_player(t_player)
else
return Utils.print_to(player, 'No player was provided.')
end
if is_revoked(revoke_player.name) then
remove_revoked(revoke_player.name)
Utils.print_to(player, revoke_player.name .. ' can now utilize jail commands once again!')
return
end
if revoke_reason then
if revoke_reason and string.len(revoke_reason) <= 0 then
Utils.print_to(player, 'No valid reason was given.')
return
end
if revoke_reason and string.len(revoke_reason) <= 10 then
Utils.print_to(player, 'Reason is too short.')
return
end
add_revoked(revoke_player.name, name, revoke_reason)
Utils.print_to(player, revoke_player.name .. ' is now forbidden from utilizing jail commands!')
else
Utils.print_to(player, 'No message was provided')
end
end
for k, _ in pairs(votefree) do
votefree[k] = nil
end
end
)
Event.on_init(
function()
@ -661,6 +815,13 @@ Event.on_init(
end
)
Event.add(
Server.events.on_server_started,
function()
Public.sync_revoked_permissions()
end
)
Event.add(
defines.events.on_console_command,
function(event)
@ -672,10 +833,16 @@ Event.add(
local param = event.parameters
if event.player_index then
local player = game.players[event.player_index]
local player = game.get_player(event.player_index)
local playtime = validate_playtime(player)
local trusted = validate_trusted(player)
if is_revoked(player.name) then
Utils.warning(player, 'You have abused your trusted permissions and therefore')
Utils.warning(player, 'your permissions have been revoked!')
return
end
if not param then
return Utils.print_to(player, 'No valid reason given.')
end
@ -709,8 +876,8 @@ Event.add(
local delay = 30
if game.players[griefer] then
griefer = game.players[griefer].name
if game.get_player(griefer) then
griefer = game.get_player(griefer).name
end
if trusted and playtime >= settings.playtime_for_vote and playtime < settings.playtime_for_instant_jail and not player.admin then
@ -720,6 +887,7 @@ Event.add(
player,
'Abusing the jail command will lead to revoked permissions. Jailing someone in case of disagreement is _NEVER_ OK!'
)
Utils.warning(player, "Jailing someone because they're afk or other stupid reasons is NOT valid!")
Utils.warning(player, 'Run this command again to if you really want to do this!')
for i = 1, 4 do
Task.set_timeout_in_ticks(delay, play_alert_sound, {name = player.name})
@ -801,7 +969,7 @@ Event.add(
Event.add(
defines.events.on_player_changed_surface,
function(event)
local player = game.players[event.player_index]
local player = game.get_player(event.player_index)
if not player or not player.valid then
return
end