Skip to content
La2Base
Home
DownloadsWikiForumFAQ
Search
ruen
Sign up Login
HomeFilesWikiLogin
  • Home
  • Downloads
  • Wiki
  • FAQ
  • Contact Us
  • About
  • Rules
  • Privacy
  • Terms of Service

© 2026 la2base.com · All rights reserved

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

Френд чат

7 replies233 viewsCurrently viewing: 1
-=[BloodKill]=-
-=[BloodKill]=-

User

Ветеран

Posts: 1355

На форуме с: 09/01/2008

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

Рейтинг: 0

· 10/02/2009, 12:01 PM

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

— Оо

0
iZen
iZen

User

Участник

Posts: 80

На форуме с: 01/23/2009

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

Рейтинг: 0

· 10/02/2009, 03:38 PM

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

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

User

Бывалый

Posts: 456

На форуме с: 02/05/2009

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

Рейтинг: 0

· 10/02/2009, 03:57 PM

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

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

— Жадный...

0
P
Pikovit

User

Участник

Posts: 35

На форуме с: 09/30/2009

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

Рейтинг: 0

· 10/02/2009, 04:13 PM

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

0
iZen
iZen

User

Участник

Posts: 80

На форуме с: 01/23/2009

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

Рейтинг: 0

· 10/02/2009, 04:37 PM

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

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

Код
...
@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

User

Участник

Posts: 78

На форуме с: 08/10/2009

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

Рейтинг: 0

· 10/08/2009, 11:52 AM

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

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

User

Бывалый

Posts: 287

На форуме с: 05/02/2008

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

Рейтинг: 0

· 10/08/2009, 11:57 AM

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

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

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