x

Реализовать ботов в игре-стрелялке на Unity+PUN

Перейти к заказу
Кратко: Нужно реализовать ботов и интегрировать движок управления ботами https://assetstore.unity.com/packages/tools/behavior-ai/invector-fsm-ai-template-123618 в многопользовательскую игру-стрелялку (не обязательно именно этот движок)Подробно: Есть уже реализованная многопользовательская игра стрелялка, по сути team deathmatch. Кто-то запускает игру, остальные к нему присоединяются, игроки делятся на команды "красных" и "синих", у каждой команды есть своя база, на которых время от времени воссоздаётся военная техника (танки, БТР-ы, вертолёты) которой можно пользоваться. Игроки просто сражаются друг с другом команда на команду, пока не выйдет время уровня. В игре не хватает ботов, и для их добавления был приобретён готовый модуль Invector FSM AI Template, позволяющий задавать "логику" поведения ботов. Использовать прямо его не обязательно, если предлагаемую логику можно сделать самостоятельно, либо с помощью других модулей - можно и так. Особенности реализации: игра изначально написана на базе готового шаблона многопользовательского шутера на C# с использованием Photon Unity Networking (то есть НЕ Photon Phusion). Далее, какой-то сумрачный гений прикрутил к игре функционал работы со Steam и VK.com, и возможность покупать внутри-игровое золото во Вконтакте, а за него уже приобретать различное оружие и броню в игре. В результате, код игры делится на 2 части: большая часть относительно логичного кода, который присутствовал в исходном шаблоне + некоторое количество адского говнокода написанного уже "сумрачным гением". Далее, игра уже попала ко мне, и какое-то количество доработок в ней сделано мной + отрефакторен написанный на PHP сервер игры, хранящий информацию о покупках и внутриигровых достижениях. Сам я программист, но на C# пишу медленно (я больше по C++, Php, Python, Javascript), а в играх и в Unity разбираюсь гораздо медленнее чем в веб-серверах. В связи с чем нужна помощь разработчика на Unity + Photon. Что конкретно требуется: 1) Сначала дам посмотреть исходный код в GitHub, чтобы было понятно как обстоят дела, и стоит ли вообще за это браться. Уровень кода может вам не понравиться.2) Далее, если код вас устроит и договоримся начинать работу, предлагаю выполнять задачи поэтапно с оплатой каждой из них по рабочему времени (по затраченным часам). Можно разбить задачи на отдельные части, если предложенные окажутся слишком крупными.3) Нужно будет создать в игре функционал ботов, со следующими свойствами и особенностями: Должны существовать консольные команды `/addbot <сторона> ` и `/removebot `, добавляющие и удаляющие ботов (в игре есть реализованный механизм консольных команд, добавлять их не сложно)При создании многопользовательской игры можно будет указать:Нужно ли добавлять в игру ботовЕсли да, то:Сколько добавлятьНужно ли уменьшать количество ботов при входе в игру новых людейКаков должен быть уровень ботов (по 5-бальной шкале сложности, например "Новичок", "Опытный", "Ветеран", "Мастер", "Легенда", с возможностью где-то менять эти названия)Во время игры боты должны появляться в соответствии с требуемым количеством, и им должны даваться человеко-подобные имена, случайным образом берущиеся из заготовленного списка. Присоединяться они должны к обоим командам для достижения требуемого количества.Боты должны управляться модулем искусственного интеллекта https://assetstore.unity.com/packages/tools/behavi...У всех ботов должно быть стандартное оружие и броня, никакой кастомизации не требуется.В зависимости от сложности ботов ("Новичок", "Опытный", и т.д.) меняются следующие параметры:Дальность видимости ботовКучность стрельбы (насколько точно бот стреляет в игрока)Дальность видимости при стрельбе - насколько далеко бот может заметить персонажа если тот попал в ботаПоведение ботов должно быть полностью синхронизировано между игроками - то есть все игроки должны видеть в движениях и действиях ботов ровно одно и тоже, в том числе в стрельбе, и в том числе в стрельбе projectile'ами (например, ракетами) Боты должны автоматически "менять владельца" при выходе мастера игры. Бот должен отображаться в таблице очков, где можно увидеть фраги текущей игрыЗа убийство ботов, как и за убийство людей начисляется опытПоведение ботов должно подчиняться следующей логике (она задаётся через модуль искусственного интеллекта):После спавна бот выбирает одно из доступных ему idle-поведений:Патрулировать свою базуИдти патрулировать вражескую базу в поисках приключенийПросто слоняться по району между своей и вражеской базой в поисках приключенийВ случае, если бот заметил врага (он попал в его зону обнаружения), либо враг выстрелил в него и попал (и находится в зоне обнаружения при стрельбе)Бот переходит в режим follow (преследование)В режиме follow бот бежит к герою в течении заданного времени, если за это время не удалось добежать на расстояние стрельбы (заданное в настройках), и не получил новых вводных, например в него ни разу не попали - перестаёт преследовать, переходит в idleЕсли в режиме follow видит другого игрока в зоне обнаружения - может переключиться на него.Если бот на расстоянии стрельбы, но игрока не видит из-за препятствия, выбирает ближайшую удобную точку, с которой есть прямая видимость и идёт к ней.Сблизившись на расстояние стрельбы, переходит в режим fight, перемещается в случайных направлениях, стреляя по пользователю, при этом, это не должна быть дерготня, а небольшие перемещения в случайных направлениях, как у обычного пользователя, пытающегося не попасть под огонь.Если враг ходит пешком - стрелять из автомата калашниковаЕсли враг едет на технике - стрелять из РПГ-7В случае, если враг убит - переходит в режим idleЕсли враг увеличил дистанцию дальше дистанции стрельбы или его не видно - опять в режим followЕсли при создании игры был установлен флаг "балансировать ботов при входе людей" и в игру зашёл-вышел игрок - спустя минуту (настраивается) после входа/выхода нужно удалить/создать бота (минута нужна для того, чтобы нельзя было быстро входя и выходя из игры "пересоздать" всех ботов)Разбивка вышеописанного функционала на задачи: Задача 1: Реализовать саму возможность существования бота и консольные команды /addbot и /removebot. По команде, например `/addbot blue vasya_pupkin` на сторону синих должен добавляться бот с никнеймом vasya_pupkin, он должен появляться в случайном месте на карте (можно задать его конкретными координатами +/- случайные числа, которые позволят создать несколько ботов таким образом)Этот бот должен быть представлен персонажем аналогичным игроку в стандартной броне, с автоматом Калашникова и ракетницей РПГ.Бот должен отображаться в таблице очков где отображаются игроки и фрагиБота должны видеть все игрокиПри выходе игрока, который создал ботов, они должны переходить по наследству другому игрокуПо команде `/removebot vasya_pupkin` бот должен исчезать так как будто его и не былоБота должен иметь возможность удалить с помощью `/removebot` любой пользователь а не только тот, кто его создалБольше ничего, никакой логики не требуется.Сами по себе команды `/addbot` и `/removebot` должны работать только в отладочном режиме (GameConfig::DebugMode)Если удастся заложить в ботов возможность к будущему расширению - чтобы в дальнейших реализациях можно было добавлять в них новые состояния (например, возможность для ботов иметь различное оружие) - это было бы очень здорово. Задача 2: Реализовать систему жизней и стрельбыБот будучи создан с помощью `/addbot` должен сразу начинать стрелять перед собой. Просто делать один выстрел в секунду.Пользователи, попавшие под эту стрельбу должны получать урон.Если пользователь, в которого попал бот, получил достаточно урона чтобы погибнуть, счёт бота в таблице очков должен возрасти на 1.Пользователи, стреляющие по боту, должны наносить ему урон. Причем не только тот, кто этого бота создал, но вообще все пользователи.Если у бота кончаются жизни - он должен умереть, и через некоторое время заспавниться снова, выбрав место для спавна так же как оно выбиралось в задаче 1.Игрок, убивший бота, должен получать опыт, аналогично тому, как он его получает при убийстве другого игрока, кроме того, у него должно увеличиваться количество фрагов.Задача 4: Спавн ботов, подключение модуля искусственного интеллекта для ботов, беготняБоты должны спавниться на точках спавна, на которых спавнятся и игроки, на соответствующих базахБоты уже не должны автоматически стрелять будучи заспавненнымиПодключить модуль https://assetstore.unity.com/packages/tools/behavi... - он куплен, будет предоставлен. Если будут другие предложения - использовать другой модуль или написать логику работы ботов самостоятельно - принимается.С помощью данного модуля заставить ботов патрулировать некоторый участок на карте, просто чтобы они бегали.Бег бота должен быть виден всем игрокам (не только перемещение, но и анимация бега, как он ногами перебирает). Задача 5: Реализовать базовую логику поведения ботов с помощью Invector FSM AI TemplateРеализовать все требуемые состояния с помощью FSM редактора:idle, follow, fightРеализовать логику idleЗадача 6: Реализовать сложную логику поведения ботовРеализовать логику followРеализовать логику fightЗадача 7: Меню запуска игры, настройки ботовДоработать меню создания игры, где добавить галку наличия ботов, поле их количества и выпадающий список с их уровнямиЗадать где-то в редакторе Unity список из 5 уровней сложности, так чтобы его легко было редактироватьСоответственно, каждый уровень сложности должен иметь конфигурируемые: дальность обнаружения, дальность обнаружения при стрельбе, кучность стрельбы.Настройки сложности должны применяться к боту при его спавнеПри запуске игры, если была включена галка "наличия ботов" включается автоматический спавн ботов, с разбивкой по командамПри входе/выходе игроков с паузой в минуту (настраиваемо в некоей переменной в редакторе Unity) боты создаются/удаляются с учётом командного состава (чтобы команды были относительно сбалансированными)По возможности будут помогать разбираться с кодом и логикой, так-как что-то знаю сам.Если решите отозваться на этот заказ, пожалуйста, задайте ваши вопросы к данному ТЗ, это важно для меня чтобы оценить ваш уровень. Кроме того, я задам вам несколько вопросов чтобы понять, знаете ли вы хотя-бы то что уже знаю я, не являясь fulltime C#-разработчиком на Unity и PhotonБюджет не окончательный, размер может быть увеличен по ситуации.Также, если сработаемся, возможно дальнейшее сотрудничество по другим игровым проектам на Unity.

