Manual Устанавливаем префиксы в чат с сайта

@Алекс, actions_a.. строку 1728 перенеси в конец перед тегом ?>

Код:
exit(json_encode(array('status' => '2')));
?>
 
так когда добавят префиксы с chat_rbs
;"!n%alive%%sayteam%%gamecms%[!g%zvanie%!n] !t%name% !n: %message%" "" ; Пример выдачи префикса из GameCMS
 
Предложение по улучшению:
  • Добавить возможность запретить менять префикс с сайта, ну или хотя бы добавить ограничение.
  • Добавить возможность менять префикс в чате с сайта за деньги (Т.е. например игрок покупает префикс, чтобы он не бесплатно его менял и сколько раз хочет и когда хочет - Это слишком шоколадно).
 
Предложение по улучшению:
  • Добавить возможность запретить менять префикс с сайта, ну или хотя бы добавить ограничение.
  • Добавить возможность менять префикс в чате с сайта за деньги (Т.е. например игрок покупает префикс, чтобы он не бесплатно его менял и сколько раз хочет и когда хочет - Это слишком шоколадно).
Это- к автору движка.
 
Сделал все как написано, пытаюсь сохранить префикс ничего не происходит, в БД не записывает
 
Сделал все как написано, пытаюсь сохранить префикс ничего не происходит, в БД не записывает
Давайте подумаем:
1. Вы- не единственный, кто "сделал все как написано", и у них все происходит
2. Если все сделано правильно, то почему ничего не работает?
 
Давайте подумаем:
1. Вы- не единственный, кто "сделал все как написано", и у них все происходит
2. Если все сделано правильно, то почему ничего не работает?
У меня тоже не работает кнопка "изменить", просто не сохраняет вписанный префикс. Делал все как написано, буквально раз 10- перепроверял, а сохранять, не сохраняет.
Хотя, до последних двух обнов (обновлял две по порядку), все же как-то получилось обойти эту проблему, а после вообще никак.
 
Последнее редактирование:
@JustGamer, что-то явно не так сделали. Все работает
 
Все, заработало. Странно конечно, но после всех действий (по инструкции) не работала кнопка "изменить", только что зашел, перепроверил и все нормально изменило.
 
так когда добавят префиксы с chat_rbs
;"!n%alive%%sayteam%%gamecms%[!g%zvanie%!n] !t%name% !n: %message%" "" ; Пример выдачи префикса из GameCMS
  • Как использовать префиксы из GameCMS?
    • Для начала на сервере должен быть и установлен и настроен плагин gamecms_api.amxx не ниже 5-ой версии. Загрузка/установка/настройка/поддержка на страничке автора, vk.com/topic-119321802_34661917
    • В админ панеле GameCMS создаем услугу: _nick_prefix
      help-chatrbs-gamecms.jpg
    • В chat_rbs.ini поставьте строку: "!n%alive%%sayteam%%gamecms%[!g%zvanie%!n] !t%name% !n: %message%" ""
      переменная %gamecms% превратиться в !n[!gПРЕФИКС_С_САЙТА!n], поэтому, если у вас добавлено много строчек с файле, то в каждую строку нужно аналогичным образом вписать переменную %gamecms%. О том какую из строк выберет плагин, смотрите картинку выше(в параграфе "возможные ошибки")
    • Теперь надо исправить веб часть:
      • В файл /ajax/ajax-user.js добавляем код в любое место:
        PHP:
        function edit_user_prefix()
        {
            var token = $('#token').val();
            var user_prefix = $('#user_prefix').val();
            user_prefix = encodeURIComponent(user_prefix);
            $.ajax({
                type: "POST",
                url: "../ajax/actions_a.php",
                data: "phpaction=1&token="+token+"&edit_user_prefix=1&user_prefix="+user_prefix,
                success: function(html) { $("#edit_user_prefix_result").empty(); $("#edit_user_prefix_result").append(html); }
            });
        }
      • В файл /ajax/ajax-admin.js добавляем код в любое место:
        PHP:
        function admin_change_prefix(id)
        {
            NProgress.start();
            var prefix = $('#user_prefix').val();
            change_value2("users","prefix",prefix,id);
            NProgress.done();
            setTimeout(show_ok, 500);
        }
      • В файл /ajax/actions_a.php добавляем код в любое место:
        PHP:
        if (isset($_POST['edit_user_prefix']))
        {
            $user_prefix = check($_POST['user_prefix'],null);
            if (mb_strlen($user_prefix, 'UTF-8') > 16) { exit('<span class="glyphicon glyphicon-remove"></span> Префикс должен состоять не более чем из 16 символов.'); }
            $STH = $pdo->query("SELECT id,login FROM users WHERE prefix='$user_prefix' LIMIT 1"); $STH->setFetchMode(PDO::FETCH_OBJ);
            $row = $STH->fetch();
            if (!empty($row->id) and !empty($row->prefix)) { exit('<p class="text-danger">Введеный Вами префикс занят пользователем <a href="../profile?id='.$row->id.'" target="_blank">'.$row->login.'</a></p>'); }
            $STH = $pdo->prepare("UPDATE users SET prefix=:user_prefix WHERE id='$_SESSION[id]' LIMIT 1");
            $STH->execute(array(':user_prefix' => $user_prefix));
            write_log("Префикс изменен на ".$user_prefix." | actions_a.php");
            exit('<span class="glyphicon glyphicon-ok"></span> Ваш префикс изменен!');
        }
      • В файл /home/settings.tpl добавляем код в любое место:
        PHP:
        <!--под блоком (например шаблона flat)-->
        <b>Steam ID</b>
        <div class="input-group">
            <span class="input-group-btn"><button class="btn btn-default" type="button" onclick="admin_change_steam_id({id});">Изменить</button></span>
            <input type="text" class="form-control" id="user_steam_id" maxlength="32" autocomplete="off" value="{steam_id}">
        </div>
        <br>
        <!--добавляем со своими классами стилей!!!-->
        <b>Префикс в серверном чате</b>
        <div class="input-group">
            <span class="input-group-btn"><button class="btn btn-default" type="button" onclick="admin_change_prefix({id});">Изменить</button></span>
            <input type="text" class="form-control" id="user_prefix" maxlength="16" autocomplete="off" value="<?echo $profile->prefix?>">
        </div>
        <br>
    • Вот и все. Если что то не работает, смотрите логи, или перечитайте инструкцию, скорее всего допустили где то ошибку
 
Последнее редактирование:
Возникла проблема с кнопкой "изменить" (не сохраняет) в меню редактирования от лица админа. От лица обычного пользователя все работает. В чем может быть проблема?

home/users.tpl

<b>Префикс в серверном чате</b>
<div class="input-group">
<span class="input-group-btn">
<button class="btn btn-default" type="button" onclick="admin_change_prefix({id});">Изменить</button>
</span>
<input type="text" class="form-control" id="user_prefix" maxlength="16" autocomplete="off" value="<?echo $profile->prefix?>">
</div>
<br>
 
@dan4s, это файл вообще не используется.
Вы сами вносите изменения и только Вам известно, правильно это делаете или нет. Отталкивайтесь от того, что все работает и ошибка где-то у Вас.
 
Назад
Сверху