Хитрости VOC++ BSE

Майор

Premium
Premium
Регистрация
04.09.14
Сообщения
2.946
Реакции
2.021
Баллы
113
Здесь будут выкладываться различные хитрости, доработки, дополнения, хаки для движка VOC++ BSE
 
Последнее редактирование:

stream

Support
Команда форума
Регистрация
09.09.14
Сообщения
1.014
Реакции
674
Баллы
113
PHP:
<?php
echo "<table>";
include("inc_common.php");
$fp = fopen($user_data_file, "r");
flock($fp, LOCK_EX);
while ($data = fgets($fp, 4096)) {
$user = str_replace("\r","",str_replace("\n","",$data));
list($t_id, $t_nickname, $t_password, $t_class, $t_show_admin) = explode("\t",$user);
if ($t_class==2047) {
echo "<tr><td><a href=\"fullinfo.php?&user_id=$t_id\">$t_nickname</a> - администратор</td></tr>";
}
elseif ($t_class<2047 and $t_class>0) {
echo "<tr><td><a href=\"fullinfo.php?&user_id=$t_id\">$t_nickname</a> - модератор</td></tr>";
}
}
flock($fp, LOCK_UN);
fclose($fp);
$sh = fopen($data_path."shamans_list.tmp", "rb");
if($sh) {
while ($data = fgets($sh, 4096)) {
$user = str_replace("\r","",str_replace("\n","",$data));
list($t_id, $t_nickname) = explode("\t",$user);
echo "<tr><td><a href=\"fullinfo.php?&user_id=$t_id\">$t_nickname</a> - шаман чата</td></tr>";
}
fclose($sh);
}
echo "</table>";
?>

PHP:
if(!$is_regist_complete) {
echo "<br><br><center>a href=".chat_url."registration_form.php>На регистрацию!</a>";
exit;}

