Задать вопрос
@kalsc12345
Неизвестный человек.

PHP BOT VK Общее казино?

if ($cmd[0] == 'казино'){ // Первая команда

        if (!$cmd[1]){ // если вторая команда пустая она вернет FALSE
            $vk->sendMessage($peer_id, 'Вы не указали ставку!');
        }elseif ($cmd[1] == 'все' or $cmd[1] == 'всё'){ // Если указано все

            $balance = $db->query('SELECT balance FROM users WHERE vk_id = ?i', $id)->fetch_assoc()['balance']; // вытягиваем весь баланс

            if($balance == 0) {
                $vk->sendMessage($peer_id, 'У Вас нет денег :(');
            } else {
                $result = mt_rand(1, 4); // 1 - проиграл половину, 2 - победа x1.5, 3 - победа x2, 4 - проиграл все
                $win_money = ($result == 1 ? $balance / 2 : ($result == 2 ? $balance * 1.5 : ($result == 3 ? $balance * 2 : 0)));
                $win_nowin = ($result == 1 ? 'проиграли половину' : ($result == 2 ? 'выиграли x1.5' : ($result == 3 ? 'выиграли x2' : 'проиграли все')));
                $vk->sendMessage($peer_id, "Вы $win_nowin, ваш баланс теперь составляет $win_money монет.");
                $db->query('UPDATE users SET balance = ?i WHERE vk_id = ?i', $win_money, $id); // Обновляем данные
            }
        } else {

         $sum =  str_replace(['к','k'], '000', $cmd[1]); // наши Кk превращаем в человеческий вид, заменяя их на нули :)
         $sum =  ltrim(mb_eregi_replace('[^0-9]', '', $sum),'0'); // удаляем лишние символы, лишние нули спереди и все что может поломать систему :), подробнее о функциях можно почитать в интернете
         $balance = $db->query('SELECT balance FROM users WHERE vk_id = ?i', $id)->fetch_assoc()['balance']; // вытягиваем весь баланс

            if($balance < $sum) {
                $vk->sendMessage($peer_id, 'У вас не достаточно денег');
            } else {
            $result = mt_rand(1, 4); // 1 - проиграл половину, 2 - победа x1.5, 3 - победа x2, 4 - проиграл все

            $win_money = ($result == 1 ?  $balance - ($sum / 2)  : ($result == 2 ? $balance + ($sum * 1.5) : ($result == 3 ? $balance + ($sum * 2) : $balance - $sum)));
            $win_nowin = ($result == 1 ? 'проиграли половину' : ($result == 2 ? 'выиграли x1.5' : ($result == 3 ? 'выиграли x2' : 'проиграли все')));

            $vk->sendMessage($peer_id, "Вы $win_nowin, ваш баланс теперь составляет $win_money монет.");
            $db->query('UPDATE users SET balance =  ?i WHERE vk_id = ?i',  $win_money, $id); // Обновляем данные
            }
        }


    }


Как сделать чтобы был тайм 1 минута а казино общее было, Например человек ставить ставку на х2 то выпадает х3 кто поставил х3 те увеличиваются денег на х3
  • Вопрос задан
  • 139 просмотров
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 1
@kanyshev
Представленная функция работает только на 1 человека, выдавая результат казино моментально. Чтобы сделать эту функцию на целый чат, а не на определенного пользователя надо:

1) Сделать таблицу ставок, куда будут записываться созданные ставки пользователей
2) Создать фоновую задачу, которая через какое-то время после первой ставки чата будет рандомить число, исходя из которого и будут выдаваться призы казино

Вариантов реализации данного функционала достаточно много, вот один из них: через расписания в python
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы