Перейти к содержимому
La2Base
Главная
ЗагрузкиВикиФорумFAQ
Поиск
ruen
Регистрация Войти
ГлавнаяФайлыВикиВойти
  • Главная
  • Загрузки
  • Вики
  • FAQ
  • Обратная связь
  • О проекте
  • Правила
  • Конфиденциальность
  • Условия использования

© 2026 la2base.com · Все права защищены

ruen
Форум/Форум для новичков[JAVA]/Френд чат
Поиск

Френд чат

7 ответов232 просмотровСейчас просматривают: 1
-=[BloodKill]=-
-=[BloodKill]=-

Пользователь

Ветеран

Постов: 1355

На форуме с: 01.09.2008

Репутация: +1179

Рейтинг: 0

· 02.10.2009, 12:01

Сборка: la2base
Краткое изложение СУТИ проблемы: Есть баг, работает почти на всех сборках, человек может написать в френд чат, хотя он не во френдах.. кто знает как юзается напишите please.

— Оо

0
iZen
iZen

Пользователь

Участник

Постов: 80

На форуме с: 23.01.2009

Репутация: +44

Рейтинг: 0

· 02.10.2009, 15:38

Скорее всего через хлапу
В net.sf.l2j.gameserver.clientpackets.RequestSendFriendMsg нет никакой проверки на это
Если есть сурсы могу скинуть пофиксенный вариант

0
Александр
Александр

Пользователь

Бывалый

Постов: 456

На форуме с: 05.02.2009

Репутация: +185

Рейтинг: 0

· 02.10.2009, 15:57

izen: Скорее всего через хлапу
В net.sf.l2j.gameserver.clientpackets.RequestSendFriendMsg нет никакой проверки на это
Если есть сурсы могу скинуть пофиксенный вариант

Хлапа отпадает, стоит защита хорошая

— Жадный...

0
P
Pikovit

Пользователь

Участник

Постов: 35

На форуме с: 30.09.2009

Репутация: +3

Рейтинг: 0

· 02.10.2009, 16:13

А не пофиг на это? ну напишут во френд,что изменится? они же ничего через него не украдут и пишут под сваим ников,чар смотри что во френде такого нет и пшёл он лесом =\

0
iZen
iZen

Пользователь

Участник

Постов: 80

На форуме с: 23.01.2009

Репутация: +44

Рейтинг: 0

· 02.10.2009, 16:37

Хорошая, нехорошая а проверки нет.

Раскрывающийся текст

Код
...
@Override
    protected void runImpl()
    {
        L2PcInstance activeChar = getClient().getActiveChar();
        if (activeChar == null) return;

        L2PcInstance targetPlayer = L2World.getInstance().getPlayer(_reciever);
        if (targetPlayer == null)
        {
            activeChar.sendPacket(new SystemMessage(SystemMessageId.TARGET_IS_NOT_FOUND_IN_THE_GAME));
            return;
        }
        
        Connection conn = null;
        try
        {
            conn = L2DatabaseFactory.getInstance().getConnection();
            PreparedStatement pstm = conn.prepareStatement("SELECT `friend_id` FROM `character_friends` WHERE `char_id` = ? AND `friend_name` = ?");
            pstm.setInt(1, activeChar.getObjectId());
            pstm.setString(2, targetPlayer.getName());

            if (!pstm.executeQuery().next())
            {
                SystemMessage sm = new SystemMessage(SystemMessageId.S1_NOT_ON_YOUR_FRIENDS_LIST);
                sm.addString(_reciever);
                activeChar.sendPacket(sm);
                return;
            }
        }
        catch (Exception e)  {}
        finally { try {conn.close();} catch (Exception e) {} }

        if (Config.LOG_CHAT)
        {
            LogRecord record = new LogRecord(Level.INFO, _message);
            record.setLoggerName("chat");
            record.setParameters(new Object[]{"PRIV_MSG", "[" + activeChar.getName() + " to "+ _reciever +"]"});

            _logChat.log(record);
        }

        FriendRecvMsg frm = new FriendRecvMsg(activeChar.getName(), _reciever, _message);
        targetPlayer.sendPacket(frm);
    }
...


ЗЫ: Лучше повесить на коллекцию и там хранить

0
D
December

Пользователь

Участник

Постов: 78

На форуме с: 10.08.2009

Репутация: +35

Рейтинг: 0

· 08.10.2009, 11:52

Так собственно как все же это исправить? есть какая-то коррецкия исходников?

0
андрей
андрей

Пользователь

Бывалый

Постов: 287

На форуме с: 02.05.2008

Репутация: +348

Рейтинг: 0

· 08.10.2009, 11:57

December: Так собственно как все же это исправить? есть какая-то коррецкия исходников?

я писал во френд чат еще давно... год-два назад через ингейм бота.. там есть такая функция))

0
Войдите или зарегистрируйтесь чтобы ответить