Найдено 6432 результата

Написать парсер транзакций на Cosmos(atom)

Нужен скрипт на Python, который будет парсить транзакции с сети Cosmos(Atom) по адресу

Bots
Опубликован:
29.07.24 10:49
Бюджет:
1000 руб.~$12.49
Срочно нужен Devops/python на одноразовую задачу

Срочно нужен Devops/python программист на одноразовую задачу (работы на 1-2 часа) ТЗ: У меня есть два телеграм-бота на вебхуках Живут на сервере timeweb, Ubuntu 22.04 Работают в docker-контейнерах Использую nginx proxy manager для проксирования запросов в контейнеры с ботами Также стоит утилита Portainer для удобного управления контейнерами После ребута сервера (сменил конфиги) слетела сетка Ошибка в том, что nginx не может найти путь к контейнеру Пробовал: Откатить версию nginx_pm назад - либо новая ошибка, либо снова не может найти пути к контейнеру Переустановить nginx_pm - снова не может найти путь к контейнеру Менять конфиги, как в .conf так и в веб-версии nginx_pm Раньше все работало хорошо, не знаю что произошло после переноса сервера (сменились ноды, но знакомый девопс говорит, что это ни на что не влияет) Я бы рад сам решить эту задачу, но не хватает времени, а проект коммерческий и задача срочная Также после всех моих махинаций с переустановкой и сменой конфигов: Перестал появляться nginx_pm контейнер в portainer, слетели volumes для ботов (хотя папки и файлы волюмов на месте) Цену не вижу, ставлю условную, предлагайте свою Ставить ботов на сервер мне помогал знакомый девопс, которому сейчас это не интересно, боты на вебхуках на Flask, все необходимые данные В прошлый раз дел было на час-два, поэтому цену ставлю исходя из этого Оплата: 2к руб.

Скрипты и боты
Опубликован:
29.07.24 09:56
Бюджет:
2000 руб.~$24.97
Парсинг инн продавца маркетплейса по товару

Нужно написать модуль на python, который содержит три функции для получения инн из магазинов: вб, озон, яндекс маркет. Функции принимают на вход ссылку на товар с данного маркетплейса, и возвращают инн продавца (число)

Скрипты и боты
Опубликован:
29.07.24 09:06
Бюджет:
1000 руб.~$12.49
Авторегер почт

Нужно создать модуль для информационной системы на Python. Для более подробной информации можете написать в личные сообщения

Скрипты и боты
Опубликован:
28.07.24 19:41
Бюджет:
10000 руб.~$124.83
Поиск учеников для репетитора

Добрый день! Я начинающий репетитор, готовлю ребят любого возраста (1-11 класс) по таким предметам как русский язык, информатика, работаю с подготовкой к ЕГЭ и ОГЭ, могу попробовать Python отдельно. Немного обо мне: я студентка технического вуза, бюджет. ЕГЭ сдавала в прошлом году и сдала на высокие баллы (80+). Ваша зарплата: процент от стоимости урока.

Персональный помощник
Опубликован:
28.07.24 15:46
Бюджет:
2000 руб.~$24.97
Скрипт для считывания и обработки голоса по частотам

