Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Проблема с AbstractHolder- Process()
#1
Доброго времени суток, пробую переносить кое какие классы из сурсов от L2CCCP(Vistal), на другую сборку и столкнулся с такой проблемой в классе AbstractHolder- существует метод

Код:
    protected void process()
    {
        
    }
Который загружается через

AbstractParser
Код:
    public void load()
    {
        parse();
        _holder.process();

        _holder.log();
    }

сам метод Process нужен для загрузки
Код:
    @Override
    protected void processs()
    {
        buildFastLookupTable();
    }
buildFastLookupTable(); которая в свою очередь добавляет эллементы в мапку, _allTemplates, и делает возможным работу SpawnManagera,
и в общем почему то при идентичном переносе - на другую сборку этого метода, он не работает,
да и если просто переиминовать Process, на Proces, в самом классе и всех его наследующих, то он попросту не будет работать даже в оригинальной сборке - пжлста подскажите в чем может быть причина ?
P.S.

Может ли быть проблема в самом классе который заполняет через buildFastLookupTable - NpcTemplate. Ибо в моей сборке он отличается - L2NpcTemplate. Хотя почему тогда выскакивает ошибка с Process - при преиминовании, в оригинальной сборке.
Ответ
#2
Confusion Написал:Доброго времени суток, пробую переносить кое какие классы из сурсов от L2CCCP(Vistal), на другую сборку и столкнулся с такой проблемой в классе AbstractHolder- существует метод

Код:
    protected void process()
    {
        
    }
Который загружается через

AbstractParser
Код:
    public void load()
    {
        parse();
        _holder.process();

        _holder.log();
    }

сам метод Process нужен для загрузки
Код:
    @Override
    protected void processs()
    {
        buildFastLookupTable();
    }
buildFastLookupTable(); которая в свою очередь добавляет эллементы в мапку, _allTemplates, и делает возможным работу SpawnManagera,
и в общем почему то при идентичном переносе - на другую сборку этого метода, он не работает,
да и если просто переиминовать Process, на Proces, в самом классе и всех его наследующих, то он попросту не будет работать даже в оригинальной сборке - пжлста подскажите в чем может быть причина ?
P.S.

Может ли быть проблема в самом классе который заполняет через buildFastLookupTable - NpcTemplate. Ибо в моей сборке он отличается - L2NpcTemplate. Хотя почему тогда выскакивает ошибка с Process - при преиминовании, в оригинальной сборке.

Это ваша халатность. работать будет в 100% случаях если сделать все верно
consulo.io - Consulo - multi-language IDE
Ответ
#3
rasRas
Ответ
#4
VISTALL Написал:Это ваша халатность. работать будет в 100% случаях если сделать все верно
Я и не вкуриваю где - допустил ошибку, или точнее почему оно не загружает ? Можно это как то выявить ?
Ответ
#5
KilRoy Написал:
rasRas

Почему же бывали


Цитата:Я и не вкуриваю где - допустил ошибку, или точнее почему оно не загружает ? Можно это как то выявить ?

Продебажить?
consulo.io - Consulo - multi-language IDE
Ответ
#6
VISTALL Написал:
Почему же бывали




Продебажить?
Пробовал но как то не сильно вышло(видно не сильно я дружу с дебагингом), я не могу понять этот Process с чем то еще связан- почему при изменении на 1 символ, он перестает работать -даже в оригинальной сборке от CCCP?


дня 3-4 мучаюсь) все перепробовал.
Ответ
#7
В вашем описании не увидел описания точки вызова load() - про него не забыли? В оригинале они вызываются Parsers.parseAll()
Ответ
#8
ProDev Написал:В вашем описании не увидел описания точки вызова load() - про него не забыли? В оригинале они вызываются Parsers.parseAll()
Блин ивправду, только я не пойму почему не работает с GameServer - у меня указывается public GameServer() throws Exception
{
NpcParser.getInstance().load();
}

А в оригинале при вызове на Load() - указывается
ParseAll{

ItemNameLineParser.getInstance().load();
}
причем Parsers.parseAll(); указывается - в самом GameServer, это может быть как то связанно с ItemNameLineParser ? или это просто особенность Parsers.ParseAll ?
Ответ
#9
Confusion Написал:Блин ивправду, только я не пойму почему не работает с GameServer - у меня указывается public GameServer() throws Exception
{
NpcParser.getInstance().load();
}

А в оригинале при вызове на Load() - указывается
ParseAll{

ItemNameLineParser.getInstance().load();
}
причем Parsers.parseAll(); указывается - в самом GameServer, это может быть как то связанно с ItemNameLineParser ? или это просто особенность Parsers.ParseAll ?

Parsers - это просто helper-класс, который вызывает уже все нужные парсер внутри. Т.е. что вызов Parser.parseAll(), что напрямую NpcParser.getInstance().load() - без разницы. Видимо, что-то наломано внутри. Какая ошибка? NpcHolder по пути в конструкторе не потерялся?
Ответ
#10
ProDev Написал:Parsers - это просто helper-класс, который вызывает уже все нужные парсер внутри. Т.е. что вызов Parser.parseAll(), что напрямую NpcParser.getInstance().load() - без разницы. Видимо, что-то наломано внутри. Какая ошибка? NpcHolder по пути в конструкторе не потерялся?
Да я примерно описал, вот сам Log Ошибки
Код:
xception in thread "main" java.lang.ExceptionInInitializerError
       at net.sf.l2j.gameserver.GameServer.<init>(GameServer.java:153)
       at net.sf.l2j.gameserver.GameServer.main(GameServer.java:390)
aused by: java.lang.NullPointerException
       at net.sf.l2j.gameserver.model.HardSpawner.getCurrentNpcId(HardSpawner.j
va:84)
       at net.sf.l2j.gameserver.datatables.SpawnManager.fillSpawn(SpawnManager.
ava:87)
       at net.sf.l2j.gameserver.datatables.SpawnManager.<init>(SpawnManager.jav
:66)
       at net.sf.l2j.gameserver.datatables.SpawnManager.<clinit>(SpawnManager.j
va:50)
       ... 2 more
не заполняется _allTemplates в методе GetTemplate, из NpcHolder'a, которая просчитывается в методе buildFastLookupTable - который должен загружаться через processs(), но почему то этого не происходит, и получается ошибка NullPointerException - указывающая на все тот же метод из SpawnManagera' NpcHolder.getInstance().getTemplate(spawner.getCurrentNpcId());
- то есть GetTemplate,
Я в оригинале(L2cccP) брал и менял Process(), на Proces() - везде где встречается, и билдил ядро, закидывал в Gameserver, и выскакивала та же самая ошибка - null pointer excpetion - GetCurrentNpcId, + еще и на ItemHolder Ругалась.
Не пойму в чем дело.
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Lineage 2 PTS 287 Protocol Проблема PSIFAK 1 1,382 01-25-2023, 04:08 AM
Последний пост: Phantom-Dev
  Myext64HF проблема с сетью MystX 3 1,680 11-08-2022, 04:33 AM
Последний пост: Phantom-Dev
  Проблема с rguard\ftguard iDarkEmpire 13 5,874 07-22-2020, 11:31 PM
Последний пост: CTAJIIH
  Проблема с количеством ХП AerisRD 0 1,149 05-19-2020, 08:20 PM
Последний пост: AerisRD
  Проблема с запуском HF5 Shady 6 1,916 04-20-2020, 12:09 PM
Последний пост: Rork
  Проблема с откатами банок Amidamaru 14 3,207 04-04-2020, 05:52 PM
Последний пост: Blackone
  L2 PTS Проблема Reika 3 1,576 02-26-2020, 04:43 PM
Последний пост: Reika
  Проблема с купле-продажей на всех сборках Mor9k400 0 1,108 08-25-2018, 08:10 PM
Последний пост: Mor9k400
  Проблема с входом Windows 10 Alekseu28 1 1,546 03-13-2018, 09:34 AM
Последний пост: malum
  Проблема с св 13 Zelden 4 1,653 01-03-2018, 09:30 AM
Последний пост: ..Kirito..

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)