В корневой файл quiz.php после:
PHP:
    if ($room_id == $quiz_config['room_id']) {
        $flood_protection = 0;
        $bot_nick        = $quiz_config['bot_nick'];
        $bot_htmlnick    = ($quiz_config['bot_htmlnick'] != '') ? $quiz_config['bot_htmlnick'] : $bot_nick;
вставить:
PHP:
    /* Add quiz to ignore */
            if (trim(strip_tags($mesg)) == '!-') {
                $messages_to_show = array();
                $add_to_ignor = $quiz_config['bot_nick'];
                include($engine_path."ignor_add.php");
                echo '<script>alert("'.$w_quiz_disabled.'");</script>';
                exit();
            }
            /* End add to ignore */

            /* Remove quiz from ignore */
            if (trim(strip_tags($mesg)) == '!+') {
                $messages_to_show = array();
                $remove_from_ignor = $quiz_config['bot_nick'];
                include($engine_path."ignor_remove.php");
                echo '<script>alert("'.$w_quiz_enabled.'");</script>';
                exit();
            }
            /* End remove from ignore */
..В файл languages/ru.php вставить:
PHP:
    $w_quiz_disabled  = 'Викторина ОТКЛЮЧЕНА!\nТеперь Вы не будете видеть вопросов викторины.\nЧтобы отменить игнор - команда !+';
    $w_quiz_enabled  = 'Викторина ВКЛЮЧЕНА!\nТеперь Вы можете видеть вопросы викторины.\nЧтобы игнорировать - команда !-';
...Возможно, понадобится перезапуск викторины.

...В нужное место вставляем код:
PHP:
<?php
include("inc_common.php");
include($file_path."inc_statistic.php");
echo "Нас уже: ".stat_total_users()."<br>";
?>
Важно! В зависимости от структуры чата править путь к файлу inc_common.php!

PHP:
<?php
            if ($current_user->registered && $current_user->is_member) {?>
Только для vip!
      <?php } ?>


В chat/sender.php после:
PHP:
function addURLS($str)
{
        global $chat_url;
        $str2 = $str;
        if (function_exists('preg_replace')){
            $str2 = preg_replace("/(?<!<a href=\")(?<!\")(?<!\">)((http|https|ftp):\/\/[\w?=&.\/-~#-_]+)/e",
                                        "'<a href=\"".$chat_url."go.php?url='.urlencode('\\1').'\" target=\"_blank\">\\1</a>'",
                                        $str);
            $str2 = preg_replace("/((?<!<a href=\"mailto:)(?<!\">)(?<=(>|\s))[\w_-]+@[\w_.-]+[\w]+)/","<a href=\"mailto:\\1\">\\1</a>",$str2);
        }
        return $str2;
}
Вставляем:
PHP:
function replaceURLS($str) {
    global $w_no_links;
    $str = preg_replace("/(?<!<a href=\")(?<!\")(?<!\">)((http|https|ftp):\/\/[\w?=&.\/-~#-_]+)/e", "'[$w_no_links]'", $str);
    $str = preg_replace("/((?<!<a href=\"mailto:)(?<!\">)(?<=(>|\s))[\w_-]+@[\w_.-]+[\w]+)/","<a href=\"mailto:\\1\">\\1</a>", $str);
    return $str;
}
в этом же файле заменяем:
PHP:
$mesg = addURLS($mesg);
На этот код:
PHP:
if ($current_user->registered && $current_user->online_time > 3600) {
                    $mesg = addURLS($mesg);
                } else {
                    $mesg = replaceURLS($mesg);
                }
В chat/languages/ru.php добавить
Код:
$w_no_links = '[Забаньте меня... Я рекламлю!]';
3600-время в секундах, сколько должен общаться пользователь в чате, по прошествии которого он сможет отправлять в эфир ссылки.
Автор Мода: ChatMaster, если не ошибаюсь.
P.S: я в одном чате скрестил этот мод с модом редактирования Джек-Пота Казино, чтобы при потребности смены времени не лазить каждый раз на сервер, а прямо через модерку менять.
 
Последнее редактирование модератором:

stream

Support
Команда форума
Регистрация
09.09.14
Сообщения
1.014
Реакции
674
Баллы
113
Можно давать возможность отправлять ссылки при наличии определенной награды из Мода "Награды":
в файле sender.php после:
PHP:
                $mesg = addFaces($mesg);
вставить код:
PHP:
                if ( $current_user->nagrada_5) {
                    $mesg = addURLS($mesg);
                } else {
                    $mesg = replaceURLS($mesg);
                }
Должны быть установлены Мод "Награды" и прописаны приведенные выше функции replaceURLS($mesg); и $mesg = addURLS($mesg);
 

spy girl

Аксакал
Проверенный +++
Регистрация
04.09.14
Сообщения
507
Реакции
277
Баллы
63
Возраст
40
Автоматом даются креды и амулеты новичку при реге

Чтобы новичку автоматом давались креды, находим в корне чата файлик inc_user_class.php
открываем его, находим строчку
HTML:
var $credits = 0;
и там меняем цифру ноль на свое число

Автоматический амулет при реге делается так:
В корне чата ищем inc_users_class.php
в этой строчке
HTML:
var $rewards = "0";
прописываем вместо нуля цифру 1
 
Последнее редактирование:

spy girl

Аксакал
Проверенный +++
Регистрация
04.09.14
Сообщения
507
Реакции
277
Баллы
63
Возраст
40
Где ставится ограничение на набор юзеров в клан?
Находим файл inc_common.php
и в строке
HTML:
define('MAX_CLANMEMBERS',20);
число 20 меняем на свое
 
Последнее редактирование:

spy girl

Аксакал
Проверенный +++
Регистрация
04.09.14
Сообщения
507
Реакции
277
Баллы
63
Возраст
40
Как нарисовать рейтинг определенному юзеру чата?
1) Ищем номер (ИД) пользователя, его можно посмотреть в профиле чатланина, но смотрите не спутайте с ИД браузера.
2) Потом смотрим сколько у него рейтинга и запоминаем.
3)Зайти в data/users там папки 0,1,2
4)Если ИД до 2000, тогда смотрим папку 0, если до 4000 то 1, и т.п
5) Находим аккаунт человека которого хотим нарисовать рейтинг, например 171.user.
Правка- поиск (ctrl+F3) его текуший рейтинг,исправляем на тот рейтинг который необходим. Жмем сохранить.
Должен появиться рейтинг в анкете, но в списке рейтинге не сразу, а где-то в течение часа.
это возможно сделать не из ДиректАдмин, а через фтп клиент.
 
Последнее редактирование:

spy girl

Аксакал
Проверенный +++
Регистрация
04.09.14
Сообщения
507
Реакции
277
Баллы
63
Возраст
40
Как увеличить балл за фото?
Находим файлик inc_common.php и строке
HTML:
PHP:
define("MAX_PHOTO_REITING", 10);
меняем цифру 10 на нужное вам число.
 
Последнее редактирование:
Сверху Снизу