Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Работа со скриптами (https://forum.zone-game.info/forumdisplay.php?f=37)
-   -   You will be kicked for illegal Action (https://forum.zone-game.info/showthread.php?t=22539)

finfan 30.08.2012 00:24

You will be kicked for illegal Action
 
При изучении новых скилов, не принадлежащих к какому-либо классу, выдаётся:
You will be kicked for illegal Action.
Понятно, что данную вещь в конфигах можно отключить, но меня волнует место, где прописывается данный метод "карания".

Облазил L2PcInstance/L2Character, ничего не нашёл.

Это детская проблема, но я бы не отказался от подсказки...

Команда: aCis project
Хроники: Interlude.

Mifesto 30.08.2012 00:30

Re: You will be kicked for illegal Action
 
а поиск в NotePad++ не рулит?

finfan 30.08.2012 00:34

Re: You will be kicked for illegal Action
 
Цитата:

Сообщение от kasik (Сообщение 222080)
а поиск в NotePad++ не рулит?

:dd:

Я поиском прошёлся во всех файлах, где как мне подсказывала логика могла находится эта функция. Искал разные слова, начиная от Punish, заканчивая первыми буквами текста который выдаётся при illegal action-ах.

Mifesto 30.08.2012 00:36

Re: You will be kicked for illegal Action
 
Цитата:

Сообщение от finfan (Сообщение 222081)
:dd:

Я поиском прошёлся во всех файлах, где как мне подсказывала логика могла находится эта функция. Искал разные слова, начиная от Punish, заканчивая первыми буквами текста который выдаётся при illegal action-ах.

А поиск по всему проэкту? так как показывает практика оно может быть в непредсказуемых местах.

finfan 30.08.2012 01:24

Re: You will be kicked for illegal Action
 
Цитата:

Сообщение от kasik (Сообщение 222082)
А поиск по всему проэкту? так как показывает практика оно может быть в непредсказуемых местах.

.java с сообщение найден, но где может лежать этот метод проверки на изучение скилов у персонажа?

Еще раз облазил L2PcInstance, результатов 0.

Поиски продолжаются.

shocked 30.08.2012 01:54

Re: You will be kicked for illegal Action
 
Ищи по имени конфига :p)

pchayka 30.08.2012 02:44

Re: You will be kicked for illegal Action
 
Это системное сообщение, потому в коде будут только цифры.

Найди ИД сообщения и потом это ИД ищи в коде

finfan 30.08.2012 07:25

Re: You will be kicked for illegal Action
 
Illegal Action:
Свернуть ↑Развернуть ↓


Это сообщение оказалость не ID...

Zubastic 30.08.2012 08:21

Re: You will be kicked for illegal Action
 
finfan, зависит от сборки. В нормальных идет через id сообщение. У других напрямую. Сейчас ищи по методу проверку и удаляй.

cokol 30.08.2012 11:18

Re: You will be kicked for illegal Action
 
находим пакет, который отвечает за "изучение новых скилов". Далее в пакете ищем "IllegalPlayerAction". Находим, выпиливаем/добавляем нужные проверки.

finfan 31.08.2012 20:42

Re: You will be kicked for illegal Action
 
Покопавшись немного в других сборках, я нашёл метод в L2PcInstance:

checkAllwedSkills(), который там, отвечает за проверку на инородные скилы + PUNISH методы.

в сборке aCis прожект данного метода нет, зато есть похожий метод storeSkills():

Код:

        private void storeSkill(L2Skill newSkill, L2Skill oldSkill, int newClassIndex)
        {
                int classIndex = _classIndex;
               
                if (newClassIndex > -1)
                        classIndex = newClassIndex;
               
                Connection con = null;
               
                try
                {
                        con = L2DatabaseFactory.getInstance().getConnection();
                        PreparedStatement statement;

                        if (oldSkill != null && newSkill != null)
                        {
                                statement = con.prepareStatement(UPDATE_CHARACTER_SKILL_LEVEL);
                                statement.setInt(1, newSkill.getLevel());
                                statement.setInt(2, oldSkill.getId());
                                statement.setInt(3, getObjectId());
                                statement.setInt(4, classIndex);
                                statement.execute();
                                statement.close();
                        }
                        else if (newSkill != null)
                        {
                                statement = con.prepareStatement(ADD_NEW_SKILL);
                                statement.setInt(1, getObjectId());
                                statement.setInt(2, newSkill.getId());
                                statement.setInt(3, newSkill.getLevel());
                                statement.setInt(4, classIndex);
                                statement.execute();
                                statement.close();
                        }
                        else
                        {
                                _log.warning("storeSkill() couldn't store new skill. It's null type.");
                        }
                }
                catch (Exception e)
                {
                        _log.warning("Error could not store char skills: " + e);
                }
                finally
                {
                        L2DatabaseFactory.close(con);
                }
        }

Выделенная строка твечает за добавление нового скила персонажу.
Я предполагаю, что в statement как-то связан со всем этим, но я с таким не разу не встречался и поэтому я просто опускаю руки и снова прошу "дорожку из хлебных крошек"...

KilRoy 31.08.2012 20:45

Re: You will be kicked for illegal Action
 
В стейтменте лишь запрос, который сведён где-либо выше в СТРИНГЕ.

finfan 31.08.2012 20:59

Re: You will be kicked for illegal Action
 
Цитата:

Сообщение от KilRoy (Сообщение 222558)
В стейтменте лишь запрос, который сведён где-либо выше в СТРИНГЕ.

Что мне искать.?.?.? я уже запутался...

Ashe 31.08.2012 21:08

Re: You will be kicked for illegal Action
 
Цитата:

Сообщение от finfan (Сообщение 222559)
Что мне искать.?.?.? я уже запутался...

private static final String ADD_NEW_SKILL = "INSERT INTO character_skills (char_obj_id,skill_id,skill_level,class_index) VALUES (?,?,?,?)";
Code: Java

JavaMan 31.08.2012 21:19

Re: You will be kicked for illegal Action
 
finfan, не слушай этих негодяев, просто ищи метод handleIllegalPlayerAction.

Ashe 31.08.2012 21:32

Re: You will be kicked for illegal Action
 
offtop:
Свернуть ↑Развернуть ↓

JavaMan 31.08.2012 21:36

Re: You will be kicked for illegal Action
 
Цитата:

Сообщение от Ashe (Сообщение 222584)
Java-man, Вы бы последили за своим "речевым аппаратом".

Не оффтопьте !

Ashe 31.08.2012 21:36

Re: You will be kicked for illegal Action
 
offtop:
Свернуть ↑Развернуть ↓

JavaMan 31.08.2012 21:45

Re: You will be kicked for illegal Action
 
Цитата:

Сообщение от Ashe (Сообщение 222591)
offtop:
Свернуть ↑Развернуть ↓

У вас правилопухоль мозга ?

Ashe 31.08.2012 23:17

Re: You will be kicked for illegal Action
 
finfan, Вам нужно править под себя RequestAcquireSkill.

Zubastic 01.09.2012 10:23

Re: You will be kicked for illegal Action
 
Злые вы. 2автор - скачал сорсы, будем вместе ковырять =)

