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

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Lineage II (https://forum.zone-game.info/forumdisplay.php?f=34)
-   -   [help] внесение изменения в ядро (https://forum.zone-game.info/showthread.php?t=18520)

nilford 06.03.2012 10:58

[help] внесение изменения в ядро
 
ребят нужна помощь! пытаюсь влепить патч Community Board v.2.0 взятый отсюда в ядро l2jserver Revision 5214.
c MultiSell.java разобрался,
но возникла трабла при использовании метода
Код:

MultiSell.getInstance().separateAndSend(multisell, activeChar, null, false);
  \\ старая версия
L2MultiSell.getInstance().separateAndSend(multisell, activeChar, null, false, (double)1.0);
  \\новая версия Revision 5214

эклипс ругается, говорит
The method separateAndSend(int, L2PcInstance, int, boolean, double) in the type L2Multisell is not applicable for the arguments (int, L2PcInstance, null, boolean, double) CommunityBoard.java

методы в MultiSell.java и L2MultiSell.java соответсвенно
в Revision 5214 MultiSell.java - не существует!
Код:

1.
public final void separateAndSend(int listId, L2PcInstance player, L2Npc npc, boolean inventoryOnly)
                {
                        ListContainer template = _entries.get(listId);
                        if (template == null)
                        {
                                _log.warning("[MultiSell] can't find list id: " + listId + " requested by player: " + player.getName() + ", npcId:" + (npc != null ? npc.getNpcId() : 0));
                                return;
                        }
                       
                        final PreparedListContainer list = new PreparedListContainer(template, inventoryOnly, player, npc);
                        int index = 0;
                        do
                        {
                                // send list at least once even if size = 0
                                player.sendPacket(new MultiSellList(list, index));
                                index += PAGE_SIZE;
                        }
                        while (index < list.getEntries().size());
                       
                        player.setMultiSell(list);
                }
2.
public void separateAndSend(int listId, L2PcInstance player, int npcId, boolean inventoryOnly, double taxRate)
        {
                MultiSellListContainer list = generateMultiSell(listId, inventoryOnly, player, npcId, taxRate);
                MultiSellListContainer temp = new MultiSellListContainer();
                int page = 1;
               
                temp.setListId(list.getListId());
               
                for (MultiSellEntry e : list.getEntries())
                {
                        if (temp.getEntries().size() == 40)
                        {
                                player.sendPacket(new MultiSellList(temp, page++, 0));
                                temp = new MultiSellListContainer();
                                temp.setListId(list.getListId());
                        }
                        temp.addEntry(e);
                }
                player.sendPacket(new MultiSellList(temp, page, 1));
        }

может кто подскажет в чем трабла?

L2scripts-Guard 07.03.2012 06:02

Re: [help] внесение изменения в ядро
 
The method separateAndSend(int, L2PcInstance, int, boolean, double) in the type L2Multisell is not applicable for the arguments (int, L2PcInstance, null, boolean, double) CommunityBoard.java

Метод бла бла : интежер, обьект, интежер, вопрос, дробь : в типе блабла не допустим к вашим аргументам : интежер, обьект, НУЛЬ (типо тут ошибка), вопрос, дробь в комюнити.

Капитан говорит тут нужны минимальные знания английского языка.

Yorie 07.03.2012 08:26

Re: [help] внесение изменения в ядро
 
Код:

L2MultiSell.getInstance().separateAndSend(multisell, activeChar, null, false, (double)1.0);
Вместо null нужно подставить сами догадаетесь что :D

L2scripts-Guard 07.03.2012 08:37

Re: [help] внесение изменения в ядро
 
Цитата:

Сообщение от Yorie (Сообщение 169156)
Код:

L2MultiSell.getInstance().separateAndSend(multisell, activeChar, null, false, (double)1.0);
Вместо null нужно подставить сами догадаетесь что :D

Дублировать ответы то зачем? =)

nilford 07.03.2012 08:58

Re: [help] внесение изменения в ядро
 
да, но у меня тогда возникает вопрос если я поставлю значение int npcId=0 то будет-ли работать? ведь такого нпс нету)

Добавлено через 5 минут
Цитата:

Сообщение от iqman (Сообщение 169142)
The method separateAndSend(int, L2PcInstance, int, boolean, double) in the type L2Multisell is not applicable for the arguments (int, L2PcInstance, null, boolean, double) CommunityBoard.java

Метод бла бла : интежер, обьект, интежер, вопрос, дробь : в типе блабла не допустим к вашим аргументам : интежер, обьект, НУЛЬ (типо тут ошибка), вопрос, дробь в комюнити.

Капитан говорит тут нужны минимальные знания английского языка.

ну начнем с того что минимальные знания английского у меня есть, а еще в + есть translate.google. если вы внимательно смотрели код то вы наверное увидели, что старый метод
Код:

MultiSell.getInstance().separateAndSend(multisell, activeChar, null, false);
  \\ старая версия

на старое ядро становился нормально. а новый не хотит.
и вопрос собственно ставился как заставить эклипс проглотить этот злощастный null

APKO 07.03.2012 09:36

Re: [help] внесение изменения в ядро
 
---не тот ответ.

L2scripts-Guard 07.03.2012 09:54

Re: [help] внесение изменения в ядро
 
Дружно открываем ядро MultiSell.java - метод - separateAndSend и смотрим что хочет этот метод от нас, явно что инт != нуль но и на абум не советую ставить значения, по этому смотрим и правим, у каждого ядра свои спецификации.

nilford 07.03.2012 10:22

Re: [help] внесение изменения в ядро
 
повторюсь в Revision 5214 MultiSell.java - не существует!
я вас понял. чтож посмотрю как отреагирует на npcId=0, если не покатит то, буду дописывать в L2Multisell.java еще 1 метод без переменной npcId.

L2scripts-Guard 07.03.2012 10:36

Re: [help] внесение изменения в ядро
 
Не было этого класса ошибка бы была совершенно другая.

nilford 07.03.2012 15:31

Re: [help] внесение изменения в ядро
 
вы человек умный. поэтому смотрим первый пост внимательно,
т.к MultiSell.java - не существует! мне пришлось изварачиватся и я нашел этот класc, только в другом месте и под другим именем L2MultiSell.java в следствии чего я переписал код:
Код:

L2MultiSell.getInstance().separateAndSend(multisell, activeChar, null, false, (double)1.0);
  \\новая версия Revision 5214



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

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