↑ ↓

[Инстанс] Внутренняя часть Каспара

Тема в разделе "Помощь", создана пользователем Дмитрий, 6 июл 2016.

  1. TopicStarter Overlay
    Offline

    Дмитрий Ефрейтор

    337
    48
    61
    Кредиты:
    $15.270,06
    Репутация:
    5
    Не работают суммоны - юны Абила и Энгеус из коконов.
    Квест у них не запускается.
    Изучение файла TallocsSummonAI2.java показало, что используется dialogId = 59, который поменялся в последних версиях и не обрабатывается вторая страница сообщения.
    Исправил так:
    было
    Код:
    	public boolean onDialogSelect(Player player, int dialogId, int questId, int extendedRewardIndex) {
    		if (dialogId == 59 && isTransformed.compareAndSet(false, true)) {
    			PacketSendUtility.sendPacket(player, new SM_DIALOG_WINDOW(getObjectId(), 0));
    			if (player.getSummon() != null) { // to do remove
    				PacketSendUtility.sendMessage(player, "please dismiss your summon first.");
    				return true;
    			}
    
    стало
    Код:
    	public boolean onDialogSelect(Player player, int dialogId, int questId, int extendedRewardIndex) {
    
    		if(dialogId == DialogAction.SELECT_ACTION_1011.id()){
    			PacketSendUtility.sendPacket(player, new SM_DIALOG_WINDOW(getObjectId(), 1011));
    		}
    		if (dialogId == DialogAction.MAKE_MERCENARY.id() && isTransformed.compareAndSet(false, true)) {
    			PacketSendUtility.sendPacket(player, new SM_DIALOG_WINDOW(getObjectId(), 0));
    			if (player.getSummon() != null) { // to do remove
    				PacketSendUtility.sendMessage(player, "please dismiss your summon first.");
    				return true;
    			}
    
    Диалог работает!
    НО! В консоли бегут ошибки! От каждого движения перса!
    Суммон идет за персом, но воевать не хочет.

    Код:
    01:59:26.048 ERROR[PacketProcessor:1]: - Error handling client (pandim) message :[C] 0x2F0 CM_DIALOG_SELECT
    java.lang.NullPointerException: null
    		at com.aionemu.gameserver.model.stats.container.SummonGameStats.getMovementSpeed(SummonGameStats.java:144) ~[AL-Game.jar:na]
    		at com.aionemu.gameserver.model.stats.container.CreatureGameStats.getMovementSpeedFloat(CreatureGameStats.java:284) ~[AL-Game.jar:na]
    		at com.aionemu.gameserver.network.aion.serverpackets.SM_EMOTION.<init>(SM_EMOTION.java:92) ~[AL-Game.jar:na]
    		at ai.instance.tallocsHollow.TallocsSummonAI2.onDialogSelect(TallocsSummonAI2.java]:67) ~[na:na]
    		at com.aionemu.gameserver.controllers.NpcController.onDialogSelect(NpcController.java:290) ~[AL-Game.jar:na]
    		at com.aionemu.gameserver.network.aion.clientpackets.CM_DIALOG_SELECT.runImpl(CM_DIALOG_SELECT.java:102) ~[AL-Game.jar:na]
    		at com.aionemu.gameserver.network.aion.AionClientPacket.run(AionClientPacket.java:64) ~[AL-Game.jar:na]
    		at com.aionemu.commons.utils.concurrent.ExecuteWrapper.execute(ExecuteWrapper.java:48) [al-commons.jar:na]
    		at com.aionemu.commons.utils.concurrent.ExecuteWrapper.execute(ExecuteWrapper.java:41) [al-commons.jar:na]
    		at com.aionemu.commons.network.PacketProcessor$PacketProcessorTask.run(PacketProcessor.java:266) [al-commons.jar:na]
    		at java.lang.Thread.run(Unknown Source) [na:1.7.0_21]
    01:59:26.194 WARN [pool-2-thread-6]: - Exception in a Runnable execution:
    java.lang.NullPointerException: null
    		at com.aionemu.gameserver.model.stats.container.SummonGameStats.getMovementSpeed(SummonGameStats.java:144) ~[AL-Game.jar:na]
    		at com.aionemu.gameserver.model.stats.container.CreatureGameStats.getMovementSpeedFloat(CreatureGameStats.java:284) ~[AL-Game.jar:na]
    		at com.aionemu.gameserver.controllers.movement.PlayableMoveController.moveToDestination(PlayableMoveController.java:89) ~[AL-Game.jar:na]
    		at com.aionemu.gameserver.taskmanager.tasks.PlayerMoveTaskManager.run(PlayerMoveTaskManager.java:46) ~[AL-Game.jar:na]
    		at com.aionemu.commons.utils.concurrent.ExecuteWrapper.execute(ExecuteWrapper.java:48) ~[al-commons.jar:na]
    		at com.aionemu.commons.utils.concurrent.RunnableWrapper.run(RunnableWrapper.java:40) [al-commons.jar:na]
    		at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [na:1.7.0_21]
    		at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source) [na:1.7.0_21]
    		at java.util.concurrent.FutureTask.runAndReset(Unknown Source) [na:1.7.0_21]
    		at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source) [na:1.7.0_21]
    		at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) [na:1.7.0_21]
    		at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.7.0_21]
    		at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.7.0_21]
    		at java.lang.Thread.run(Unknown Source) [na:1.7.0_21]
    01:59:26.389 WARN [pool-2-thread-16]: - Exception in a Runnable execution:
    java.lang.NullPointerException: null
    		at com.aionemu.gameserver.mode
    Помогите, кто может! Или укажите на сборку (не моложе 4.7.5) где это работает!
     
  2. TopicStarter Overlay
    Offline

    Дмитрий Ефрейтор

    337
    48
    61
    Кредиты:
    $15.270,06
    Репутация:
    5
    В Please login or register to view links - не работает :(
     
  3. Offline

    klubheads Сержант Команда форума Модератор

    2.011
    356
    189
    Кредиты:
    $2.142,45
    Репутация:
    54
    Не много не правильный подход , найди id самого квеста .Посмотри как сделано в скриптах в тех же AL3.9 , AL 3.0 .
     
  4. TopicStarter Overlay
    Offline

    Дмитрий Ефрейтор

    337
    48
    61
    Кредиты:
    $15.270,06
    Репутация:
    5
    Это не квест. Это AI моба. Именно TallocsSummonAI2.java. Просто в 4.0 были изменения в структуре пакетов и идентификаторов диалогов.
    С Id я (вроде) разобрался, а вот с пакетами надо глубже копать. Как я догадываюсь, надо посмотреть суммонов у заклинателя.
    А этих суммонов из Каспара я не в одной из сборок после 4 рабочих не нашел :(
    Думал, может кто копался;)