finfan 01.09.2012 10:30

Re: You will be kicked for illegal Action
 
Цитата:

Сообщение от Zubastic (Сообщение 222747)
Злые вы. 2автор - скачал сорсы, будем вместе ковырять =)

Ashe оказался добрым :). Проблем с illegal action больше нет, теперь разбираюсь в других вещах. Спасибо и вам мр.Зубастик за то, что откликнулись.

И я бы не отказался от вашей icq ;D

Zubastic 01.09.2012 11:02

Re: You will be kicked for illegal Action
 
finfan, рад, что все получилось. Вчера просто времени никак не было, чтобы заняться данным вопросом :)

Ashe 01.09.2012 12:02

Re: You will be kicked for illegal Action
 
Цитата:

Сообщение от finfan (Сообщение 222749)
Ashe оказался добрым :). Проблем с illegal action больше нет, теперь разбираюсь в других вещах. Спасибо и вам мр.Зубастик за то, что откликнулись.

И я бы не отказался от вашей icq ;D

:bx:

Обращайтесь, всегда рад помочь. ;)

Hakazator 01.09.2012 12:05

Re: You will be kicked for illegal Action
 
Думаю что это системное сообщение встроенное в Клиент,а в сервере существует лишь пакет который эмулирует данное действие.

Ищи пакет в Сервер-сайде и копай.


Текущее время: 20:04. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot