- Администратор может начислять жетоны пользователям (Через AJAX редактирование профиля)
- Мелкие улучшения и исправления
- Скорректированы SQL запросы
- Более полные данные для таблицы при подгрузке с AJAX
- Добавлено отображение количества жетонов на странице с игрой
- Переработана инструкция (Добавлен недостающий код)
- Исправлены орфографические ошибки в словах
- Исправлены проблемы связанные с начислением жетонов
- Весь код был отформатирован и улучшен для чтения
- Имена игроков кликабельны
- Мелкие косметические улучшения
- Исправлена ошибка: Parse error: syntax error, unexpected 'elseif' (Спасибо ExPlayer)
- Исправлена ошибка: Undefined index (Спасибо ExPlayer)
Только чистая установка!
Всем привет, вот решил выложить обновление мода, так как была найдена важная ошибка при которой не начислялись жетоны.
Исправлена cron задача!
И еще исправлены мелкие недочеты , убран лишний запрос в базу.
1-е. Сделать запрос в базу.
2-е. Заменить код в (library\language\ru\main.php) сКод:ALTER TABLE `bb_blackjack` CHANGE COLUMN `bj_placeholder` `bj_StartGame` varchar(20) NOT NULL DEFAULT '', CHANGE `bj_gamer` `bj_TookGame` varchar(20) NOT NULL DEFAULT '';
наPHP:$lang['BJ'] = array( 'BLACKJACK' => 'Блек Джек', 'NOT_TOKENS' => 'Недостаточно жетонов!', 'THE_TITLE' =>'Блек Джек, ставка %s жетонов', 'MAX_OPEN_GAMES' => 'У вас уже открыто <b>%s</b> игр!', 'THE_A_GAMES' => 'Играть самому с собой тупо!', 'GAME_IS_PLAYED' => 'Игра уже сыграна!', 'BUST' => 'Вы набрали %s очков, Перебор!', 21 => 'Вы набрали 21, (Очко)!', 'YOU_WON' => '(Вы набрали <b>%s</b>). Вы выиграли, очки оппонента: <b>%d</b>', 'YOU_LOST' => '(Вы набрали <b>%s</b>). Вы проиграли, очки оппонента: <b>%d</b>', 'NOT_WIN' => 'Ничья, вы не чего не выиграли!', 'NOBODY_WON' => '(Вы набрали <b>%s</b>). Перебор, никто не выиграл, очки оппонента: <b>%d</b>', 'GAME_NOT_FOUND' => 'Игра не найдена.', 'DRAW' => 'Ничья', 'ROBIN' => 'Перебор', 'PLAY' => ' -> <b>Играют</b>', );
PHP:$lang['BLACKJACK'] = 'Блекджек'; $lang['BJ_STARTED'] = 'Начал'; $lang['BJ_TIME'] = 'Время'; $lang['BJ_TOOK'] = 'Принял'; $lang['BJ_GAME'] = 'Игра'; $lang['NOT_TOKENS'] = 'Недостаточно жетонов!'; $lang['THE_TITLE'] = 'Блекджек, ставка %s жетонов'; $lang['MAX_OPEN_GAMES'] = 'У вас уже открыто <b>%s</b> игр!'; $lang['THE_A_GAMES'] = 'Играть самому с собой тупо!'; $lang['GAME_IS_PLAYED'] = 'Игра уже сыграна!'; $lang['BUST'] = 'Вы набрали %s очков, Перебор!'; $lang[21] = 'Вы набрали 21, (Очко)!'; $lang['YOU_WON'] = '(Вы набрали <b>%s</b>). Вы выиграли, очки оппонента: <b>%d</b>'; $lang['YOU_LOST'] = '(Вы набрали <b>%s</b>). Вы проиграли, очки оппонента: <b>%d</b>'; $lang['NOT_WIN'] = 'Ничья, вы не чего не выиграли!'; $lang['NOBODY_WON'] = '(Вы набрали <b>%s</b>). Перебор, никто не выиграл, очки оппонента: <b>%d</b>'; $lang['GAME_NOT_FOUND'] = 'Игра не найдена.'; $lang['DRAW'] = 'Ничья'; $lang['ROBIN'] = 'Перебор'; $lang['NO_GAMES'] = 'Нет открытых игр!'; $lang['GAME_WIN'] = ' -> <b>%s</b> %d | %d'; $lang['BJ_INFO'] = 'Жетоны снимаются с вас сразу после того как вы нажали на ставку.<br> Если вы бросили игру или она у Вас зависла, Администрация не будет вам возвращать утерянные жетоны!<br> Зависшие игры автоматически удаляются через определённое время.';
Вроде все, есть небольшой баг с обновлениям жетонов, пока решение не найдено.
Если есть у кого какие предложения по этому поводу пишите будем исправлять.
Заменить код в (library\language\ru\main.php) на
PHP:$lang['BJ'] = array( 'BLACKJACK' => 'Блек Джек', 'NOT_TOKENS' => 'Недостаточно жетонов!', 'THE_TITLE' =>'Блек Джек, ставка %s жетонов', 'MAX_OPEN_GAMES' => 'У вас уже открыто <b>%s</b> игр!', 'THE_A_GAMES' => 'Играть самому с собой тупо!', 'GAME_IS_PLAYED' => 'Игра уже сыграна!', 'BUST' => 'Вы набрали %s очков, Перебор!', 21 => 'Вы набрали 21, (Очко)!', 'YOU_WON' => '(Вы набрали <b>%s</b>). Вы выиграли, очки оппонента: <b>%d</b>', 'YOU_LOST' => '(Вы набрали <b>%s</b>). Вы проиграли, очки оппонента: <b>%d</b>', 'NOT_WIN' => 'Ничья, вы не чего не выиграли!', 'NOBODY_WON' => '(Вы набрали <b>%s</b>). Перебор, никто не выиграл, очки оппонента: <b>%d</b>', 'GAME_NOT_FOUND' => 'Игра не найдена.', 'DRAW' => 'Ничья', 'ROBIN' => 'Перебор', 'PLAY' => ' -> <b>Играют</b>', );
и в bonus.php заменить
elseif(isset($_POST['tokens']))
На
elseif(isset($_POST['tokens']) && $_POST['tokens'] >= 1)
Исправлен не правильный вывод сообщения, зачисления выигрыша/проигрыша. Ну и так небольшие изменения.
Всем привет, спасибо за подсказки проверки и тесты (, ). Пишите будем улучшать по мере возможности.
В этом обновлении:
Исправлена: Крит ошибка.
Исправлен: Перевод.
Новое: Добавлена крон задача. (Нужна проверка!)
Код:INSERT INTO `bb_cron` VALUES(22, 1, 'Удаление зависших, старых игр.', 'clean_blackjack.php', 'interval', '', '00:00:00', 255, '0000-00-00', '0000-00-00 00-00-00', '00:15:00', 0, '', 0, 0, 0);
Предлагайте что добавить что убрать! По мере времени буду делать!
1-е: Открыть (library/language/ru/main.php)
Найти:Ниже вставить:PHP:$lang['BONUS'] = 'На редких';
PHP:$lang['TOKENS'] = 'Жетонов';
2-е: Открыть (library/includes/page_header.php)
Найти:Ниже вставить:PHP:'POINTS' => $userdata['user_points'],
PHP:'TOKENS' => number_format($userdata['user_tokens']),
3-е: Открыть (styles/templates/default/page_header.tpl)
Найти:Ниже вставить:PHP:<!-- IF $bb_cfg['seed_bonus_enabled'] --><tr><td>{L_SEED_BONUS}</td><td><a href="profile.php?mode=bonus"><span class="points bold">{POINTS}</span></a></td></tr><!-- ENDIF -->
PHP:<tr><td>{L_TOKENS}</td><td class="seedmed">{TOKENS}</td></tr>
Вот и новая версия, Исправлены все ранее найденные ошибки, добавлен кеш (cards), добавлена многоязычность.
1-е: Сделать запрос в базу.
ALTER TABLE `bb_users` ADD `user_tokens` int(6) NOT NULL DEFAULT '0';
2-е: Открыть (library/language/ru/main.php) в самый конец добавить.
PHP:$lang['BJ'] = array( 'BLACKJACK' => 'Блек Джек', 'NOT_TOKENS' => 'Недостаточно жетонов!', 'THE_TITLE' =>'Блек Джек, ставка %s жетонов', 'MAX_OPEN_GAMES' => 'У вас уже открыто %s игр!', 'THE_A_GAMES' => 'Играть самому с собой тупо!', 'GAME_IS_PLAYED' => 'Игра уже сыграна!', 'BUST' => 'Вы набрали %s очков, Перебор!', 21 => 'Вы набрали 21, (Очко)!', 'YOU_WON' => 'Вы выйграли, очки оппонента: %s', 'YOU_LOST' => 'Вы проиграли, очки оппонента: %s', 'DRAW' => 'Ничья, вы не чего не выиграли!', 'NOBODY_WON' => 'Перебор, никто не выиграл, очки оппонента: %s', 'GAME_NOT_FOUND' => 'Игра не найдена.', );
3-е: Открыть (library/includes/ucp/bonus.php).
Найти:
Выше вставить:PHP:else { $template->assign_vars(array( 'U_USER_PROFILE' => PROFILE_URL . $user_id, 'S_MODE_ACTION' => 'profile.php?mode=bonus', 'PAGE_TITLE' => $lang['EXCHANGE_BONUS'], 'MY_BONUS' => sprintf($lang['MY_BONUS'], $user_points), ));
4-е: Открыть (styles/templates/default/usercp_bonus.tpl).PHP:elseif(isset($_POST['tokens'])) { $tokens = (int) $_POST['tokens']; if($userdata['user_points'] < ($tokens * 0.1)) { meta_refresh('index.php', 5); $message = $lang['BONUS_NOT_SUCCES'] .'<br /><br /><a href="'. BONUS_URL .'">'. $lang['BONUS_RETURN'] .'</a><br /><br /><a href="'. PROFILE_URL . $userdata['user_id'] .'">'. $lang['RETURN_PROFILE'] .'</a><br /><br />'. sprintf($lang['CLICK_RETURN_INDEX'], '<a href="index.php">', '</a>'); bb_die($message); } else { DB()->query("UPDATE ". BB_USERS ." SET user_points = user_points - ". ($tokens * 0.1) .", user_tokens = user_tokens + $tokens WHERE user_id = ". $user_id ); cache_rm_user_sessions($user_id); meta_refresh(BONUS_URL, 5); $message = sprintf($lang['BONUS_SUCCES'], $tokens); $message .= '<br /><br /><a href="'. BONUS_URL .'">'. $lang['BONUS_RETURN'] .'</a><br /><br /><a href="'. PROFILE_URL . $userdata['user_id'] .'">'. $lang['RETURN_PROFILE'] .'</a><br /><br />'. sprintf($lang['CLICK_RETURN_INDEX'], '<a href="index.php">', '</a>'); bb_die($message); } }
Найти:
<!-- END bonus_upload -->
Ниже вставить:
HTML:<tr class="row3 med"> <td class="bold tCenter">{L_DESCRIPTION}</td> <td class="bold tCenter" colspan=2>{L_PRICE}</td> </tr> <tr class="row1 med"> <td class="tLeft"><b>Купить жетоны:</b><br><input type="text" name="tokens" maxlength="6" value="100" style="width:100px;"> жетонов</td> <td align="center" id="tokens" colspan=2>1ж = 0,1б</td> </tr>