Нужен скрипт на python. Библиотеки на ваш выбор, но работать должен на unix и windows. Необходимо подключаться к микрофону и... руб

Программирование и IT
Опубликован:
28.07.24 13:46
Бюджет:
3000 руб.~$37.45
Разработка API для финансов

Добрый день! Мы — динамичная и амбициозная компания, и сейчас мы ищем талантливых разработчиков уровня Junior/Middle на языках Go, PHP, JS или Python. Если вы хотите развиваться в профессиональной среде, работать над интересными проектами и вносить реальный вклад в создание продуктов, то наша вакансия для вас! Что вам предстоит делать: - Разработка и поддержка API для подписок и бухгалтерии - Создание и оптимизация финансовых микросервисов Что мы ожидаем от вас: - Понимание принципов работы с API и микросервисной архитектурой - Желание учиться и развиваться в команде профессионалов - Ответственность и внимательность к деталям Что мы предлагаем: - Работу в дружной и поддерживающей команде - Возможность профессионального роста и обучения - Интересные и значимые проекты - Конкурентоспособную заработную плату Мы с нетерпением ждем вашего отклика!

Создание сайта
Опубликован:
28.07.24 12:48
Бюджет:
200000 руб.~$2496.57
Авторегер почт

Нужно создать модуль для информационной системы на Python.Для более подробной информации можете написать

Bots
Опубликован:
28.07.24 12:25
Бюджет:
10000 руб.~$124.83
Python бот для miniapps

Есть приложение работающее как telegram mini apps написано на next js Нужно сделать нового бота, который бы открывал это приложение в mini apps по inline кнопкам, добавить несколько кнопок в бот, и функцию рассылки сообщений юзерам с фото/видео. После рассылки отчет по этой рассылке ( доставлено, ошибка, не прочитано , и тд) ! Если на эту работу у вас уйдет больше 1-2 дня - не пишите

Скрипты и боты
Опубликован:
28.07.24 09:06
Бюджет:
8000 руб.~$99.87
Установить и настроить скрипт бота на aiogram+postgres

1. Установка и настройка бота Установить бота на сервер, используя aiogram==2.25.1. Обеспечить корректную настройку и запуск бота. 2. Установка веб-интерфейса для Postgres Установить и настроить веб-интерфейс для управления базой данных Postgres. 3. Перенос пользователей в новую БД Перенести список пользователей из старой базы данных в новую. 4. Настройка способов оплаты Настроить способы оплаты в скрипте бота. Добавить оплату через @CryptoBot и aaio.io (в боте уже реализована платежка через юмани, не подходит) 5. Автозагрузка бота Настроить автозагрузку бота после перезагрузки сервера или ошибок. 6. Тестирование и багфиксинг Провести полное тестирование работы бота. Исправить все выявленные баги. Приложенные файлы requirements.txt - список зависимостей проекта. Требования к среде Python версии 3.8 и выше. Postgres версии 13 и выше. Дополнительные требования Обеспечить безопасность и устойчивость работы бота. Настроить логирование и уведомления для администраторов.

Скрипты и боты
Опубликован:
28.07.24 04:26
Бюджет:
10000 руб.~$124.83
Скрипт для накрутки просмотров, реакций, комментариев в Telegram канал

