From db47fea5a55d598f124597798cf4478f2ca30b27 Mon Sep 17 00:00:00 2001 From: JonnyBro Date: Wed, 19 Jan 2022 19:42:49 +0500 Subject: [PATCH] =?UTF-8?q?=D0=9F=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA?= =?UTF-8?q?=D0=B0,=20=D0=B5=D1=81=D1=82=D1=8C=20=D0=BB=D0=B8=20=D0=B8?= =?UTF-8?q?=D0=B3=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- commands/Fun/horserace.js | 12 +++++++++--- dashboard/public/docs/updates.md | 3 +-- languages/ru-RU/fun/horserace.json | 3 ++- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/commands/Fun/horserace.js b/commands/Fun/horserace.js index 62bf8023..81741269 100644 --- a/commands/Fun/horserace.js +++ b/commands/Fun/horserace.js @@ -24,7 +24,8 @@ class Horserace extends Command { if (args[0] === "create") { let thisGame = games[message.channel.id]; - if (thisGame !== undefined) message.sendT("fun/horserace:GAME_RUNNING"); + + if (thisGame) message.sendT("fun/horserace:GAME_RUNNING"); else { games[message.channel.id] = { horseSpeeds: [], @@ -57,16 +58,19 @@ class Horserace extends Command { }); } } else if (args[0] === "bet") { + const thisGame = games[message.channel.id]; const horse = parseInt(args[1]); - if (horse > 5) return message.sendT("fun/horserace:HORSE_NUM"); const amount = parseInt(args[2]); + if (horse > 5) return message.sendT("fun/horserace:HORSE_NUM"); + if (!thisGame) return message.sendT("fun/horserace:NO_GAME_RUNNING"); + if (!amount || isNaN(amount) || parseInt(amount, 10) <= 0) return message.error("economy/pay:INVALID_AMOUNT"); if (amount > data.memberData.money) return message.error("economy/pay:ENOUGH_MONEY", { amount: `**${amount}** ${message.getNoun(amount, message.translate("misc:NOUNS:CREDITS:1"), message.translate("misc:NOUNS:CREDITS:2"), message.translate("misc:NOUNS:CREDITS:5"))}` }); - games[message.channel.id].bets[author.id] = { + thisGame.bets[author.id] = { amount: amount, horse: horse }; @@ -81,6 +85,8 @@ class Horserace extends Command { const thisGame = games[message.channel.id]; const horsePositions = [0, 0, 0, 0, 0]; + if (!thisGame) return message.sendT("fun/horserace:NO_GAME_RUNNING"); + // eslint-disable-next-line no-constant-condition while (true) { for (let i = 0; i < 5; i++) { diff --git a/dashboard/public/docs/updates.md b/dashboard/public/docs/updates.md index c23d4e6d..7d94ff65 100644 --- a/dashboard/public/docs/updates.md +++ b/dashboard/public/docs/updates.md @@ -1,8 +1,7 @@ ### JaBa v3.3.0 * Добавлено * Команда *horserace* - конные скачки со ставками. - Ещё одно место где вы можете просрать свою зарплату =) -(или заработать неплохие деньги) + Ещё одно место где вы можете просрать свою зарплату =) (или заработать неплохие деньги) ### JaBa v3.2.9 * Исправления diff --git a/languages/ru-RU/fun/horserace.json b/languages/ru-RU/fun/horserace.json index 5f4083ef..062dfd4f 100644 --- a/languages/ru-RU/fun/horserace.json +++ b/languages/ru-RU/fun/horserace.json @@ -10,5 +10,6 @@ "BET": "**{{user}}** поставил {{amount}} на лошадь **{{horse}}**!", "NO_WINNERS": "Победила лошадь **{{horse}}**. Никто не выиграл кредиты!", "WINNERS": "Победила лошадь **{{horse}}**. {{winners}}!", - "GAME_RUNNING": "Игра уже идёт!" + "GAME_RUNNING": "Игра уже идёт!", + "NO_GAME_RUNNING": "Игра не начата!" } \ No newline at end of file