Завершення гри¶
Після партії учасник гри або модератор записує результат командою /гра завершити (/game finish), і гра отримує стан «Завершена». Бот зберігає переможця, тип перемоги й кількість ходів, а у FFA ще й змінює рейтинг гравців.
Учасники¶
- Гравець — будь-який учасник гри: після партії записує її результат командою
/гра завершити. - Модератор — може завершити будь-яку гру свого сервера командою
/гра завершити, навіть якщо сам у ній не грав. - Бот — перевіряє умови, записує результат, оновлює картку гри в треді й список останніх ігор на панелі гри, а у FFA змінює рейтинг.
Кроки¶
sequenceDiagram
participant G as Гравець
participant B as Бот
G->>B: виконує /гра завершити в треді гри
alt комусь бракує нації
B-->>G: відповідає «Всі гравці мають вибрати нації перед завершенням гри!»
else переможець не грає в цій грі
B-->>G: відповідає «Переможець має бути гравцем цієї гри.»
else нація є в кожного гравця
Note over B: гра отримує стан «Завершена»
B-->>G: оновлює картку гри й прибирає з неї меню та кнопки
B-->>G: у FFA показує зміну рейтингу біля кожного гравця
B-->>G: відповідає «Done!»
end
- Перевірте, що в кожного гравця є нація. Нація зараховується, якщо її обрано. Значок біля порядкового номера гравця на картці гри показує, що нація є. Якщо значка немає, оберіть націю: після старту з драфтом — у меню «Вибрати хто за яку націю грає», після старту без драфту — у повідомленнях «Призначення націй». Подробиці — Вибір націй і обмін слотами.
- Відкрийте тред гри. Тут бот сам визначає, яку гру завершують. Над карткою гри стоїть підказка з командами: натисніть
/гра завершитибіля «Завершити гру», і Discord підставить команду в поле повідомлення. В іншому каналі вкажіть номер гри в параметрігра: його видно в назві треду, наприклад «248 — FFA 6 Patch». - Наберіть команду. Заповніть три обов'язкові параметри:
переможець,тип_перемогиіходи. Поза тредом додайте четвертий —гра. Що вказати в кожному, пояснює розділ Параметри команди. - Надішліть команду. Бот одразу завершує гру й приватно відповідає англійською «Done!».
- Перевірте картку гри. Картка в треді отримує стан «Завершена» й золоту смугу. Що ще на ній змінюється, описує розділ Що змінюється після завершення.
Параметри команди¶
| Параметр | Що вказати | Коли потрібен |
|---|---|---|
переможець |
Гравця цієї гри, який переміг | Завжди |
тип_перемоги |
Один тип перемоги зі списку | Завжди |
ходи |
Кількість ходів партії, ціле число від 1 до 330 | Завжди |
гра |
Номер гри | Лише поза тредом гри |
У параметрі переможець Discord пропонує всіх учасників сервера: оберіть гравця з картки гри.
У параметрі тип_перемоги Discord показує п'ять типів: «Туристична 🎨», «Наукова 🧪», «Дипломатична 🕊️», «Військова 🗡️» і «Визнання переможця 🤝». Обрати можна лише один тип зі списку, власний текст вписати не можна.
Приклад для треду гри: Orion здобув наукову перемогу на 212-му ході.
Поза тредом той самий результат записують із номером гри:
Що змінюється після завершення¶
Бот оновлює картку гри в треді:
- у заголовку картки стоїть стан «Завершена», а смуга стає золотою;
- під заголовком з'являються 🥇 з типом перемоги й 🏇 з кількістю ходів;
- біля переможця стоїть 🏆;
- у FFA біля кожного гравця видно зміну рейтингу, наприклад «+15» чи «-10», а нижче — зірки його рангу після гри;
- у Duel зміни рейтингу немає, і біля гравців стоять зірки їхнього рангу;
- зникають підказка з командами над карткою, а також меню й кнопка «Скасувати гру» під нею;
- Steam-посилання з картки зникає.
Якщо гру стартували без драфту, бот видаляє з треду повідомлення «Призначення націй». Список останніх ігор на панелі гри теж оновлюється. Подробиці — Панель гри.
Це діє на сервері, з яким працює сайт CivBot. Заголовок картки завершеної гри веде на її сторінку на сайті, а під карткою є кнопка «Результати на сайті». Якщо до гри ще не прикріплено сейв, бот один раз надсилає в тред повідомлення «Збережіть історію цієї гри» з текстом «Киньте сюди файл сейву (.Civ5Save): сайт покаже графіки та історію гри.» і кнопкою «На сайті». Подробиці — Сейв у треді гри.
Якщо на сервері є таблиця лідерів, новий рейтинг з'явиться в ній під час найближчого щогодинного оновлення. Завершена гра будь-якого режиму потрапляє в статистику гравця. Подробиці — Таблиця лідерів і Статистика гравця.
Правила й винятки¶
Завершити гру може учасник гри або модератор¶
Команду виконує будь-який гравець цієї гри, не лише переможець чи творець гри. Модератор завершує будь-яку гру свого сервера, навіть якщо сам у ній не грав. Якщо в параметрі гра вказати номер гри, у якій ви не граєте, а ви не модератор, бот відповідає англійською «You are not in this lobby.» Подробиці — Гравці, модератори й адміністратори.
Завершити можна лише гру в стані «В процесі»¶
Збір ще не має номера, тож завершити його не можна: збір скасовують кнопкою 🗑️ на картці збору. Завершену чи перервану гру завершити вже не можна. Якщо вказати номер такої гри в параметрі гра, учасникові гри чи модераторові бот відповідає англійською «Can't do this command in current lobby state.» Подробиці — Створення гри й збір гравців і Переривання гри.
Перед завершенням у кожного гравця має бути нація¶
Нація гравця зараховується, якщо її обрано. На сервері, з яким працює сайт CivBot, вона зараховується й тоді, коли її прочитано з сейва, прикріпленого до гри: Сейв у треді гри чи Сейви гри на сайті. Поки хоча б в одного гравця немає нації, бот гру не завершує. Він відповідає мовою вашого Discord: «Всі гравці мають вибрати нації перед завершенням гри!» Якщо Discord у вас іншою мовою, ніж українська чи російська, відповідь англійська: «All players must pick their nations before finishing!» Подробиці — Вибір націй і обмін слотами.
Переможцем може бути лише гравець цієї гри¶
Discord пропонує в параметрі переможець усіх учасників сервера, але переможцем може бути лише гравець цієї гри. Обирайте його серед гравців на картці гри. Якщо вказати людину, яка не грає в цій грі, бот приватно відповідає мовою вашого Discord: «Переможець має бути гравцем цієї гри.» Якщо Discord у вас іншою мовою, ніж українська чи російська, відповідь англійська: «The winner must be a player of this game.» Гра при цьому не завершується.
Інших гравців окремо не позначають¶
Команда /гра завершити записує переможця, тип перемоги й кількість ходів. Параметрів, щоб позначити, хто з решти гравців вижив, а хто вийшов з партії раніше, у неї немає.
Результат записується одразу¶
У списку команд Discord біля /гра завершити стоїть опис «Записати результати і відправити на підтвердження». Окремого підтвердження немає: гра отримує стан «Завершена» одразу після команди. Кнопки «Скасувати гру» після цього немає, тож перервати завершену гру не можна.
Перевірте результат, перш ніж надсилати команду
Команда завершує гру одразу, і змінити переможця, тип перемоги чи кількість ходів потім не можна. Звірте параметри з підсумком партії. Подробиці — Параметри команди.
Рейтинг змінюють лише ігри FFA¶
Після завершення гри FFA бот змінює рейтинг кожного її гравця й показує зміну на картці гри. Гра Duel записує переможця, тип перемоги й кількість ходів, але рейтинг не змінює. Подробиці — Як рахується рейтинг і Ранги й зірки.
Завершити можна й на сайті¶
Це діє на сервері, з яким працює сайт CivBot. Гравець гри, який увійшов на сайт, завершує гру кнопкою «Завершити гру» на сторінці гри. Результат і рейтинг такі самі, як після /гра завершити, а картка гри в треді оновлюється. На сайті завершує лише гравець цієї гри: модератор, який не грає в ній, там лише переглядає, а в Discord завершує командою. Подробиці — Завершення гри на сайті.
Рейтинг за гру змінюється один раз¶
Якщо гру вже завершив хтось інший, у Discord чи на сайті, повторна команда в її треді нічого не змінює. Бот відповідає англійською «Game was already finished by another player or not found. Please refresh to see results.» Рейтинг удруге не змінюється. Якщо картка гри виглядає по-старому, оновіть її командою /гра оновити (/game refresh).
На сервері, з яким працює сайт, закриття гри на сайті може переписати зміни рейтингу, але лише коли підтверджено заміну гравця: тоді рейтинг рахується за тими, хто справді грав. Без підтверджених замін рейтинг лишається таким, як його записав бот. Подробиці — Сторінка гри.
Що може піти не так¶
- Відповідь бота зникла, перш ніж ви її прочитали. Відповіді на
/гра завершитибачите лише ви. Відмови «You are not in this lobby.», «Can't do this command in current lobby state.» і «Game ID not found.» зникають через 20 с. Повторіть команду, щоб побачити відповідь знову. - Бот пише «Всі гравці мають вибрати нації перед завершенням гри!» Комусь із гравців не обрано націю, і сейв її не показує: біля його номера на картці гри немає значка нації. Оберіть націю в треді гри або, на сервері, з яким працює сайт, прикріпіть сейв, а тоді повторіть команду.
- Бот пише «Переможець має бути гравцем цієї гри.» У параметрі
переможецьвказано людину, яка не грає в цій грі. Оберіть переможця серед гравців на картці гри й повторіть команду. - Бот пише «You are not in this lobby.» Ви не граєте в грі з указаним номером і не є модератором. Перевірте номер у назві треду гри. Якщо номер правильний, попросіть завершити гру когось із її гравців або модератора.
- Бот пише «Can't do this command in current lobby state.» Гра з указаним номером не в стані «В процесі»: її вже завершили чи перервали, або гри з таким номером немає. Перевірте номер у назві треду гри.
- Бот пише «Game ID not found.» Команду виконано в каналі, а не в треді, і без параметра
гра. Виконайте її в треді гри або вкажіть номер гри. - Бот пише «Вкажіть game_id або викличте команду з треду гри». Команду виконано в треді, який не належить жодній грі. Виконайте її в треді гри або вкажіть номер гри в параметрі
гра. - Бот пише «Game was already finished by another player or not found. Please refresh to see results.» Гру вже завершили. Повторне завершення нічого не змінює, і рейтинг удруге не змінюється. Якщо картка виглядає по-старому, виконайте
/гра оновити. - Discord не приймає кількість ходів. Параметр
ходиприймає лише ціле число від 1 до 330. - Під карткою гри зникли меню й кнопки. Гру завершено: після цього нації не змінюють, слотами не обмінюються, а перервати гру вже не можна.
Пов'язане¶
- Гра
- Вибір націй і обмін слотами
- Тред гри
- Переривання гри
- Створення гри й збір гравців
- Як рахується рейтинг
- Ранги й зірки
- Таблиця лідерів
- Статистика гравця
- Панель гри
- Завершення гри на сайті
- Сейв у треді гри
- Сейви гри на сайті
- Сторінка гри
- Гравці, модератори й адміністратори
- Команди бота