Накрутка просмотров, реакций, комментариев в Telegram канале с использованием прокси, необходимых задержек для исключения блокировок, строго на Python.С использованием аккаунтов в формате session-json. Программа должна справляться с 1000+ аккаунтами. Просмотры должны накручиваться в несколько потоков.В константы нужно выделить:1) количество потоков (для теста - 20)2) список аккаунтов (должен подгружаться из папки "Аккаунты" внутри проекта, session-json)3) задержка между действиями внутри потока в секундах, диапазон (пример: 6-15 секунд)4) список прокси - подгружать из json файла со списком строк-проксиНеобходимо написать асинхронную функцию upgrade_post(), которая на вход получает:1) id канала2) id поста3) Необходимое количество просмотров на посте4) Необходимое количество реакций и их типы, словарём формата:Ключ - название реакции, значение - необходимое количество реакций5) Словарь с необходимыми комментариями форматаКлюч - id аккаунта, который должен оставить комментарий. Значение - строка, сам комментарийСама функция собственно подключает потоки и накручивает нужные показатели на Telegram посте

Other
Опубликован:
27.07.24 21:51
Бюджет:
30000 руб.~$374.49
Авторегер почт

Нужно создать модуль для информационной системы на Python. Для более подробной информации можете написать.

Скрипты и боты
Опубликован:
27.07.24 18:46
Бюджет:
60000 руб.~$748.98
Доработка бота python

Серверная часть кода для игры Attorney Online. Изучить код, расположенный в foc/server, доработать дискорд бота. При вводе команды /cm и /gm в клиенте Attorney Online, игрок должен указывать причину, почему он хочет взять ту, или иную роль. Пример: /cm "Причина", указывается в кавычках. После этого, игрок получает сообщение, что его запрос отправлен на согласование администрацией. Бот дискорд присылает в выделенный канал сообщение, где указано, что игрок хочет взять CM или GM, с его указанной причиной. Появляется две кнопки: Согласовано, Отклонено. При нажатии кнопки Согласовано, игроку в клиенте поступает соответствующее сообщение в клиенте и он получает запрашиваемую роль. При отклонении, игрок получает отрицательное решение. Перед тем, как действие будет исполнено, администратор прописывает комментарий. Так же должен быть написан ДС админа, который согласовал, отклонил. Пример: Получение роли CM/GM согласована Администратором (дс админа) с комментарием: (комментарий). Предоставляю игровой клиент, полностью ванильный, и серверный код. Не удивляйтесь, если половина персонажей не отображается, как и фоны, т.к это ванильный клиент, а полный клиент весит более 10 гб) https://drive.google.com/file/d/1_SHUI_YgDp_hDsH9nfrErS8Ls_g4z0Om/view?usp=sharing

Скрипты и боты
Опубликован:
27.07.24 17:35
Бюджет:
2000 руб.~$24.97
Телеграм бот в чат-группу на Python

Ищу опытного сильного бот разработчика, нужна реализация лот бота в ЧАТ (не канал) телеграм, именно в ЧАТ! ТЗ прикрепил к сообщению, чат на 40.000 человек, цена указана условна!

Скрипты и боты
Опубликован:
27.07.24 15:20
Бюджет:
1000 руб.~$12.49
Selenium Python Супер Профи

Если вы новичок в автоматизации, большая просьба не откликаться, мне нужно срочно решить одну проблему и это не локатор найти на странице. Проблема связана с созданием изолированных экзепляров браузеров (профилей) и хранением в них кэша, куков и тд. У меня есть скрипт, он работал нормально. Позавчера google chrome обновился до 127 и теперь начали возникать проблемы, может не с этим связаны, я пока не понял. Проблема в том, что слетают авторизации в браузерах. Хотя до этого вообще никаких проблем не было, месяцами висели. Если вы понимаете о чём эта строчка options.add_argument(f'--user-data-dir={os.path.abspath(dir_path)}') реально понимаете, а не у chatgpt сейчас спросили и он ответил...)) то мне нужна ваша помощь и плюс возможно регулярное сотрудничество по этому проекту с автоматизацией.

Скрипты и боты
Опубликован:
27.07.24 14:37
Бюджет:
3000 руб.~$37.45
Скрипт на python или node.js

Приветствую, интересует скрипт на питоне или node,js. С веб интерфейсом. Подробное тз скину

Bots
Опубликован:
27.07.24 14:34
Бюджет:
15000 руб.~$187.25
Python бот ТГ, добавление функционала

добрый день. добавление функционала в действующих ботов. есть 2 бота взаимодействие их происходит через одну базу (postgreSQL) необходимо добавить функционал "Баланса" Итого : 1) Баланс заказчика ( с кн. пополения,вывод) 2)баланс исполнителя ( с кн. пополения,вывод) 3)баланс компании начисление,списание ,перенос Баланса между кошельками с помощью админского чата и команд. подробнее тз в лс

Скрипты и боты
Опубликован:
27.07.24 12:03
Бюджет:
8000 руб.~$99.87
Граббер постов телеграм на Python

Полное тз в документе word закрепил Разработать программное обеспечение, которое выполняет следующие задачи: 1.Автоматическая конвертация tdata в сессии с использованием библиотеки Pyrogram. Конвертация должна быть без создания новой сессии, должен быть вход с текущей сессии. Конвертация должна осуществляться с актуальной библеотекой, что позволит конвертировать tdata новой версии телеграм. 2.Автоматическая подписка на каналы без заявки (частные и публичные). 3.Парсинг и репост новых постов в реальном времени. 4.Исключение постов с ссылками/юзернеймами и фильтрация по ключевым словам. Функциональные требования Входные данные и структура папок 1.Accounts - папка для загрузки tdata аккаунтов. Структура загрузки: oЛюбое название папки oВ конечной папке содержится tdata 2.Invalid - папка для невалидных tdata. 3.TXT файлы: oChannel - содержит список каналов, с которых нужно парсить новые посты. Пример содержания: https://t.me/+cHNKWR1NAfFiOGUy https://t.me/hsaeghagfwagawg oFilter - содержит ключевые слова, при наличии которых посты исключаются для публикации. Пример содержания: Подпишись Переходи oMain Channel - содержит список каналов, в которые будут поститься спарсенные посты. Пример содержания: https://t.me/+cHNKWR1NAfFiOGUy https://t.me/hsaeghagfwagawg

Скрипты и боты
Опубликован:
27.07.24 07:36
Бюджет:
3000 руб.~$37.45
Бекенд разработка

Добрый день. Ищем в команду бекенд разработчика (желательно Python).Мы молодая студия разработки мобильных приложений и тг-ботов.Ищем человека на проектную занятость. То есть, оплата по выполнению заказа, нет заказа, нет оплаты. Более подробно лично в тг.Бекенд в основном под мобильные приложенияОт вас нужны реальные знания и навыки.Мы дадим тестовое задание, которое нужно будет выполнить за определенное время.Пожалуйста, в отклике, указывайте тг, github (если есть)

Backend
Опубликован:
27.07.24 05:38
Бюджет:
10000 руб.~$124.83
Лендинг на ВыкупАвто

Необходимо сделать лендинг Тематика ; срочный ВЫКУП АВТО предпочтение WordPress + elementor pro, чтоб было легко менять полностью контент. Ключевые моменты: 1. Адаптивный дизайн и высокая скорость загрузки: - Использование Next.js для быстрого и SEO-оптимизированного фронтенда. - Оптимизация изображений и CSS для адаптивного дизайна на всех устройствах. 2. Цветовая схема и интерфейс: - Применение синего, зеленого, желтого и оранжевого цветов. - Размещение кликабельных кнопок (чат WA, звонок) в верхней части главной страницы, с привлечением внимания (переливы, мигание, излучение кнопок). 3. Основные разделы: - Отзывы клиентов. - Примеры проданных авто. - Контакты - Форма оценки стоимости авто. - Чат с сотрудником компании. - Опыт работы, наша команда (фото предоставим). - Остались вопросы. 4. Подключение к хостингу и метрике: - Настройка домена и хостинга. - Интеграция аналитических инструментов. вебмастер, оптимизация по pagespeed, ключи, мет-теги. План выполнения: 1. Анализ и планирование: - Обсуждение всех аспектов проекта и создание плана. 2. Дизайн и разработка: - Создание и утверждение макетов. - Разработка интерфейса с использованием Next.js. - Бэкэнд на Python FastAPI для обработки запросов и управления данными. 3. Тестирование и оптимизация: - Тестирование всех функций сайта. - Оптимизация скорости и производительности. 4. Запуск и поддержка: - Развертывание сайта. - Подключение аналитики и метрики. - Техническая поддержка и возможные доработки.

Создание сайта
Опубликован:
27.07.24 02:47
Бюджет:
6000 руб.~$74.9

Текущая страница: 77

Всего страниц: 322